:root{
  /* Mallory-safe: steel blue · teal · slate · blue-gray. ZERO red. */
  --bg:#0e151b; --bg2:#131f28; --card:#16222d; --edge:#26343f; --edge2:#37505f;
  --ink:#eef4f8; --mut:#a6b8c4; --dim:#6f8492;
  --steel:#6fa8c7; --steel-d:#12354a; --teal:#43b8a8; --slate:#2a3a47; --deep:#1b2b36;
  --r:16px; --wrap:920px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
    radial-gradient(1200px 520px at 50% -8%, #1c3243, transparent),
    linear-gradient(#0e151b,#0a1014);
  color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  line-height:1.62;-webkit-font-smoothing:antialiased;min-height:100vh;}
.serif{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;}
a{color:var(--steel);text-decoration:none;}
a:hover{color:#8fc0da;}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px;}

/* top bar */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);
  background:rgba(14,21,27,.82);border-bottom:1px solid var(--edge);}
.nav .row{max-width:var(--wrap);margin:0 auto;padding:14px 22px;display:flex;align-items:center;
  justify-content:space-between;gap:14px;flex-wrap:wrap;}
.brand{font-size:20px;font-weight:700;letter-spacing:.3px;display:flex;align-items:center;gap:9px;color:var(--ink);}
.brand small{font-weight:400;font-size:12px;color:var(--teal);letter-spacing:.16em;text-transform:uppercase;}
.menu{display:flex;gap:20px;flex-wrap:wrap;}
.menu a{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);}
.menu a:hover,.menu a.on{color:var(--teal);}

/* hero */
.hero{padding:70px 0 40px;text-align:center;}
.masks{font-size:52px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5));}
.hero h1{font-size:clamp(40px,8vw,76px);margin:14px 0 6px;line-height:1;letter-spacing:.5px;}
.hero .tag{color:var(--teal);font-size:14px;letter-spacing:.24em;text-transform:uppercase;}
.hero p.lead{max-width:620px;margin:22px auto 0;color:var(--mut);font-size:18px;}

/* sections + cards */
.sec{padding:52px 0 8px;}
.eyebrow{color:var(--teal);font-size:12px;letter-spacing:.24em;text-transform:uppercase;margin:0 0 8px;}
h2{font-size:clamp(26px,4vw,38px);margin:0 0 6px;line-height:1.1;}
h3{font-size:20px;margin:0 0 4px;}
p{margin:10px 0;}
.grid{display:grid;gap:16px;margin-top:22px;}
.g2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.g3{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));}
.card{background:linear-gradient(160deg,var(--card),#111b23);border:1px solid var(--edge);
  border-radius:var(--r);padding:22px;transition:.16s;}
.card:hover{border-color:var(--edge2);transform:translateY(-2px);}
.card .k{color:var(--teal);font-size:12px;letter-spacing:.16em;text-transform:uppercase;}
.pill{display:inline-block;font-size:11px;color:var(--mut);border:1px solid var(--edge2);
  border-radius:99px;padding:2px 10px;margin:2px 4px 2px 0;}
.pill.gold{color:var(--steel);border-color:#2f5064;}
.big{font-size:20px;}
.quote{border-left:3px solid var(--steel);padding:4px 0 4px 18px;margin:18px 0;color:var(--ink);font-size:19px;}
.muted{color:var(--mut);} .dim{color:var(--dim);} .gold{color:var(--teal);} .ember{color:var(--steel);}
hr.rule{border:0;border-top:1px solid var(--edge);margin:44px 0;}

/* playable clip */
.clip{display:flex;align-items:center;gap:16px;background:#111c24;border:1px solid var(--edge);
  border-radius:14px;padding:16px 18px;margin:12px 0;cursor:pointer;transition:.15s;width:100%;text-align:left;color:var(--ink);}
.clip:hover{border-color:var(--steel);background:#16242e;}
.clip .play{width:48px;height:48px;flex:0 0 48px;border-radius:50%;background:var(--steel);color:#08222f;
  display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;}
.clip.playing .play{background:var(--teal);color:#062824;animation:pulse 1s infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.55}}
.clip h3{margin:0;font-size:17px;} .clip p{margin:2px 0 0;color:var(--mut);font-size:13px;}
details{background:#101a22;border:1px solid var(--edge);border-radius:12px;padding:2px 16px;margin:8px 0;}
summary{cursor:pointer;color:var(--teal);font-size:13px;padding:11px 0;}
.script{color:var(--mut);font-size:14.5px;white-space:pre-wrap;padding:2px 0 14px;}

/* tonight's bit + whisper */
.feature{background:linear-gradient(135deg,#15242f,#111b23);border:1px solid var(--edge2);border-radius:var(--r);padding:24px;margin-top:22px;}
.wsp-input{width:100%;background:#0d161d;border:1px solid var(--edge2);color:var(--ink);border-radius:12px;
  padding:14px 16px;font:inherit;margin-top:12px;}
.wsp-input:focus{outline:none;border-color:var(--steel);}
.btn{background:var(--steel);color:#08222f;border:none;border-radius:12px;padding:12px 20px;font:inherit;
  font-weight:600;cursor:pointer;transition:.15s;margin-top:12px;}
.btn:hover{background:#8fc0da;}
.wsp-out{margin-top:16px;color:var(--ink);font-size:16px;min-height:24px;}

.foot{margin-top:60px;padding:26px 0 60px;border-top:1px solid var(--edge);color:var(--dim);font-size:13px;text-align:center;}
.foot a{color:var(--steel);}
.badge{font-size:11px;color:#8fe6d6;background:#0c3a34;border:1px solid #1a6155;border-radius:99px;padding:2px 10px;}
