/* /explore in the Hope look. Overrides explore.html's inline styles and
   explore-section.css; every rule is scoped to body.hope-guide. */

/* Hero */
body.hope-guide .exp-hero { max-width: 880px; margin: 0 auto; }
body.hope-guide .exp-hero-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.12em; color: var(--hg-primary); }
body.hope-guide .exp-hero-title {
  background: none; -webkit-background-clip: border-box; background-clip: border-box;
  -webkit-text-fill-color: currentColor; color: var(--hg-text) !important;
  font-weight: 800; font-size: clamp(30px, 4.6vw, 44px); letter-spacing: -0.01em;
}
body.hope-guide .exp-hero-sub { font-style: normal; font-size: 17px; line-height: 1.6; color: var(--hg-muted); }
body.hope-guide .exp-flourish { color: var(--hg-primary); }
body.hope-guide .exp-flourish::before, body.hope-guide .exp-flourish::after { background: var(--hg-border-strong); }

/* Cards */
body.hope-guide .ex-card {
  background: var(--hg-surface); border: 1px solid var(--hg-border); border-radius: var(--hg-radius);
  box-shadow: var(--hg-shadow-sm);
}
body.hope-guide .ex-card:hover { transform: translateY(-3px); box-shadow: var(--hg-shadow); border-color: var(--hg-border-strong); }
body.hope-guide .ex-prev { background: var(--hg-surface-2); border-bottom-color: var(--hg-border); }
body.hope-guide .ex-card--featured .ex-prev { border-right-color: var(--hg-border); }
body.hope-guide .ex-card-flag { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; color: var(--hg-primary); }
body.hope-guide .ex-card-title { font-size: 19px; font-weight: 700; line-height: 1.25; color: var(--hg-text); }
body.hope-guide .ex-card--featured .ex-card-title { font-size: 26px; font-weight: 800; }
body.hope-guide .ex-card-blurb { font-size: 15px; line-height: 1.55; color: var(--hg-body); }
body.hope-guide .ex-card--featured .ex-card-blurb { font-size: 17px; }
body.hope-guide .ex-open { font-size: 15px; font-weight: 700; letter-spacing: 0; color: var(--hg-primary); min-height: 24px; }

/* Rooms */
body.hope-guide .ex-room-head { border-bottom: 1px solid var(--hg-border); }
body.hope-guide .ex-room--all .ex-room-head { border-bottom-color: var(--hg-border-strong); }
body.hope-guide .ex-room-title { font-size: clamp(20px, 2.6vw, 24px); font-weight: 800; color: var(--hg-text); }
body.hope-guide .ex-room-all { font-size: 15px; font-weight: 700; letter-spacing: 0; color: var(--hg-primary); min-height: 44px; }
body.hope-guide .ex-room-all:hover { color: var(--hg-primary-hover); }

/* "Browse the rest of the site" chips */
body.hope-guide .exp-more-title { font-size: 13px; font-weight: 700; letter-spacing: 0.12em; color: var(--hg-primary); }
body.hope-guide .exp-more-links a {
  display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px;
  font-size: 15px; font-weight: 600; letter-spacing: 0; color: var(--hg-text);
  background: var(--hg-surface); border: 1px solid var(--hg-border-strong); border-radius: 999px;
}
body.hope-guide .exp-more-links a:hover { background: var(--hg-primary); border-color: var(--hg-primary); color: #fff; }

/* Footer reads on the flat background */
body.hope-guide footer { border-top-color: var(--hg-border); }

@media (max-width: 620px) {
  body.hope-guide .exp-hero-sub { font-size: 16px; }
  body.hope-guide .exp-flourish { display: none; }
  body.hope-guide #explore-feature { padding: 26px 16px 24px; }
  body.hope-guide .ex-card--featured .ex-card-title { font-size: 22px; }
  body.hope-guide .ex-room { margin-top: 32px; }
  body.hope-guide .ex-room-head { flex-wrap: wrap; }
}
