/* ==========================================================================
   Untold Cost — stylesheet
   Rebuilt: single ordered sheet, no duplicate/conflicting blocks.
   Sections: 1 tokens · 2 base · 3 header · 4 buttons · 5 hero · 6 strips
             7 sections · 8 episodes · 9 show · 10 guest+forms · 11 bands
             12 footer · 13 motion · 14 responsive
   ========================================================================== */

@font-face{
  font-family:'Archivo';
  src:url('archivo-var.woff2') format('woff2-variations'),
      url('archivo-var.woff2') format('woff2');
  font-weight:400 900;
  font-stretch:62% 125%;
  font-style:normal;
  font-display:swap;
}
@font-face{
  font-family:'Source Serif 4';
  src:url('sourceserif4-var.woff2') format('woff2-variations'),
      url('sourceserif4-var.woff2') format('woff2');
  font-weight:300 600;
  font-style:normal;
  font-display:swap;
}

/* ---------- 1. tokens ---------- */
:root{
  --black:#000000;
  --panel:#141414;
  --panel-2:#0b0b0b;
  --card:#0d0d0d;
  --line:#2a2a2a;
  --line-soft:#1c1c1c;
  --paper:#EDEAE4;
  --text:#C9C5BE;
  --muted:#8C8C8C;
  --faint:#5c5c5c;
  --red:#FF2B33;
  --red-dim:#B31D24;

  --display:'Archivo','Roboto','Helvetica Neue',Arial,sans-serif;
  --body:'Source Serif 4','Noto Serif',Georgia,'Times New Roman',serif;

  --gutter:clamp(1.15rem, 4.5vw, 5rem);
  --maxw:1240px;
  --radius:14px;
  --header-h:68px;
}

/* ---------- 2. base ---------- */
*,*::before,*::after{box-sizing:border-box;}

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 12px);
  overflow-x:hidden;              /* kills sideways scroll on phones */
}

body{
  margin:0;
  background:var(--black);
  color:var(--paper);
  font-family:var(--body);
  font-size:1.0625rem;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-synthesis:none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
  min-height:100vh;
  min-height:100dvh;              /* mobile address-bar safe */
}

main{flex:1 0 auto;}

a{color:inherit;}
img{max-width:100%;height:auto;display:block;}

/* every grid/flex child may shrink — stops content pushing the page wide */
.wrap > *,
.hero-grid > *,
.show-grid > *,
.guest-grid > *,
.news-in > *,
.cta-in > *,
.foot-in > *{min-width:0;}

.wrap{
  width:100%;
  max-width:var(--maxw);
  margin-inline:auto;
  padding-inline:var(--gutter);
}

h1,h2,h3,.display{
  font-family:var(--display);
  font-stretch:112%;
  font-weight:800;
  line-height:1;
  letter-spacing:-0.02em;
  margin:0;
  text-wrap:balance;
  overflow-wrap:break-word;
}

p{overflow-wrap:break-word;}

:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px;}

.skip{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--red);color:#fff;padding:0.7rem 1.1rem;
  font-family:var(--display);font-weight:700;text-decoration:none;border-radius:0 0 8px 0;
}
.skip:focus{left:0;}

/* ---------- 3. header ---------- */
.masthead{
  position:sticky;top:0;z-index:60;
  background:rgba(0,0,0,0.92);
  -webkit-backdrop-filter:blur(14px);   /* iOS Safari + Chrome iOS */
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
@supports ((backdrop-filter:blur(14px)) or (-webkit-backdrop-filter:blur(14px))){
  .masthead{background:rgba(0,0,0,0.72);}
}

.masthead-in{
  display:flex;align-items:center;justify-content:space-between;
  gap:1rem;
  min-height:var(--header-h);
  padding-block:0.75rem;
}

.wordmark{
  display:flex;align-items:center;gap:0.6rem;
  text-decoration:none;min-width:0;
}
.wordmark b{
  display:block;
  font-family:var(--display);font-stretch:106%;
  font-weight:800;font-size:1rem;letter-spacing:-0.01em;line-height:1.15;
}
.wordmark span{
  display:block;font-size:0.75rem;color:var(--muted);line-height:1.25;margin-top:1px;
}

/* Untold Cost mark in the wordmark */
.mark{
  width:42px;height:42px;flex:none;display:block;
}
@media(max-width:560px){ .mark{width:34px;height:34px;} }

.dot{
  width:9px;height:9px;border-radius:50%;
  background:var(--red);flex:none;
}

nav.primary{
  display:flex;align-items:center;gap:1.7rem;
  font-family:var(--display);font-size:0.9375rem;font-weight:600;
}
nav.primary a{
  position:relative;
  text-decoration:none;color:var(--muted);
  padding-block:0.35rem;
  transition:color .18s ease;
}
nav.primary a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--red);transform:scaleX(0);transform-origin:left;
  transition:transform .22s ease;
}
nav.primary a.here{color:var(--paper);}
nav.primary a.here::after{transform:scaleX(1);}

/* hamburger — hidden on desktop, shown under 880px */
.nav-toggle{
  display:none;
  width:44px;height:44px;flex:none;
  align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--line);border-radius:10px;
  cursor:pointer;padding:0;
}
.nav-toggle-bars{display:block;position:relative;width:18px;height:12px;}
.nav-toggle-bars span{
  position:absolute;left:0;width:100%;height:2px;border-radius:2px;
  background:var(--paper);transition:transform .22s ease, opacity .18s ease;
}
.nav-toggle-bars span:nth-child(1){top:0;}
.nav-toggle-bars span:nth-child(2){top:5px;}
.nav-toggle-bars span:nth-child(3){top:10px;}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] .nav-toggle-bars span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* ---------- 4. buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--display);font-weight:700;font-size:0.9375rem;
  line-height:1;
  min-height:48px;                       /* comfortable tap target */
  padding:0.9rem 1.7rem;border-radius:999px;
  text-decoration:none;border:1.5px solid transparent;
  cursor:pointer;text-align:center;
  transition:background .18s ease, color .18s ease, border-color .18s ease,
             transform .18s ease, box-shadow .18s ease;
}
.btn-red{background:var(--red);color:#fff;box-shadow:0 6px 22px -10px rgba(255,43,51,0.7);}
.btn-ghost{border-color:var(--line);color:var(--paper);background:transparent;}
.btn:disabled{opacity:0.6;cursor:default;}

/* ---------- 5. hero ---------- */
.hero-shell{position:relative;overflow:clip;}
.hero-shell::before{
  content:"";position:absolute;z-index:0;
  top:-25%;left:-10%;width:70%;height:130%;
  background:radial-gradient(closest-side, rgba(255,43,51,0.16), transparent 70%);
  pointer-events:none;
}
.hero-shell > *{position:relative;z-index:1;}

.hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,0.78fr);
  gap:clamp(2rem,5vw,4.5rem);
  align-items:center;
  padding-block:clamp(2.75rem,7vw,6rem) clamp(2.5rem,6vw,4rem);
}

.kicker{
  display:inline-flex;align-items:center;gap:0.55rem;
  font-family:var(--display);font-weight:600;font-size:0.875rem;
  color:var(--muted);margin:0 0 1.5rem;
}

.hero-copy h1{
  font-size:clamp(2.15rem,6.6vw,5.6rem);
  font-weight:900;font-stretch:116%;
  max-width:15ch;
}
.hero-copy h1 em{font-style:normal;color:var(--red);}

.hero-sub{
  margin:1.6rem 0 0;
  max-width:52ch;
  font-size:clamp(1.0625rem,1.5vw,1.1875rem);
  color:var(--text);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:0.8rem;margin-top:2.2rem;}

.hero-portrait{position:relative;}
.hero-portrait img{
  width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;
  border-radius:16px;
  filter:saturate(0.94) contrast(1.03);
}
.hero-portrait::before{
  content:"";position:absolute;inset:0;border-radius:16px;
  border:1px solid rgba(255,255,255,0.09);
  box-shadow:inset 0 -70px 90px -40px rgba(0,0,0,0.85);
  pointer-events:none;z-index:2;
}
.hero-portrait::after{
  content:"";position:absolute;
  inset:14px -14px -14px 14px;
  border:1.5px solid var(--red);border-radius:16px;
  z-index:0;pointer-events:none;
}
.portrait-tag{
  position:absolute;left:14px;bottom:14px;z-index:3;
  display:inline-flex;align-items:center;gap:0.5rem;
  background:rgba(0,0,0,0.6);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,0.12);
  padding:0.45rem 0.85rem;border-radius:999px;
  font-family:var(--display);font-weight:600;font-size:0.8125rem;line-height:1;
}

/* ---------- about page ---------- */
.about-grid{
  display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:start;
}
.about-portrait{position:relative;position:sticky;top:calc(var(--header-h) + 2rem);}
.about-portrait img{
  width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 18%;
  border-radius:16px;filter:saturate(0.94) contrast(1.03);
}
.about-portrait::before{
  content:"";position:absolute;inset:0;border-radius:16px;
  border:1px solid rgba(255,255,255,0.09);
  box-shadow:inset 0 -70px 90px -40px rgba(0,0,0,0.85);
  pointer-events:none;z-index:2;
}
.about-portrait::after{
  content:"";position:absolute;inset:14px -14px -14px 14px;
  border:1.5px solid var(--red);border-radius:16px;z-index:0;pointer-events:none;
}
.about-copy p{margin:0 0 1.2rem;color:var(--text);max-width:62ch;}
.about-copy .proof{margin-top:2rem;}
.about-copy .btn + .btn{margin-left:0.7rem;}

@media (max-width:820px){
  .about-grid{grid-template-columns:minmax(0,1fr);gap:2.25rem;}
  .about-portrait{position:relative;top:auto;max-width:400px;margin-inline:auto;width:100%;}
  .about-portrait::after{inset:12px -12px -12px 12px;}
}
@media (max-width:600px){
  .about-copy .btn{width:100%;}
  .about-copy .btn + .btn{margin-left:0;margin-top:0.7rem;}
}

/* inner page header */
.page-head{padding-block:clamp(2.5rem,6vw,5rem) clamp(1.5rem,3vw,2.5rem);}
.page-head h1{font-size:clamp(2.25rem,6vw,4.75rem);font-weight:900;font-stretch:114%;}
.page-head p{margin:1.2rem 0 0;max-width:52ch;color:var(--text);font-size:1.0625rem;}

/* ---------- 6. status strip ---------- */
.status{border-block:1px solid var(--line);}
.status-in{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  margin:0;
}
.status-cell{padding:1.4rem 1.6rem;border-left:1px solid var(--line);min-width:0;}
.status-cell:first-child{border-left:0;padding-left:0;}
.status-cell:last-child{padding-right:0;}
.status-cell dt{
  font-family:var(--display);font-weight:600;font-size:0.8125rem;
  color:var(--muted);margin-bottom:0.35rem;
}
.status-cell dd{
  margin:0;font-family:var(--display);font-weight:700;
  font-size:clamp(1rem,1.6vw,1.1875rem);letter-spacing:-0.01em;line-height:1.25;
}
.status-cell dd a{text-decoration:none;border-bottom:2px solid var(--red-dim);}

/* ---------- 7. sections ---------- */
section{padding-block:clamp(2.75rem,6.5vw,5.5rem);}
.section-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:1.5rem 2rem;flex-wrap:wrap;margin-bottom:2.2rem;
}
.section-head h2{font-size:clamp(1.9rem,4.6vw,3.25rem);}
.section-head p{margin:0;color:var(--muted);max-width:34ch;}
.section-head .num{
  display:block;
  font-family:var(--display);font-weight:800;
  font-size:0.8125rem;color:var(--red);letter-spacing:0.1em;
  margin-bottom:0.6rem;
}

/* ---------- 8. episodes ---------- */
.ep-grid{
  display:grid;
  /* min() stops a fixed 310px column overflowing a 320px phone */
  grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));
  gap:1.5rem;
}
.ep-card{
  display:flex;flex-direction:column;
  text-decoration:none;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--card);
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.ep-thumb{position:relative;aspect-ratio:16/9;background:#111;overflow:hidden;}
.ep-thumb img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .45s cubic-bezier(.2,.7,.3,1);
}
.ep-badge{
  position:absolute;top:12px;left:12px;z-index:2;
  background:var(--red);color:#fff;
  font-family:var(--display);font-weight:700;font-size:0.75rem;line-height:1;
  padding:0.38rem 0.62rem;border-radius:5px;
}
.ep-play{
  position:absolute;inset:0;display:grid;place-items:center;
  background:rgba(0,0,0,0.28);opacity:0;transition:opacity .2s ease;
}
.ep-play span{width:56px;height:56px;border-radius:50%;background:var(--red);display:grid;place-items:center;}
.ep-play span::after{
  content:"";border-left:16px solid #fff;
  border-top:10px solid transparent;border-bottom:10px solid transparent;margin-left:4px;
}
.ep-body{padding:1.15rem 1.25rem 1.35rem;}
.ep-body h3{
  font-family:var(--display);font-weight:700;font-size:1.125rem;
  line-height:1.2;letter-spacing:-0.015em;margin:0 0 0.4rem;
  transition:color .2s ease;
}
.ep-body p{margin:0;color:var(--muted);font-size:0.9063rem;line-height:1.45;}

/* upcoming episode — readable instead of half-faded */
.ep-card.soon{background:#0a0a0a;border-style:dashed;border-color:#303030;}
.ep-card.soon .ep-badge{background:#2a2a2a;color:var(--text);}
.ep-card.soon .ep-body h3{color:var(--muted);}
.title-card{
  position:absolute;inset:0;
  display:grid;place-items:center;
  padding:1.3rem;
  background:
    radial-gradient(120% 90% at 15% 10%, rgba(255,43,51,0.18), transparent 60%),
    repeating-linear-gradient(135deg,#0f0f0f 0 10px,#131313 10px 20px);
}
.title-card i{
  font-style:normal;color:var(--red);
  font-family:var(--display);font-weight:700;font-size:0.8125rem;
  letter-spacing:0.06em;
  border:1px solid var(--red-dim);border-radius:999px;
  padding:0.4rem 0.9rem;background:rgba(0,0,0,0.35);
}

/* ---------- video embed ---------- */
.embed-wrap{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--card);
  transition:border-color .25s ease, box-shadow .25s ease;
}
.embed-frame{position:relative;aspect-ratio:16/9;background:#0d0d0d;}
.embed-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.embed-frame.lite{cursor:pointer;overflow:hidden;}
.embed-frame.lite img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.embed-play{
  position:absolute;inset:0;width:100%;height:100%;
  display:grid;place-items:center;
  background:rgba(0,0,0,0.25);border:0;cursor:pointer;
  transition:background .2s ease;
}
.embed-play span{
  width:72px;height:72px;border-radius:50%;background:var(--red);
  display:grid;place-items:center;
  box-shadow:0 10px 34px -12px rgba(255,43,51,0.9);
  transition:transform .2s ease;
}
.embed-play span::after{
  content:"";border-left:22px solid #fff;
  border-top:13px solid transparent;border-bottom:13px solid transparent;margin-left:6px;
}
@media (max-width:600px){.embed-play span{width:60px;height:60px;}}
.embed-meta{padding:1.2rem 1.3rem 1.4rem;}
.embed-meta h3{
  font-family:var(--display);font-weight:700;font-size:clamp(1.1rem,2.4vw,1.35rem);
  line-height:1.2;letter-spacing:-0.015em;margin:0 0 0.4rem;
}
.embed-meta p{margin:0;color:var(--muted);font-size:0.9375rem;max-width:70ch;}

/* ---------- single episode page ---------- */
.ep-kicker{
  margin:0 0 1rem;font-family:var(--display);font-weight:600;
  font-size:0.8125rem;color:var(--muted);letter-spacing:0.04em;
}
.ep-kicker a{color:var(--red);text-decoration:none;}
.ep-article{max-width:62ch;margin-top:clamp(1.75rem,4vw,2.5rem);}
.ep-article p{margin:0 0 1.15rem;color:var(--text);}
.ep-actions{display:flex;flex-wrap:wrap;gap:0.8rem;margin-top:1.8rem;}
@media (max-width:600px){.ep-actions .btn{width:100%;}}

/* ---------- pull quote ---------- */
.pullquote{border-block:1px solid var(--line);}
.pullquote blockquote{
  margin:0;padding-block:clamp(2.5rem,6vw,5rem);
  font-family:var(--display);font-weight:800;font-stretch:106%;
  font-size:clamp(1.45rem,4vw,2.85rem);
  line-height:1.08;letter-spacing:-0.02em;max-width:22ch;
}
.pullquote blockquote span{color:var(--red);}
.pullquote cite{
  display:block;margin-top:1.3rem;font-style:normal;
  font-family:var(--body);font-size:0.9688rem;color:var(--muted);
}

/* ---------- 9. the show ---------- */
.show-grid{
  display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:clamp(2rem,5vw,4.5rem);align-items:start;
}
.show-copy p{margin:0;max-width:60ch;color:var(--text);}
.show-copy p + p{margin-top:1.15rem;}

.ten{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(1.35rem,3vw,2.1rem);
}
.ten h3{font-size:1.4rem;margin-bottom:0.6rem;}
.ten > p{color:var(--muted);margin:0 0 1.3rem;font-size:0.9688rem;}
.ten ol{margin:0;padding-left:1.4rem;color:var(--text);font-size:0.9688rem;}
.ten li{margin-block:0.55rem;padding-left:0.15rem;}
.ten li::marker{color:var(--red);font-family:var(--display);font-weight:700;}

/* host band */
.host{border-top:1px solid var(--line);background:var(--panel-2);}
.host-in{padding-block:clamp(2.75rem,6vw,4.5rem);}
.host-copy h2{font-size:clamp(1.7rem,3.8vw,2.6rem);margin-bottom:1.1rem;}
.host-copy p{margin:0 0 1rem;color:var(--text);max-width:62ch;}
.host-copy .num{
  display:block;font-family:var(--display);font-weight:800;
  font-size:0.8125rem;color:var(--red);letter-spacing:0.1em;margin-bottom:0.7rem;
}

.proof{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1.25rem;margin-top:1.8rem;max-width:520px;
  border-top:1px solid var(--line);padding-top:1.4rem;
}
.proof b{display:block;font-family:var(--display);font-weight:800;font-size:1.4rem;line-height:1.1;}
.proof span{display:block;color:var(--muted);font-size:0.8438rem;margin-top:0.2rem;}

/* day job */
.dayjob{border-top:1px solid var(--line);}
.dayjob-in{padding-block:clamp(2.75rem,6vw,4.5rem);}
.chip{
  display:inline-block;font-family:var(--display);font-weight:700;font-size:0.75rem;
  letter-spacing:0.08em;border:1px solid var(--red-dim);color:var(--red);
  padding:0.32rem 0.7rem;border-radius:5px;margin-bottom:1.1rem;
}
.dayjob-in h2{font-size:clamp(1.7rem,3.8vw,2.6rem);max-width:24ch;}
.dayjob-in p{margin:1.1rem 0 0;color:var(--text);max-width:62ch;}
.disclaimer{
  margin-top:2rem;padding:0.9rem 1.2rem;border-left:2px solid var(--line);
  color:var(--faint);font-size:0.875rem;max-width:62ch;
}

/* ---------- 10. guest page + forms ---------- */
.guest-grid{
  display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);
  gap:clamp(2.25rem,5vw,5rem);align-items:start;
}

.expect{border-top:2px solid var(--red);padding-top:1.4rem;}
.expect-item{padding-block:1.15rem;border-bottom:1px solid var(--line);}
.expect-item h4{
  font-family:var(--display);font-weight:700;font-size:1.0625rem;
  margin:0 0 0.3rem;letter-spacing:-0.01em;
}
.expect-item p{margin:0;color:var(--muted);font-size:0.9688rem;}

.contact-block{
  margin-top:1.8rem;font-size:0.9688rem;
  display:grid;gap:0.9rem;
}
.contact-block span{display:block;color:var(--muted);font-size:0.8125rem;line-height:1.4;}
.contact-block a{
  color:var(--red);text-decoration:none;
  font-family:var(--display);font-weight:600;
  overflow-wrap:anywhere;
}

.field{margin-bottom:1.15rem;}
.field:last-of-type{margin-bottom:0;}
.row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.1rem;}

label{
  display:block;font-family:var(--display);font-weight:600;font-size:0.9375rem;
  margin-bottom:0.4rem;
}
.hint{
  display:block;color:var(--muted);font-size:0.875rem;font-weight:400;
  font-family:var(--body);line-height:1.45;margin:-0.15rem 0 0.45rem;
}

input,textarea,select{
  width:100%;
  background:#101010;border:1px solid var(--line);border-radius:9px;
  color:var(--paper);font-family:var(--body);
  font-size:1rem;                      /* 16px+ — stops iOS zoom on focus */
  line-height:1.4;
  padding:0.8rem 1rem;min-height:48px;
  transition:border-color .16s ease, background .16s ease;
}
input::placeholder,textarea::placeholder{color:var(--faint);}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--red);background:#141414;}
textarea{min-height:132px;resize:vertical;line-height:1.55;}

select{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  padding-right:2.6rem;
  background-image:
    linear-gradient(45deg,transparent 50%,var(--muted) 50%),
    linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 1.25rem) center, calc(100% - 0.9rem) center;
  background-size:7px 7px, 7px 7px;
  background-repeat:no-repeat;
}
select option{background:#101010;color:var(--paper);}

.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);opacity:0;}

.form-foot{display:flex;align-items:center;gap:1rem 1.2rem;flex-wrap:wrap;margin-top:1.6rem;}
.form-note{color:var(--muted);font-size:0.9063rem;margin:0;max-width:38ch;}
.status-msg{
  margin-top:1.1rem;padding:0.85rem 1.05rem;border-radius:9px;
  font-size:0.9688rem;display:none;
}
.status-msg.ok{display:block;background:rgba(255,43,51,0.09);border:1px solid var(--red-dim);color:var(--paper);}
.status-msg.err{display:block;background:#1a1a1a;border:1px solid var(--line);color:#E8B4B7;}

/* ---------- 11. bands ---------- */
.news{border-top:1px solid var(--line);background:var(--panel-2);}
.news-in{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(1.8rem,4vw,4rem);align-items:center;
  padding-block:clamp(2.5rem,5.5vw,4rem);
}
.news-in h2{font-size:clamp(1.6rem,3.6vw,2.4rem);max-width:18ch;}
.news-in p{margin:0.9rem 0 0;color:var(--muted);max-width:46ch;}
.news-form .row{grid-template-columns:minmax(0,1fr) auto;gap:0.7rem;align-items:end;}
.news-form .field{margin-bottom:0;}
.news-form .btn{width:100%;}
.news-note{margin:0.85rem 0 0;color:var(--faint);font-size:0.8438rem;}

.cta-band{border-top:1px solid var(--line);background:var(--panel-2);}
.cta-in{
  display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem 2rem;flex-wrap:wrap;
  padding-block:clamp(2.25rem,4.5vw,3.5rem);
}
.cta-in h2{font-size:clamp(1.6rem,3.6vw,2.6rem);max-width:20ch;}
.cta-in p{margin:0.7rem 0 0;color:var(--muted);max-width:46ch;}

/* ---------- 12. footer ---------- */
footer{border-top:1px solid var(--line);padding-block:2.75rem 3.25rem;margin-top:auto;}
.foot-in{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);
  gap:2.5rem clamp(2rem,5vw,4rem);
  align-items:start;
}
.foot-brand b{font-family:var(--display);font-weight:800;font-size:1.0625rem;display:block;}
.foot-brand p{margin:0.3rem 0 0;color:var(--muted);font-size:0.9063rem;}

.foot-cols{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:2rem;}
.foot-heading{
  font-family:var(--display);font-weight:600;font-size:0.8125rem;
  color:var(--faint);margin:0 0 0.8rem;
}
.foot-nav{display:flex;flex-direction:column;gap:0.5rem;font-family:var(--display);font-weight:600;font-size:0.9375rem;}
.foot-nav a{text-decoration:none;color:var(--muted);transition:color .18s ease;overflow-wrap:anywhere;}
.foot-legal{grid-column:1 / -1;margin:0.5rem 0 0;color:var(--faint);font-size:0.8438rem;}

.host-socials{margin-top:1.3rem;}
.socials{display:flex;gap:0.6rem;flex-wrap:wrap;}
.socials a{
  width:44px;height:44px;border-radius:50%;flex:none;
  display:grid;place-items:center;
  border:1px solid var(--line);color:var(--muted);
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}
.socials svg{width:18px;height:18px;fill:currentColor;display:block;}

/* ---------- 13. motion ---------- */
/* Reveal only runs when JS is alive. If a script blocker or an extension
   stops the observer, .reveal never gets .in — so without html.js the
   content stays fully visible instead of disappearing. */
html.js .reveal{
  opacity:0;transform:translateY(20px);
  transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);
}
html.js .reveal.in{opacity:1;transform:none;}

html.js .dot{
  box-shadow:0 0 0 0 rgba(255,43,51,0.55);
  animation:pulse 2.6s ease-out infinite;
}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(255,43,51,0.55);}
  70%{box-shadow:0 0 0 9px rgba(255,43,51,0);}
  100%{box-shadow:0 0 0 0 rgba(255,43,51,0);}
}

/* film grain — sits under the header so nav stays crisp */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;
  opacity:0.03;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* hover effects only where a real pointer exists — no sticky hover on phones */
@media (hover:hover) and (pointer:fine){
  nav.primary a:hover{color:var(--paper);}
  nav.primary a:hover::after{transform:scaleX(1);}
  .btn-red:hover{background:#e0202a;transform:translateY(-2px);box-shadow:0 10px 28px -10px rgba(255,43,51,0.85);}
  .btn-ghost:hover{border-color:var(--paper);transform:translateY(-2px);}
  .status-cell dd a:hover{border-color:var(--red);}
  .ep-card:hover{
    transform:translateY(-6px);
    border-color:var(--red);
    box-shadow:0 26px 50px -26px rgba(0,0,0,0.9);
  }
  .ep-card:hover .ep-play{opacity:1;}
  .ep-card:hover .ep-thumb img{transform:scale(1.06);}
  .ep-card:hover .ep-body h3{color:var(--red);}
  .embed-frame.lite:hover .embed-play{background:rgba(0,0,0,0.1);}
  .embed-frame.lite:hover .embed-play span{transform:scale(1.08);}
  .embed-wrap:hover{border-color:#3a3a3a;box-shadow:0 24px 60px -32px rgba(255,43,51,0.5);}
  .contact-block a:hover{text-decoration:underline;}
  .foot-nav a:hover{color:var(--red);}
  .socials a:hover{color:#fff;border-color:var(--red);background:var(--red);transform:translateY(-2px);}
}
.ep-card.soon{pointer-events:none;}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important;transition:none !important;}
  html.js .reveal{opacity:1;transform:none;}
}

/* ---------- 14. responsive ---------- */

/* tablet */
.hero-grid.solo{
  grid-template-columns:minmax(0,1fr);
  padding-block:clamp(3.5rem,9vw,7rem) clamp(3rem,7vw,5rem);
}
.hero-grid.solo .hero-copy h1{max-width:17ch;}
.hero-grid.solo .hero-sub{max-width:56ch;}

@media (max-width:1000px){
  .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,0.85fr);}
}

@media (max-width:900px){
  .show-grid,
  .guest-grid{grid-template-columns:minmax(0,1fr);}
  /* clear break between the contact details and the form below them */
  .guest-grid{gap:2.75rem;}
  .contact-block{
    margin-top:1.6rem;padding-top:1.4rem;
    border-top:1px solid var(--line);
  }
  .hero-grid{
    grid-template-columns:minmax(0,1fr);
    gap:2.25rem;
    padding-block:2.25rem 2.5rem;
  }
  .hero-copy h1{max-width:18ch;}
  .hero-portrait{max-width:400px;margin-inline:auto;width:100%;}
  .hero-portrait::after{inset:12px -12px -12px 12px;}
  .hero-shell::before{width:100%;left:-25%;}
}

/* mobile nav */
@media (max-width:880px){
  .nav-toggle{display:inline-flex;}
  .masthead-in{gap:0.75rem;}
  nav.primary{
    position:absolute;left:0;right:0;top:100%;
    display:none;
    flex-direction:column;align-items:stretch;gap:0;
    background:var(--black);
    border-bottom:1px solid var(--line);
    box-shadow:0 18px 40px -20px rgba(0,0,0,0.9);
    padding:0.4rem var(--gutter) 1rem;
    max-height:calc(100dvh - var(--header-h));
    overflow-y:auto;
  }
  body.nav-open nav.primary{display:flex;}
  nav.primary a{
    font-size:1.0625rem;
    padding:0.85rem 0;
    border-bottom:1px solid var(--line-soft);
    color:var(--paper);
  }
  nav.primary a:last-child{border-bottom:0;}
  nav.primary a::after{left:0;right:auto;width:20px;bottom:6px;}
  .masthead{position:sticky;}
}

@media (max-width:760px){
  .section-head{gap:0.75rem;margin-bottom:1.6rem;}
  .section-head p{max-width:none;}
  .status-in{grid-template-columns:minmax(0,1fr);}
  .status-cell{border-left:0;border-top:1px solid var(--line);padding:1rem 0;}
  .status-cell:first-child{border-top:0;}
  .foot-in{grid-template-columns:minmax(0,1fr);gap:2rem;}
  .section-head{align-items:flex-start;}
  .news-in{grid-template-columns:minmax(0,1fr);gap:1.5rem;}
}

/* phone */
@media (max-width:600px){
  :root{--header-h:62px;}
  body{font-size:1rem;}

  /* every band gets the same top and bottom space, so the page has one rhythm */
  section,
  .host-in,
  .dayjob-in,
  .news-in,
  .brand-band{padding-block:2.5rem;}
  .cta-in{padding-block:2.25rem;}
  .pullquote blockquote{padding-block:2.5rem;}
  .page-head{padding-block:2rem 1.25rem;}
  .hero-grid{padding-block:2rem 2.25rem;}

  /* three facts stay on one line instead of breaking 2 + 1 */
  .proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;margin-top:1.5rem;padding-top:1.2rem;}
  .proof b{font-size:1.0625rem;}
  .proof span{font-size:0.75rem;line-height:1.3;}

  .ten ol{padding-left:1.6rem;}
  .ten li{margin-block:0.65rem;}
  .embed-meta{padding:1rem 1.1rem 1.2rem;}
  .ep-body{padding:1rem 1.1rem 1.2rem;}
  .row{grid-template-columns:minmax(0,1fr);gap:0;}
  .news-form .row{grid-template-columns:minmax(0,1fr);gap:0.9rem;}
  .news-form .field{margin-bottom:0;}
  .cta-in{align-items:flex-start;}
  .cta-in .btn{width:100%;}
  .hero-actions .btn{width:100%;}
  .form-foot .btn{width:100%;}
  .form-note{max-width:none;}
  .foot-cols{grid-template-columns:minmax(0,1fr);gap:1.75rem;}
  .ep-grid{gap:1.15rem;}
  .wordmark b{font-size:0.9375rem;}
  .wordmark span{font-size:0.7188rem;}
}

@media (max-width:600px){
  .wordmark span{display:none;}
}

@media (max-width:380px){
  .proof{grid-template-columns:repeat(3,minmax(0,1fr));gap:0.5rem;}
  .proof b{font-size:0.9375rem;}
}

/* print */
@media print{
  .masthead,.nav-toggle,.cta-band,.news,body::after{display:none !important;}
  body{background:#fff;color:#000;}
}
