
:root{
  /* The accent is sampled from the logo's gold (#C09858 / #B08848), brightened to
     #D4A544 so it holds contrast on a near-black ground. The site was built on a
     level-meter green before the logo existed; the brand wins. */
  --ground:#0B0E12; --ground-2:#12161C; --line:#1E252E;
  --paper:#F4F2ED; --ink:#0B0E12;
  --signal:#D4A544; --amber:#E8A33D; --peak:#E4483C;
  --grey:#8A95A1; --grey-dim:#5A6672;
  --wrap:1240px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--ground); color:var(--paper);
  font-family:'Satoshi',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{font-family:'Clash Display','Satoshi',sans-serif;font-weight:700;
  line-height:0.95; letter-spacing:-0.01em; margin:0; text-wrap:balance}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.mono{font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;
  font-size:13px;letter-spacing:0.14em;text-transform:uppercase;color:var(--grey)}

/* header */
.site-head{position:sticky;top:0;z-index:60;background:rgba(11,14,18,0.86);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:12px 0}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
/* The real mark. The full lockup is unreadable at header height, so the M carries
   the header and the wordmark is live text beside it. */
.brand-mark{width:73px;height:73px;flex-shrink:0}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-word{font-family:'Clash Display',sans-serif;font-weight:600;font-size:26px;
  letter-spacing:-0.015em;line-height:1;display:flex;align-items:center;
  align-self:center}
.nav{display:flex;gap:28px;align-items:center}
.nav a{text-decoration:none;font-size:16px;color:var(--grey);transition:color .2s}
.nav a:hover,.nav a[aria-current]{color:var(--paper)}
.btn{display:inline-flex;align-items:center;gap:9px;padding:12px 22px;border-radius:2px;
  font-weight:700;font-size:16px;text-decoration:none;border:1px solid transparent;
  transition:transform .18s ease, background .18s ease}
.btn-solid{background:var(--signal);color:var(--ground)}
.btn-solid:hover{transform:translateY(-2px)}
.btn-ghost{border-color:var(--line);color:var(--paper)}
.btn-ghost:hover{border-color:var(--grey)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--paper);
  padding:9px 13px;border-radius:2px;font-size:16px;cursor:pointer}

/* hero */
.hero{position:relative;padding:clamp(70px,13vw,150px) 0 clamp(50px,8vw,90px);overflow:hidden}
/* Full bleed photograph behind the hero. The scrim is two layers: a dark wash for
   overall contrast and a left to right gradient so the headline always has ground
   under it regardless of what the photograph is doing on that side. */
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(11,14,18,.94) 0%, rgba(11,14,18,.78) 46%, rgba(11,14,18,.45) 100%),
             linear-gradient(0deg, rgba(11,14,18,.92) 0%, rgba(11,14,18,.25) 55%)}
.hero > .wrap{position:relative;z-index:1}
.hero-ph{position:absolute;inset:0;z-index:0;
  background:repeating-linear-gradient(45deg,#12161C 0 22px,#0E1319 22px 44px)}
/* Pinned bottom right. Centring this put it straight through the headline. */
.hero-ph div{position:absolute;right:clamp(16px,4vw,48px);bottom:clamp(16px,4vw,40px);
  max-width:34ch;text-align:right;background:rgba(11,14,18,.86);
  border:1px solid var(--line);border-radius:3px;padding:14px 16px}
.hero-grid{display:grid;gap:clamp(28px,5vw,60px);grid-template-columns:1fr}
.hero h1{font-size:clamp(52px,11.5vw,168px);letter-spacing:-0.03em}
.hero h1 .em{color:var(--signal)}
.hero-sub{max-width:56ch;color:var(--grey);font-size:clamp(18px,2.1vw,22px);
  line-height:1.5;margin:26px 0 0}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}
.meter{display:flex;gap:5px;align-items:flex-end;height:64px;margin-top:52px}
.meter i{display:block;width:7px;border-radius:1px;background:var(--signal);opacity:.32}
.hero-stats{display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,64px);margin-top:56px;
  padding-top:30px;border-top:1px solid var(--line)}
.hero-stat b{display:block;font-family:'Clash Display',sans-serif;font-size:34px;
  font-weight:700;line-height:1}
.hero-stat span{display:block;margin-top:7px}

/* sections */
.sec{padding:clamp(64px,10vw,124px) 0;border-top:1px solid var(--line)}
.sec-head{max-width:62ch;margin-bottom:clamp(34px,5vw,58px)}
.sec-head h2{font-size:clamp(34px,6vw,74px);letter-spacing:-0.02em}
.sec-head p{color:var(--grey);font-size:19px;margin:20px 0 0;max-width:56ch}

/* the lineup: a broadcast schedule, deliberately NOT a card grid */
.lineup{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(16px,3vw,40px);
  align-items:center;padding:clamp(22px,3.2vw,36px) 0;border-bottom:1px solid var(--line);
  text-decoration:none;position:relative;transition:padding-left .3s ease}
.row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;
  background:var(--rowc,var(--signal));transition:width .3s ease}
.row:hover{padding-left:22px}
.row:hover::before{width:4px}
.row-ind{width:9px;height:9px;border-radius:50%;background:var(--rowc,var(--signal))}
.row-main h3{font-size:clamp(25px,3.9vw,46px);letter-spacing:-0.015em;
  transition:color .25s ease}
.row:hover .row-main h3{color:var(--rowc,var(--signal))}
.row-main p{margin:9px 0 0;color:var(--grey);max-width:62ch;font-size:16px}
.row-meta{text-align:right;white-space:nowrap}
.row-meta .mono{color:var(--rowc,var(--grey))}
.tag-soon{display:inline-block;margin-top:7px;font-size:13px;color:var(--grey-dim);
  border:1px solid var(--line);border-radius:2px;padding:3px 9px}

/* steps */
.steps{display:grid;gap:2px;background:var(--line);border:1px solid var(--line)}
.step{background:var(--ground);padding:clamp(26px,3.4vw,42px)}
.step h3{font-size:clamp(23px,2.7vw,32px);margin-bottom:13px}
.step p{color:var(--grey);margin:0;font-size:17px}
.step .mono{display:block;margin-bottom:18px;color:var(--signal)}

/* light panel */
.light{background:var(--paper);color:var(--ink)}
.light .sec-head p,.light .mono{color:#55606B}
.light .step{background:var(--paper)}

.platforms{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.platform{border:1px solid var(--line);border-radius:2px;padding:11px 19px;
  font-weight:500;font-size:16px}
.light .platform{border-color:#D9D4C9}

/* pitch panel */
.panel{border:1px solid var(--line);padding:clamp(28px,4vw,52px);
  background:var(--ground-2);border-radius:3px}
.panel h2{font-size:clamp(30px,4.6vw,56px)}
.panel p{color:var(--grey);max-width:58ch;font-size:18px}
.need{border-left:3px solid var(--amber);padding:16px 20px;background:rgba(232,163,61,.06);
  margin:26px 0;font-size:16px}
.need b{color:var(--amber)}

/* show page */
.show-hero{position:relative;overflow:hidden;
  padding:clamp(58px,9vw,116px) 0 clamp(34px,5vw,60px)}
.show-hero > .wrap{position:relative;z-index:1}
.show-hero h1{font-size:clamp(44px,9.5vw,124px);letter-spacing:-0.03em}
.show-body{max-width:68ch;font-size:19px;color:var(--grey)}
.back{display:inline-flex;align-items:center;gap:9px;margin-bottom:30px;
  text-decoration:none;color:var(--grey);font-size:16px}
.back:hover{color:var(--paper)}

/* contact */
.form{display:grid;gap:18px;max-width:620px;margin-top:34px}
.field{display:grid;gap:7px}
.field label{font-size:15px;color:var(--grey)}
.field input,.field select,.field textarea{background:var(--ground-2);
  border:1px solid var(--line);color:var(--paper);padding:14px 15px;border-radius:2px;
  font-family:inherit;font-size:17px}
.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--signal);
  outline-offset:1px;border-color:transparent}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* episodes */
.eps{display:grid;gap:clamp(18px,3vw,30px);grid-template-columns:1fr}
.ep{border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--ground-2)}
.ep-frame{position:relative;aspect-ratio:16/9;background:#000}
.ep-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ep-body{padding:clamp(18px,2.6vw,26px)}
.ep-body h3{font-size:clamp(21px,2.4vw,28px)}
.ep-body p{color:var(--grey);margin:10px 0 0;font-size:16px}
.ph-ribbon{display:inline-flex;align-items:center;gap:8px;background:var(--amber);
  color:var(--ground);font-weight:700;font-size:13px;letter-spacing:0.06em;
  text-transform:uppercase;padding:7px 13px;border-radius:2px;margin-bottom:14px}

/* footer */
.site-foot{border-top:1px solid var(--line);padding:56px 0 44px;color:var(--grey)}
.foot-grid{display:grid;gap:34px;grid-template-columns:1fr}
.foot-grid a{text-decoration:none;color:var(--grey);display:block;padding:5px 0;font-size:16px}
.foot-grid a:hover{color:var(--paper)}
.foot-base{margin-top:44px;padding-top:26px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:15px}

@media(min-width:820px){
  .eps{grid-template-columns:1fr 1fr}
  .hero-grid{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:2fr 1fr 1fr}
}
@media(max-width:819px){
  .brand-mark{width:52px;height:52px}
  .brand-word{font-size:20px}
  .nav{display:none}
  .nav.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:var(--ground);border-bottom:1px solid var(--line);padding:18px 24px;gap:4px}
  .nav.open a{padding:11px 0;font-size:18px}
  .nav-toggle{display:block}
  .head-in{position:relative}
  .row{grid-template-columns:auto 1fr;row-gap:12px}
  .row-meta{grid-column:2;text-align:left}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none !important;transition:none !important}
  html{scroll-behavior:auto}
}
