/* Where Did He Go? — preview build v200 */
:root{
  --paper:#FFFFFF; --cream:#FAF6F0; --sand:#F3ECE1; --ink:#171310; --body:#544A40;
  --muted:#8A7D6E; --gold:#B0801F; --gold-lt:#D8B36A; --line:#E7DECF; --deep:#191411;
  --wrap:1180px; --r:4px;
  --disp:"Oswald",'Arial Narrow',sans-serif;
  --sans:"Poppins",-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--body);
  font-family:var(--sans);font-weight:300;font-size:17px;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--gold);text-decoration:none}
a:hover{color:var(--ink)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.narrow{max-width:820px}

h1,h2,h3,h4{font-family:var(--disp);color:var(--ink);font-weight:600;
  letter-spacing:.005em;line-height:1.06;margin:0 0 .5em}
h1{font-size:clamp(2.6rem,6vw,4.6rem);text-transform:uppercase}
h2{font-size:clamp(1.9rem,3.6vw,3rem);text-transform:uppercase}
h3{font-size:1.22rem;font-weight:500;text-transform:uppercase;letter-spacing:.02em}
p{margin:0 0 1.15em}
.eyebrow{font-family:var(--sans);font-weight:500;font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--gold);margin:0 0 1.1em}
.lede{font-size:1.12rem;color:var(--body)}
.rule{width:56px;height:2px;background:var(--gold-lt);border:0;margin:0 0 1.6em}

/* nav */
.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:58px;height:58px;object-fit:contain}
.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav a{font-size:.9rem;font-weight:400;color:var(--ink);letter-spacing:.01em}
.nav a:hover,.nav a[aria-current]{color:var(--gold)}
.navtog{display:none;background:none;border:1px solid var(--line);border-radius:var(--r);
  padding:9px 12px;font-size:.85rem;color:var(--ink);cursor:pointer;font-family:var(--sans)}

/* hero */
.hero{position:relative;min-height:clamp(420px,64vh,660px);display:flex;align-items:center;
  background:var(--deep) center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(12,9,7,.62) 0%,rgba(12,9,7,.28) 48%,rgba(12,9,7,.12) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:64px;padding-bottom:64px}
.hero h1,.hero p{color:#fff}
.hero p{max-width:33em;font-size:1.1rem;text-shadow:0 1px 18px rgba(0,0,0,.5)}
.hero--center{text-align:center;justify-content:center}
.hero--center::after{background:linear-gradient(180deg,rgba(12,9,7,.30),rgba(12,9,7,.55))}
.hero--center p{margin-left:auto;margin-right:auto}
.hero--page{min-height:clamp(300px,42vh,460px)}
.hero--page h1{font-size:clamp(2.4rem,5.4vw,4.2rem);letter-spacing:.04em;
  text-shadow:0 2px 28px rgba(0,0,0,.55);margin:0}

/* buttons */
.btn{display:inline-block;font-family:var(--sans);font-weight:500;font-size:.8rem;
  letter-spacing:.16em;text-transform:uppercase;padding:15px 30px;border-radius:2px;
  border:1px solid var(--gold);color:var(--gold);background:transparent;transition:.18s}
.btn:hover{background:var(--gold);color:#fff}
.btn--solid{background:var(--gold);color:#fff}
.btn--solid:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn--light{border-color:rgba(255,255,255,.75);color:#fff}
.btn--light:hover{background:#fff;color:var(--ink);border-color:#fff}
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}

/* bands */
.band{padding:clamp(30px,4.2vw,56px) 0}
.band--cream{background:var(--cream)}
.band--sand{background:var(--sand)}
.band--dark{background:var(--deep);color:#CFC4B5}
.band--dark h2,.band--dark h3{color:#fff}
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,6vw,80px);align-items:center}
.head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.head-row h2{margin:0}
.head-note{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* song story cards (Terry's vertical cards) */
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}
.card{position:relative;display:block;overflow:hidden;border-radius:3px;background:var(--deep);
  aspect-ratio:2/3;color:#fff}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover img{transform:scale(1.045)}
.card figcaption{position:absolute;inset:auto 0 0 0;padding:16px 16px 15px;
  background:linear-gradient(to top,rgba(10,8,6,.92) 22%,rgba(10,8,6,0));color:#fff}
.card .n{font-family:var(--disp);font-size:.85rem;color:var(--gold-lt);letter-spacing:.14em}
.card .t{font-family:var(--disp);font-size:1.02rem;font-weight:500;text-transform:uppercase;
  line-height:1.15;margin:2px 0 4px}
.card .s{font-size:.76rem;line-height:1.45;color:#D8CFC2;font-weight:300}

/* counters */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;text-align:center}
.stat .num{font-family:var(--disp);font-size:clamp(3rem,7vw,5rem);color:var(--gold);line-height:1}
.stat .lab{font-family:var(--disp);font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.chip{font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--body);
  border:1px solid var(--line);border-radius:100px;padding:7px 15px;background:#fff}

/* artists */
.faces{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:30px 22px;text-align:center}
.face img,.face .mono{width:100%;aspect-ratio:1;border-radius:50%;object-fit:cover;
  background:var(--sand);border:1px solid var(--line)}
.face .mono{display:flex;align-items:center;justify-content:center;font-family:var(--disp);
  font-size:2rem;color:var(--gold);letter-spacing:.04em}
.face .nm{font-family:var(--disp);font-size:1rem;text-transform:none;margin:14px 0 2px;color:var(--ink)}
.face .co{font-size:.8rem;color:var(--muted)}

.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:28px 30px}
.person{text-align:center}
.person img,.person .mono{width:190px;height:190px;margin:0 auto;border-radius:50%;object-fit:cover;
  background:var(--sand);border:1px solid var(--line)}
.person .mono{display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:2.4rem;color:var(--gold)}
.person h3{margin:18px 0 2px;text-transform:none;font-size:1.15rem}
.person .co{font-size:.8rem;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:4px}
.person .song{font-family:var(--disp);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px}

/* accordions */
details.acc{background:var(--cream);border:1px solid var(--line);border-radius:100px;
  margin:9px 0;text-align:left;overflow:hidden}
details.acc[open]{border-radius:16px;background:#fff}
details.acc>summary{list-style:none;cursor:pointer;padding:13px 22px;font-family:var(--disp);
  font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);
  display:flex;justify-content:space-between;align-items:center;gap:12px}
details.acc>summary::-webkit-details-marker{display:none}
details.acc>summary::after{content:"+";font-size:1.15rem;color:var(--muted)}
details.acc[open]>summary::after{content:"–"}
.acc-body{padding:2px 22px 20px;font-size:.92rem;line-height:1.7}
.acc-body dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:.87rem}
.acc-body dt{font-weight:500;color:var(--ink)}
.acc-body dd{margin:0;color:var(--body)}
.acc-body .lnks{display:flex;gap:16px;flex-wrap:wrap}

/* song rows (music page) */
.ep{margin-bottom:clamp(28px,4vw,48px)}
.ep-head{display:flex;align-items:baseline;gap:16px;border-bottom:1px solid var(--line);
  padding-bottom:12px;margin-bottom:22px;flex-wrap:wrap}
.ep-head .k{font-family:var(--disp);font-size:.82rem;letter-spacing:.2em;color:var(--gold)}
.ep-head h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin:0}
.ep-head .d{font-size:.9rem;color:var(--muted);flex:1 1 260px}
.song{display:grid;grid-template-columns:200px minmax(0,1fr);gap:30px;padding:26px 0;
  border-bottom:1px solid var(--line);align-items:start}
.song:last-child{border-bottom:0}
.song .thumb{border-radius:3px;overflow:hidden;background:var(--sand)}
.song h3{margin:0 0 4px;font-size:1.32rem}
.song .who{font-size:.83rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.song p{font-size:.96rem;margin-bottom:16px}
.song .tools{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.78rem;
  letter-spacing:.14em;text-transform:uppercase}
audio{width:100%;max-width:420px;height:38px;margin:6px 0 14px}
.pending{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);border:1px dashed var(--line);border-radius:100px;padding:6px 14px}

/* video grid */
.vids{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:34px 26px}
.vid .frame{position:relative;padding-top:56.25%;background:var(--deep);border-radius:3px;overflow:hidden}
.vid iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vid h3{margin:16px 0 2px;font-size:1.05rem;text-transform:none}
.vid .co{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}

/* misc blocks */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:26px}
.tile{background:#fff;border:1px solid var(--line);border-radius:3px;padding:30px 28px}
.band--cream .tile{background:#fff}
.tile h3{font-size:1.05rem;text-transform:none;margin-bottom:8px}
.tile p{font-size:.93rem;margin:0}
.plats{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:22px}
.plat{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--line);
  border-radius:3px;padding:22px 24px;transition:.18s}
.plat:hover{border-color:var(--gold);transform:translateY(-2px)}
.plat img{width:44px;height:44px;object-fit:contain}
.plat span{font-family:var(--disp);font-size:1rem;text-transform:uppercase;color:var(--ink);letter-spacing:.03em}
blockquote.lyric{border-left:3px solid var(--gold-lt);margin:0;padding:4px 0 4px 24px;
  font-style:italic;font-size:1.1rem;color:var(--ink)}

/* forms */
.form{display:grid;gap:16px;max-width:620px}
.form label{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:6px}
.form input,.form textarea{width:100%;font-family:var(--sans);font-size:.97rem;color:var(--ink);
  background:#fff;border:1px solid var(--line);border-radius:2px;padding:13px 15px}
.form textarea{min-height:150px;resize:vertical}
.form input:focus,.form textarea:focus{outline:2px solid var(--gold-lt);outline-offset:1px}

/* footer */
.foot{background:var(--deep);color:#A79B8B;padding:56px 0 40px;font-size:.86rem}
.foot .wrap{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:center}
.foot a{color:#CFC4B5}
.foot a:hover{color:var(--gold-lt)}
.foot .soc{display:flex;gap:14px}
.foot .soc img{width:26px;height:26px;opacity:.8}
.foot .soc a:hover img{opacity:1}
.note{background:#FFF8E6;border-bottom:1px solid #F0E2BD;color:#7A6320;
  font-size:.78rem;letter-spacing:.06em;text-align:center;padding:9px 16px}

@media(max-width:900px){
  .split{grid-template-columns:1fr}
  .song{grid-template-columns:130px minmax(0,1fr);gap:20px}
  .nav ul{display:none;width:100%;flex-direction:column;gap:2px;padding:8px 0 16px}
  .nav ul.open{display:flex}
  .nav .wrap{flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
  .navtog{display:block}
}
@media(max-width:560px){
  body{font-size:16px}
  .cards{grid-template-columns:repeat(2,1fr);gap:14px}
  .stats{grid-template-columns:1fr;gap:34px}
  .song{grid-template-columns:1fr}
  .song .thumb{max-width:220px}
}

/* world band */
.worldband{position:relative;background:var(--deep) center/cover no-repeat;color:#D8CDBD;overflow:hidden}
.worldband{background-position:center 42%;min-height:640px;display:flex;align-items:center}
.worldband::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,8,6,.80) 0%,rgba(10,8,6,.62) 45%,rgba(10,8,6,.86) 100%)}
.worldband .lede{color:#D8CDBD}
.worldband .wrap{position:relative;z-index:2}
.worldband h2,.worldband .stat .lab{color:#fff}
.worldband .stat .num{color:var(--gold-lt)}
.worldband .chip{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.24);color:#E4DACB}
.worldband .eyebrow{color:var(--gold-lt)}
.split--top{align-items:start}
.plat svg{width:34px;height:34px;flex:0 0 34px;fill:var(--gold)}
.plat:hover svg{fill:var(--ink)}
.foot .soc svg{width:22px;height:22px;fill:#9E9284}
.foot .soc a:hover svg{fill:var(--gold-lt)}
.foot .soc a{display:inline-flex;align-items:center}
a.face{display:block;color:inherit}
a.face:hover .nm{color:var(--gold)}
a.face img,a.face .mono{transition:transform .25s ease,border-color .25s}
a.face:hover img,a.face:hover .mono{transform:translateY(-4px);border-color:var(--gold-lt)}
.person{display:flex;flex-direction:column}
.person .song{min-height:2.7em;display:flex;align-items:center;justify-content:center;
  border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}
@media(max-width:900px){.q-cards{display:none}}

/* SACRED: the arched title lockup is artwork, never type. Do not replace with text. */
.hero-title{margin:0 0 26px;line-height:0}
.hero-title img{width:min(660px,94%);height:auto;
  filter:drop-shadow(0 8px 30px rgba(0,0,0,.6)) drop-shadow(0 2px 6px rgba(0,0,0,.45))}
@media(max-width:560px){.hero-title img{width:100%}}

/* ============================================================
   HOME HERO — the title card. Big on purpose.
   SACRED: .hero-title-image is hero-title-front.png. Never type.
   ============================================================ */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

.hero-cinematic{position:relative;isolation:isolate;overflow:hidden;background:#100C09;
  min-height:min(calc(100vh - 118px),980px);display:flex;flex-direction:column;justify-content:flex-start}
@supports(height:100svh){.hero-cinematic{min-height:min(calc(100svh - 118px),980px)}}
.hero-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  z-index:0;transform:scale(1.075);animation:heroDrift 18s cubic-bezier(.2,.6,.2,1) forwards}
@keyframes heroDrift{to{transform:scale(1)}}
.hero-cinematic::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(18,12,8,.42) 0%,rgba(18,12,8,.10) 26%,rgba(18,12,8,0) 46%)}
.hero-cinematic::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,13,8,0) 40%,rgba(20,13,8,.30) 66%,rgba(20,13,8,.80) 100%)}

.hero-titlewrap{position:relative;z-index:3;width:100%;text-align:center;
  padding:clamp(14px,3.4vh,52px) 0 0;line-height:0}
.hero-title-image{display:block;width:min(97vw,1600px);max-width:1600px;height:auto;margin-inline:auto;
  filter:drop-shadow(0 12px 26px rgba(0,0,0,.55)) drop-shadow(0 3px 8px rgba(0,0,0,.42));
  animation:titleRise 1400ms cubic-bezier(.16,.84,.28,1) both;animation-delay:120ms}
@keyframes titleRise{from{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:none}}

.hero-band{position:relative;z-index:3;margin-top:auto;width:100%;text-align:center;
  padding:clamp(34px,5vw,70px) clamp(20px,4vw,48px) clamp(26px,2.8vw,42px)}
.hero-lede{max-width:1080px;margin:0 auto;color:rgba(246,234,210,.95);
  font-family:Georgia,"Times New Roman",serif;font-style:italic;
  font-size:clamp(15px,1.35vw,25px);line-height:1.4;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.hero-sub{margin:10px 0 0;color:rgba(246,234,210,.82);font-family:Georgia,"Times New Roman",serif;
  font-style:italic;font-size:clamp(13px,.95vw,17px);text-shadow:0 2px 12px rgba(0,0,0,.55)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:26px}
.hero-cta .btn{border-radius:100px;padding:16px 34px}
.hero-cta .btn--light{background:rgba(20,13,8,.42);border-color:rgba(255,236,200,.5);color:#FFF7EA}
.hero-cta .btn--light:hover{background:#fff;color:var(--ink);border-color:#fff}

/* page heroes: more scale so every page feels like the same production */
.hero--page{min-height:clamp(250px,18vw,390px);background-position:center 8%}
/* The carved arch is part of every interior hero photo and always sits on the left.
   Hero height now tracks viewport WIDTH, so the crop is the same shape at every size and
   the top of the arch is never sliced off on a wide screen. Above 1000px the page name
   moves into the right half so the two never overlap. */
/* ------------------------------------------------------------------ hero arches
   Terry framed the carved title differently in every photo. Measured off the
   sources, as a fraction of each image:

       page      arch width   left edge   centre y
       music        0.31        0.08        0.125
       listen       0.27        0.10        0.310
       podcast      0.30        0.10        0.290
       watch        0.32        0.10        0.260
       contact      0.29        0.09        0.205

   Left alone, Listen's arch renders 18% smaller than Watch's and they sit at
   different heights. Each photo is scaled up to bring every arch to the same
   0.32 of the viewport, then positioned so all five land at the same left edge
   and the same height. Watch is the largest so it sets the target and stays at
   100% — nothing is ever scaled down, which would leave a gap.

   Only above 1000px: below that the hero is tall relative to the photo and
   plain `cover` is what keeps it filled.

   IF A HERO PHOTO IS EVER REPLACED, ITS THREE NUMBERS MUST BE RE-MEASURED. */
.hero--music  {background-position:center 0%}
.hero--listen {background-position:center 32%}
.hero--podcast{background-position:center 25%}
.hero--watch  {background-position:center 26%}
.hero--contact{background-position:center 14%}

@media(min-width:1000px){
  .hero--music  {background-size:103.2% auto;background-position:0%  0%}
  .hero--listen {background-size:118.5% auto;background-position:12% 22.5%}
  .hero--podcast{background-size:106.7% auto;background-position:25% 23%}
  .hero--watch  {background-size:100%   auto;background-position:50% 18%}
  .hero--contact{background-size:110.3% auto;background-position:9%  12%}
}

@media(min-width:1000px){
  .hero--page.hero--center{justify-content:flex-end}
  .hero--page .wrap{max-width:min(62vw,860px);margin-left:0;margin-right:clamp(16px,3vw,72px)}
  .hero--page h1{font-size:clamp(1.9rem,3.4vw,3.4rem)}
}
.hero--page h1{letter-spacing:.06em}

@media(max-width:900px){
  .hero-cinematic{min-height:auto}
  .hero-titlewrap{padding-top:clamp(56px,9vh,90px)}
  .hero-title-image{width:100vw;max-width:100vw}
  .hero-band{padding-top:clamp(90px,26vh,220px)}
  .hero-lede{font-size:clamp(14px,3.5vw,19px)}
}
@media(prefers-reduced-motion:reduce){
  .hero-backdrop{animation:none;transform:none}
  .hero-title-image{animation:none}
}

/* ===================== PODCAST ===================== */
.statstrip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:3px;overflow:hidden;margin-top:44px}
.statstrip div{background:#fff;padding:26px 18px;text-align:center}
.statstrip .v{font-family:var(--disp);font-size:clamp(1.6rem,3vw,2.3rem);color:var(--gold);line-height:1}
.statstrip .k{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:9px}
.band--cream .statstrip div{background:#fff}

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:48px;position:relative}
.step{padding:0 26px;border-left:1px solid var(--line)}
.step:first-child{padding-left:0;border-left:0}
.step .n{font-family:var(--disp);font-size:2.6rem;line-height:1;color:var(--gold-lt)}
.step h3{margin:14px 0 2px;font-size:1.12rem}
.step .role{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}
.step p{font-size:.9rem;line-height:1.68;margin:0}

.pull{border-left:3px solid var(--gold-lt);padding:6px 0 6px 26px;margin:46px 0 0;
  font-family:Georgia,"Times New Roman",serif;font-style:italic;
  font-size:clamp(1.05rem,1.5vw,1.32rem);line-height:1.55;color:var(--ink);max-width:44em}
.pull cite{display:block;font-style:normal;font-family:var(--sans);font-size:.7rem;
  letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:14px}

.epi{border-top:1px solid var(--line);padding:38px 0}
.epi:last-of-type{border-bottom:1px solid var(--line)}
.epi-grid{display:grid;grid-template-columns:150px minmax(0,1.25fr) minmax(0,.85fr);gap:34px;align-items:start}
.epi-no{font-family:var(--disp);font-size:3.2rem;line-height:.9;color:var(--gold-lt)}
.epi-no small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);margin-top:8px}
.epi h3{font-size:1.5rem;margin:0 0 12px}
.epi p{font-size:.95rem;margin:0}
.epi-note{margin-top:16px;font-size:.86rem;color:var(--muted);border-left:2px solid var(--line);padding-left:16px}
.epi-songs{list-style:none;margin:0;padding:0}
.epi-songs li{display:flex;justify-content:space-between;gap:14px;align-items:baseline;
  padding:9px 0;border-bottom:1px dotted var(--line);font-size:.9rem}
.epi-songs li:last-child{border-bottom:0}
.epi-songs a{color:var(--ink)}
.epi-songs a:hover{color:var(--gold)}
.epi-songs .th{font-family:var(--disp);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);white-space:nowrap}
.epi-clock{display:flex;gap:20px;margin-top:16px;font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}
.epi-clock b{font-family:var(--disp);font-weight:500;color:var(--ink);letter-spacing:.04em}

@media(max-width:900px){
  .steps{grid-template-columns:repeat(2,1fr);gap:34px 0}
  .step{padding:0 20px}
  .step:nth-child(odd){padding-left:0;border-left:0}
  .epi-grid{grid-template-columns:64px minmax(0,1fr);gap:20px}
  .epi-songs{grid-column:1/-1;margin-top:6px}
  .statstrip{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .steps{grid-template-columns:1fr;gap:30px}
  .step{padding-left:0;border-left:0}
}

/* episode artwork — reuses the song story cards, no new assets */
.epi-art img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:3px;
  background:var(--deep);transition:transform .4s ease}
.epi-art a:hover img{transform:translateY(-3px)}
.epi-art .epi-no{margin-top:14px;font-size:2.4rem;text-align:center}
.epi-art .epi-no small{margin-top:4px}
@media(max-width:900px){
  .epi-art{display:flex;gap:14px;align-items:center}
  .epi-art img{width:76px}
  .epi-art .epi-no{margin-top:0;text-align:left;font-size:1.9rem}
}

/* "start here" audio panel at the head of the story arc */
.listen-first{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);
  align-items:center;background:#fff;border:1px solid var(--line);border-radius:3px;
  padding:clamp(26px,3.4vw,44px);margin-bottom:52px}
.listen-first h3{font-size:clamp(1.3rem,2.2vw,1.9rem);text-transform:uppercase;margin:0 0 10px}
.listen-first p{font-size:.95rem;margin:0}
.listen-first audio{width:100%;max-width:none;height:44px;margin:0}
.listen-first .meta{display:flex;gap:18px;margin-top:14px;font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.listen-first .meta b{font-family:var(--disp);font-weight:500;color:var(--ink);letter-spacing:.04em}
@media(max-width:900px){.listen-first{grid-template-columns:1fr;gap:22px}}
.form-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
altcha-widget{--altcha-border-width:1px;--altcha-border-radius:2px;--altcha-color-border:var(--line);
  --altcha-max-width:280px;font-family:var(--sans)}
.band-photo{width:100%;height:auto;border-radius:3px;box-shadow:0 26px 60px rgba(0,0,0,.45)}
.band--dark .lede strong{color:#fff}

/* Artists: uniform 3-item cards, tighter run-in to the roster */
.band--cream + .band--tight{padding-top:clamp(16px,1.8vw,26px)}
.head-row--tight{margin-bottom:30px}
.roster{gap:30px 30px}
.person .acc:last-of-type{margin-bottom:0}
.band--cream:has(+ .band--tight){padding-bottom:clamp(18px,2vw,30px)}
.head-row--tight .head-note{align-self:flex-end;padding-bottom:6px}

/* trailing row of the roster centres instead of leaving an empty corner cell */
.roster{display:flex;flex-wrap:wrap;justify-content:center;gap:34px 30px}
.roster .person{flex:0 1 320px;max-width:340px}
/* El Guapo sits directly under the roster, part of the same block */
.band--tight + .band--dark{padding-top:clamp(24px,2.6vw,36px)}
@media(max-width:900px){.roster .person{flex:0 1 260px}}
@media(max-width:560px){.roster .person{flex:1 1 100%;max-width:none}}
/* names wrap to two lines on the duet card — reserve the space so rows stay aligned */
.person h3{min-height:2.5em;display:flex;align-items:flex-end;justify-content:center;text-align:center}
/* artist socials live inside the Bio accordion, not as a fourth pill */
.acc-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;padding-top:14px;
  border-top:1px solid var(--line)}
.acc-links a{font-size:.76rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.acc-links a:hover{color:var(--ink)}

/* Where to Listen — platform detail, Voice Followed mark */
.vf-logo{width:min(300px,80%);height:auto;margin:8px 0 18px}
.vf-tag{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:1.02rem;
  color:var(--gold);margin:0}
.plat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:30px}
.plat-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:26px 24px;
  display:flex;flex-direction:column}
.plat-card h3{font-size:1.08rem;text-transform:none;margin-bottom:8px}
.plat-card p{font-size:.9rem;margin:0 0 18px}
.plat-card .btn{align-self:flex-start;margin-top:auto;padding:12px 24px;font-size:.72rem}
.plat-card--pending{background:var(--cream)}
.plat-card--pending .pending{align-self:flex-start;margin-top:auto}
@media(max-width:700px){.plat-grid{grid-template-columns:1fr}}
/* who is Voice Followed */
.vf-note{background:var(--cream);border-left:3px solid var(--gold);border-radius:3px;
  padding:22px 24px;margin-bottom:26px}
.vf-note p{margin:0;font-size:.98rem;line-height:1.7}
.vf-note strong{color:var(--ink)}
.vf-note-sub{margin-top:10px !important;font-size:.84rem !important;color:var(--muted)}
/* the band sits in the home roster alongside the voices */
.face--band .nm{color:var(--gold)}
.face--band img{border-color:var(--gold-lt)}

/* the home roster IS Voice Followed — say so */
.vf-intro{text-align:center;max-width:760px;margin:0 auto 54px}
.vf-logo-inline{width:min(260px,62%);height:auto;margin:2px auto 22px;display:block}
.vf-intro .lede{margin-bottom:18px}
.vf-intro .head-note{display:inline-block}
/* The Question reads as a statement, not a column beside a grid */
.q-beats{font-family:var(--disp);font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.7;
  color:var(--ink);letter-spacing:.02em;margin:26px 0 28px}

/* the arched mark, for heroes whose photo has no carved title */
.hero-mark{display:block;width:min(420px,72%);height:auto;margin:0 auto 14px;
  filter:drop-shadow(0 6px 20px rgba(0,0,0,.55))}
@media(max-width:700px){.hero-mark{width:min(300px,84%)}}

/* Where to Listen — the platform row. Spotify, YouTube and Bandcamp used to be printed into
   Terry's photograph; they are painted out of the image now and drawn here instead, so they
   are real links, they scale cleanly, and Apple Music could join them. */
.hero-plats{display:flex;gap:clamp(10px,1.2vw,20px);flex-wrap:wrap;margin-top:22px;
  justify-content:center}
.hero-plats a{display:inline-flex;align-items:center;justify-content:center;
  width:clamp(54px,5.5vw,96px);height:clamp(54px,5.5vw,96px);border-radius:50%;
  background:rgba(20,13,8,.46);border:1px solid rgba(255,236,200,.42);
  transition:background .18s,border-color .18s,transform .18s}
.hero-plats a:hover{background:rgba(255,255,255,.94);border-color:#fff;transform:translateY(-3px)}
.hero-plats svg{width:52%;height:52%;fill:#FFF3E0;transition:fill .18s}
.hero-plats a:hover svg{fill:var(--ink)}
