/* =========================================================================
   BEYOND 3 MILLION — Inner pages
   Builds on styles.css tokens (--red, --navy, --ink, --muted, --line, fonts,
   --space-*, --ease). Adds the shared page banner + per-page components.
   ========================================================================= */

/* ---------- Shared page banner (the only H1 on inner pages) ---------- */
.page-banner { position:relative; background:var(--navy); color:#fff; overflow:hidden;
  padding:calc(96px + var(--space-xl)) 0 var(--space-xl); isolation:isolate; }
.page-banner__bg { position:absolute; inset:0; z-index:-2; }
.page-banner__bg img { width:100%; height:100%; object-fit:cover; object-position:center; opacity:.72; }
/* lighter scrim: image stays visible, left-hand copy and the header stay legible */
.page-banner__scrim { position:absolute; inset:0; z-index:-1; background:
  linear-gradient(90deg, rgba(0,0,0,.9) 0%, rgba(0,0,0,.72) 34%, rgba(0,0,0,.34) 66%, rgba(0,0,0,.2) 100%),
  linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.12) 34%, rgba(0,0,0,.28) 100%),
  radial-gradient(120% 120% at 100% 0%, rgba(224,164,0,.2), transparent 55%); }
.page-banner__inner { max-width:820px; }
.page-banner .eyebrow { color:#e6b93f; }
.page-banner .eyebrow::before { background:var(--red); }
.page-banner h1 { font-family:var(--font-head); font-weight:700; letter-spacing:-.025em; line-height:1.03;
  font-size:clamp(2.5rem, 1.5rem + 3.8vw, 4.4rem); margin:.2rem 0 0; }
.page-banner h1 .r { color:#e6b93f; }
.page-banner__lead { color:rgba(255,255,255,.78); font-size:1.1rem; max-width:60ch; margin-top:1.1rem; }
.page-banner__actions { display:flex; gap:.8rem; flex-wrap:wrap; margin-top:1.8rem; }

.breadcrumb { display:flex; align-items:center; gap:.5em; flex-wrap:wrap; margin-bottom:1.1rem;
  font-family:var(--font-display); font-weight:600; font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; }
.breadcrumb a { color:rgba(255,255,255,.65); transition:color .3s; }
.breadcrumb a:hover { color:#fff; }
.breadcrumb span { color:rgba(255,255,255,.4); }
.breadcrumb b { color:#e6b93f; font-weight:600; }

/* Light section utility for pages that stack multiple sections */
.section--tight { padding-block:var(--space-xl); }
.section--alt { background:#f7f8fb; }
.wrap-narrow { max-width:840px; margin-inline:auto; }

/* ---------- Filter / toolbar (episodes, blog, guests) ---------- */
.toolbar { display:flex; align-items:center; justify-content:space-between; gap:var(--space-md);
  flex-wrap:wrap; margin-bottom:var(--space-lg); }
.chipset { display:flex; gap:.55rem; flex-wrap:wrap; }
.chip { display:inline-flex; align-items:center; gap:.45em; padding:.62em 1.15em; border-radius:100px;
  border:1.5px solid var(--line); background:#fff; color:var(--navy);
  font-family:var(--font-display); font-weight:600; font-size:.82rem; letter-spacing:.01em;
  transition:background .3s, border-color .3s, color .3s, transform .25s var(--ease); }
.chip:hover { border-color:var(--red); color:var(--red); transform:translateY(-2px); }
.chip.is-active { background:var(--navy); border-color:var(--navy); color:#fff; }
.chip.is-active:hover { color:#fff; }
.searchbox { position:relative; display:flex; align-items:center; }
.searchbox svg { position:absolute; left:16px; width:18px; height:18px; color:var(--muted); pointer-events:none; }
.searchbox input { padding:.85em 1.2em .85em 2.85em; border:1.5px solid var(--line); border-radius:100px;
  background:#fff; font:inherit; font-size:.92rem; min-width:260px; transition:border-color .3s, box-shadow .3s; }
.searchbox input:focus { outline:none; border-color:var(--red); box-shadow:0 0 0 4px rgba(224,164,0,.08); }

/* ---------- Episode list rows (episodes.html) ---------- */
.epi-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px,1fr)); gap:var(--space-md); }
.epi { display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:20px;
  overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.epi:hover { transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(0,0,0,.35); border-color:transparent; }
.epi__thumb { position:relative; aspect-ratio:16/10; overflow:hidden; }
.epi__thumb img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.epi:hover .epi__thumb img { transform:scale(1.06); }
.epi__pill { position:absolute; top:14px; left:14px; background:var(--red); color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.5em .9em; border-radius:100px; }
.epi__play { position:absolute; right:14px; bottom:14px; width:52px; height:52px; border-radius:50%;
  background:var(--grad-play); display:grid; place-items:center; box-shadow:0 12px 26px -8px rgba(224,164,0,.6);
  transform:translateY(8px); opacity:0; transition:opacity .4s, transform .4s var(--ease); }
.epi:hover .epi__play { opacity:1; transform:none; }
.epi__play svg { width:20px; height:20px; fill:#fff; margin-left:2px; }
.epi__body { padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.epi__cat { font-family:var(--font-display); font-weight:600; font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red); margin-bottom:.5rem; }
.epi__body h3 { font-size:1.28rem; color:var(--navy); line-height:1.18; }
.epi__body p { color:var(--muted); font-size:.94rem; margin-top:.55rem; flex:1; }
.epi__meta { display:flex; align-items:center; gap:1.1rem; margin-top:1.1rem; padding-top:1.1rem;
  border-top:1px solid var(--line); color:var(--muted); font-size:.8rem; font-weight:500; }
.epi__meta span { display:inline-flex; align-items:center; gap:.4em; }
.epi__meta svg { width:15px; height:15px; }

/* Pagination */
.pager { display:flex; justify-content:center; align-items:center; gap:.4rem; margin-top:var(--space-xl); }
.pager a, .pager span { min-width:44px; height:44px; padding:0 .5rem; border-radius:12px; border:1.5px solid var(--line);
  display:grid; place-items:center; font-family:var(--font-display); font-weight:600; font-size:.9rem; color:var(--navy);
  transition:background .3s, border-color .3s, color .3s; }
.pager a:hover { border-color:var(--red); color:var(--red); }
.pager .is-active { background:var(--navy); border-color:var(--navy); color:#fff; }
.pager .dots { border:0; }
.pager svg { width:18px; height:18px; }

/* ---------- Single episode (episode.html) ---------- */
.ep-single { display:grid; grid-template-columns:1fr 340px; gap:var(--space-xl); align-items:start; }
.player { background:var(--navy); color:#fff; border-radius:24px; overflow:hidden; position:relative; isolation:isolate; }
.player__media { position:relative; aspect-ratio:16/9; }
.player__media img { width:100%; height:100%; object-fit:cover; opacity:.55; }
.player__scrim { position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.9), rgba(0,0,0,.15)); }
.player__big { position:absolute; inset:0; display:grid; place-items:center; }
.player__big button { width:84px; height:84px; border-radius:50%; background:var(--grad-play); display:grid; place-items:center;
  box-shadow:0 18px 40px -10px rgba(224,164,0,.6); transition:transform .3s var(--ease); }
.player__big button:hover { transform:scale(1.08); }
.player__big svg { width:30px; height:30px; fill:#fff; margin-left:4px; }
.player__bar { display:flex; align-items:center; gap:1rem; padding:1.1rem 1.4rem; }
.player__bar .pbtn { width:44px; height:44px; border-radius:50%; background:var(--red); display:grid; place-items:center; flex-shrink:0; }
.player__bar .pbtn svg { width:18px; height:18px; fill:#fff; margin-left:2px; }
.player__track { flex:1; height:6px; border-radius:100px; background:rgba(255,255,255,.18); position:relative; overflow:hidden; }
.player__track i { position:absolute; left:0; top:0; bottom:0; width:34%; background:var(--red); border-radius:100px; }
.player__time { font-family:var(--font-body); font-size:.8rem; color:rgba(255,255,255,.7); white-space:nowrap; }

.ep-head { margin:1.6rem 0 1.3rem; }
.ep-head .tagrow { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.9rem; }
.tag { display:inline-flex; align-items:center; gap:.4em; padding:.45em .95em; border-radius:100px;
  background:rgba(224,164,0,.08); color:var(--red); font-family:var(--font-display); font-weight:600; font-size:.72rem;
  letter-spacing:.06em; text-transform:uppercase; }
.tag svg { width:14px; height:14px; }
.ep-head h1 { font-family:var(--font-head); font-size:clamp(2rem,1.4rem+2vw,3rem); color:var(--navy); line-height:1.08; letter-spacing:-.02em; }
.ep-metarow { display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; margin-top:1rem; color:var(--muted);
  font-size:.86rem; font-weight:500; }
.ep-metarow span { display:inline-flex; align-items:center; gap:.45em; }
.ep-metarow svg { width:16px; height:16px; }

.prose { color:#2b3242; font-size:1.06rem; line-height:1.8; }
.prose > * + * { margin-top:1.15rem; }
.prose h2 { font-family:var(--font-head); font-size:1.7rem !important; color:var(--navy); margin-top:2.2rem; letter-spacing:-.01em; line-height:1.2; }
.prose h3 { font-family:var(--font-head); font-size:1.3rem; color:var(--navy); margin-top:1.8rem; }
.prose a { color:var(--red); text-decoration:underline; text-underline-offset:3px; }
.prose ul, .prose ol { padding-left:1.3rem; display:flex; flex-direction:column; gap:.5rem; }
.prose ul li { list-style:disc; } .prose ol li { list-style:decimal; }
.prose blockquote { border-left:4px solid var(--red); background:#f7f8fb; padding:1.1rem 1.4rem; border-radius:0 14px 14px 0;
  font-family:var(--font-head); font-size:1.2rem; color:var(--navy); font-style:italic; }
.prose img { border-radius:16px; margin-block:1.6rem; }
.prose figure figcaption { color:var(--muted); font-size:.85rem; text-align:center; margin-top:.5rem; }

.notes-list { display:flex; flex-direction:column; gap:.2rem; margin-top:.4rem; }
.notes-list a { display:flex; align-items:center; gap:.9rem; padding:.85rem 0; border-bottom:1px solid var(--line);
  color:var(--navy); font-weight:500; transition:color .3s, padding-left .3s; }
.notes-list a:hover { color:var(--red); padding-left:.4rem; }
.notes-list .ts { font-family:var(--font-display); font-weight:700; font-size:.82rem; color:var(--red);
  background:rgba(224,164,0,.08); padding:.3em .7em; border-radius:8px; flex-shrink:0; }

/* Sidebar shared */
.side { display:flex; flex-direction:column; gap:var(--space-md); position:sticky; top:96px; }
.side-card { background:#fff; border:1px solid var(--line); border-radius:20px; padding:1.5rem; }
.side-card h4 { font-family:var(--font-display); font-weight:700; font-size:.78rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--muted); margin-bottom:1.1rem; }
.guest-chip { display:flex; align-items:center; gap:1rem; }
.guest-chip .av { width:60px; height:60px; border-radius:50%; background:var(--grad-cta); color:#fff;
  display:grid; place-items:center; font-family:var(--font-display); font-weight:700; font-size:1.2rem; flex-shrink:0; }
.guest-chip .av img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
.guest-chip b { display:block; font-family:var(--font-head); color:var(--navy); font-size:1.1rem; }
.guest-chip span { color:var(--muted); font-size:.86rem; }
.side-links a { display:flex; gap:.9rem; padding:.7rem 0; border-top:1px solid var(--line); color:var(--navy);
  font-weight:500; font-size:.92rem; transition:color .3s; }
.side-links a:first-child { border-top:0; padding-top:0; }
.side-links a:hover { color:var(--red); }
.side-links .n { font-family:var(--font-display); font-weight:700; color:var(--red); flex-shrink:0; }
.share-row { display:flex; gap:.6rem; }
.share-row a { width:42px; height:42px; border-radius:50%; border:1.5px solid var(--line); display:grid; place-items:center;
  color:var(--navy); transition:background .3s, border-color .3s, color .3s, transform .3s; }
.share-row a:hover { background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-3px); }
.share-row svg { width:18px; height:18px; }

/* ---------- Guests page (guests.html) ---------- */
.gcard { background:#fff; border:1px solid var(--line); border-radius:22px; padding:1.8rem 1.6rem; text-align:center;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.gcard:hover { transform:translateY(-6px); box-shadow:0 26px 50px -26px rgba(0,0,0,.32); border-color:transparent; }
.gcard__av { width:104px; height:104px; margin:0 auto 1.1rem; border-radius:50%; overflow:hidden; position:relative;
  background:var(--grad-cta); display:grid; place-items:center; color:#fff; font-family:var(--font-display);
  font-weight:700; font-size:1.9rem; box-shadow:0 16px 30px -14px rgba(224,164,0,.5); }
.gcard__av img { width:100%; height:100%; object-fit:cover; }
.gcard h3 { font-family:var(--font-head); font-size:1.25rem; color:var(--navy); }
.gcard__role { color:var(--red); font-family:var(--font-display); font-weight:600; font-size:.82rem;
  letter-spacing:.04em; text-transform:uppercase; margin-top:.2rem; }
.gcard__co { color:var(--muted); font-size:.88rem; margin-top:.15rem; display:block; }
.gcard__social { display:flex; justify-content:center; gap:.5rem; margin-top:1rem; }
.gcard__social a { width:38px; height:38px; border-radius:50%; border:1.5px solid var(--line); display:grid; place-items:center;
  color:var(--navy); transition:background .3s, border-color .3s, color .3s, transform .3s; }
.gcard__social a:hover { background:var(--navy); border-color:var(--navy); color:#fff; transform:translateY(-2px); }
.gcard__social svg { width:16px; height:16px; }
.gcard__link { display:inline-flex; align-items:center; gap:.4em; margin-top:1.1rem; color:var(--navy);
  font-family:var(--font-display); font-weight:600; font-size:.82rem; transition:color .3s, gap .3s; }
.gcard__link:hover { color:var(--red); gap:.7em; }
.gcard__link svg { width:15px; height:15px; }

/* ---------- Single guest (guest.html) ---------- */
.gprofile { display:grid; grid-template-columns:360px 1fr; gap:var(--space-xl); align-items:start; }
.gprofile__photo { position:relative; border-radius:24px; overflow:hidden; aspect-ratio:4/5; box-shadow:0 30px 60px -30px rgba(0,0,0,.4); }
.gprofile__photo img { width:100%; height:100%; object-fit:cover; }
.gprofile__badge { position:absolute; left:16px; bottom:16px; background:var(--red); color:#fff; padding:.6em 1.1em;
  border-radius:100px; font-family:var(--font-display); font-weight:700; font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; }
.gprofile h1 { font-family:var(--font-head); font-size:clamp(2rem,1.4rem+2vw,3rem); color:var(--navy); letter-spacing:-.02em; }
.gprofile__role { color:var(--red); font-family:var(--font-display); font-weight:600; letter-spacing:.03em;
  text-transform:uppercase; font-size:.9rem; margin-top:.3rem; }
.gprofile__stats { display:flex; gap:2rem; flex-wrap:wrap; margin:1.4rem 0; padding:1.2rem 0; border-block:1px solid var(--line); }
.gprofile__stats .s strong { font-family:var(--font-head); font-size:1.8rem; color:var(--navy); display:block; line-height:1; }
.gprofile__stats .s span { color:var(--muted); font-size:.82rem; }
.gprofile__social { display:flex; gap:.6rem; margin-top:1.4rem; }
.gprofile__social a { width:44px; height:44px; border-radius:50%; border:1.5px solid var(--line); display:grid; place-items:center;
  color:var(--navy); transition:background .3s, border-color .3s, color .3s, transform .3s; }
.gprofile__social a:hover { background:var(--red); border-color:var(--red); color:#fff; transform:translateY(-3px); }
.gprofile__social svg { width:18px; height:18px; }

/* ---------- About page extras ---------- */
.story { display:grid; grid-template-columns:1.05fr .95fr; gap:var(--space-xl); align-items:center; }
.story__media { position:relative; border-radius:24px; overflow:hidden; box-shadow:0 30px 60px -30px rgba(0,0,0,.4); }
.story__media img { width:100%; height:100%; object-fit:cover; aspect-ratio:4/3.4; }
.story__badge { position:absolute; right:-14px; bottom:26px; background:var(--red); color:#fff; padding:1.1rem 1.4rem;
  border-radius:18px; box-shadow:0 20px 40px -14px rgba(224,164,0,.55); }
.story__badge strong { font-family:var(--font-head); font-size:2rem; display:block; line-height:1; }
.story__badge span { font-size:.78rem; letter-spacing:.05em; text-transform:uppercase; opacity:.9; }
.values { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:var(--space-md); }
.value { background:#fff; border:1px solid var(--line); border-radius:20px; padding:1.8rem 1.6rem;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.value:hover { transform:translateY(-5px); box-shadow:0 24px 46px -26px rgba(0,0,0,.3); }
.value__ic { width:56px; height:56px; border-radius:16px; background:var(--grad-cta); display:grid; place-items:center;
  margin-bottom:1.1rem; box-shadow:0 12px 26px -10px rgba(224,164,0,.5); }
.value__ic svg { width:26px; height:26px; stroke:#fff; fill:none; }
.value h3 { font-family:var(--font-head); font-size:1.22rem; color:var(--navy); }
.value p { color:var(--muted); font-size:.94rem; margin-top:.5rem; }

/* Numbered steps (become-a-guest, sponsor) */
.steps { display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr)); gap:var(--space-md); counter-reset:step; }
.step { background:#fff; border:1px solid var(--line); border-radius:20px; padding:2rem 1.6rem 1.7rem; position:relative; }
.step::before { counter-increment:step; content:counter(step,decimal-leading-zero); position:absolute; top:-18px; left:1.6rem;
  width:48px; height:48px; border-radius:14px; background:var(--navy); color:#fff; display:grid; place-items:center;
  font-family:var(--font-head); font-weight:700; font-size:1.05rem; box-shadow:0 12px 26px -10px rgba(0,0,0,.5); }
.step h3 { font-family:var(--font-head); font-size:1.2rem; color:var(--navy); margin-top:1rem; }
.step p { color:var(--muted); font-size:.94rem; margin-top:.5rem; }

/* Benefit list with checks */
.benefits { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:var(--space-md); }
.benefit { display:block; background:#fff; border:1px solid var(--line); border-radius:22px; padding:2.1rem 1.8rem;
  box-shadow:0 18px 44px -30px rgba(0,0,0,.3); transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.benefit:hover { transform:translateY(-8px); box-shadow:0 34px 62px -30px rgba(0,0,0,.34); border-color:transparent; }
.benefit__ic { width:62px; height:62px; border-radius:17px; background:var(--grad-cta); display:grid; place-items:center;
  margin-bottom:1.35rem; box-shadow:0 14px 28px -10px rgba(224,164,0,.5); transition:transform .4s var(--ease); }
.benefit:hover .benefit__ic { transform:translateY(-3px) scale(1.05); }
.benefit__ic svg { width:28px; height:28px; stroke:#0F172A; fill:none; }
.benefit h3 { font-family:var(--font-head); font-size:1.24rem; color:var(--navy); }
.benefit p { color:var(--muted); font-size:.95rem; margin-top:.55rem; line-height:1.65; }

/* ---------- Sponsor packages ---------- */
.tiers { display:grid; grid-template-columns:repeat(auto-fit, minmax(280px,1fr)); gap:var(--space-md); align-items:stretch; }
.tier { display:flex; flex-direction:column; background:#fff; border:1.5px solid var(--line); border-radius:24px;
  padding:2.2rem 1.9rem; transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.tier:hover { transform:translateY(-6px); box-shadow:0 30px 56px -30px rgba(0,0,0,.34); }
.tier--featured { background:var(--navy); border-color:var(--navy); color:#fff; position:relative; }
.tier--featured::after { content:"Most Popular"; position:absolute; top:1.6rem; right:1.6rem; background:var(--red); color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.45em .85em; border-radius:100px; }
.tier__name { font-family:var(--font-display); font-weight:700; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; color:var(--red); }
.tier--featured .tier__name { color:#f0c24a; }
.tier__price { font-family:var(--font-head); font-size:2.6rem; color:var(--navy); margin:.6rem 0 .2rem; letter-spacing:-.02em; }
.tier--featured .tier__price { color:#fff; }
.tier__price em { font-family:var(--font-body); font-size:.95rem; font-style:normal; color:var(--muted); font-weight:500; }
.tier--featured .tier__price em { color:rgba(255,255,255,.6); }
.tier__desc { color:var(--muted); font-size:.92rem; }
.tier--featured .tier__desc { color:rgba(255,255,255,.72); }
.tier__list { display:flex; flex-direction:column; gap:.75rem; margin:1.5rem 0; flex:1; }
.tier__list li { display:flex; align-items:flex-start; gap:.7rem; font-size:.94rem; color:#2b3242; }
.tier--featured .tier__list li { color:rgba(255,255,255,.86); }
.tier__list .ck { width:22px; height:22px; border-radius:50%; background:rgba(224,164,0,.1); display:grid; place-items:center; flex-shrink:0; margin-top:1px; }
.tier--featured .tier__list .ck { background:rgba(255,255,255,.14); }
.tier__list .ck svg { width:13px; height:13px; stroke:var(--red); fill:none; }
.tier--featured .tier__list .ck svg { stroke:#fff; }
.tier .btn-premium, .tier .btn-outline { width:100%; justify-content:center; }

/* Audience stat band */
.statband { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:var(--space-md); text-align:center; }
.statband .s { padding:2.4rem 1.5rem; background:#000; border-radius:22px; text-align:center; position:relative; overflow:hidden;
  box-shadow:0 22px 46px -26px rgba(0,0,0,.55); transition:transform .4s var(--ease), box-shadow .4s var(--ease); }
.statband .s::before { content:""; position:absolute; left:0; right:0; top:0; height:3px; background:linear-gradient(90deg, transparent, #e0a400, transparent); }
.statband .s:hover { transform:translateY(-7px); box-shadow:0 34px 60px -26px rgba(0,0,0,.6); }
.statband .s strong { font-family:var(--font-head); font-size:clamp(1.9rem, 1.4rem + 1.5vw, 2.7rem); color:#e0a400; display:block; line-height:1.06; font-weight:800; letter-spacing:-.01em; overflow-wrap:break-word; }
.statband .s strong em { color:#e0a400; font-style:normal; }
.statband .s span { color:rgba(255,255,255,.72); font-weight:600; font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; margin-top:.75rem; display:block; }

/* ---------- FAQ accordion ---------- */
.faq { max-width:820px; margin-inline:auto; display:flex; flex-direction:column; gap:.8rem; }
.faq__item { border:1px solid var(--line); border-radius:16px; background:#fff; overflow:hidden; transition:box-shadow .3s, border-color .3s; }
.faq__item[open] { border-color:transparent; box-shadow:0 18px 40px -24px rgba(0,0,0,.3); }
.faq__item summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer;
  padding:1.2rem 1.4rem; font-family:var(--font-head); font-weight:700; font-size:1.08rem; color:var(--navy); list-style:none; }
.faq__item summary::-webkit-details-marker { display:none; }
.faq__item summary .pm { width:30px; height:30px; border-radius:50%; background:rgba(224,164,0,.08); display:grid; place-items:center;
  flex-shrink:0; transition:transform .3s var(--ease), background .3s; }
.faq__item[open] summary .pm { transform:rotate(45deg); background:var(--red); }
.faq__item summary .pm svg { width:16px; height:16px; stroke:var(--red); }
.faq__item[open] summary .pm svg { stroke:#fff; }
.faq__item .faq__a { padding:0 1.4rem 1.3rem; color:var(--muted); font-size:.98rem; line-height:1.75; }

/* ---------- Legal / doc pages ---------- */
.legal-doc { max-width:820px; margin-inline:auto; }
.legal-doc .updated { color:var(--muted); font-size:.9rem; margin-bottom:2rem; }
.legal-doc h2 { font-family:var(--font-head) !important; font-size:1.5rem !important; color:var(--navy); margin-top:2.4rem; letter-spacing:-.01em; }
.legal-doc h3 { font-family:var(--font-head); font-size:1.15rem; color:var(--navy); margin-top:1.6rem; }
.legal-doc p, .legal-doc li { color:#3a4152; line-height:1.8; }
.legal-doc p { margin-top:.9rem; }
.legal-doc ul { padding-left:1.3rem; margin-top:.8rem; display:flex; flex-direction:column; gap:.5rem; }
.legal-doc ul li { list-style:disc; }
.legal-toc { background:#f7f8fb; border:1px solid var(--line); border-radius:18px; padding:1.5rem 1.7rem; margin-bottom:2.4rem; }
.legal-toc h4 { font-family:var(--font-display); font-weight:700; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:.9rem; }
.legal-toc ol { padding-left:1.2rem; display:flex; flex-direction:column; gap:.4rem; }
.legal-toc ol li { list-style:decimal; }
.legal-toc a { color:var(--navy); transition:color .3s; }
.legal-toc a:hover { color:var(--red); }

/* ---------- Related strip ---------- */
.related-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(300px,1fr)); gap:var(--space-md); }

/* ---------- CTA panel (reusable footer-of-page call to action) ---------- */
.cta-panel { position:relative; overflow:hidden; background:var(--navy); color:#fff; border-radius:28px;
  padding:clamp(2.4rem,4vw,4rem); text-align:center; isolation:isolate; }
.cta-panel::before { content:""; position:absolute; inset:0; z-index:-1;
  background:url('../img/pattern-map-2.png') center/cover no-repeat; opacity:.16; }
.cta-panel::after { content:""; position:absolute; inset:0; z-index:-1;
  background:radial-gradient(120% 120% at 50% 0%, rgba(197,4,15,.32), transparent 55%); }
.cta-panel .eyebrow { color:#e6b93f; justify-content:center; }
.cta-panel h2 { color:#fff; }
.cta-panel p { color:rgba(255,255,255,.75); max-width:56ch; margin:.8rem auto 0; }
.cta-panel__actions { display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; margin-top:1.8rem; }
/* Outline button turns light when it sits on a dark panel/banner (else navy-on-navy = invisible) */
.cta-panel .btn-outline, .page-banner .btn-outline {
  border-color:rgba(255,255,255,.55); color:#fff;
  background:linear-gradient(90deg, #fff 0 50%, transparent 50%) right/200% 100%; }
.cta-panel .btn-outline:hover, .page-banner .btn-outline:hover { border-color:#fff; color:var(--navy); }

/* =========================================================================
   GALLERY + LIGHTBOX
   ========================================================================= */
.gallery { columns:3; column-gap:var(--space-md); }
.gallery__item { break-inside:avoid; margin-bottom:var(--space-md); position:relative; border-radius:18px; overflow:hidden;
  display:block; cursor:pointer; background:var(--navy); }
.gallery__item img { width:100%; height:auto; display:block; transition:transform .6s var(--ease); }
.gallery__item:hover img { transform:scale(1.05); }
.gallery__item::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.55), transparent 55%);
  opacity:0; transition:opacity .4s; }
.gallery__item:hover::after { opacity:1; }
.gallery__zoom { position:absolute; right:14px; bottom:14px; z-index:2; width:46px; height:46px; border-radius:50%;
  background:var(--red); display:grid; place-items:center; transform:translateY(10px) scale(.9); opacity:0;
  transition:opacity .4s, transform .4s var(--ease); box-shadow:0 12px 26px -8px rgba(224,164,0,.6); }
.gallery__item:hover .gallery__zoom { opacity:1; transform:none; }
.gallery__zoom svg { width:20px; height:20px; stroke:#fff; fill:none; }
.gallery__cap { position:absolute; left:16px; bottom:16px; z-index:2; color:#fff; font-family:var(--font-display);
  font-weight:600; font-size:.95rem; opacity:0; transform:translateY(8px); transition:opacity .4s, transform .4s var(--ease); text-shadow:0 2px 12px rgba(0,0,0,.5); }
.gallery__item:hover .gallery__cap { opacity:1; transform:none; }

/* Lightbox */
.glb { position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; padding:clamp(16px,4vw,56px);
  background:rgba(5,9,18,.92); backdrop-filter:blur(6px); opacity:0; visibility:hidden; transition:opacity .35s, visibility .35s; }
.glb.open { opacity:1; visibility:visible; }
.glb__stage { position:relative; max-width:min(1100px,92vw); max-height:86vh; display:flex; flex-direction:column; align-items:center; }
.glb__img { max-width:100%; max-height:80vh; border-radius:14px; box-shadow:0 40px 90px -30px rgba(0,0,0,.8);
  transform:scale(.96); transition:transform .4s var(--ease); }
.glb.open .glb__img { transform:none; }
.glb__cap { color:rgba(255,255,255,.85); font-family:var(--font-display); font-weight:500; font-size:.95rem; margin-top:1rem; text-align:center; }
.glb__count { color:rgba(255,255,255,.55); font-size:.8rem; font-family:var(--font-body); margin-top:.2rem; }
.glb__close { position:absolute; top:-6px; right:-6px; width:48px; height:48px; border-radius:50%; z-index:2;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; display:grid; place-items:center;
  transition:background .3s, transform .35s var(--ease); }
.glb__close { position:fixed; top:clamp(16px,3vw,32px); right:clamp(16px,3vw,32px); }
.glb__close:hover { background:var(--red); border-color:var(--red); transform:rotate(90deg); }
.glb__close svg { width:22px; height:22px; }
.glb__nav { position:fixed; top:50%; transform:translateY(-50%); width:56px; height:56px; border-radius:50%;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); color:#fff; display:grid; place-items:center;
  transition:background .3s, border-color .3s, transform .3s; }
.glb__nav:hover { background:var(--red); border-color:var(--red); }
.glb__nav.prev { left:clamp(10px,3vw,32px); }
.glb__nav.next { right:clamp(10px,3vw,32px); }
.glb__nav svg { width:26px; height:26px; }
@media (max-width:900px){ .gallery { columns:2; } .glb__nav { width:46px; height:46px; } }
@media (max-width:600px){
  .gallery { columns:auto; display:grid; grid-template-columns:1fr 1fr; gap:12px; column-gap:12px; }
  .gallery__item { margin-bottom:0; aspect-ratio:1; }
  .gallery__item img { width:100%; height:100%; object-fit:cover; }
}

/* =========================================================================
   BECOME-A-GUEST MODAL (classy popup)
   ========================================================================= */
/* modal shell (position/open state kept; look defined in the popup block below) */
.gmodal { position:fixed; inset:0; z-index:320; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .35s var(--ease), visibility .35s; }
.gmodal.open { opacity:1; visibility:visible; }
.gmodal__box { position:relative; transform:translateY(18px) scale(.98); opacity:0;
  transition:transform .45s var(--ease), opacity .45s var(--ease); }
.gmodal.open .gmodal__box { transform:none; opacity:1; }
@media (max-width:720px){
  .gmodal__box { grid-template-columns:1fr; max-height:94vh; overflow-y:auto; }
  .gmodal__aside { display:none; }
}

/* =========================================================================
   CLASSIC BLOG SIDEBAR WIDGETS
   ========================================================================= */
.widget { background:#fff; border:1px solid var(--line); border-radius:20px; padding:1.5rem; }
.widget + .widget { margin-top:var(--space-md); }
.widget__title { font-family:var(--font-head); font-weight:700; font-size:1.12rem; color:var(--navy); padding-bottom:.8rem;
  margin-bottom:1rem; border-bottom:1px solid var(--line); position:relative; }
.widget__title::after { content:""; position:absolute; left:0; bottom:-1px; width:44px; height:2px; background:var(--red); }
.widget-search { display:flex; }
.widget-search input { flex:1; min-width:0; padding:.8em 1em; border:1.5px solid var(--line); border-right:0; border-radius:12px 0 0 12px;
  font:inherit; font-size:.9rem; transition:border-color .3s; }
.widget-search input:focus { outline:none; border-color:var(--red); }
.widget-search button { padding:0 1em; border-radius:0 12px 12px 0; background:var(--red); color:#fff; display:grid; place-items:center; }
.widget-search button svg { width:18px; height:18px; }
.cat-list a { display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.6rem 0; border-bottom:1px solid var(--line);
  color:var(--navy); font-weight:500; font-size:.94rem; transition:color .3s, padding-left .3s; }
.cat-list a:last-child { border-bottom:0; }
.cat-list a:hover { color:var(--red); padding-left:.4rem; }
.cat-list .n { background:#f2f3f7; color:var(--muted); font-family:var(--font-display); font-weight:600; font-size:.76rem;
  padding:.15em .6em; border-radius:100px; transition:background .3s, color .3s; }
.cat-list a:hover .n { background:var(--red); color:#fff; }
.recent-post { display:flex; gap:.9rem; padding:.75rem 0; border-bottom:1px solid var(--line); }
.recent-post:last-child { border-bottom:0; }
.recent-post img { width:64px; height:64px; border-radius:12px; object-fit:cover; flex-shrink:0; }
.recent-post .rp-body { display:flex; flex-direction:column; justify-content:center; }
.recent-post .rp-date { font-family:var(--font-display); font-weight:600; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; color:var(--red); }
.recent-post a { color:var(--navy); font-family:var(--font-head); font-weight:700; font-size:.95rem; line-height:1.25; margin-top:.15rem; transition:color .3s; }
.recent-post a:hover { color:var(--red); }
.tagcloud { display:flex; flex-wrap:wrap; gap:.5rem; }
.tagcloud a { padding:.45em .9em; border:1.5px solid var(--line); border-radius:100px; font-size:.8rem; font-weight:500; color:var(--navy);
  transition:background .3s, border-color .3s, color .3s, transform .25s var(--ease); }
.tagcloud a:hover { background:var(--navy); border-color:var(--navy); color:#fff; transform:translateY(-2px); }
.widget--cta { background:var(--navy); color:#fff; text-align:center; border-color:var(--navy); }
.widget--cta .widget__title { color:#fff; border-color:rgba(255,255,255,.15); }
.widget--cta p { color:rgba(255,255,255,.75); font-size:.9rem; margin-bottom:1.1rem; }
.widget--cta .btn-premium { width:100%; justify-content:center; }

/* =========================================================================
   BLOG FEATURED CARD (horizontal — replaces the oversized full-width box)
   ========================================================================= */
.blog-feature { display:grid; grid-template-columns:1.05fr .95fr; background:#fff; border:1px solid var(--line);
  border-radius:24px; overflow:hidden; margin-bottom:var(--space-md); color:inherit;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.blog-feature:hover { transform:translateY(-5px); box-shadow:0 30px 56px -30px rgba(0,0,0,.34); border-color:transparent; }
.blog-feature__img { position:relative; min-height:300px; overflow:hidden; }
.blog-feature__img img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.blog-feature:hover .blog-feature__img img { transform:scale(1.05); }
.blog-feature__img .blog-cat { position:absolute; top:16px; left:16px; z-index:2; background:var(--red); color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  padding:.5em .95em; border-radius:100px; }
.blog-feature__body { padding:clamp(1.6rem,3vw,2.6rem); display:flex; flex-direction:column; justify-content:center; }
.blog-feature__body h3 { font-family:var(--font-head); font-size:clamp(1.4rem,1rem+1.4vw,2rem); color:var(--navy);
  line-height:1.15; margin:.5rem 0 .6rem; }
.blog-feature__body p { color:var(--muted); font-size:1rem; }
.blog-feature__body .blog-read { margin-top:1.1rem; }
@media (max-width:760px){ .blog-feature { grid-template-columns:1fr; } .blog-feature__img { min-height:220px; } }

/* =========================================================================
   CENTER PARTIAL LAST ROW — full rows still fill; a short final row centers.
   (flex-grow fills complete rows; max-width caps items so leftovers center.)
   ========================================================================= */
.epi-grid, .related-grid, .blog-grid,
.values, .benefits, .steps, .tiers, .statband {
  display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-md);
}
.epi-grid > *, .related-grid > *, .blog-grid > * { flex:1 1 340px; max-width:460px; }
.values > *, .steps > * { flex:1 1 240px; max-width:340px; }
.benefits > * { flex:1 1 260px; max-width:400px; }
.tiers > * { flex:1 1 300px; max-width:440px; }
.statband > * { flex:1 1 170px; max-width:280px; }

/* Inline card grids (guests / topics / sitemap) — same centered behavior */
.flex-center-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--space-md); align-items:flex-start; }
.flex-center-grid.is-guests > * { flex:1 1 240px; max-width:320px; }
.flex-center-grid.is-topics > * { flex:1 1 260px; max-width:360px; }
.flex-center-grid.is-sitemap > * { flex:1 1 250px; max-width:340px; }

/* ---------- Responsive ---------- */
@media (max-width:1000px){
  .ep-single { grid-template-columns:1fr; }
  .side { position:static; }
  .gprofile { grid-template-columns:1fr; }
  .gprofile__photo { max-width:360px; }
  .story { grid-template-columns:1fr; }
  .story__badge { right:16px; }
}
@media (max-width:560px){
  .toolbar { flex-direction:column; align-items:stretch; }
  .searchbox input { min-width:0; width:100%; }
  .epi-grid { grid-template-columns:1fr; }
}

/* ===================== GOLD THEME - contrast (inner pages) ===================== */
.epi__pill, .tier--featured::after, .gcard__av, .blog-feature__img .blog-cat{ color:#000000; }
.epi__play svg, .player__big button svg, .player__bar .pbtn svg, .to-top svg{ fill:#000000; }
.to-top:hover svg{ fill:#fff; }
.value__ic svg{ stroke:#000000; }
.guest-chip .av{ color:#000000; }
.share-row a:hover{ color:#000000; }
.glb__nav:hover, .glb__close:hover{ color:#000000; }
.faq__item[open] summary .pm svg{ stroke:#000000; }
/* ===== Season 1 Preview — status labels instead of fake play controls ===== */
.rcard__status { display:inline-flex; align-items:center; gap:.5em; margin-top:auto;
  font-family:var(--font-display); font-weight:700; font-size:.82rem; letter-spacing:.04em;
  text-transform:uppercase; color:rgba(255,255,255,.62); }
.rcard__status::before { content:""; width:8px; height:8px; border-radius:50%; background:var(--red); flex-shrink:0; }
.rcard__link { display:inline-flex; align-items:center; gap:.5em; margin-top:auto;
  font-family:var(--font-display); font-weight:700; font-size:.9rem; color:var(--red); transition:gap .3s; }
.rcard__link svg { width:17px; height:17px; }
.rcard__link:hover { gap:.85em; }
.recent__slate { margin-top:28px; text-align:center; font-size:.92rem; opacity:.7; }

/* ===== "What Guests Can Expect" card title ===== */
.choose__card-title { font-family:var(--font-display); font-weight:700; font-size:.78rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--red-d); margin-bottom:.7rem; }

/* =========================================================================
   STATEMENT BAND — replaces the sparse centred "About the Podcast" block
   (a lone h2 + paragraph left ~300px of dead space under it)
   ========================================================================= */
.statement { position:relative; overflow:hidden; background:#0a0a0a; color:#fff;
  padding-block:var(--space-2xl); }
.statement::before { content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(80% 130% at 0% 0%, rgba(224,164,0,.16), transparent 58%); }
.statement__grid { position:relative; display:grid; grid-template-columns:1.05fr 1fr;
  gap:clamp(2rem,5vw,4.5rem); align-items:start; }
.statement .eyebrow { color:#e6b93f; }
.statement .eyebrow::before { background:var(--red); }
.statement__big { margin-top:1.1rem; font-family:var(--font-head); font-weight:700;
  font-size:clamp(2.1rem,1.4rem + 2.9vw, 3.6rem); line-height:1.1; letter-spacing:-.03em; color:#fff; }
.statement__big em { font-style:normal; color:var(--red); }
.statement__body > p { color:rgba(255,255,255,.7); font-size:1.03rem; line-height:1.75; }
.statement__pillars { margin-top:1.9rem; display:grid; gap:1px; background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.12); border-radius:16px; overflow:hidden; }
.statement__pillars li { display:grid; gap:.2rem; padding:1.15rem 1.3rem; background:#0a0a0a; }
.statement__pillars b { font-family:var(--font-display); font-weight:700; font-size:.78rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--red); }
.statement__pillars span { color:rgba(255,255,255,.7); font-size:.95rem; line-height:1.5; }
@media (max-width:900px){
  .statement__grid { grid-template-columns:1fr; gap:1.8rem; }
}

/* ===== Anchor targets must clear the fixed header ===== */
:target, [id="guest-process"], [id="guest-highlights"], [id="season-1"],
[id="contact"], [id="newsletter"], [id="what-it-is"], [id="host"] { scroll-margin-top:104px; }
@media (max-width:900px){
  :target, [id="guest-process"], [id="guest-highlights"], [id="season-1"],
  [id="contact"], [id="newsletter"], [id="what-it-is"], [id="host"] { scroll-margin-top:84px; }
}

/* ===== Mobile action bar: reserve its true height so it can't cover content ===== */
@media (max-width:600px){
  .mbar { padding-bottom:env(safe-area-inset-bottom); }
  body { padding-bottom:calc(62px + env(safe-area-inset-bottom)); }
  .to-top { bottom:calc(78px + env(safe-area-inset-bottom)); }
}
/* host credit anchors the bottom of the statement band's left column */
.statement__host { display:flex; align-items:center; gap:.9rem; margin-top:2.2rem;
  padding-top:1.6rem; border-top:1px solid rgba(255,255,255,.12); }
.statement__host img { width:54px; height:54px; border-radius:50%; object-fit:cover;
  border:2px solid rgba(224,164,0,.5); flex-shrink:0; }
.statement__host span { display:grid; gap:.15rem; color:rgba(255,255,255,.6); font-size:.9rem; }
.statement__host b { font-family:var(--font-display); font-weight:700; font-size:1rem; color:#fff; }

/* =========================================================================
   GUEST HIGHLIGHTS — featured clip + list (replaces the 3-equal-box grid)
   ========================================================================= */
.hl { background:linear-gradient(180deg,#fff 0%, #f4f6f9 100%); padding-block:var(--space-2xl); }
.hl__head { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(1.5rem,4vw,3.5rem);
  align-items:end; margin-bottom:clamp(2rem,4vw,3.2rem); }
.hl__head h2 { color:var(--navy); margin-top:.9rem;
  font-size:clamp(2.3rem, 1.5rem + 3.1vw, 4rem); line-height:1.05; letter-spacing:-.03em; }
.hl__head h2 .r { color:var(--red); }
.hl__head > p { color:var(--muted); font-size:clamp(1.02rem,1.25vw,1.18rem); line-height:1.7; }

/* --- labels shared by every clip band --- */
.hl__guest { font-family:var(--font-display); font-weight:700; font-size:.8rem; letter-spacing:.16em;
  text-transform:uppercase; color:var(--red); }
.hl__guest--gold { color:var(--red); }
.hl__soon { display:inline-flex; align-items:center; gap:.5em; margin-top:.35rem;
  font-size:.86rem; font-weight:600; color:rgba(255,255,255,.62); }
.hl__soon::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--red); }

/* --- "more in production" panel --- */
.hl__next { display:flex; flex-direction:column; justify-content:space-between; gap:1.4rem;
  border-radius:26px; padding:clamp(1.5rem,2.4vw,2.2rem); color:#fff;
  background:radial-gradient(120% 130% at 100% 0%, rgba(224,164,0,.22), transparent 58%), #0a0a0a; }
.hl__next h3 { font-family:var(--font-head); font-size:clamp(1.3rem,1.7vw,1.75rem); line-height:1.16;
  letter-spacing:-.02em; color:#fff; margin-top:.5rem; }
.hl__next p { margin-top:.55rem; color:rgba(255,255,255,.66); font-size:.97rem; line-height:1.6; max-width:48ch; }
.hl__cta { display:inline-flex; align-items:center; gap:.6em; align-self:flex-start;
  padding:.95em 1.8em; border-radius:100px; background:var(--grad-cta); color:#111;
  font-family:var(--font-display); font-weight:700; font-size:.98rem;
  box-shadow:0 16px 34px -16px rgba(224,164,0,.6); transition:transform .3s var(--ease), gap .3s; }
.hl__cta svg { width:18px; height:18px; }

/* --- responsive --- */
@media (max-width:1024px){
  .hl__head { grid-template-columns:1fr; align-items:start; }
}
@media (max-width:620px){
  .hl__cta { width:100%; justify-content:center; }
}

/* =========================================================================
   LATEST CLIP — vertical (9:16) player band inside Guest Highlights
   Poster + click-to-play inline; no lightbox, no autoplay.
   ========================================================================= */
.hlv { display:grid; grid-template-columns:minmax(0,330px) 1fr; gap:clamp(1.4rem,3vw,2.6rem);
  align-items:center; border-radius:26px; padding:clamp(1.3rem,2.4vw,2.2rem);
  margin-bottom:clamp(1.6rem,3vw,2.6rem); color:#fff;
  background:radial-gradient(120% 130% at 0% 0%, rgba(224,164,0,.22), transparent 58%), #0a0a0a;
  box-shadow:0 40px 80px -46px rgba(0,0,0,.75); }

/* player */
.hlv__player { position:relative; border-radius:20px; overflow:hidden; background:#000;
  aspect-ratio:9/16; width:min(100%,310px); margin-inline:auto;
  box-shadow:0 30px 60px -34px rgba(0,0,0,.9); }
.hlv__player video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  display:block; background:#000; }
.hlv.playing .hlv__player video { object-fit:contain; }

/* poster overlay (fades out once playing) — never blocks the native controls */
.hlv__cover { position:absolute; inset:0; z-index:2; display:grid; place-items:center;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.34) 0%, transparent 40%, rgba(0,0,0,.5) 100%);
  transition:opacity .4s var(--ease), visibility .4s; }
.hlv.playing .hlv__cover { opacity:0; visibility:hidden; pointer-events:none; }
.hlv__play { position:relative; pointer-events:auto; width:76px; height:76px; border-radius:50%; display:grid; place-items:center;
  background:var(--grad-cta); color:#111; box-shadow:0 18px 40px -14px rgba(224,164,0,.75);
  transition:transform .3s var(--ease); }
.hlv__play svg { width:26px; height:26px; margin-left:3px; }
.hlv__play:hover { transform:scale(1.08); }
.hlv__play::before { content:""; position:absolute; width:76px; height:76px; border-radius:50%;
  border:2px solid rgba(224,164,0,.55); animation:hlvPulse 2.4s var(--ease) infinite; }
@keyframes hlvPulse { 0% { transform:scale(1); opacity:.75; } 100% { transform:scale(1.7); opacity:0; } }
.hlv__time { position:absolute; right:12px; bottom:12px; z-index:3; padding:.34em .8em; border-radius:100px;
  background:rgba(0,0,0,.62); backdrop-filter:blur(4px); color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:.72rem; letter-spacing:.06em; }
.hlv.playing .hlv__time { opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; }

/* copy side */
.hlv__body { display:flex; flex-direction:column; gap:.75rem; }
.hlv__ep { display:inline-flex; align-items:center; gap:.55em; align-self:flex-start;
  padding:.42em 1em; border-radius:100px; background:var(--red); color:#111;
  font-family:var(--font-display); font-weight:700; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; }
.hlv__ep i { width:6px; height:6px; border-radius:50%; background:#111; }
.hlv__body .hl__guest { color:#f0c24a; }
.hlv__body h3 { font-family:var(--font-head); font-size:clamp(1.5rem,2.3vw,2.15rem);
  line-height:1.14; letter-spacing:-.02em; color:#fff; }
.hlv__lead { color:rgba(255,255,255,.78); font-size:1rem; line-height:1.65; max-width:64ch; }
.hlv__preview { margin-top:.35rem; padding:1rem 0 0; border-top:1px solid rgba(255,255,255,.14); }
.hlv__preview b { display:block; margin-bottom:.4rem; font-family:var(--font-display); font-weight:700;
  font-size:.76rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.55); }
.hlv__preview p { color:rgba(255,255,255,.68); font-size:.97rem; line-height:1.65; max-width:72ch; }
.hlv__body .hl__soon { margin-top:.5rem; }

/* --- secondary clips: two-up grid of smaller bands + the production panel --- */
.hlv-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1.2rem,2.4vw,2rem);
  align-items:stretch; }
.hlv--sm { grid-template-columns:minmax(0,210px) 1fr; gap:clamp(1rem,1.8vw,1.6rem);
  margin-bottom:0; align-items:start; padding:clamp(1.1rem,1.8vw,1.5rem); }
.hlv--sm .hlv__player { width:min(100%,210px); border-radius:16px; }
.hlv--sm .hlv__body { gap:.55rem; }
.hlv--sm .hlv__ep { padding:.36em .85em; font-size:.65rem; }
.hlv--sm .hlv__body h3 { font-size:clamp(1.15rem,1.4vw,1.42rem); }
.hlv--sm .hlv__lead { font-size:.94rem; line-height:1.6; }
.hlv--sm .hlv__preview { margin-top:.2rem; padding-top:.85rem; }
.hlv--sm .hlv__preview b { font-size:.68rem; margin-bottom:.3rem; }
.hlv--sm .hlv__preview p { font-size:.9rem; line-height:1.6; }
.hlv--sm .hlv__play { width:56px; height:56px; }
.hlv--sm .hlv__play svg { width:20px; height:20px; }
.hlv--sm .hlv__play::before { width:56px; height:56px; }
.hlv--sm .hlv__time { right:9px; bottom:9px; padding:.28em .65em; font-size:.66rem; }
.hlv-grid .hl__next { height:100%; }

@media (max-width:1180px){
  .hlv--sm { grid-template-columns:minmax(0,180px) 1fr; }
  .hlv--sm .hlv__player { width:min(100%,180px); }
}
@media (max-width:1024px){
  .hlv { grid-template-columns:1fr; }
  .hlv__player { width:min(100%,360px); }
  .hlv-grid { grid-template-columns:1fr; }
  .hlv--sm { grid-template-columns:minmax(0,210px) 1fr; align-items:center; }
  .hlv--sm .hlv__player { width:min(100%,210px); }
}
@media (max-width:620px){
  .hlv { padding:1.1rem; }
  .hlv__player { width:min(100%,320px); }
  .hlv__play { width:64px; height:64px; }
  .hlv__play::before { width:64px; height:64px; }
  .hlv--sm { grid-template-columns:1fr; }
  .hlv--sm .hlv__player { width:min(100%,280px); }
}

/* =========================================================================
   HERO BANNER — editorial
   Big sans headline with a serif-italic accent + layered showcase
   (frame, floating highlight card, stat chip). No periods in headings.
   ========================================================================= */
.hbn { position:relative; overflow:hidden; background:#050505; color:#fff; isolation:isolate;
  padding-top:clamp(132px,15vh,190px); padding-bottom:clamp(60px,7vw,100px); }
.hbn__bg { position:absolute; inset:0; z-index:-3; }
.hbn__bg img { width:100%; height:100%; object-fit:cover; opacity:.42; }
.hbn__scrim { position:absolute; inset:0; z-index:-2; background:
  linear-gradient(92deg, rgba(5,5,5,.97) 0%, rgba(5,5,5,.9) 46%, rgba(5,5,5,.5) 78%, rgba(5,5,5,.7) 100%),
  radial-gradient(85% 110% at 4% 0%, rgba(224,164,0,.24), transparent 56%); }

.hbn__grid { display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }

/* ---- copy ---- */
.hbn__status { display:inline-flex; align-items:center; gap:.6em; padding:.5em 1.15em; border-radius:100px;
  background:rgba(224,164,0,.1); border:1px solid rgba(224,164,0,.36); color:#f0c24a;
  font-family:var(--font-display); font-weight:700; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; }
.hbn__status i { width:7px; height:7px; border-radius:50%; background:var(--red); animation:hbn-pulse 2s ease-in-out infinite; }
@keyframes hbn-pulse { 0%,100%{ opacity:1; box-shadow:0 0 0 0 rgba(224,164,0,.55);} 50%{ opacity:.6; box-shadow:0 0 0 7px rgba(224,164,0,0);} }

.hbn__title { margin:1.4rem 0 0; font-family:var(--font-head); font-weight:700;
  font-size:clamp(3rem,3vw + 3.4rem,6.6rem); line-height:.98; letter-spacing:-.035em; color:#fff; }
/* the accent is a serif italic, not a coloured full stop */
.hbn__title em { display:block; font-family:"Fraunces",Georgia,serif; font-style:italic; font-weight:600;
  color:var(--red); letter-spacing:-.02em; }

.hbn__sub { margin-top:1.8rem; max-width:54ch; color:rgba(255,255,255,.76);
  font-size:clamp(1.04rem,1.3vw,1.22rem); line-height:1.68; }

.hbn__actions { display:flex; flex-wrap:wrap; gap:.9rem; margin-top:2.1rem; }
.hbn__cta { display:inline-flex; align-items:center; gap:.6em; padding:1.08em 2.2em; border-radius:100px;
  background:var(--grad-cta); color:#0f0f0f; font-family:var(--font-display); font-weight:700; font-size:1.02rem;
  box-shadow:0 18px 38px -14px rgba(224,164,0,.55); transition:transform .3s var(--ease), box-shadow .3s, gap .3s; }
.hbn__cta svg { width:19px; height:19px; }
.hbn__ghost { display:inline-flex; align-items:center; padding:1.08em 2.1em; border-radius:100px;
  border:1.5px solid rgba(255,255,255,.28); color:#fff; font-family:var(--font-display); font-weight:700; font-size:1.02rem;
  transition:border-color .3s, background .3s, transform .3s var(--ease); }

.hbn__trust { display:flex; align-items:center; gap:.9rem; margin-top:2.4rem; padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.13); }
.hbn__trust img { width:52px; height:52px; border-radius:50%; object-fit:cover; flex-shrink:0;
  border:2px solid rgba(224,164,0,.5); }
.hbn__trust span { display:grid; gap:.15rem; color:rgba(255,255,255,.6); font-size:.9rem; line-height:1.45; }
.hbn__trust b { font-family:var(--font-display); font-weight:700; font-size:1rem; color:#fff; }

/* ---- showcase ---- */
.hbn__show { position:relative; padding-bottom:clamp(2rem,5vw,3.4rem); }
.hbn__glow { position:absolute; inset:-14% -10% 6% -10%; z-index:-1; border-radius:50%;
  background:radial-gradient(circle, rgba(224,164,0,.26), transparent 62%); }
.hbn__frame { position:relative; border-radius:28px; overflow:hidden; aspect-ratio:5/6;
  box-shadow:0 50px 90px -42px rgba(0,0,0,.92); }
.hbn__frame::after { content:""; position:absolute; inset:0; z-index:1; border-radius:28px;
  border:1px solid rgba(255,255,255,.16); pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.2) 0%, transparent 38%, rgba(0,0,0,.55) 100%); }
.hbn__frame img { width:100%; height:100%; object-fit:cover; object-position:center 28%; }

.hbn__onair { position:absolute; top:18px; left:18px; z-index:2; display:inline-flex; align-items:center; gap:.5em;
  padding:.46em 1em; border-radius:100px; background:rgba(5,5,5,.72);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  border:1px solid rgba(224,164,0,.45); color:#f0c24a;
  font-family:var(--font-display); font-weight:700; font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; }
.hbn__onair i { width:6px; height:6px; border-radius:50%; background:var(--red); animation:hbn-pulse 2s ease-in-out infinite; }

/* floating highlight card, bottom-left */
.hbn__card { position:absolute; left:clamp(-28px,-2vw,-10px); bottom:0; z-index:3; width:min(310px,84%);
  display:grid; gap:.3rem; padding:1.15rem 1.25rem 1.1rem; border-radius:20px;
  background:rgba(12,12,12,.86); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.14); box-shadow:0 30px 60px -26px rgba(0,0,0,.9); }
.hbn__card-eyebrow { font-family:var(--font-display); font-weight:700; font-size:.64rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--red); }
.hbn__card b { font-family:var(--font-head); font-weight:700; font-size:1.02rem; line-height:1.28; color:#fff; }
.hbn__card-guest { font-size:.84rem; color:rgba(255,255,255,.56); }
.hbn__wave { display:flex; align-items:flex-end; gap:3px; height:26px; margin-top:.5rem; }
.hbn__wave span { flex:1; border-radius:2px; background:linear-gradient(180deg,var(--red),rgba(224,164,0,.3));
  height:30%; animation:hbn-wave 1.5s ease-in-out infinite; }
.hbn__wave span:nth-child(3n){ animation-duration:1.1s; }
.hbn__wave span:nth-child(4n){ animation-delay:-.55s; }
.hbn__wave span:nth-child(5n){ animation-delay:-.95s; }
@keyframes hbn-wave { 0%,100%{ height:24%; } 50%{ height:92%; } }

/* floating stat chip, top-right */
.hbn__chip { position:absolute; right:clamp(-22px,-1.6vw,-6px); top:12%; z-index:3;
  display:flex; align-items:center; gap:.7rem; padding:.85rem 1.1rem; border-radius:18px;
  background:var(--grad-cta); color:#111; box-shadow:0 24px 46px -18px rgba(224,164,0,.65); }
.hbn__chip b { font-family:var(--font-display); font-weight:800; font-size:1.7rem; line-height:1; }
.hbn__chip span { font-size:.74rem; font-weight:600; line-height:1.25; }

/* ---- responsive ---- */
@media (max-width:1024px){
  .hbn__grid { grid-template-columns:1fr; gap:2.8rem; }
  .hbn__show { max-width:460px; margin-inline:auto; width:100%; }
  .hbn__title { font-size:clamp(2.9rem,8vw,4.6rem); }
}
@media (max-width:600px){
  .hbn { padding-top:clamp(108px,18vh,140px); padding-bottom:52px; }
  .hbn__title { font-size:clamp(2.5rem,13vw,3.5rem); }
  .hbn__sub { margin-top:1.4rem; font-size:1rem; }
  .hbn__actions { margin-top:1.6rem; }
  .hbn__actions > a { flex:1 1 100%; justify-content:center; }
  .hbn__frame { aspect-ratio:4/5; border-radius:22px; }
  .hbn__card { left:0; width:calc(100% - 12px); }
  .hbn__chip { right:0; top:8%; padding:.7rem .9rem; }
  .hbn__chip b { font-size:1.4rem; }
}
@media (prefers-reduced-motion:reduce){
  .hbn__status i, .hbn__onair i, .hbn__wave span { animation:none; }
  .hbn__wave span { height:45%; }
}

/* headings shouldn't ladder into three short lines — balance the wrap */
h1, h2, h3, .hbn__title, .hl__head h2, .statement__big { text-wrap:balance; }

/* CTA panel headings stay on one line on desktop, wrap only when they must */
.cta-panel h2 { white-space:nowrap; }
@media (max-width:900px){ .cta-panel h2 { white-space:normal; } }

/* =========================================================================
   STATUS PAGES (404 / thank-you) — replaces the former inline styles
   ========================================================================= */
.statusbg { min-height:100vh; display:flex; align-items:center;
  padding-top:calc(96px + var(--space-2xl));
  background:linear-gradient(rgba(0,0,0,.74),rgba(0,0,0,.82)),
             url("../img/beyondbg.jpg") center/cover no-repeat; }
.statusbg__inner { max-width:660px; margin-inline:auto; }
.statusbg__code { font-family:var(--font-head); font-weight:800; color:#fff;
  font-size:clamp(4.5rem,14vw,8.5rem); line-height:1; letter-spacing:-.03em; }
.statusbg__code span { color:#e6b93f; }
.statusbg__title { color:#fff; font-weight:800; line-height:1.02; letter-spacing:-.025em;
  font-size:clamp(2.8rem,2rem + 3.8vw,5.4rem); }
.statusbg__links { display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem 1.4rem; margin-top:2rem; }
.statusbg__links a { color:rgba(255,255,255,.8); font-weight:600; transition:color .3s; }
.statusbg__links a:hover { color:#e6b93f; }
.statusbg__tick { display:inline-flex; align-items:center; justify-content:center;
  width:96px; height:96px; border-radius:50%; background:#e0a400; margin-bottom:1.6rem;
  box-shadow:0 20px 45px -18px rgba(224,164,0,.7); }

/* cta-panel modifiers (were inline) */
.cta-panel--spaced { margin-top:var(--space-md); }
.cta-panel--bare { text-align:center; background:transparent; }

/* ===== Type weights (Sora headings / Inter UI) ===== */
.btn-premium, .btn-ghost, .btn-outline, .sbtn, .gform_button,
.hbn__cta, .hbn__ghost, .hl__cta, .mbar__a { font-family:var(--font-body); font-weight:600; }
.eyebrow, .breadcrumb, small, .hbn__status, .hbn__onair,
.hl__guest, .clip__guest, .statement__pillars b { font-family:var(--font-body); font-weight:500; }

/* =========================================================================
   BRIEF: sticky nav — transparent at top, glass while scrolling
   ========================================================================= */
.site-header.scrolled {
  background:rgba(10,10,10,.72);
  -webkit-backdrop-filter:saturate(160%) blur(16px);
  backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid rgba(255,255,255,.1);
  box-shadow:0 10px 40px -22px rgba(0,0,0,.8);
}
.site-header.scrolled .nav__links a { color:rgba(255,255,255,.9); }
.site-header.scrolled .nav__links a:hover { color:var(--red); }

/* =========================================================================
   BRIEF: guest selection as a timeline with an animated connecting line
   ========================================================================= */
#guest-process .steps { position:relative; }
#guest-process .steps::before {
  content:""; position:absolute; left:0; right:0; top:34px; height:2px; z-index:0;
  background:linear-gradient(90deg, rgba(224,164,0,.15), rgba(224,164,0,.55), rgba(224,164,0,.15));
  transform:scaleX(0); transform-origin:left; animation:gp-line 1.4s var(--ease) .2s forwards;
}
@keyframes gp-line { to { transform:scaleX(1); } }
#guest-process .step { position:relative; z-index:1; background:#fff; }
#guest-process .step::before { box-shadow:0 0 0 6px #f7f8fb; }
@media (max-width:900px){ #guest-process .steps::before { display:none; } }
@media (prefers-reduced-motion:reduce){ #guest-process .steps::before { animation:none; transform:scaleX(1); } }

/* =========================================================================
   BRIEF: final CTA — "Ready to Share Your Story?"
   ========================================================================= */
.finalcta { position:relative; overflow:hidden; background:#0a0a0a; color:#fff;
  padding-block:clamp(4rem,7vw,7rem); text-align:center; }
.finalcta::before { content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(70% 120% at 50% 0%, rgba(224,164,0,.22), transparent 60%); }
.finalcta__inner { position:relative; max-width:760px; margin-inline:auto; }
.finalcta h2 { color:#fff; font-size:clamp(2.3rem,1.5rem + 3.1vw,4rem); line-height:1.05;
  letter-spacing:-.03em; text-wrap:balance; }
.finalcta p { margin-top:1.2rem; color:rgba(255,255,255,.72);
  font-size:clamp(1.02rem,1.25vw,1.18rem); line-height:1.7; }
.finalcta__actions { display:flex; flex-wrap:wrap; gap:.9rem; justify-content:center; margin-top:2.2rem; }

/* =========================================================================
   APPLY POPUP — single column, premium (sidebar removed)
   Overrides the older two-column .gmodal rules in pages.css
   ========================================================================= */
.gmodal { padding:clamp(14px,4vw,40px); background:rgba(4,4,4,.78);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.gmodal__box {
  display:block; width:min(880px,100%); max-height:min(88vh,900px); overflow-y:auto;
  border-radius:26px; padding:clamp(1.8rem,3.4vw,2.9rem);
  background:linear-gradient(180deg,#141414 0%, #0a0a0a 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 60px 120px -40px rgba(0,0,0,.95);
  overscroll-behavior:contain;
}
.gmodal__box::before { content:""; position:absolute; inset:0; z-index:-1; border-radius:26px;
  background:radial-gradient(90% 70% at 50% 0%, rgba(224,164,0,.18), transparent 62%); pointer-events:none; }
.gmodal__main { display:block; padding:0; background:none; }

.gmodal__close { position:absolute; top:14px; right:14px; z-index:4; width:42px; height:42px;
  border-radius:50%; display:grid; place-items:center; color:#fff;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  transition:background .3s, transform .35s var(--ease); }
.gmodal__close:hover { background:var(--red); color:#111; transform:rotate(90deg); }
.gmodal__close svg { width:20px; height:20px; }

.gmodal__badge { display:inline-flex; align-items:center; gap:.55em; padding:.42em 1em; border-radius:100px;
  background:rgba(224,164,0,.12); border:1px solid rgba(224,164,0,.36); color:#f0c24a;
  font-family:var(--font-body); font-weight:600; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; }
.gmodal__badge i { width:6px; height:6px; border-radius:50%; background:var(--red); }
.gmodal__title { margin-top:1rem; font-family:var(--font-head); font-weight:700; color:#fff;
  font-size:clamp(1.65rem,1.2rem + 1.5vw,2.3rem); line-height:1.1; letter-spacing:-.025em; text-wrap:balance; }
.gmodal__sub { margin-top:.75rem; color:rgba(255,255,255,.64); font-size:.98rem; line-height:1.65; }

/* fields on dark */
.gmodal .gform_wrapper { margin-top:1.8rem; }
.gmodal .gform_fields { display:grid; grid-template-columns:1fr 1fr; gap:.9rem 1rem; }
.gmodal .gfield--width-full { grid-column:1 / -1; }
.gmodal .gfield_label { display:block; margin-bottom:.4rem; color:rgba(255,255,255,.72);
  font-family:var(--font-body); font-weight:500; font-size:.82rem; letter-spacing:.01em; }
.gmodal .gfield_required_asterisk { color:var(--red); }
.gmodal input, .gmodal select, .gmodal textarea {
  width:100%; padding:.9em 1em; border-radius:13px; color:#fff; font:inherit; font-size:.95rem;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14);
  transition:border-color .25s, background .25s, box-shadow .25s; }
.gmodal input::placeholder, .gmodal textarea::placeholder { color:rgba(255,255,255,.34); }
.gmodal select { appearance:none; -webkit-appearance:none; cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#e0a400 50%),linear-gradient(135deg,#e0a400 50%,transparent 50%);
  background-position:calc(100% - 20px) 52%, calc(100% - 14px) 52%;
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat; }
.gmodal select option { background:#141414; color:#fff; }
.gmodal textarea { min-height:112px; resize:vertical; }
.gmodal input:focus, .gmodal select:focus, .gmodal textarea:focus {
  outline:none; border-color:var(--red); background:rgba(255,255,255,.08);
  box-shadow:0 0 0 4px rgba(224,164,0,.14); }

.gmodal .gform_footer { margin-top:1.4rem; }
.gmodal .gform_button { width:100%; justify-content:center; display:inline-flex; align-items:center; gap:.6em;
  padding:1.05em 2em; border-radius:100px; background:var(--grad-cta); color:#111;
  font-family:var(--font-body); font-weight:600; font-size:1rem;
  box-shadow:0 18px 38px -14px rgba(224,164,0,.55); transition:transform .3s var(--ease), box-shadow .3s; }
.gmodal .gform_button svg { width:18px; height:18px; }
.gmodal__note { margin-top:1rem; text-align:center; color:rgba(255,255,255,.42); font-size:.8rem; }

@media (max-width:560px){
  .gmodal__box { border-radius:20px; padding:1.5rem 1.15rem; }
  .gmodal .gform_fields { grid-template-columns:1fr; }
  .gmodal__close { top:10px; right:10px; width:38px; height:38px; }
}

/* form wrapper inside the popup must stay dark (legacy gravity-theme card was white) */
.gmodal .gform_wrapper, .gmodal .gform_body, .gmodal .gform_footer,
.gmodal .gform_wrapper.gravity-theme { background:none !important; border:0 !important;
  box-shadow:none !important; padding:0 !important; border-radius:0 !important; }
.gmodal .gform_wrapper::before, .gmodal .gform_wrapper::after { display:none !important; }
.gmodal .gfield_label { color:rgba(255,255,255,.74) !important; }

/* global gravity-theme paints inputs white — the popup needs the dark treatment to win */
.gmodal .gform_wrapper input[type="text"],
.gmodal .gform_wrapper input[type="email"],
.gmodal .gform_wrapper input[type="url"],
.gmodal .gform_wrapper select,
.gmodal .gform_wrapper textarea {
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important;
  border-radius:13px !important;
  box-shadow:none !important;
}
.gmodal .gform_wrapper input::placeholder,
.gmodal .gform_wrapper textarea::placeholder { color:rgba(255,255,255,.36) !important; }
.gmodal .gform_wrapper input:focus,
.gmodal .gform_wrapper select:focus,
.gmodal .gform_wrapper textarea:focus {
  border-color:var(--red) !important; background:rgba(255,255,255,.09) !important;
  box-shadow:0 0 0 4px rgba(224,164,0,.14) !important; }
.gmodal .gform_wrapper select option { background:#141414; color:#fff; }

/* =========================================================================
   BUTTON HOVER — one behaviour sitewide: gradient sweeps left→right,
   plus a 2px lift. No zoom, no gap-shift, no icon nudge variants.
   ========================================================================= */
.hbn__cta, .hl__cta, .gmodal .gform_wrapper .gform_button {
  background:linear-gradient(90deg, var(--navy) 0 50%, var(--red) 50%) right/200% 100% !important;
  color:#111 !important;
  transition:background-position .5s var(--ease), transform .3s var(--ease), box-shadow .3s, color .35s !important;
}
.hbn__cta:hover, .hl__cta:hover, .gmodal .gform_wrapper .gform_button:hover {
  background-position:left !important; color:#fff !important;
  transform:translateY(-2px) !important; gap:.6em !important;
}
.hbn__ghost {
  background:linear-gradient(90deg, #fff 0 50%, transparent 50%) right/200% 100%;
  transition:background-position .5s var(--ease), color .35s, border-color .35s, transform .3s var(--ease);
}
.hbn__ghost:hover { background-position:left; color:var(--navy); border-color:#fff; transform:translateY(-2px); }

/* mobile action bar uses the same sweep */
.mbar__a { transition:background-position .5s var(--ease), color .35s; }
.mbar__a--gold { background:linear-gradient(90deg, var(--navy) 0 50%, var(--red) 50%) right/200% 100%; color:#111; }
.mbar__a--gold:hover { background-position:left; color:#fff; }
.mbar__a--dark { background:linear-gradient(90deg, var(--red) 0 50%, #141417 50%) right/200% 100%; color:#fff; }
.mbar__a--dark:hover { background-position:left; color:#111; }

/* kill the leftover zoom/scale hovers so only the sweep remains */
.hbn__cta:hover svg, .hl__cta:hover svg { transform:none; }

/* =========================================================================
   SELECT ARROW — same chevron as the page forms, in gold for the dark popup.
   Longhands only: `background:… !important` above would wipe the image.
   ========================================================================= */
.gmodal .gform_wrapper select,
.gmodal select {
  appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important;
  cursor:pointer; padding-right:3.2em !important;
  background-color:rgba(255,255,255,.06) !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 9l7 7 7-7' stroke='%23e0a400' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:right 1.1em center !important;
  background-size:24px 24px !important;
}
.gmodal .gform_wrapper select:focus, .gmodal select:focus {
  background-color:rgba(255,255,255,.09) !important; }
.gmodal select::-ms-expand { display:none; }

/* supporting copy should spread with the headline, not sit pinched under it */
.cta-panel p { max-width:min(78ch, 90%) !important; }
.finalcta p { max-width:min(70ch, 90%); margin-inline:auto; }

/* the scrolled header used to be white, so these were darkened for it —
   it is dark glass now, so everything in it stays light */
.site-header.scrolled .nav__toggle span { background:#fff; }
.site-header.scrolled .logo { color:#fff; }
.site-header.scrolled .icon-btn { color:#fff; }
.site-header.scrolled .nav__phone { color:#fff; }

/* =========================================================================
   CONTACT — balance the left column and lift the form card off the page
   ========================================================================= */
.contact__grid { align-items:start; }
.nextup { margin-top:2.2rem; padding-top:1.8rem; border-top:1px solid var(--line); }
.nextup__eyebrow { display:block; font-family:var(--font-body); font-weight:600; font-size:.74rem;
  letter-spacing:.16em; text-transform:uppercase; color:var(--red-d); margin-bottom:1.1rem; }
.nextup__list { counter-reset:nx; display:grid; gap:.9rem; list-style:none; padding:0; margin:0; }
.nextup__list li { position:relative; display:grid; gap:.15rem; padding:.9rem 1.1rem .95rem 3.4rem;
  background:#fff; border:1px solid var(--line); border-radius:16px;
  box-shadow:0 14px 30px -26px rgba(0,0,0,.5); transition:transform .3s var(--ease), box-shadow .3s; }
.nextup__list li:hover { transform:translateY(-3px); box-shadow:0 22px 40px -28px rgba(0,0,0,.55); }
.nextup__list li::before { counter-increment:nx; content:counter(nx);
  position:absolute; left:1.05rem; top:.95rem; width:26px; height:26px; border-radius:50%;
  background:var(--red); color:#111; display:grid; place-items:center;
  font-family:var(--font-body); font-weight:700; font-size:.8rem; }
.nextup__list b { font-family:var(--font-head); font-weight:600; font-size:1rem; color:var(--navy); }
.nextup__list span { color:var(--muted); font-size:.9rem; line-height:1.55; }

/* form card: real depth instead of a flat white panel */
.contact .gform_wrapper.gravity-theme {
  background:linear-gradient(180deg,#fff 0%, #fcfcfd 100%);
  border:1px solid var(--line); border-radius:26px;
  padding:clamp(1.6rem,2.6vw,2.4rem);
  box-shadow:0 40px 80px -46px rgba(0,0,0,.5);
  position:relative; overflow:hidden;
}
.contact .gform_wrapper.gravity-theme::before { content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,#f2c130,var(--red),#a97c00); }
/* inputs read stronger, not washed out */
.contact .gform_wrapper input[type="text"],
.contact .gform_wrapper input[type="email"],
.contact .gform_wrapper input[type="url"],
.contact .gform_wrapper select,
.contact .gform_wrapper textarea {
  border:1.5px solid #e3e6ec; border-radius:13px; background:#fff;
  transition:border-color .25s, box-shadow .25s, background .25s; }
.contact .gform_wrapper input:hover,
.contact .gform_wrapper select:hover,
.contact .gform_wrapper textarea:hover { border-color:#cfd4de; }
.contact .gform_wrapper input:focus,
.contact .gform_wrapper select:focus,
.contact .gform_wrapper textarea:focus {
  border-color:var(--red); box-shadow:0 0 0 4px rgba(224,164,0,.14); outline:none; }
.contact .gfield_label { font-family:var(--font-body); font-weight:600; font-size:.84rem; color:var(--navy); }

/* =========================================================================
   HOMEPAGE CONTACT — white section, dark info cards, dark image-backed form
   Scoped with :not(.section--tight) so contact.html keeps its light treatment
   ========================================================================= */
.contact:not(.section--tight) { background:#fff; }

/* left: dark cards */
.contact:not(.section--tight) .contact__item {
  display:flex; align-items:center; gap:1rem; padding:1.15rem 1.3rem;
  background:linear-gradient(150deg,#141414,#0a0a0a);
  border:1px solid rgba(255,255,255,.1); border-radius:18px;
  box-shadow:0 24px 46px -34px rgba(0,0,0,.8);
  transition:transform .35s var(--ease), box-shadow .35s, border-color .35s; }
.contact:not(.section--tight) .contact__item:hover {
  transform:translateY(-4px); border-color:rgba(224,164,0,.45);
  box-shadow:0 34px 60px -34px rgba(0,0,0,.9); }
.contact:not(.section--tight) .contact__item .ic {
  width:46px; height:46px; border-radius:13px; flex-shrink:0; display:grid; place-items:center;
  background:rgba(224,164,0,.14); border:1px solid rgba(224,164,0,.32); color:var(--red); }
.contact:not(.section--tight) .contact__item .ic svg { width:22px; height:22px; }
.contact:not(.section--tight) .contact__item .t { display:grid; gap:.15rem; }
.contact:not(.section--tight) .contact__item .t > span {
  font-family:var(--font-body); font-weight:600; font-size:.7rem; letter-spacing:.16em;
  text-transform:uppercase; color:rgba(255,255,255,.5); }
.contact:not(.section--tight) .contact__item .t b { color:#fff; font-size:1.02rem; font-weight:600; }
.contact:not(.section--tight) .contact__list { display:grid; gap:.9rem; margin-top:1.8rem; }

/* right: dark form panel over a studio image */
.contact:not(.section--tight) .gform_wrapper.gravity-theme {
  position:relative; isolation:isolate; overflow:hidden;
  border-radius:26px; padding:clamp(1.7rem,2.8vw,2.6rem);
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(165deg, rgba(14,14,14,.94), rgba(6,6,6,.97));
  box-shadow:0 50px 90px -46px rgba(0,0,0,.85); }
.contact:not(.section--tight) .gform_wrapper.gravity-theme::after {
  content:""; position:absolute; inset:0; z-index:-1;
  background:url("../img/hd/mhdimg-9.jpg") center/cover no-repeat; opacity:.22; }
.contact:not(.section--tight) .gform_wrapper.gravity-theme::before {
  content:""; position:absolute; top:0; left:0; right:0; height:4px; z-index:2;
  background:linear-gradient(90deg,#f2c130,var(--red),#a97c00); }
.contact:not(.section--tight) .gfield_label { color:rgba(255,255,255,.74) !important;
  font-family:var(--font-body); font-weight:500; font-size:.82rem; }
.contact:not(.section--tight) .gform_wrapper input[type="text"],
.contact:not(.section--tight) .gform_wrapper input[type="email"],
.contact:not(.section--tight) .gform_wrapper input[type="url"],
.contact:not(.section--tight) .gform_wrapper textarea {
  background:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important; border-radius:13px !important; }
.contact:not(.section--tight) .gform_wrapper select {
  background-color:rgba(255,255,255,.06) !important; border:1px solid rgba(255,255,255,.16) !important;
  color:#fff !important; border-radius:13px !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 9l7 7 7-7' stroke='%23e0a400' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important; background-position:right 1.1em center !important;
  background-size:24px 24px !important; }
.contact:not(.section--tight) .gform_wrapper select option { background:#141414; color:#fff; }
.contact:not(.section--tight) .gform_wrapper input::placeholder,
.contact:not(.section--tight) .gform_wrapper textarea::placeholder { color:rgba(255,255,255,.36) !important; }
.contact:not(.section--tight) .gform_wrapper input:focus,
.contact:not(.section--tight) .gform_wrapper select:focus,
.contact:not(.section--tight) .gform_wrapper textarea:focus {
  border-color:var(--red) !important; background-color:rgba(255,255,255,.09) !important;
  box-shadow:0 0 0 4px rgba(224,164,0,.14) !important; }
.contact:not(.section--tight) .gform_footer .gform_button { width:100%; justify-content:center; }

/* mobile action bar slides away when the footer is reached */
@media (max-width:600px){
  .mbar { transition:transform .35s var(--ease), opacity .3s, background-position .5s var(--ease), color .35s; }
  .mbar--hidden { transform:translateY(110%); opacity:0; pointer-events:none; }
}

/* homepage form submit: gold by default, sweeps to white on hover */
.contact:not(.section--tight) .gform_wrapper .gform_button {
  background:linear-gradient(90deg, #ffffff 0 50%, var(--red) 50%) right/200% 100% !important;
  color:#111111 !important;
  box-shadow:0 18px 38px -14px rgba(224,164,0,.55) !important;
  transition:background-position .5s var(--ease), color .35s, transform .3s var(--ease), box-shadow .3s !important;
}
.contact:not(.section--tight) .gform_wrapper .gform_button:hover {
  background-position:left !important;
  color:var(--red-d) !important;
  transform:translateY(-2px) !important;
  box-shadow:0 22px 44px -16px rgba(0,0,0,.5) !important;
}
.contact:not(.section--tight) .gform_wrapper .gform_button svg { transition:none; }

/* homepage contact cards: gold icon tile + gold top accent so they read
   as premium rather than three flat black slabs */
.contact:not(.section--tight) .contact__item { position:relative; overflow:hidden; }
.contact:not(.section--tight) .contact__item::before {
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--red) 0%, #f2c130 38%, rgba(224,164,0,0) 88%);
  opacity:.85; transition:opacity .35s, height .35s; }
.contact:not(.section--tight) .contact__item:hover::before { opacity:1; height:3px; }
.contact:not(.section--tight) .contact__item .ic {
  background:linear-gradient(150deg,#f2c130,var(--red)) !important;
  border:0 !important; color:#111 !important;
  box-shadow:0 12px 26px -12px rgba(224,164,0,.75);
  transition:transform .35s var(--ease), box-shadow .35s; }
.contact:not(.section--tight) .contact__item:hover .ic {
  transform:scale(1.06); box-shadow:0 16px 32px -12px rgba(224,164,0,.9); }
.contact:not(.section--tight) .contact__item .ic svg { stroke-width:1.9; }
.contact:not(.section--tight) .contact__item .t > span { color:rgba(255,255,255,.58); }
