:root{--ink:#16222e;--page:#f5faf7;--accent:#0f8a5f;--accent2:#c8901f;--muted:#5b6b7c;--line:#d8e8df}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--page);color:var(--ink);font-family:'Comic Neue',system-ui,sans-serif;line-height:1.55}
header{padding:54px 20px 30px;text-align:center;background:linear-gradient(180deg,#e8f5ee,#f5faf7)}
.kicker{font-family:'Baloo 2',sans-serif;letter-spacing:.16em;text-transform:uppercase;font-size:13px;color:var(--accent);font-weight:700}
.kicker.gold{color:var(--accent2)}
h1{font-family:'Bangers',cursive;font-size:clamp(38px,7vw,66px);letter-spacing:.02em;color:var(--accent);margin:8px 0 4px;line-height:1.05}
.sub{font-family:'Baloo 2',sans-serif;font-size:clamp(15px,2.2vw,19px);color:var(--muted);max-width:56ch;margin:10px auto 0}
.q{font-family:'Patrick Hand',cursive;font-size:clamp(18px,2.6vw,23px);color:var(--ink);margin:20px auto 0;max-width:44ch}
.status{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:7px 15px;background:#fff;border:1px solid var(--line);border-radius:999px;font-family:'Baloo 2',sans-serif;font-weight:600;font-size:13px;color:var(--muted)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--accent2);box-shadow:0 0 0 4px rgba(200,144,31,.18)}
main{max-width:1120px;margin:0 auto;padding:34px 18px 70px}
.curve{background:#fff;border:2px solid var(--line);border-radius:20px;padding:16px 10px;margin-bottom:34px}
.curve svg{width:100%;height:auto;display:block}
.lbl{font-family:'Baloo 2',sans-serif;font-size:15px;font-weight:700;fill:var(--accent)}
.lbl.end{text-anchor:end}
.lbl.muted{fill:#9db2c8}
.pitch{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:20px;margin-bottom:40px}
.pcard{background:#fff;border:2px solid var(--line);border-radius:18px;padding:20px 20px 22px}
.pcard h2{font-family:'Bangers',cursive;font-size:24px;letter-spacing:.02em;color:var(--accent);margin-bottom:8px;font-weight:400}
.pcard p{font-size:15px;color:var(--muted)}
.shelf-h{font-family:'Bangers',cursive;font-weight:400;font-size:30px;letter-spacing:.03em;color:var(--accent);margin:0 0 16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));gap:20px}
.card{display:block;background:#fff;border:2px solid var(--line);border-radius:18px;overflow:hidden}
.body{padding:14px 16px 18px}
.bno{font-family:'Baloo 2',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2);font-weight:800}
.city{font-family:'Bangers',cursive;font-size:27px;color:var(--accent);letter-spacing:.02em;margin:2px 0 4px}
.t{font-family:'Baloo 2',sans-serif;font-weight:700;font-size:15px;margin-bottom:6px}
.d{font-size:14px;color:var(--muted)}
.soon{opacity:.62}
.soon .card{border-style:dashed;pointer-events:none}
.ph{width:100%;aspect-ratio:4/3;display:grid;place-items:center;background:#e8f5ee;color:#a9c9b8;font-family:'Bangers',cursive;font-size:44px}
footer{text-align:center;padding:30px 18px 54px;color:var(--muted);font-size:13px}
footer b{font-family:'Bangers',cursive;color:var(--accent);font-size:17px;letter-spacing:.03em}
.legend{display:none;text-align:center;font-family:'Baloo 2',sans-serif;font-weight:700;font-size:13px;color:var(--muted);padding:4px 6px 8px}
.sw{display:inline-block;width:16px;height:4px;border-radius:2px;vertical-align:middle;margin-right:6px}
.sw.green{background:var(--accent)}
.sw.grey{background:#9db2c8}
@media (max-width:640px){.lbls{display:none}.legend{display:block}.curve{padding:12px 8px 4px}}

/* ---- cast strip ---- */
.cast{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));gap:16px;margin:0 0 42px}
.face{background:#fff;border:2px solid var(--line);border-radius:16px;overflow:hidden}
.face img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 12%;display:block;background:#e8f5ee}
.face figcaption{padding:10px 12px 13px}
.face b{display:block;font-family:'Bangers',cursive;font-weight:400;font-size:21px;letter-spacing:.03em;color:var(--accent)}
.face span{display:block;font-size:12.5px;color:var(--muted);line-height:1.4;margin-top:2px}

/* ---- parts + shelf ---- */
.part{margin:0 0 34px}
.part-h{font-family:'Bangers',cursive;font-weight:400;font-size:25px;letter-spacing:.03em;color:var(--ink);margin:0}
.part-s{font-family:'Baloo 2',sans-serif;font-weight:600;font-size:13px;color:var(--muted);margin:2px 0 14px}
.shelf-h{margin-top:8px}
.btitle{font-family:'Bangers',cursive;font-size:25px;color:var(--accent);letter-spacing:.02em;margin:2px 0 4px;line-height:1.12}
.card.live{text-decoration:none;color:inherit;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.card.live:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(15,138,95,.16);border-color:var(--accent)}
.card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#e8f5ee}
