/* First Coast Comedy — v2 dynamic design system (shared) */
:root{
  --night:#0b0e24; --night2:#141a44; --panel:#161c48;
  --coral:#ff5a5f; --gold:#ffc94d; --cream:#fff7ee; --mist:#c9cdea; --muted:#a9afd6;
  --text:#f4f5fb; --line:rgba(255,255,255,.12);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--night);color:var(--text);line-height:1.5;overflow-x:hidden}
h1,h2,h3,.brand{font-family:"Segoe UI Black","Arial Black",Impact,system-ui,sans-serif;letter-spacing:-.01em;line-height:1.05}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.btn{display:inline-flex;gap:8px;align-items:center;font-weight:800;border-radius:999px;padding:12px 22px;font-size:.92rem;cursor:pointer;border:0;transition:transform .15s,box-shadow .15s,background .15s}
.btn-primary{background:var(--coral);color:#fff;box-shadow:0 10px 24px rgba(255,90,95,.35)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(255,90,95,.5)}
.btn-gold{background:var(--gold);color:#3a2a00}.btn-gold:hover{transform:translateY(-2px)}
.btn-ghost{background:transparent;border:2px solid rgba(255,255,255,.5);color:#fff}.btn-ghost:hover{background:rgba(255,255,255,.1)}
/* header */
header{position:sticky;top:0;z-index:60;background:rgba(11,14,36,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{font-size:1.05rem;display:flex;align-items:center;gap:9px}
.brand .b-dot{width:12px;height:12px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 4px rgba(255,90,95,.25)}
.menu{display:flex;gap:18px;font-weight:600;font-size:.9rem;color:var(--mist)}
.menu a:hover{color:#fff}
.menu-toggle{display:none;background:none;border:0;color:#fff;font-size:1.5rem}
/* page head */
.phead{padding:44px 0 6px;background:radial-gradient(900px 420px at 82% -20%,rgba(255,201,77,.14),transparent)}
.kicker{color:var(--coral);font-weight:800;text-transform:uppercase;letter-spacing:.13em;font-size:.74rem;margin-bottom:8px}
.phead h1{font-size:2.5rem;margin-bottom:10px}
.lead{color:var(--muted);max-width:64ch}
section{padding:56px 0;position:relative}
h2.sec{font-size:2rem;margin-bottom:8px}
.band-alt{background:linear-gradient(180deg,#0c1030,#0b0e24)}
/* cards */
.grid{display:grid;gap:18px}
.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:1fr 1fr}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 40px rgba(0,0,0,.45)}
.card .art{aspect-ratio:16/9;background:linear-gradient(150deg,#242a63,#12163a);display:flex;align-items:center;justify-content:center;color:#8a90c4;font-size:.74rem;text-align:center;padding:0 14px;position:relative}
.card .body{padding:16px}
.badge{position:absolute;top:10px;left:10px;background:var(--gold);color:#3a2a00;font-size:.62rem;font-weight:800;padding:4px 9px;border-radius:999px;text-transform:uppercase}
.pillrow{display:flex;flex-wrap:wrap;gap:8px}
.pillrow span{background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:.8rem;color:var(--mist)}
.v{color:#ffd27a;font-size:.7rem;font-style:normal}
.note{background:rgba(255,201,77,.08);border:1px dashed rgba(255,201,77,.4);border-radius:10px;padding:12px 14px;font-size:.8rem;color:#ffd27a}
.media{aspect-ratio:4/3;border-radius:18px;border:1px solid var(--line);background:linear-gradient(160deg,#20265c,#0c0f2c);display:flex;align-items:center;justify-content:center;color:#8a90c4;font-size:.8rem;text-align:center;padding:0 22px;position:relative;overflow:hidden}
.media .spot{position:absolute;inset:0;background:radial-gradient(320px 220px at 50% 15%,rgba(255,201,77,.22),transparent)}
/* form */
.form{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:22px}
.form label{display:block;font-size:.82rem;color:var(--mist);margin:10px 0 4px}
.form input,.form select,.form textarea{width:100%;background:#0e1233;border:1px solid var(--line);border-radius:10px;padding:11px 12px;color:#fff;font-size:.9rem}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* reveal + motion */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.08s}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}.reveal.d4{transition-delay:.32s}
.watch-cta{display:inline-flex;gap:8px;align-items:center;background:#ff0000;color:#fff;font-weight:800;border-radius:999px;padding:11px 20px}
/* footer + mobile CTA */
footer{background:#070912;padding:38px 0;color:var(--muted);font-size:.85rem;border-top:1px solid var(--line)}
.ai{position:fixed;right:18px;bottom:18px;background:var(--gold);color:#3a2a00;font-weight:800;border-radius:999px;padding:12px 18px;box-shadow:0 12px 28px rgba(0,0,0,.4);z-index:70;font-size:.9rem}
@media(prefers-reduced-motion:reduce){.reveal{transition:none;opacity:1;transform:none}}
@media(max-width:900px){
  .menu{display:none}.menu-toggle{display:block}
  .g3,.g4,.g2{grid-template-columns:1fr}
  .phead h1{font-size:2rem}
  .form .two{grid-template-columns:1fr}
}
