/* The American Delegation — site styles
   Layout: arena-night navy stage + cream "programme paper" sections. Pill nav, ticker,
   news cards and colour-block tiles borrowed from Eurovision broadcast design.

   FONTS: the brand kit specifies ITC Symbol Std Black (titles), DIN Next W1G (primary)
   and Agrandir (secondary). Those are licensed fonts. Until web licences are in place the
   site uses free Google Fonts stand-ins. To switch, add @font-face rules for the licensed
   files in assets/fonts/ and change the three --f-* tokens below. Nothing else changes. */

/* Fallback fonts, self-hosted (SIL Open Font License, see assets/fonts). No requests to Google. */
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Fraunces";src:url("fonts/fraunces-latin-900-normal.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("fonts/barlow-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("fonts/barlow-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("fonts/barlow-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url("fonts/barlow-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-latin-700-normal.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-latin-800-normal.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

/* Brand fonts. These load from fonts installed on the viewer's computer (local()),
   so nothing licensed is bundled with the site. Visitors without them see the
   Google Fonts stand-ins. Once you buy web licences, add url('fonts/....woff2')
   to each src list. */
@font-face{font-family:"AD Title";src:local("ITC Symbol Std Black"),local("ITCSymbolStd-Black");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"AD Sans";src:local("DIN Next W1G"),local("DINNextW1G");font-weight:400;font-display:swap}
@font-face{font-family:"AD Sans";src:local("DIN Next W1G Medium"),local("DINNextW1G-Medium");font-weight:500;font-display:swap}
@font-face{font-family:"AD Sans";src:local("DIN Next W1G Bold"),local("DINNextW1G-Bold");font-weight:600 700;font-display:swap}
@font-face{font-family:"AD Sans";src:local("DIN Next W1G Heavy"),local("DINNextW1G-Heavy");font-weight:800 900;font-display:swap}

:root{
  /* Brand kit colours */
  --navy:#192376;
  --red:#F5313C;
  --blue:#0397F8;
  --gold:#C69731;
  --cream:#F8F4E8;

  /* Derived */
  --navy-deep:#10174F;
  --navy-night:#0A0F36;
  --ink:#141A55;            /* text on cream */
  --ink-soft:#4A5088;
  --on-navy-soft:#BFC4EC;
  --line-dark:rgba(255,255,255,.12);
  --line-light:rgba(25,35,118,.14);
  --gold-bright:#E2B44E;    /* gold that reads on navy */
  --white:#FFFFFF;

  --f-title:"AD Title","Fraunces",Georgia,serif;                 /* ITC Symbol Std Black, Fraunces stand-in */
  --f-primary:"AD Sans","Barlow","Helvetica Neue",Arial,sans-serif; /* DIN Next W1G, Barlow stand-in */
  --f-label:"AD Sans","Barlow Condensed","Arial Narrow",sans-serif;

  --r-sm:12px; --r-md:20px; --r-lg:32px;
  --max:1200px;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy-night);color:var(--white);font-family:var(--f-primary);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{margin:0;font-family:var(--f-title);font-weight:900;line-height:.98;letter-spacing:-.01em;text-wrap:balance;font-variation-settings:"SOFT" 0,"WONK" 0,"opsz" 144}
p{margin:0}
.wrap{max-width:var(--max);margin-inline:auto;padding-inline:20px}

/* Signature: white title type with the brand-kit red offset */
.stamp{color:var(--white);text-shadow:.045em .045em 0 var(--red)}
.stamp-navy{color:var(--navy);text-shadow:.045em .045em 0 var(--red)}

.kicker{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-label);font-weight:700;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-bright)}
.kicker svg{width:14px;height:14px;fill:currentColor}
.on-cream .kicker{color:var(--red)}

/* ---------- logo mark ---------- */
.ad{position:relative;display:inline-grid;place-items:center;border-radius:50%;background:var(--navy);aspect-ratio:1;flex:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.ad b{display:flex;align-items:center;font-family:var(--f-title);font-weight:900;color:var(--white);letter-spacing:-.05em;line-height:1;text-shadow:.06em .05em 0 var(--red);font-variation-settings:"opsz" 144}
.ad b svg{width:.4em;height:.4em;margin-inline:-.1em;position:relative;z-index:2;fill:var(--gold-bright);transform:translateY(-.06em)}
.ad small{position:absolute;bottom:21%;font-family:var(--f-label);font-weight:700;color:var(--white);letter-spacing:.06em;white-space:nowrap}

/* ---------- header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;padding-block:12px}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:rgba(16,23,79,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line-dark);border-radius:999px;padding:7px 7px 7px 9px}
.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none}
.brand .ad{width:44px}
.brand .ad b{font-size:18px}
.brand-name{font-family:var(--f-title);font-weight:900;font-size:1.02rem;line-height:1;letter-spacing:-.005em}
.nav-links{display:flex;gap:.15rem;list-style:none;margin:0;padding:0}
.nav-links a{display:block;text-decoration:none;font-family:var(--f-label);font-weight:600;font-size:1.02rem;letter-spacing:.04em;text-transform:uppercase;padding:.5rem .9rem;border-radius:999px;color:var(--on-navy-soft);transition:background .2s,color .2s}
.nav-links a:hover{background:rgba(255,255,255,.08);color:var(--white)}
.nav-links a[aria-current="page"]{background:var(--white);color:var(--navy)}
.menu-btn{display:none;background:transparent;border:1px solid var(--line-dark);color:var(--white);border-radius:999px;padding:.55rem .9rem;font:600 .95rem var(--f-label);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-label);font-weight:700;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;padding:.78rem 1.3rem;border-radius:999px;border:2px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s;white-space:nowrap;cursor:pointer}
.btn svg{width:18px;height:18px;fill:currentColor}
.btn:hover{transform:translateY(-2px)}
.btn-red{background:var(--red);color:var(--white);box-shadow:0 12px 28px -12px rgba(245,49,60,.85)}
.btn-gold{background:var(--gold);color:var(--navy-night)}
.btn-ghost{border-color:rgba(255,255,255,.4);color:var(--white)}
.btn-navy{background:var(--navy);color:var(--white)}
.on-cream .btn-ghost{border-color:var(--line-light);color:var(--navy)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;margin-top:-76px;padding-top:140px;padding-bottom:clamp(4rem,9vw,7rem);
  background:
    radial-gradient(55% 65% at 88% 18%,rgba(3,151,248,.38),transparent 62%),
    radial-gradient(45% 55% at 100% 92%,rgba(198,151,49,.42),transparent 62%),
    radial-gradient(60% 70% at 0% 100%,rgba(245,49,60,.32),transparent 62%),
    linear-gradient(165deg,var(--navy) 0%,var(--navy-deep) 55%,var(--navy-night) 100%)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero .wrap{position:relative}
.hero-grid{display:grid;grid-template-columns:1.3fr .85fr;gap:3rem;align-items:center}
.hero-grid>*{min-width:0}
.hero h1{font-size:clamp(3.1rem,8.6vw,7.4rem);margin-block:1.1rem 1.5rem}
.hero .lede{font-size:clamp(1.15rem,2vw,1.4rem);color:var(--on-navy-soft);max-width:36ch;font-weight:500}
.hero .lede strong{color:var(--white);font-weight:700}
.hero .btn-row{margin-top:2rem}
.page-hero{padding-top:130px;padding-bottom:clamp(3rem,7vw,5rem)}
.page-hero h1{font-size:clamp(2.8rem,7.4vw,6rem);margin-block:1rem 1.2rem}

.badge-stage{position:relative;display:grid;place-items:center}
.badge-stage .ad{width:min(370px,78vw);box-shadow:0 40px 80px -30px rgba(0,0,0,.65),0 0 0 14px rgba(255,255,255,.05),0 0 0 30px rgba(255,255,255,.025)}
.badge-stage .ad b{font-size:min(148px,30vw)}
.badge-stage .ad small{font-size:min(19px,3.8vw)}
.badge-stage .float-star{position:absolute;width:46px;height:46px;top:2%;left:4%;fill:var(--gold-bright);filter:drop-shadow(0 0 18px rgba(226,180,78,.85));animation:twinkle 3.2s ease-in-out infinite}
.ticket{position:absolute;right:0;bottom:6%;background:var(--cream);color:var(--navy);font-family:var(--f-label);font-weight:700;font-size:1rem;letter-spacing:.12em;text-transform:uppercase;padding:.6rem 1rem .65rem;border-radius:10px;transform:rotate(-6deg);box-shadow:0 14px 30px -12px rgba(0,0,0,.6);border:2px dashed rgba(25,35,118,.25)}
.ticket span{display:block;font-size:.7rem;letter-spacing:.16em;color:var(--red)}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(.8) rotate(20deg)}}

/* ---------- ticker ---------- */
.ticker{background:var(--red);overflow:hidden;border-block:3px solid var(--navy-night)}
.ticker .track{display:flex;width:max-content;animation:scroll 42s linear infinite}
.ticker span{display:flex;align-items:center;gap:2rem;padding:.8rem 1rem;font-family:var(--f-label);font-weight:800;font-size:1.35rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.ticker svg{width:16px;height:16px;fill:var(--cream)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{padding-block:clamp(4rem,9vw,7rem)}
.sec.tight{padding-top:0}
.on-cream{background:var(--cream);color:var(--ink)}
.on-navy{background:linear-gradient(180deg,var(--navy-night),var(--navy-deep))}
.sec-head{display:grid;gap:1rem;margin-bottom:2.6rem;max-width:780px}
.sec-head h2{font-size:clamp(2.3rem,5.4vw,4.2rem)}
.sec-head p{font-size:1.2rem;max-width:56ch;color:var(--on-navy-soft)}
.on-cream .sec-head p{color:var(--ink-soft)}
.row-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2.4rem}
.row-head .sec-head{margin:0}
.prose{display:grid;gap:1.1rem;max-width:64ch;font-size:1.15rem}
.prose p{color:var(--on-navy-soft)}
.on-cream .prose p{color:var(--ink-soft)}
.prose strong{color:inherit}

/* ---------- cards (Eurovision-style news tiles) ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.cards.feature{grid-template-columns:1.35fr 1fr 1fr}
.card{position:relative;border-radius:var(--r-md);overflow:hidden;display:flex;flex-direction:column;text-decoration:none;background:var(--white);color:var(--ink);box-shadow:0 18px 40px -26px rgba(10,15,54,.55);transition:transform .3s ease,box-shadow .3s ease;min-width:0}
.card:hover{transform:translateY(-6px);box-shadow:0 26px 50px -24px rgba(10,15,54,.65)}
.card .art{position:relative;aspect-ratio:16/11;overflow:hidden}
.card .body{padding:1.3rem 1.4rem 1.5rem;display:grid;gap:.6rem;align-content:start;flex:1}
.card h3{font-size:clamp(1.35rem,2.1vw,1.7rem);letter-spacing:-.005em;line-height:1.08;color:var(--navy)}
.card p{color:var(--ink-soft);font-size:1rem}
.card .meta{font-family:var(--f-label);font-weight:600;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-top:auto}
.tag{justify-self:start;display:inline-block;font-family:var(--f-label);font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;padding:.28rem .7rem;border-radius:999px;background:var(--red);color:var(--white)}
.tag.blue{background:var(--blue)}
.tag.gold{background:var(--gold);color:var(--navy-night)}
.tag.navy{background:var(--navy)}
.card .mini{position:absolute;top:14px;left:14px}
.card .mini .ad{width:50px}
.card .mini .ad b{font-size:20px}

/* generated poster art (no stock photos) */
.art-a{background:radial-gradient(70% 70% at 50% 35%,#FCD8DC,#F5A3AB 55%,#E35562)}
.art-a::after{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cpath d='M100 160C62 131 36 108 36 79a31 31 0 0 1 64-12 31 31 0 0 1 64 12c0 29-26 52-64 81z' fill='none' stroke='white' stroke-width='7' opacity='.6'/%3E%3C/svg%3E") center/52% no-repeat}
.art-b{background:linear-gradient(140deg,var(--navy) 0 50%,var(--blue) 50% 100%)}
.art-b::after{content:"";position:absolute;right:-18%;top:-20%;width:80%;aspect-ratio:1;border-radius:50%;background:var(--gold);opacity:.9}
.art-b::before{content:"";position:absolute;left:10%;bottom:-30%;width:55%;aspect-ratio:1;border-radius:50%;border:26px solid var(--red);z-index:1}
.art-c{background:radial-gradient(80% 80% at 30% 20%,#FFC36B,#F5313C 55%,#7A0F2B)}
.art-c .big{position:absolute;left:8%;bottom:6%;font-family:var(--f-title);font-weight:900;font-size:clamp(3.4rem,7vw,5.4rem);line-height:.85;color:var(--white);text-shadow:.04em .04em 0 var(--navy);letter-spacing:-.03em}
.art-d{background:conic-gradient(from 200deg at 70% 40%,var(--gold),var(--red),var(--navy),var(--blue),var(--gold))}
.art-e{background:repeating-linear-gradient(90deg,var(--navy) 0 18%,var(--cream) 18% 20%)}
.art-e::after{content:"";position:absolute;inset:25% 30%;background:var(--red);border-radius:50%;box-shadow:0 0 0 14px rgba(248,244,232,.9)}
.art-f{background:linear-gradient(160deg,var(--blue),var(--navy))}
.art-f .big{position:absolute;right:8%;top:10%;font-family:var(--f-title);font-weight:900;font-size:clamp(3rem,6vw,4.6rem);line-height:.85;color:var(--gold-bright);text-align:right}

/* ---------- colour block tiles ---------- */
.blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.block{border-radius:var(--r-md);padding:1.7rem;min-height:210px;display:flex;flex-direction:column;justify-content:space-between;gap:1.4rem;transition:transform .25s ease;min-width:0}
.block:hover{transform:rotate(-1deg) scale(1.02)}
.block p{font-family:var(--f-title);font-weight:800;font-size:clamp(1.35rem,2.2vw,1.75rem);line-height:1.1;letter-spacing:-.005em}
.block span{font-family:var(--f-label);font-weight:700;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.b-navy{background:var(--navy);color:var(--white)}
.b-red{background:var(--red);color:var(--white)}
.b-blue{background:var(--blue);color:var(--white)}
.b-gold{background:var(--gold);color:var(--navy-night)}
.b-cream{background:var(--white);color:var(--navy);box-shadow:inset 0 0 0 2px var(--line-light)}

/* ---------- split / running order ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.split>*{min-width:0}
.pullquote{font-family:var(--f-title);font-weight:900;font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.04;letter-spacing:-.01em}
.pullquote em{font-style:normal;color:var(--gold-bright)}
.on-cream .pullquote em{color:var(--red)}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips span{font-family:var(--f-label);font-weight:600;font-size:1rem;letter-spacing:.03em;padding:.38rem .85rem;border-radius:999px;border:1.5px solid rgba(255,255,255,.22);color:var(--on-navy-soft)}
.chips span:nth-child(4n+1){border-color:var(--red);color:var(--white)}
.chips span:nth-child(5n+3){border-color:var(--gold-bright);color:var(--gold-bright)}
.on-cream .chips span{border-color:var(--line-light);color:var(--ink)}
.on-cream .chips span:nth-child(4n+1){border-color:var(--red);color:var(--red)}
.on-cream .chips span:nth-child(5n+3){border-color:var(--blue);color:var(--blue)}

.running{background:var(--navy);border-radius:var(--r-lg);padding:1.6rem;position:relative;overflow:hidden;box-shadow:0 40px 80px -40px rgba(3,151,248,.5),inset 0 1px 0 rgba(255,255,255,.1)}
.running::before{content:"";position:absolute;inset:-45% -30% auto auto;width:80%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(3,151,248,.4),transparent);pointer-events:none}
.running-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;position:relative}
.running-head h3{font-size:1.6rem}
.running ol{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;position:relative}
.running li{display:grid;grid-template-columns:2.6rem 1fr auto;align-items:center;gap:.8rem;padding:.7rem .85rem;border-radius:var(--r-sm);background:rgba(255,255,255,.055);font-variant-numeric:tabular-nums;transition:background .2s,transform .2s}
.running li:hover{background:rgba(255,255,255,.1);transform:translateX(4px)}
.running .n{font-family:var(--f-label);font-weight:800;font-size:1.15rem;color:var(--gold-bright)}
.running .s{font-weight:600;min-width:0}
.running .t{font-family:var(--f-label);font-weight:600;color:var(--on-navy-soft)}
.running li.live{background:var(--red)}
.running li.live .n,.running li.live .t{color:var(--white)}

/* ---------- structure steps (show page) ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:s}
.step{background:var(--white);border-radius:var(--r-md);padding:1.5rem;display:grid;gap:.6rem;align-content:start;box-shadow:inset 0 0 0 2px var(--line-light);min-width:0}
.step .num{font-family:var(--f-label);font-weight:800;font-size:.95rem;letter-spacing:.12em;color:var(--red)}
.step h3{font-size:1.45rem;color:var(--navy)}
.step p{color:var(--ink-soft);font-size:1rem}
.step .time{font-family:var(--f-label);font-weight:600;font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}

/* ---------- feature banner (pilot) ---------- */
.feature-banner{color:var(--white);position:relative;border-radius:var(--r-lg);overflow:hidden;padding:clamp(1.8rem,5vw,4rem);isolation:isolate;
  background:
    radial-gradient(60% 80% at 100% 0%,rgba(255,195,107,.6),transparent 60%),
    radial-gradient(70% 90% at 0% 100%,rgba(25,35,118,.85),transparent 62%),
    linear-gradient(135deg,#8E1430,var(--red) 58%,#FF7A3D);
  display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.feature-banner>*{min-width:0}
.feature-banner .ghost{position:absolute;right:-1%;bottom:-14%;font-family:var(--f-title);font-weight:900;font-size:clamp(9rem,26vw,22rem);line-height:.8;color:rgba(255,255,255,.08);z-index:-1;letter-spacing:-.05em}
.feature-banner .kicker{color:var(--cream)}
.feature-banner h2{font-size:clamp(4rem,12vw,9rem);letter-spacing:-.035em;margin-block:.5rem .2rem;text-shadow:.04em .04em 0 var(--navy)}
.feature-banner .artist{font-family:var(--f-label);font-weight:700;font-size:clamp(1.3rem,2.4vw,1.8rem);letter-spacing:.03em;text-transform:uppercase}
.stats{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.8rem}
.stats div{background:rgba(10,15,54,.38);backdrop-filter:blur(6px);border-radius:16px;padding:.8rem 1.1rem;display:grid;gap:.1rem;min-width:7.5rem}
.stats b{font-family:var(--f-title);font-weight:900;font-size:2rem;line-height:1;font-variant-numeric:tabular-nums}
.stats small{font-family:var(--f-label);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.threads{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.threads li{background:rgba(255,255,255,.15);backdrop-filter:blur(6px);border-radius:14px;padding:.85rem 1.1rem;font-weight:600;display:flex;justify-content:space-between;gap:1rem;align-items:center}
.threads li span{font-family:var(--f-label);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;background:var(--navy);padding:.28rem .6rem;border-radius:999px;white-space:nowrap}
.feature-banner .line{margin-top:1.4rem;font-family:var(--f-title);font-weight:800;font-size:1.25rem}

/* ---------- versus ---------- */
.vs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.vs>div{border-radius:var(--r-md);padding:1.8rem;display:grid;gap:.6rem;min-width:0}
.vs .no{border:2px dashed var(--line-light)}
.vs .no p{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:3px;color:var(--ink-soft)}
.vs .yes{background:var(--white);box-shadow:0 20px 40px -24px rgba(25,35,118,.4)}
.vs small{font-family:var(--f-label);font-weight:700;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.vs p{font-family:var(--f-title);font-weight:800;font-size:clamp(1.3rem,2.3vw,1.7rem);line-height:1.15;color:var(--navy)}

/* ---------- season / calendar ---------- */
.speeds{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.speed{border-radius:var(--r-md);padding:1.7rem;background:rgba(255,255,255,.05);border:1px solid var(--line-dark);display:grid;gap:1rem;align-content:start;min-width:0}
.speed.hot{background:linear-gradient(160deg,rgba(245,49,60,.3),rgba(3,151,248,.18));border-color:rgba(245,49,60,.55)}
.speed h3{font-size:1.75rem}
.eq{display:flex;align-items:end;gap:5px;height:44px}
.eq i{flex:1;border-radius:4px;background:rgba(255,255,255,.12)}
.eq i.on{background:linear-gradient(var(--red),var(--gold-bright))}
.speed .lbl{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--on-navy-soft)}
.speed ul{margin:0;padding:0;list-style:none;display:grid;gap:.45rem;color:var(--on-navy-soft)}
.speed li::before{content:"✦";color:var(--gold-bright);margin-right:.5rem;font-size:.8em}

.runway{margin-top:3rem;overflow-x:auto;padding-bottom:.5rem}
.runway ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(132px,1fr));gap:.6rem;min-width:960px}
.runway li{border-radius:16px;padding:1rem;background:var(--navy);display:grid;gap:.3rem;align-content:start}
.runway li.now{background:var(--red)}
.runway li.final{background:var(--gold);color:var(--navy-night)}
.runway small{font-family:var(--f-label);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.runway b{font-family:var(--f-title);font-weight:900;font-size:1.15rem;line-height:1.05}

/* ---------- segments ---------- */
.segs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.seg{border-radius:var(--r-md);padding:1.8rem;display:grid;gap:.8rem;align-content:start;background:var(--navy);color:var(--white);min-width:0}
.seg .mark{font-family:var(--f-title);font-weight:900;font-size:4.2rem;line-height:.8;letter-spacing:-.04em;color:var(--red)}
.seg:nth-child(2) .mark{color:var(--gold-bright)}
.seg:nth-child(3) .mark{color:var(--blue)}
.seg h3{font-size:1.6rem}
.seg p{color:var(--on-navy-soft)}

/* ---------- hosts ---------- */
.hosts{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.host{border-radius:var(--r-lg);padding:2rem;display:grid;gap:1rem;align-content:start;min-width:0}
.host.h1{background:linear-gradient(150deg,var(--navy),#26339E)}
.host.h2{background:linear-gradient(150deg,var(--blue),var(--navy))}
.avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:2px dashed rgba(255,255,255,.4);font-family:var(--f-title);font-weight:900;font-size:1.9rem}
.host .role{font-family:var(--f-label);font-weight:700;font-size:.88rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.host h3{font-size:2.3rem}
.host p{color:rgba(255,255,255,.85)}
.host .chips span{border-color:rgba(255,255,255,.3);color:var(--white)}

/* ---------- north star ---------- */
.star-quote{text-align:center}
.star-quote svg{width:54px;height:54px;fill:var(--gold-bright);margin:0 auto 1.4rem;display:block}
.star-quote .big{font-family:var(--f-title);font-weight:900;font-size:clamp(2.1rem,5.4vw,4.4rem);line-height:1.02;letter-spacing:-.015em;max-width:19ch;margin-inline:auto}
.star-quote .big span{color:var(--gold-bright)}
.star-quote .att{margin-top:1.4rem;font-family:var(--f-label);font-weight:700;font-size:.92rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-navy-soft)}

/* ---------- independence notice ---------- */
.notice{border-radius:var(--r-md);padding:1.6rem 1.8rem;border:2px solid var(--line-light);display:grid;grid-template-columns:auto 1fr;gap:1.2rem;align-items:start;background:var(--white)}
.notice svg{width:30px;height:30px;fill:var(--red)}
.notice h3{font-size:1.4rem;color:var(--navy);margin-bottom:.4rem}
.notice p{color:var(--ink-soft)}

/* ---------- follow band / contact ---------- */
.follow{border-radius:36px;padding:clamp(2rem,6vw,4.5rem);
  background:
    radial-gradient(60% 90% at 100% 0%,rgba(198,151,49,.6),transparent 60%),
    radial-gradient(60% 90% at 0% 100%,rgba(245,49,60,.6),transparent 60%),
    linear-gradient(135deg,var(--navy),var(--navy-deep));
  display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:center}
.follow>*{min-width:0}
.follow h2{font-size:clamp(2.3rem,5.2vw,4.2rem)}
.follow p{color:var(--on-navy-soft);font-size:1.15rem;margin-top:1rem}
.socials{display:grid;gap:.75rem}
.social{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;border-radius:18px;background:rgba(10,15,54,.45);backdrop-filter:blur(8px);text-decoration:none;border:1px solid rgba(255,255,255,.15);transition:background .2s,transform .2s}
.social:hover{background:rgba(10,15,54,.7);transform:translateX(4px)}
.social svg{width:26px;height:26px;fill:var(--white);flex:none}
.social b{display:block;font-family:var(--f-label);font-weight:700;font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase;line-height:1.1}
.social small{color:var(--on-navy-soft);overflow-wrap:anywhere}
.social .go{margin-left:auto;font-weight:800;color:var(--gold-bright)}

.form{display:grid;gap:1rem;background:var(--white);color:var(--ink);border-radius:var(--r-lg);padding:clamp(1.5rem,4vw,2.5rem)}
.form label{display:grid;gap:.4rem;font-family:var(--f-label);font-weight:700;font-size:.95rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy)}
.form input,.form select,.form textarea{font:inherit;font-family:var(--f-primary);font-size:1rem;letter-spacing:0;text-transform:none;padding:.85rem 1rem;border-radius:12px;border:2px solid var(--line-light);background:var(--cream);color:var(--ink)}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--blue)}
.form textarea{min-height:140px;resize:vertical}
.form .note{font-size:.9rem;color:var(--ink-soft)}
.form .ok{display:none;padding:1rem;border-radius:12px;background:#E6F4FE;color:var(--navy);font-weight:600}
.form.sent .ok{display:block}
.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-night);border-top:1px solid var(--line-dark);padding-block:3.5rem}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2.5rem}
.foot>*{min-width:0}
.foot .brand .ad{width:64px}
.foot .brand .ad b{font-size:26px}
.foot .tagline{font-family:var(--f-title);font-weight:900;font-size:1.3rem;margin-block:1.1rem .6rem}
.foot p{color:var(--on-navy-soft);font-size:.95rem;max-width:52ch}
.foot h4{font-family:var(--f-label);font-weight:700;font-size:.9rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-bright);margin-bottom:.9rem}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.foot ul a{text-decoration:none;color:var(--on-navy-soft)}
.foot ul a:hover{color:var(--white)}
.legal{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line-dark);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;font-size:.85rem;color:var(--on-navy-soft)}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .menu-btn{display:inline-block}
  .nav-links{display:none;position:absolute;top:calc(100% + 8px);left:20px;right:20px;flex-direction:column;background:var(--navy-deep);border:1px solid var(--line-dark);border-radius:24px;padding:.6rem}
  .nav-links.open{display:flex}
  .nav-links a{padding:.8rem 1rem}
  .site-header .wrap{position:relative}
  .nav .btn-red{display:none}
  .hero-grid,.split,.feature-banner,.follow{grid-template-columns:1fr}
  .badge-stage{order:-1;justify-self:start}
  .badge-stage .ad{width:min(190px,48vw)}
  .badge-stage .ad b{font-size:min(76px,19vw)}
  .badge-stage .ad small{font-size:9px}
  .ticket{right:-55%;bottom:12%}
  .cards,.cards.feature{grid-template-columns:1fr 1fr}
  .cards.feature .card:first-child{grid-column:1/-1}
  .blocks,.speeds,.segs{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr 1fr}
  .foot{grid-template-columns:1fr 1fr}
  .foot>div:first-child{grid-column:1/-1}
}
@media (max-width:620px){
  .brand-name{display:none}
  .cards,.cards.feature,.blocks,.speeds,.segs,.hosts,.vs,.steps,.two{grid-template-columns:1fr}
  .ticket{right:-35%}
  .foot{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- homepage v2 ---------- */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.signup{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem;max-width:520px}
.signup input{flex:1 1 240px;min-width:0;font:500 1.05rem var(--f-primary);padding:.85rem 1.2rem;border-radius:999px;border:2px solid rgba(255,255,255,.25);background:rgba(10,15,54,.55);color:var(--white)}
.signup input::placeholder{color:var(--on-navy-soft)}
.signup input:focus{outline:none;border-color:var(--gold-bright)}
.signup .ok{display:none;flex-basis:100%;padding:.8rem 1.1rem;border-radius:14px;background:rgba(226,180,78,.16);color:var(--white);font-weight:500}
.signup.sent .ok{display:block}
.signup.sent input,.signup.sent button{display:none}
.hero-note{margin-top:.9rem;font-size:.95rem;color:var(--on-navy-soft)}
.hero-note a{color:var(--white);text-decoration:none;font-weight:600;margin-left:.4rem}
.hero-note a:hover{color:var(--gold-bright)}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.8rem);max-width:12ch}

.cover-card{display:grid;gap:1rem;text-decoration:none;justify-self:end;width:min(400px,100%);transform:rotate(2.5deg);transition:transform .35s ease}
.cover-card:hover{transform:rotate(0) translateY(-6px)}
.cover{position:relative;aspect-ratio:1;border-radius:24px;overflow:hidden;padding:1.4rem;display:flex;flex-direction:column;
  background:radial-gradient(70% 60% at 85% 10%,rgba(255,195,107,.9),transparent 60%),radial-gradient(80% 70% at 0% 100%,var(--navy),transparent 65%),linear-gradient(145deg,#B3162E,var(--red) 55%,#FF7A3D);
  box-shadow:0 40px 80px -30px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.12)}
.cover-top{display:flex;justify-content:space-between;align-items:center;font-family:var(--f-label);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem}
.cover-top .ad{width:48px}.cover-top .ad b{font-size:19px}
.cover-star{position:absolute;width:64px;height:64px;right:14%;top:28%;fill:var(--gold-bright);filter:drop-shadow(0 0 22px rgba(226,180,78,.9));animation:twinkle 3.2s ease-in-out infinite}
.cover-title{margin-top:auto;font-family:var(--f-title);font-weight:900;font-size:clamp(4rem,9vw,6.2rem);line-height:.85;letter-spacing:-.02em;text-shadow:.045em .045em 0 var(--navy)}
.cover-sub{margin-top:.6rem;font-family:var(--f-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:1rem}
.cover-show{margin-top:.2rem;font-size:.9rem;opacity:.85}
.cover-meta{display:flex;flex-wrap:wrap;gap:.7rem;align-items:center;font-size:.95rem;color:var(--on-navy-soft)}

.coming{background:var(--red);border-block:3px solid var(--navy-night)}
.coming-in{display:flex;align-items:stretch;gap:1rem;overflow-x:auto;padding-block:.9rem}
.coming-label{display:flex;align-items:center;gap:.5rem;font-family:var(--f-label);font-weight:800;font-size:1rem;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;padding-right:1rem;border-right:2px solid rgba(255,255,255,.35)}
.coming-label svg{width:16px;height:16px;fill:var(--cream)}
.coming ol{list-style:none;margin:0;padding:0;display:flex;gap:.6rem}
.coming li{display:grid;gap:.05rem;padding:.5rem .9rem;border-radius:14px;background:rgba(10,15,54,.18);white-space:nowrap;line-height:1.2}
.coming li.us{background:var(--navy)}
.coming small{font-family:var(--f-label);font-weight:700;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.coming b{font-family:var(--f-title);font-weight:900;font-size:1.05rem}
.coming li span{font-size:.85rem;opacity:.85}

.ep-intro{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:end;margin-block:1rem 2.2rem}
.ep-intro>*{min-width:0}
.ep-intro h2{font-size:clamp(2.3rem,5.4vw,4.2rem)}
.ep-intro p{color:var(--ink-soft);font-size:1.2rem;max-width:46ch}

.host-strip{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.hs{display:flex;gap:1.3rem;align-items:center;padding:1.5rem;border-radius:var(--r-md);background:rgba(255,255,255,.05);border:1px solid var(--line-dark);min-width:0}
.hs:nth-child(2){background:linear-gradient(150deg,rgba(3,151,248,.28),rgba(25,35,118,.3))}
.hs>div:last-child{min-width:0;display:grid;gap:.2rem}
.hs b{font-family:var(--f-title);font-weight:900;font-size:1.7rem;line-height:1}
.hs span{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.hs p{color:var(--on-navy-soft)}

.story{display:grid;grid-template-columns:1.1fr 1fr;border-radius:var(--r-lg);overflow:hidden;background:var(--white);color:var(--ink);text-decoration:none;box-shadow:0 24px 50px -30px rgba(10,15,54,.55);transition:transform .3s ease}
.story:hover{transform:translateY(-4px)}
.story>*{min-width:0}
.story .art{position:relative;min-height:320px}
.story .mini{position:absolute;top:16px;left:16px}
.story .mini .ad{width:56px}.story .mini .ad b{font-size:22px}
.story .body{padding:clamp(1.5rem,4vw,3rem);display:grid;gap:1rem;align-content:center}
.story h3{font-size:clamp(1.8rem,3.4vw,2.7rem);color:var(--navy);line-height:1.02}
.story p{color:var(--ink-soft);font-size:1.1rem}
.story .meta{font-family:var(--f-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}

.follow .signup{margin-top:1.6rem}

@media (max-width:980px){
  .cover-card{justify-self:start;order:2;transform:none;width:min(340px,100%)}
  .ep-intro,.story{grid-template-columns:1fr}
  .story .art{min-height:220px}
}
@media (max-width:620px){
  .host-strip{grid-template-columns:1fr}
}
.on-cream .feature-banner .kicker{color:var(--cream)}
.feature-banner .threads li span{color:var(--white)}

/* ---------- show page v2 ---------- */
.facts{list-style:none;margin:2.2rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
.facts li{display:grid;gap:.1rem;padding:.75rem 1.1rem;border-radius:16px;background:rgba(10,15,54,.5);border:1px solid var(--line-dark);backdrop-filter:blur(6px)}
.facts b{font-family:var(--f-title);font-weight:900;font-size:1.3rem;line-height:1.1}
.facts span{font-family:var(--f-label);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}

.beats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;position:relative}
.beat{background:var(--white);border-radius:var(--r-md);padding:1.6rem;display:grid;gap:.7rem;align-content:start;box-shadow:0 18px 40px -28px rgba(10,15,54,.5);min-width:0}
.beat .num{font-family:var(--f-title);font-weight:900;font-size:2.4rem;line-height:1;color:var(--red)}
.beat h3{font-size:1.5rem;color:var(--navy)}
.beat p{color:var(--ink-soft)}

.vote{display:grid;gap:1.2rem}
.points{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(10,1fr);gap:.4rem}
.points li{aspect-ratio:1;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid var(--line-dark);font-family:var(--f-title);font-weight:900;font-size:clamp(1rem,2vw,1.4rem);font-variant-numeric:tabular-nums}
.points li.douze{background:var(--gold);color:var(--navy-night);border-color:var(--gold)}
.vote-card{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;padding:1.4rem 1.6rem;border-radius:var(--r-md);background:linear-gradient(135deg,#B3162E,var(--red) 60%,#FF7A3D)}
.vote-card>div:first-child{display:grid;gap:.1rem}
.vote-card small{font-family:var(--f-label);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.vote-card>div:first-child b{font-family:var(--f-title);font-weight:900;font-size:2.4rem;line-height:1;text-shadow:.04em .04em 0 var(--navy)}
.vote-card>div:first-child span{font-weight:500}
.scores{display:flex;gap:.6rem}
.scores div{display:grid;gap:.15rem;place-items:center;min-width:5.2rem;padding:.7rem .9rem;border-radius:14px;background:var(--navy)}
.scores b{font-family:var(--f-title);font-weight:900;font-size:2rem;line-height:1;color:var(--gold-bright)}
.vote-note{color:var(--on-navy-soft);font-size:.95rem}

.season{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.season li{border-radius:var(--r-md);padding:1.5rem;background:rgba(255,255,255,.05);border:1px solid var(--line-dark);display:grid;gap:.4rem;align-content:start;min-width:0}
.season small{font-family:var(--f-label);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.season b{font-family:var(--f-title);font-weight:900;font-size:1.5rem;line-height:1.05}
.season p{color:var(--on-navy-soft)}
.season li.now{background:var(--navy);border-color:rgba(255,255,255,.2)}
.season li.final{background:linear-gradient(150deg,var(--red),#B3162E);border-color:transparent}
.season li.final small{color:var(--cream)}
.season li.final p{color:rgba(255,255,255,.88)}

.seg{border-top:5px solid var(--red)}
.seg.s-gold{border-top-color:var(--gold-bright)}
.seg.s-blue{border-top-color:var(--blue)}
.seg .sample{margin-top:.6rem;display:grid;gap:.2rem;padding:.9rem 1rem;border-radius:14px;background:rgba(255,255,255,.07);font-weight:600}
.seg .sample small{font-family:var(--f-label);font-weight:700;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}

.pitch{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;padding:clamp(1.8rem,5vw,3.5rem);border-radius:var(--r-lg);
  background:radial-gradient(60% 90% at 100% 0%,rgba(3,151,248,.45),transparent 60%),linear-gradient(135deg,var(--navy),var(--navy-deep));border:1px solid var(--line-dark)}
.pitch>div{display:grid;gap:.9rem;max-width:620px}
.pitch h2{font-size:clamp(2.3rem,5vw,3.8rem)}
.pitch p{color:var(--on-navy-soft);font-size:1.15rem}

@media (max-width:980px){
  .beats{grid-template-columns:1fr 1fr}
  .season{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .beats,.season{grid-template-columns:1fr}
  .points{grid-template-columns:repeat(5,1fr)}
}

/* ---------- episodes v2 ---------- */
.page-hero .signup{margin-top:1.6rem}
.ep-feature{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:clamp(1.5rem,4vw,3rem);align-items:center;margin-top:1.2rem;padding:clamp(1.2rem,3vw,2rem);border-radius:var(--r-lg);background:var(--white);color:var(--ink);text-decoration:none;box-shadow:0 24px 50px -30px rgba(10,15,54,.55);transition:transform .3s ease}
.ep-feature:hover{transform:translateY(-4px)}
.ep-feature>*{min-width:0}
.small-cover{color:var(--white)}
.small-cover .cover-title{font-size:clamp(3.4rem,7vw,5rem)}
.ep-feature-body{display:grid;gap:1rem;align-content:center}
.ep-feature-body h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--navy)}
.ep-feature-body p{color:var(--ink-soft);font-size:1.15rem;max-width:52ch}
.ep-facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font-family:var(--f-label);font-weight:700;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.ep-facts li+li::before{content:"✦";color:var(--red);margin-right:1.2rem}
.ep-facts.on-dark{color:var(--on-navy-soft);margin-top:1.4rem}
.ep-facts.on-dark li+li::before{color:var(--gold-bright)}
.listen-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.4rem}
.listen{font-family:var(--f-label);font-weight:700;font-size:.95rem;letter-spacing:.06em;text-transform:uppercase;padding:.7rem 1.1rem;border-radius:999px;border:2px dashed var(--line-light);color:var(--ink-soft)}
.listen.dark{border-color:rgba(255,255,255,.3);color:var(--on-navy-soft)}
.ep-hero .listen-row{margin-top:1.2rem}

.filters{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1.8rem}
.chip-btn{font:700 .95rem var(--f-label);letter-spacing:.05em;text-transform:uppercase;padding:.5rem 1rem;border-radius:999px;border:2px solid var(--line-light);background:transparent;color:var(--navy);cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.chip-btn:hover{border-color:var(--navy)}
.chip-btn[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:var(--white)}
.chip-sep{width:2px;height:1.6rem;background:var(--line-light);margin-inline:.3rem}
.ep-grid .card .art{aspect-ratio:16/10}
.card h3 .song{color:var(--red)}
.ep-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.ep-tags span{font-family:var(--f-label);font-weight:600;font-size:.82rem;letter-spacing:.05em;padding:.18rem .55rem;border-radius:6px;background:var(--cream);color:var(--ink-soft)}
.card.ep[hidden]{display:none}
.filter-empty{padding:1.5rem;border-radius:var(--r-md);border:2px dashed var(--line-light);color:var(--ink-soft);text-align:center}
div.card.ep:hover{transform:none}

/* episode page */
.back{display:inline-block;margin-bottom:1.2rem;text-decoration:none;font-family:var(--f-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:.9rem;color:var(--on-navy-soft)}
.back:hover{color:var(--white)}
.ep-hero h1{font-size:clamp(2.4rem,5vw,4.2rem);max-width:16ch}
.ep-hero .cover-card{transform:rotate(2.5deg)}
.ep-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:start}
.ep-layout>*{min-width:0}
.chapters{list-style:none;margin:1.2rem 0 0;padding:0;counter-reset:ch;display:grid;gap:.75rem}
.chapters li{counter-increment:ch;display:grid;grid-template-columns:3rem 1fr;column-gap:1rem;padding:1.2rem 1.3rem;border-radius:var(--r-md);background:var(--white);box-shadow:inset 0 0 0 2px var(--line-light)}
.chapters li::before{content:counter(ch,decimal-leading-zero);grid-row:span 2;font-family:var(--f-title);font-weight:900;font-size:1.7rem;color:var(--red);line-height:1}
.chapters b{font-family:var(--f-title);font-weight:900;font-size:1.3rem;color:var(--navy)}
.chapters p{color:var(--ink-soft)}
.notes{margin-top:2rem;padding:1.5rem;border-radius:var(--r-md);border:2px dashed var(--line-light);display:grid;gap:.5rem}
.notes h3{font-size:1.35rem;color:var(--navy)}
.notes p{color:var(--ink-soft)}
.factbox{position:sticky;top:110px;border-radius:var(--r-lg);background:var(--navy);color:var(--white);padding:1.8rem;display:grid;gap:1.2rem}
.factbox h3{font-size:1.6rem}
.factbox dl{margin:0;display:grid;gap:0}
.factbox dl div{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line-dark)}
.factbox dt{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--on-navy-soft)}
.factbox dd{margin:0;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.mini-vote{display:grid;gap:.7rem}
.mini-vote>small{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.mini-vote .scores div{background:rgba(255,255,255,.08)}
.mini-vote .scores small{font-family:var(--f-label);font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}

@media (max-width:980px){
  .ep-feature,.ep-layout{grid-template-columns:1fr}
  .ep-feature .cover{max-width:320px}
  .factbox{position:static}
  .ep-hero .cover-card{display:none}
}
.back{display:table}
.cards.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.cards.four{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.cards.four{grid-template-columns:1fr}}

/* ---------- about v2 ---------- */
.todo{display:inline-block;font-family:var(--f-label);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .55rem;border-radius:6px;border:1.5px dashed var(--gold-bright);color:var(--gold-bright)}
.todo.todo-block{display:block;text-transform:none;letter-spacing:0;font:500 1rem/1.5 var(--f-primary);padding:.8rem 1rem;border-radius:12px}
.bios{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.bio-card{border-radius:var(--r-lg);padding:clamp(1.5rem,3vw,2.2rem);display:grid;gap:1.3rem;align-content:start;min-width:0}
.bio-card.h1{background:linear-gradient(150deg,var(--navy),#26339E)}
.bio-card.h2{background:linear-gradient(150deg,#0A6FC0,var(--navy))}
.bio-top{display:flex;align-items:center;gap:1.2rem}
.photo{width:104px;height:104px;flex:none;border-radius:50%;display:grid;place-content:center;text-align:center;background:rgba(255,255,255,.1);border:2px dashed rgba(255,255,255,.45);font-family:var(--f-title);font-weight:900;font-size:2rem;line-height:1}
.photo small{font-family:var(--f-label);font-weight:700;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7;margin-top:.3rem}
.bio-card .role{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.bio-card h3{font-size:clamp(1.9rem,3vw,2.4rem)}
.bio{color:rgba(255,255,255,.88);font-size:1.08rem}
.fun{margin:0;display:grid;gap:0;border-top:1px solid var(--line-dark)}
.fun div{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 0;border-bottom:1px solid var(--line-dark)}
.fun dt{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--on-navy-soft)}
.fun dd{margin:0;text-align:right;font-weight:600;text-wrap:balance}

.work{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.work-tile{display:grid;gap:.7rem;align-content:start;padding:1.6rem;border-radius:var(--r-md);background:var(--white);color:var(--ink);text-decoration:none;box-shadow:0 18px 40px -28px rgba(10,15,54,.5);transition:transform .25s ease;min-width:0}
.work-tile:hover{transform:translateY(-4px)}
.work-tile h3{font-size:1.5rem;color:var(--navy)}
.work-tile p{color:var(--ink-soft)}
.work-tile .go{font-family:var(--f-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);margin-top:.3rem}
.indy{display:flex;gap:.7rem;align-items:flex-start;margin-top:2.5rem;font-size:.95rem;color:var(--ink-soft);max-width:80ch}
.indy svg{width:20px;height:20px;flex:none;fill:var(--red);margin-top:.15rem}

@media (max-width:980px){.bios{grid-template-columns:1fr}.work{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.work{grid-template-columns:1fr}.fun div{flex-direction:column;align-items:flex-start;gap:.2rem}.fun dd{text-align:left}}
.bios{align-items:start}

/* ---------- contact ---------- */
.channels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.7rem}
.channel{display:grid;gap:.8rem;padding:1.3rem;border-radius:var(--r-md);text-decoration:none;border:1px solid var(--line-dark);background:rgba(255,255,255,.05);min-width:0;transition:transform .2s,background .2s}
.channel svg{width:30px;height:30px;fill:var(--white)}
.channel b{display:block;font-family:var(--f-title);font-weight:900;font-size:1.25rem;line-height:1.1}
.channel small{color:var(--on-navy-soft);overflow-wrap:anywhere}
.channel .state{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
.channel.live{background:linear-gradient(150deg,var(--red),#B3162E);border-color:transparent}
.channel.live:hover{transform:translateY(-4px)}
.channel.live small{color:rgba(255,255,255,.85)}
.channel.soon{border-style:dashed}
.channel.soon svg{fill:var(--on-navy-soft)}
.channel.soon .state{color:var(--gold-bright)}
.mailbox{display:grid;gap:.6rem;justify-items:start;padding:1.5rem;border-radius:var(--r-md);background:var(--white);box-shadow:inset 0 0 0 2px var(--line-light)}
.mailbox small{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.mailbox .addr{font-family:var(--f-title);font-weight:900;font-size:clamp(1.2rem,2.4vw,1.6rem);color:var(--navy);overflow-wrap:anywhere;user-select:all}
.foot-mail{color:var(--on-navy-soft);user-select:all;overflow-wrap:anywhere}
@media (max-width:980px){.channels{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:620px){.channels{grid-template-columns:1fr 1fr}}

/* ---------- listener restructure ---------- */
.join-sec{background:var(--navy-night)}
.guide-card .g-band{height:110px;display:flex;align-items:flex-start;padding:1rem;position:relative;overflow:hidden}
.g-red{background:radial-gradient(70% 120% at 100% 0%,#FF7A3D,transparent 60%),linear-gradient(135deg,#B3162E,var(--red))}
.g-blue{background:radial-gradient(70% 120% at 100% 0%,rgba(226,180,78,.7),transparent 60%),linear-gradient(135deg,var(--navy),var(--blue))}
.g-gold{background:radial-gradient(70% 120% at 0% 100%,rgba(245,49,60,.55),transparent 60%),linear-gradient(135deg,#A97B1F,var(--gold-bright))}
.guide-card .g-band::after{content:"";position:absolute;right:-20px;bottom:-30px;width:110px;height:110px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' fill-opacity='.35' d='M12 0C12.9 7.6 16.4 11.1 24 12 16.4 12.9 12.9 16.4 12 24 11.1 16.4 7.6 12.9 0 12 7.6 11.1 11.1 7.6 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat}
.tag.light{background:var(--white);color:var(--navy)}
.cards.two-up{grid-template-columns:1fr 1fr}
.hs{text-decoration:none;color:inherit;transition:transform .2s}
.hs:hover{transform:translateY(-3px)}
.pitch-line{margin-top:2rem;font-size:1.05rem;color:var(--ink-soft)}
.pitch-line a,.filter-empty a{color:var(--red);font-weight:700;text-decoration:none}
.season p a,.seg p a{color:var(--gold-bright);font-weight:700;text-decoration:none;white-space:nowrap}
.season li.final p a{color:var(--white)}
.facts.on-page{margin:0 0 3rem}
.facts.on-page li{background:rgba(255,255,255,.06)}
.vote-split{margin-top:1rem}
.vote-title{font-size:clamp(2rem,4vw,3rem)}
.small-sec{padding-block:3rem}
.work-line{font-size:1.15rem;color:var(--ink)}
.work-line a{color:var(--red);font-weight:700;text-decoration:none}
.small-sec .indy{margin-top:1rem}
.press-row{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center;padding:clamp(1.4rem,3vw,2rem);border-radius:var(--r-md);border:2px solid var(--line-light)}
.press-row>*{min-width:0}
.press-row h3{font-size:1.6rem;color:var(--navy);margin-bottom:.5rem}
.press-row p{color:var(--ink-soft)}
.press-row .mailbox{box-shadow:none;background:var(--cream)}

/* guide articles */
.guide-hero h1{font-size:clamp(2.3rem,5vw,4rem);max-width:20ch}
.byline{margin-top:1.2rem;font-family:var(--f-label);font-weight:600;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--on-navy-soft)}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(2rem,5vw,4rem);align-items:start}
.article{max-width:68ch;color:var(--ink);font-size:1.12rem;line-height:1.7}
.article h2{font-size:clamp(1.6rem,3vw,2.1rem);color:var(--navy);margin:2.6rem 0 .9rem;scroll-margin-top:110px}
.article p{margin:0 0 1rem;color:#2A3070}
.article ul,.article ol{margin:0 0 1.2rem;padding-left:1.3rem;display:grid;gap:.5rem;color:#2A3070}
.article a{color:var(--red);font-weight:600}
.article strong{color:var(--navy)}
.quick{padding:1.4rem 1.5rem;border-radius:var(--r-md);background:var(--navy);color:var(--white);display:grid;gap:.4rem}
.quick small{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.quick p{margin:0;color:var(--white);font-size:1.15rem}
.table-wrap{overflow-x:auto;margin:0 0 1rem;border-radius:var(--r-sm);box-shadow:inset 0 0 0 2px var(--line-light)}
.article table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:420px}
.article th,.article td{text-align:left;padding:.7rem .9rem;border-bottom:1px solid var(--line-light)}
.article th{font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);background:var(--white)}
.article tr.hl td{background:rgba(198,151,49,.16);font-weight:700;color:var(--navy)}
.facts-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin:0 0 1.2rem}
.facts-row div{background:var(--white);border-radius:var(--r-sm);padding:1rem;display:grid;gap:.1rem;box-shadow:inset 0 0 0 2px var(--line-light);min-width:0}
.facts-row b{font-family:var(--f-title);font-weight:900;font-size:1.5rem;color:var(--red);line-height:1.1}
.facts-row span{font-family:var(--f-label);font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}
.article .country-grid{list-style:none;padding:0;grid-template-columns:repeat(4,1fr);gap:.4rem}
.country-grid li{background:var(--white);border-radius:8px;padding:.45rem .7rem;font-weight:600;font-size:1rem;box-shadow:inset 0 0 0 1.5px var(--line-light)}
.sources{margin-top:2.6rem;padding-top:1.4rem;border-top:2px solid var(--line-light)}
.sources h3{font-size:1.2rem;color:var(--navy);margin-bottom:.6rem}
.sources ul{font-size:.98rem}
.article-side{position:sticky;top:110px;display:grid;gap:1rem}
.toc{padding:1.3rem;border-radius:var(--r-md);background:var(--white);box-shadow:inset 0 0 0 2px var(--line-light)}
.toc small,.side-card small{font-family:var(--f-label);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.toc ol{margin:.6rem 0 0;padding-left:1.2rem;display:grid;gap:.35rem}
.toc a{color:var(--navy);text-decoration:none;font-weight:600}
.toc a:hover{color:var(--red)}
.side-card{padding:1.3rem;border-radius:var(--r-md);background:var(--navy);color:var(--white);display:grid;gap:.7rem;justify-items:start}
.side-card small{color:var(--gold-bright)}
.side-card p{color:var(--on-navy-soft)}

.guide-feature .g-poster{aspect-ratio:1;border-radius:22px;padding:1.4rem;display:flex;flex-direction:column;justify-content:space-between;color:var(--navy-night)}
.g-poster b{font-family:var(--f-title);font-weight:900;font-size:clamp(3.4rem,7vw,5rem);line-height:.9;color:var(--white);text-shadow:.04em .04em 0 var(--navy)}
.g-poster span:last-child{font-family:var(--f-label);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-night)}
.g-poster .tag{align-self:flex-start}

@media (max-width:980px){
  .article-layout,.press-row{grid-template-columns:minmax(0,1fr)}
  .article-side{position:static}
  .guide-feature .g-poster{max-width:320px}
}
@media (max-width:620px){
  .cards.two-up,.facts-row{grid-template-columns:1fr}
  .article .country-grid{grid-template-columns:1fr 1fr}
}
.g-navy{background:radial-gradient(70% 120% at 100% 0%,rgba(245,49,60,.6),transparent 60%),linear-gradient(135deg,var(--navy-deep),var(--navy))}
.coming li a{display:grid;gap:.05rem;text-decoration:none;color:inherit}
.coming li a span{text-decoration:underline;text-underline-offset:2px}
.join-sec .follow h2{margin-bottom:.2rem}
.article h3{font-size:1.3rem;color:var(--navy);margin:1.6rem 0 .5rem}

/* hero runs edge to edge under the header; timeline sits on the hero */
.site-header{position:fixed;top:0;left:0;right:0;padding-top:calc(12px + env(safe-area-inset-top,0px))}
.hero{margin-top:0}
.hero:has(.coming.in-hero){padding-bottom:0}
.coming.in-hero{position:relative;background:transparent;border:0;margin-top:clamp(3rem,6vw,4.5rem);border-top:1px solid rgba(255,255,255,.14);background:linear-gradient(180deg,rgba(10,15,54,0) 0%,rgba(10,15,54,.35) 100%)}
.coming.in-hero .coming-in{padding-block:1.1rem 1.3rem}
.coming.in-hero .coming-label{color:var(--gold-bright);border-right-color:rgba(255,255,255,.2)}
.coming.in-hero .coming-label svg{fill:var(--gold-bright)}
.coming.in-hero li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .2s,transform .2s}
.coming.in-hero li:hover{background:rgba(255,255,255,.16);transform:translateY(-2px)}
.coming.in-hero li.us{background:var(--red);border-color:var(--red)}
.coming.in-hero small{color:var(--gold-bright);opacity:1}
.coming.in-hero li.us small{color:var(--cream)}
.coming.in-hero li span{text-decoration:none;color:var(--on-navy-soft);opacity:1}
.coming.in-hero li.us span{color:var(--white)}

/* inner-page heroes: centered (home and episode pages keep their two-column layout) */
.page-hero:not(.ep-hero) .wrap{display:flex;flex-direction:column;align-items:center;text-align:center}
.page-hero:not(.ep-hero) h1{max-width:18ch}
.page-hero:not(.ep-hero) .lede{max-width:46ch;margin-inline:auto}
.page-hero:not(.ep-hero) .signup{justify-content:center;width:100%;margin-inline:auto}
.page-hero:not(.ep-hero) .back{margin-inline:auto}
.guide-hero h1{max-width:22ch}

/* text selection in brand colors */
::selection{background:var(--gold-bright);color:var(--navy-night)}
.on-navy ::selection,.hero ::selection,.site-footer ::selection{background:var(--red);color:var(--white)}

/* no one-word last lines in ledes and body copy */
.lede,.sec-head p,.prose p,.article p,.bio,.hero-note{text-wrap:pretty}
.lede{text-wrap:balance}

/* about: the show section gets room to breathe */
#show .facts.on-page{margin:2.4rem 0 0}
#show .vote-split{margin-top:4.5rem;padding-top:3.5rem;border-top:1px solid var(--line-dark);align-items:start}
#show .vote{gap:1.4rem}
#show .points{gap:.55rem}
.seg-head{margin:4.5rem 0 1.6rem}
.seg-title{font-size:clamp(1.5rem,2.6vw,2rem);max-width:28ch}
.segs .seg p{color:var(--on-navy-soft)}

/* episode page: chapter list less cramped */
.chapters{gap:1rem;margin-top:1.6rem}
.chapters li{padding:1.5rem 1.6rem;column-gap:1.2rem;row-gap:.35rem}
.chapters p{line-height:1.6}
.notes{margin-top:2.4rem}

/* signup consent + legal page */
.signup .consent{flex-basis:100%;margin:.2rem 0 0;font-size:.85rem;color:var(--on-navy-soft)}
.signup .consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.signup.sent .consent{display:none}
.legal a{color:inherit}
.legal-doc{max-width:76ch;margin-inline:auto;font-size:1.02rem;line-height:1.7}
.legal-doc div{margin:0 0 .9rem;color:#2A3070}
.legal-doc div div{margin:0}
.legal-doc h2{font-size:clamp(1.3rem,2.4vw,1.7rem);margin:2.4rem 0 .8rem;scroll-margin-top:110px}
.legal-doc h3{font-size:1.15rem;margin:1.6rem 0 .5rem}
.legal-doc ul{margin:.4rem 0 1rem}
.legal-doc span[id]{scroll-margin-top:110px}
.legal-doc table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem;display:block;overflow-x:auto}
.legal-doc td,.legal-doc th{border:1px solid var(--line-light);padding:.6rem .7rem;vertical-align:top;text-align:left}
.legal-doc a{word-break:break-word}
.legal-doc table{min-width:0;max-width:100%}
.form .check{display:flex;gap:.7rem;align-items:flex-start;font:500 .95rem/1.5 var(--f-primary);letter-spacing:0;text-transform:none;color:var(--ink-soft)}
.form .check input{width:20px;height:20px;margin-top:.15rem;flex:none;accent-color:var(--red)}
.prose a{color:var(--red);font-weight:600}
.form label,.form select,.form input,.form textarea{min-width:0;max-width:100%}.form select{width:100%;text-overflow:ellipsis}
.form{color-scheme:light}
.form-note{font-size:.88rem;color:var(--ink-soft);margin:0}
.form-note a{color:var(--red);font-weight:600}
.legal-doc p{margin:0 0 1rem;color:#2A3070}
.guest-link{margin-top:.8rem !important;font-weight:600}
.guest-link a{color:var(--red);text-decoration:none}
.release-form{max-width:76ch;margin-inline:auto}
.release-form h2{font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:.4rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .err{display:none;padding:1rem;border-radius:12px;background:#FDE4E6;color:#8E1430;font-weight:600}
.form.failed .err{display:block}
/* signup: site form first, beehiiv takes over when ready */
.bh-signup{position:relative;display:block;max-width:520px;margin-top:2rem}
.bh-frame{position:absolute;left:-10000px;top:0;width:500px;max-width:100%;height:52px;border:0;background:transparent;opacity:0;pointer-events:none;color-scheme:normal}
.bh-ready .bh-frame{position:static;display:block;width:100%;opacity:1;pointer-events:auto;animation:bh-in .25s ease}
.bh-ready .bh-fallback{display:none}
@keyframes bh-in{from{opacity:.4}to{opacity:1}}
.bh-signup .signup{margin-top:0}
.signup .err{display:none;flex-basis:100%;padding:.8rem 1.1rem;border-radius:14px;background:rgba(245,49,60,.18);color:var(--white);font-weight:500}
.signup.failed .err{display:block}
.bh-signup .consent{margin:.6rem 0 0;font-size:.85rem;color:var(--on-navy-soft)}
.bh-signup .consent a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.follow .bh-signup,.page-hero .bh-signup{margin-top:1.6rem}
.page-hero:not(.ep-hero) .bh-signup{margin-inline:auto;text-align:center}
.page-hero:not(.ep-hero) .bh-frame{margin-inline:auto}
.page-hero:not(.ep-hero) .bh-signup .signup{justify-content:center}
.mail-line{margin-top:1rem !important;font-weight:600}
.mail-line a{color:var(--navy);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.join-jump{margin-top:1.6rem}
.form[hidden],.signup[hidden]{display:none}
.page-hero .gate{margin:1.6rem auto 0;justify-content:center}
.gate .err a{color:inherit;text-decoration:underline}
.gate input[type=password]{letter-spacing:.08em}
/* guide sidebar signup */
.side-card .bh-signup{margin-top:.2rem;width:100%}
.side-card .signup input{flex-basis:100%}
.side-card .signup .btn{width:100%;justify-content:center}
.side-card .bh-signup .consent{font-size:.8rem}

/* header: condenses to a slim full-width bar on scroll down, expands on scroll up */
.site-header{transition:padding .3s ease}
.site-header::before{content:"";position:absolute;inset:0;background:rgba(12,18,64,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-dark);opacity:0;transition:opacity .3s ease;pointer-events:none}
.nav,.brand .ad,.brand-name,.nav-links a,.nav .btn,.menu-btn{transition:all .3s ease}
.site-header.is-condensed{padding-top:env(safe-area-inset-top,0px);padding-bottom:0}
.site-header.is-condensed::before{opacity:1}
.is-condensed .nav{background:transparent;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;padding:4px 0}
.is-condensed .brand .ad{width:34px}
.is-condensed .brand .ad b{font-size:14px}
.is-condensed .brand-name{font-size:.9rem}
.is-condensed .nav-links a{padding:.35rem .8rem;font-size:.95rem}
.is-condensed .nav .btn{padding-block:.5rem;font-size:.9rem}
.is-condensed .menu-btn{padding:.4rem .8rem}
@media (prefers-reduced-motion:reduce){.site-header,.site-header::before,.nav,.brand .ad,.brand-name,.nav-links a,.nav .btn,.menu-btn{transition:none}}
.site-header>.wrap{position:relative;z-index:1}

/* song pages + episode watch link */
.watch{display:flex;align-items:center;gap:1.1rem;padding:1.1rem 1.3rem;border-radius:var(--r-md);background:var(--navy);color:var(--white);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.watch:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(25,35,118,.6)}
.watch-play{flex:none;width:52px;height:52px;border-radius:50%;background:var(--red);display:grid;place-items:center}
.watch-play svg{width:24px;height:24px;fill:var(--white)}
.watch small{display:block;font-family:var(--f-label);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.watch b{display:block;font-family:var(--f-title);font-weight:900;font-size:1.25rem;line-height:1.15;margin:.15rem 0}
.watch span span{font-size:.92rem;color:var(--on-navy-soft)}
.song-body{display:grid;gap:1.1rem;align-content:start;min-width:0}
.song-body>p{font-size:1.12rem;line-height:1.7;color:var(--ink);max-width:62ch}
.song-body h2{font-size:clamp(1.8rem,3.4vw,2.5rem);margin-bottom:.2rem}
.big-q{padding:1.3rem 1.4rem;border-left:5px solid var(--red);background:var(--white);border-radius:0 var(--r-md) var(--r-md) 0}
.big-q small{font-family:var(--f-label);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.big-q p{font-family:var(--f-title);font-weight:900;font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.3;color:var(--navy);margin-top:.35rem}
.song-body .sources{margin-top:.6rem}
.side-cta{display:grid;gap:.6rem;justify-items:start;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.15)}
.side-cta small{font-family:var(--f-label);font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-bright)}
.side-cta p{color:var(--on-navy-soft);font-size:.95rem}
.cover-title.mid{font-size:clamp(2.6rem,5.2vw,4.2rem)}
.cover-title.long{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:.95}
.ep-feature-body>.btn{justify-self:start}
.more-row{display:flex;justify-content:center;margin-top:1.6rem}
.card.ep[hidden]{display:none}
.listen.live{border-style:solid;text-decoration:none;color:var(--navy);border-color:var(--navy)}
.listen.live.dark{color:var(--white);border-color:var(--white)}
.ep-grid .art .big{font-size:clamp(2.4rem,4.4vw,3.8rem);max-width:84%;overflow-wrap:normal}
.ep-layout .notes{margin-top:1.2rem}
.channel{padding:1.1rem 1rem;gap:.7rem}
.channel b{font-size:1.1rem}
.channel small{font-size:.78rem;overflow-wrap:normal;word-break:break-word}
.channel .state{font-size:.78rem}

/* ---------- new logo (Oct 2026) ---------- */
.wm{display:block;height:38px;width:auto;color:#fff;overflow:visible}
.brand{gap:0}
.brand .wm{height:30px;margin-left:14px;transition:height .3s ease}
.is-condensed .brand .wm{height:24px}
.foot .brand .wm{height:66px;margin-left:0}
.ad svg{display:block;width:100%;height:100%}
.ad{background:var(--navy-deep)}
@media (max-width:620px){.brand .wm{height:26px;margin-left:10px}}
@media (prefers-reduced-motion:reduce){.brand .wm{transition:none}}
#join,#signup,#form,#list,#sign{scroll-margin-top:110px}
.nav-links .nav-join{display:none}
@media (max-width:980px){.nav-links .nav-join{display:block;margin-top:.4rem}.nav-links .nav-join a{background:var(--red);color:var(--white);text-align:center}}

/* host photos */
.avatar.has-img,.photo.has-img{padding:0;overflow:hidden;border:3px solid #F8F4E8;background:#10174F;box-shadow:0 8px 24px rgba(0,0,0,.28)}
.avatar.has-img img,.photo.has-img img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
