body{margin:0;background:var(--bg);color:var(--ink);font-family:"Exo 2",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.5}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
@media (max-width:480px){.wrap{padding:0 16px}}
.h{font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:.01em}
.eyebrow{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:12px;border:1px solid transparent;font:inherit;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
header{position:sticky;top:0;z-index:20;background:var(--header);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap;min-height:68px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;flex:none}
.brand span{font-size:20px}
nav.main{display:flex;gap:18px;flex-wrap:wrap}
nav.main a{color:var(--muted);text-decoration:none;font-weight:600;font-size:15px;padding:8px 2px}
nav.main a:hover{color:var(--ink)}
.actions{display:flex;gap:8px;align-items:center}
.hero{padding:36px 0 28px}
.hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}}
.stack{display:flex;flex-direction:column;gap:16px}
.hero h1{margin:0;font-size:clamp(42px,6vw,68px);line-height:.95}
@media (max-width:420px){.hero h1{font-size:34px}.sec h2{font-size:28px}}
.lede{margin:0;color:var(--soft);font-size:18px;max-width:38rem}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.note{margin:0;color:var(--muted);font-size:15px}
.mosaic{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mosaic a{display:block;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#111}
.mosaic img{width:100%;aspect-ratio:16/10;object-fit:cover}
section{scroll-margin-top:84px}
.sec{padding:28px 0 56px}
.sec h2{margin:0;font-size:clamp(32px,4vw,44px);line-height:1.05}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-top:22px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.card .row .btn{flex:1 1 auto;white-space:nowrap}
.cover{position:relative;display:block;min-height:0;padding:0;text-decoration:none;color:#fff;background:#111}
.body{padding:14px;display:flex;flex-direction:column;gap:12px;flex:1}
.tag{align-self:flex-start;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.play{color:var(--ink);font-weight:700;text-decoration:none}
.play:hover{color:var(--accent)}
.pass{border-radius:24px;padding:2px;background:linear-gradient(90deg,var(--accent),#7b6cff 55%,#c43b9a)}
.pass-in{border-radius:22px;background:var(--panel);padding:32px 28px;display:grid;grid-template-columns:1fr;gap:22px;align-items:start}
@media (max-width:800px){.pass-in{padding:24px 18px}}
.cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.col{background:var(--bg);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;min-width:0}
.col p{margin:8px 0 0;color:var(--soft)}
.col .btn{margin-top:auto;width:100%}
.poster-mosaic{display:grid;gap:6px;margin:0 0 12px}
.poster-mosaic.n-2{grid-template-columns:1fr 1fr}
.poster-mosaic.n-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.poster-mosaic.n-8{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:480px){
  .poster-mosaic.n-4,.poster-mosaic.n-8{grid-template-columns:repeat(2,minmax(0,1fr))}
}
.poster-mosaic img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;border-radius:8px;background:var(--panel)}
.deal{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 14px;margin:4px 0 0}
.deal-k{display:block;font-style:normal;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.deal-list{color:var(--muted);font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}
.deal-list s{text-decoration-thickness:2px}
.deal-set .h{font-size:30px;line-height:.95}
.deal-save{font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);padding-bottom:2px}
.signup{background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
form{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}
.field{display:flex;flex-direction:column;gap:6px;min-width:0;width:100%}
#magic{display:flex;flex-direction:column;align-items:stretch;gap:12px;max-width:420px;margin:16px 0}
#magic input[type=email]{width:100%}
#signed-out .row{align-items:stretch}
@media (max-width:640px){
  #signed-out .row{flex-direction:column}
  #signed-out .row .btn,#magic .btn{width:100%}
}
#owned{list-style:none;margin:16px 0;padding:0}
#owned li{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--line)}
#owned a{min-height:44px;display:inline-flex;align-items:center;font-weight:700;text-decoration:none}
label{font-size:14px;color:var(--soft);font-weight:600}
input[type=email]{min-height:48px;width:min(100%,28rem);max-width:100%;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:16px}
#msg{flex-basis:100%;margin:0;min-height:1.4em;color:var(--soft)}
footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-size:14px}
footer .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
footer a{color:var(--ink);font-weight:700;text-decoration:none}
.hero-stage{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/9}
.hero-stage video{width:100%;height:100%;object-fit:cover;display:block}
.cover{display:block;min-height:0;padding:0}
.cover-shot{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:center top}
.cover-copy{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:flex-end;gap:8px;padding:12px;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.cover-copy img{width:40px;height:40px;object-fit:contain;background:rgba(0,0,0,.45);border-radius:8px}
.cover-copy span{color:#fff;font-size:22px;text-shadow:0 1px 6px rgba(0,0,0,.6)}

.coming-group{margin:28px 0 0;font-size:clamp(22px,3vw,28px)}
.coming-grid{margin-top:14px}
.card.coming .cover{cursor:default}
.card.coming .card-title{font-size:20px;line-height:1.15}
.card.coming .note{margin:0;color:var(--soft)}
.coming-fold{margin-top:18px;border:1px solid var(--line);border-radius:18px;background:var(--panel);padding:4px 18px 16px}
.coming-fold>summary{min-height:56px;display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:800;font-size:18px;list-style:none}
.coming-fold>summary span:first-child{min-width:0}
.coming-fold>summary::-webkit-details-marker{display:none}
.coming-fold>summary::marker{content:""}
.coming-fold>summary::before{content:"";width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);flex:none;margin-top:-4px}
.coming-fold[open]>summary::before{transform:rotate(-135deg);margin-top:4px}
.coming-fold>summary span:first-child{margin-right:auto}
.coming-count{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.coming-tabs{display:none}
.coming-fold.is-tabbed .coming-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}
.coming-tab{flex:0 0 auto;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.coming-tab[aria-selected="true"]{background:var(--accent);color:var(--accent-ink);border-color:transparent}
.coming-panel{position:relative}
.coming-fold.is-tabbed .coming-group{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.press-kit{max-width:760px}
.press-kit h2{margin:28px 0 8px;font-size:clamp(26px,3vw,34px)}
.swatches{display:grid;gap:16px;margin:18px 0}
.swatch{margin:0;border-radius:16px;padding:20px 16px 14px;display:flex;flex-direction:column;align-items:center;gap:12px}
.swatch img{width:100%;height:auto;margin:0 auto}
.swatch-mark img{width:min(100%,220px)}
.swatch-light{background:#fff;color:#2a303b;border:1px solid rgba(22,24,30,.12)}
.swatch-dark{background:#07080d;color:#eef1f6}
.swatch figcaption{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.swatch-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:640px){.swatch-row{grid-template-columns:1fr}}
@media (max-width:960px){
  nav.main{display:none;position:absolute;left:0;right:0;top:100%;z-index:30;flex-direction:column;align-items:stretch;gap:2px;max-height:calc(100dvh - 68px);overflow:auto;overscroll-behavior:contain;padding:8px 16px 16px;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 16px 32px rgba(22,24,30,.12)}
  nav.main.is-open{display:flex}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center}
  nav.main a,nav.main .buy{min-height:48px;display:flex;align-items:center;padding:8px 4px;border-radius:10px}
  nav.main .btn{width:100%;margin-top:6px;justify-content:center}
}
@media (max-width:700px){
  .brand span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}
@media (min-width:961px){.nav-toggle{display:none}}
@media (max-width:480px){
  .hero .row .btn{flex:1 1 calc(50% - 12px)}
}
.asset-list{margin:8px 0 0;padding-left:1.2em}
.asset-list li{margin:6px 0}
