/* Imposter landing page styles. Design tokens ported from the app's Theme.swift. */
:root{
  --bg-top:#EEF2FA; --bg-bottom:#DDE6F5; --card:#FFFFFF; --card-2:#F2F5FB;
  --ink:#1E2A4A; --ink-dim:rgba(30,42,74,.68); --ink-faint:rgba(30,42,74,.32);
  --accent:#3B82F6; --accent-edge:#2858A7; --accent-btn:#2563EB; --accent-btn-edge:#1943A0; --pink:#EC4899; --crew:#14B8A6; --imp:#F43F5E; --amber:#E9A209; --sky:#0EA5E9; --violet:#7C3AED;
  --shadow:rgba(40,64,122,.16); --hair:rgba(40,64,122,.06); --slab-edge:#C9D3E4;
  --r-btn:22px; --r-panel:20px; --r-tile:28px;
  --font:"Nunito",ui-rounded,"SF Pro Rounded","Arial Rounded MT Bold",system-ui,-apple-system,sans-serif;
  --wrap:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px;overflow-x:hidden;overflow-x:clip}
body{
  font-family:var(--font);font-weight:700;color:var(--ink);
  background:var(--bg-top) linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%);
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{width:min(var(--wrap),calc(100% - 48px));margin:0 auto}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section{padding:72px 0}
h1,h2,h3{letter-spacing:-.018em;line-height:1.05}
h1{font-size:clamp(42px,5.4vw,66px);font-weight:900}
h2{font-size:clamp(30px,3.7vw,44px);font-weight:900}
.lead{font-size:clamp(17px,1.35vw,19px);line-height:1.5;color:var(--ink-dim);font-weight:700;max-width:56ch}
.grad{background:linear-gradient(90deg,var(--accent),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.sec-head{max-width:720px;margin:0 auto 44px;text-align:center}
.sec-head .lead{margin:14px auto 0}
.sec-head.left{text-align:left;margin-left:0}
.sec-head.left .lead{margin-left:0}

/* ---- Chunky 3D game buttons (port of GameButtonStyle) ---- */
.btn{
  --c:var(--accent-btn);--edge:var(--accent-btn-edge);--fg:#fff;
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:60px;padding:0 26px;margin-bottom:6px;border-radius:var(--r-btn);border:0;cursor:pointer;text-decoration:none;
  font:900 18px/1.1 var(--font);color:var(--fg);background:var(--c);white-space:nowrap;
  box-shadow:0 6px 0 var(--edge),inset 0 0 0 1.5px rgba(255,255,255,.25),0 18px 28px -10px color-mix(in srgb,var(--c) 45%,transparent);
  transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease;
}
.btn:active{transform:translateY(6px);box-shadow:0 0 0 var(--edge),inset 0 0 0 1.5px rgba(255,255,255,.25),0 6px 12px -8px color-mix(in srgb,var(--c) 45%,transparent)}
.btn:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.btn svg{width:22px;height:22px;flex:0 0 auto;fill:currentColor}
.btn--white{--c:#fff;--edge:var(--slab-edge);--fg:var(--ink);box-shadow:0 6px 0 var(--edge),0 14px 24px -10px var(--shadow)}
.btn--white:active{box-shadow:0 0 0 var(--edge),0 6px 12px -8px var(--shadow)}
.btn--sm{min-height:46px;padding:0 18px;font-size:15px;border-radius:16px;margin-bottom:4px;box-shadow:0 4px 0 var(--edge),inset 0 0 0 1.5px rgba(255,255,255,.25),0 12px 20px -8px color-mix(in srgb,var(--c) 45%,transparent)}
.btn--sm:active{transform:translateY(4px);box-shadow:0 0 0 var(--edge),inset 0 0 0 1.5px rgba(255,255,255,.25),0 4px 10px -6px color-mix(in srgb,var(--c) 45%,transparent)}
.btn--store{padding:0 26px 0 22px;text-align:left}
.btn--store svg{width:26px;height:26px}
.btn--store .two{display:flex;flex-direction:column;line-height:1.05}
.btn--store .two small{font-size:11.5px;font-weight:800;letter-spacing:.02em}
.btn--store .two span{font-size:20px}

/* ---- Decorative brand shapes ---- */
.blob,.spark{position:absolute;pointer-events:none;fill:currentColor}

/* ---- Nav ---- */
.nav{position:sticky;top:0;z-index:50;height:72px;display:flex;align-items:center;background:rgba(238,242,250,.84);-webkit-backdrop-filter:blur(14px) saturate(160%);backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--hair)}
.nav .wrap{display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-size:21px;font-weight:900;text-decoration:none;letter-spacing:-.01em}
.brand img{width:42px;height:42px;border-radius:12px;box-shadow:0 6px 12px -4px var(--shadow)}
.nav-links{display:flex;gap:4px;margin-left:auto}
.nav-links a{padding:10px 14px;border-radius:14px;font-size:15px;font-weight:800;color:var(--ink-dim);text-decoration:none;transition:background .2s,color .2s}
.nav .btn--sm{margin-bottom:0}

/* ---- Hero ---- */
.hero{padding:44px 0 28px;overflow:visible}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:32px;align-items:center}
.hero .wrap>*{min-width:0}
.hero h1{margin-bottom:22px}
.kicker{display:block;font-size:13px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-btn);margin-bottom:16px}
.hero-cta{display:flex;flex-wrap:wrap;gap:16px 14px;margin-top:34px}
.stage{position:relative;height:540px;display:flex;align-items:flex-end;justify-content:center}
.stage>.blob{width:600px;height:500px;left:50%;top:52%;transform:translate(-50%,-50%);color:rgba(59,130,246,.14)}
.trio{position:relative;display:flex;align-items:flex-end;justify-content:center;margin-bottom:34px;z-index:1}
.trio img{height:auto;filter:drop-shadow(0 18px 16px rgba(40,64,122,.2))}
.trio .l{width:214px;transform:rotate(-6deg) translate(26px,8px);z-index:1}
.trio .c{width:296px;z-index:2;transform-origin:50% 90%;animation:wobble 2.4s ease-in-out infinite alternate}
.trio .r{width:206px;transform:rotate(6deg) translate(-26px,6px);z-index:1}
.floor{position:absolute;bottom:20px;left:50%;width:320px;height:30px;translate:-50% 0;background:rgba(0,0,0,.15);border-radius:50%;filter:blur(10px)}
@keyframes wobble{from{rotate:-1.5deg}to{rotate:1.5deg}}
.chip{position:absolute;z-index:3;background:#fff;border-radius:18px;padding:12px 16px 12px;text-align:center;min-width:156px;box-shadow:0 16px 34px -10px rgba(40,64,122,.3),0 0 0 1px var(--hair)}
.chip .lbl{display:block;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);font-weight:800}
.chip .word{display:block;font-size:26px;font-weight:900;line-height:1.05;margin:3px 0 7px}
.chip .tag{display:inline-block;font-size:12px;font-weight:800;color:#fff;background:var(--accent-btn);padding:4px 11px;border-radius:999px}
.chip--imp .word{color:#E11D48;font-size:17px;line-height:1.1}
.chip--imp .tag{background:#E11D48}
.chip1{left:-4px;top:120px;rotate:-6deg;animation:float 5.2s ease-in-out infinite}
.chip2{right:-8px;top:236px;rotate:5deg;animation:float 6.1s ease-in-out .8s infinite}
@keyframes float{0%,100%{translate:0 0}50%{translate:0 -9px}}
.stage .spark{width:26px;height:26px}
.stage .s1{left:8%;top:6%;color:rgba(236,72,153,.55)}
.stage .s2{right:12%;top:12%;width:18px;height:18px;color:rgba(20,184,166,.55)}
.stage .s3{left:4%;bottom:22%;width:20px;height:20px;color:rgba(168,85,247,.45)}
.stage .dot{position:absolute;border-radius:50%}
.stage .d1{right:6%;top:4%;width:14px;height:14px;background:rgba(233,162,9,.45)}
.stage .d2{right:3%;bottom:30%;width:10px;height:10px;background:rgba(59,130,246,.4)}

/* ---- Stats band ---- */
.stats{padding:8px 0 20px}
.stats ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff;border-radius:var(--r-panel);padding:26px 20px;box-shadow:0 12px 28px -12px var(--shadow),0 0 0 1px var(--hair)}
.stats li{text-align:center;position:relative;padding:4px 8px}
.stats li+li::before{content:"";position:absolute;left:-4px;top:14%;height:72%;width:1px;background:var(--hair)}
.stats b{display:block;font-size:clamp(28px,3vw,38px);font-weight:900;letter-spacing:-.02em;line-height:1}
.stats li:nth-child(1) b{color:var(--accent-btn)}.stats li:nth-child(2) b{color:var(--violet)}.stats li:nth-child(3) b{color:#0F766E}.stats li:nth-child(4) b{color:#DB2777}
.stats span{display:block;margin-top:8px;font-size:14px;color:var(--ink-dim);font-weight:800}

/* ---- How to play: colored stage cards ---- */
.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
.step{--c:var(--accent);position:relative;border-radius:var(--r-tile);overflow:hidden;background:var(--c);min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;box-shadow:0 22px 40px -18px color-mix(in srgb,var(--c) 70%,transparent)}
.step .blob{width:260px;height:220px;right:-60px;top:-30px;color:color-mix(in srgb,var(--c) 84%,#000);opacity:.85}
.step .spark{width:34px;height:34px;left:16px;top:70px;color:color-mix(in srgb,var(--c) 84%,#000)}
.step .num{position:absolute;top:14px;left:14px;z-index:2;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);font-weight:900;font-size:16px;display:grid;place-items:center;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.step img{position:absolute;left:50%;bottom:140px;translate:-50% 0;height:232px;width:auto;filter:drop-shadow(0 16px 14px rgba(0,0,0,.24));z-index:1}
.step .panel{position:relative;z-index:2;background:#fff;color:var(--ink);margin:0 10px 10px;border-radius:20px;padding:14px 16px 18px;text-align:center;min-height:130px}
.step .panel::before{content:"";display:block;width:36px;height:4px;border-radius:2px;background:#C9D3E4;margin:0 auto 10px}
.step h3{font-size:18px;font-weight:900;margin-bottom:6px}
.step p{font-size:14px;color:var(--ink-dim);font-weight:700;line-height:1.45}

/* ---- Screens: phone row ---- */
.phones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;align-items:end;max-width:940px;margin:0 auto}
.phones figure{text-align:center}
.phone{position:relative;border-radius:46px;background:#141929;padding:10px;box-shadow:0 34px 60px -22px rgba(20,25,41,.5),inset 0 0 0 2px rgba(255,255,255,.08)}
.phone img{width:100%;height:auto;border-radius:36px}
.phones .mid .phone{translate:0 -30px;scale:1.04}
.phones .l .phone{rotate:-3deg}
.phones .r .phone{rotate:3deg}
.phones figcaption{margin-top:22px;font-size:15px;font-weight:800;color:var(--ink-dim);line-height:1.4;padding:0 8px}
.phones .mid figcaption{margin-top:-4px}

/* ---- Word packs marquee ---- */
.packs{padding-bottom:64px}
.marquee{overflow:hidden;padding:12px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.track{display:flex;width:max-content;animation:scroll 60s linear infinite}
.track.rev{animation-direction:reverse;animation-duration:72s}
@keyframes scroll{to{transform:translateX(-50%)}}
.tile{--c:var(--accent);position:relative;overflow:hidden;flex:0 0 auto;width:152px;margin-right:16px;border-radius:24px;background:var(--c);padding:18px 12px 14px;text-align:center;color:#fff;box-shadow:inset 0 3px 0 rgba(255,255,255,.3),0 14px 26px -14px color-mix(in srgb,var(--c) 70%,transparent)}
.tile .blob{width:130px;height:110px;left:12px;top:8px;color:color-mix(in srgb,var(--c) 84%,#000);opacity:.7}
.tile img{position:relative;width:74px;height:74px;margin:0 auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.25))}
.tile .nm{position:relative;display:block;margin-top:8px;font-weight:900;font-size:19px;line-height:1.1;letter-spacing:-.01em;text-shadow:0 2px 0 rgba(0,0,0,.14)}
.tile .ct{position:relative;display:inline-block;margin-top:7px;background:rgba(0,0,0,.26);font-size:12px;font-weight:800;padding:3px 10px;border-radius:999px}
.tile--ink{color:var(--ink)}
.tile--ink .nm{text-shadow:none}
.tile--ink .ct{background:rgba(255,255,255,.45)}
.custom{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;margin:26px auto 0;background:#fff;border-radius:999px;padding:10px 24px 10px 12px;font-size:16px;font-weight:900;box-shadow:0 14px 30px -12px rgba(40,64,122,.3),0 0 0 1px var(--hair);rotate:-1.5deg}
.custom img{width:44px;height:44px}

/* ---- Features bento ---- */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cell{position:relative;overflow:hidden;border-radius:var(--r-tile);padding:26px;background:#fff;box-shadow:0 12px 28px -14px var(--shadow),0 0 0 1px var(--hair)}
.cell h3{font-size:21px;font-weight:900;margin-bottom:8px}
.cell p{font-size:15px;font-weight:700;color:var(--ink-dim);line-height:1.5;max-width:36ch}
.c-a{grid-column:span 2;grid-row:span 2;background:var(--violet);color:#fff;min-height:400px;padding:30px}
.c-a h3{color:#fff;font-size:26px}.c-a p{color:#fff;max-width:30ch}
.c-a .blob{width:420px;height:360px;right:-90px;bottom:-60px;color:color-mix(in srgb,var(--violet) 84%,#000);opacity:.85}
.c-a .spark{width:40px;height:40px;left:26px;bottom:120px;color:color-mix(in srgb,var(--violet) 84%,#000)}
.c-a img{position:absolute;right:26px;bottom:-6px;height:330px;width:auto;filter:drop-shadow(0 18px 16px rgba(0,0,0,.25))}
.c-b{grid-column:span 2;display:flex;align-items:center;gap:24px}
.c-b .txt{flex:1}
.avatars{display:flex;flex:0 0 auto;padding-right:8px}
.avatars span{--c:var(--accent);width:56px;height:56px;border-radius:50%;background:var(--c);overflow:hidden;border:3px solid #fff;margin-left:-14px;box-shadow:0 6px 12px -4px var(--shadow)}
.avatars span:first-child{margin-left:0}
.avatars img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.c-c{background:color-mix(in srgb,var(--imp) 11%,#fff)}
.c-d{background:color-mix(in srgb,var(--crew) 13%,#fff)}
.c-e{grid-column:span 2;display:flex;align-items:center;gap:22px}
.c-e .txt{flex:1}
.icons{display:flex;gap:6px;flex:0 0 auto}
.icons img{width:52px;height:52px;filter:drop-shadow(0 6px 8px rgba(40,64,122,.2))}
.icons img:nth-child(2){translate:0 -8px}.icons img:nth-child(3){translate:0 4px}
.c-f{grid-column:span 2;background:color-mix(in srgb,var(--sky) 12%,#fff)}
.c-c h3,.c-d h3,.c-f h3{font-size:20px}

/* ---- FAQ ---- */
.faq{max-width:760px;margin:0 auto}
details{background:#fff;border-radius:var(--r-panel);box-shadow:0 10px 24px -14px var(--shadow),0 0 0 1px var(--hair);margin-bottom:12px;overflow:hidden}
summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:900;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:var(--card-2);display:grid;place-items:center;font-size:22px;font-weight:800;color:var(--accent-btn);transition:transform .25s ease}
details[open] summary::after{transform:rotate(45deg)}
details p{padding:0 24px 22px;color:var(--ink-dim);font-weight:700;line-height:1.55;font-size:15.5px}

/* ---- Final CTA stage ---- */
.cta{padding:36px 0 0}
.stage2{position:relative;overflow:hidden;border-radius:36px;background:linear-gradient(118deg,var(--accent) 0%,var(--violet) 55%,var(--pink) 100%);color:#fff;padding:78px 24px 82px;text-align:center;box-shadow:0 34px 70px -28px rgba(99,102,241,.6)}
.stage2 h2{color:#fff}
.stage2 .lead{color:#fff;margin:14px auto 30px}
.stage2 .blob{width:520px;height:440px;left:-120px;top:-120px;color:rgba(255,255,255,.1)}
.stage2 .spark{width:44px;height:44px;right:14%;top:14%;color:rgba(255,255,255,.35)}
.stage2 .s2{width:26px;height:26px;left:20%;bottom:20%;right:auto;top:auto}
.stage2 .ch{position:absolute;bottom:-8px;height:310px;width:auto;filter:drop-shadow(0 18px 16px rgba(0,0,0,.25))}
.stage2 .ch-l{left:5%;rotate:-4deg}
.stage2 .ch-r{right:5%;rotate:4deg;height:290px}
.stage2 .btn--white{--fg:#2F6DD3}
.stage2 .cnt{position:relative;z-index:1}

/* ---- Footer ---- */
footer{padding:52px 0 64px;color:var(--ink-dim);font-size:14px;font-weight:700}
.foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 32px}
.foot .brand{font-size:17px}
.foot .brand img{width:34px;height:34px;border-radius:10px}
.foot .brand small{display:block;font-size:12px;font-weight:700;color:var(--ink-dim);margin-top:2px}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.foot nav a{color:var(--ink-dim);text-decoration:none;font-weight:800;padding:6px 0;display:inline-block}


/* ---- Hover states only for real pointers (no sticky hover after taps on touch screens) ---- */
@media (hover:hover){
  .btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--edge),inset 0 0 0 1.5px rgba(255,255,255,.25),0 24px 32px -10px color-mix(in srgb,var(--c) 45%,transparent)}
  .btn--white:hover{box-shadow:0 8px 0 var(--edge),0 18px 28px -10px var(--shadow)}
  .btn--sm:hover{transform:translateY(-1px);box-shadow:0 5px 0 var(--edge),inset 0 0 0 1.5px rgba(255,255,255,.25),0 14px 22px -8px color-mix(in srgb,var(--c) 45%,transparent)}
  .nav-links a:hover{background:rgba(255,255,255,.75);color:var(--ink)}
  .foot nav a:hover{color:var(--ink)}
  .marquee:hover .track{animation-play-state:paused}
}

/* ---- Scroll reveal: CSS scroll-driven, so content is always visible at rest (no observer, no blank sections) ---- */
@supports (animation-timeline: view()){
  .reveal{animation:reveal linear both;animation-timeline:view();animation-range:entry 0% entry 42%}
  .reveal[data-d="1"]{animation-range:entry 8% entry 50%}
  .reveal[data-d="2"]{animation-range:entry 16% entry 58%}
  .reveal[data-d="3"]{animation-range:entry 24% entry 66%}
  .reveal[data-d="4"]{animation-range:entry 32% entry 74%}
  @keyframes reveal{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
}

/* ---- Responsive ---- */
@media (max-width:1100px){
  .steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:6px 24px 28px;margin:0 -24px;scrollbar-width:none}
  .steps::-webkit-scrollbar{display:none}
  .step{flex:0 0 250px;scroll-snap-align:center}
}
@media (max-width:980px){
  .hero .wrap{grid-template-columns:1fr;gap:8px;text-align:center}
  .hero .lead{margin:0 auto}
  .hero-cta{justify-content:center}
  .stage{height:460px;margin-top:6px}
  .stage>.blob{width:520px;height:430px}
  .trio .l{width:170px}.trio .c{width:236px}.trio .r{width:164px}
  .chip1{left:0;top:60px}.chip2{right:0;top:150px}
  .stats ul{grid-template-columns:repeat(2,1fr);gap:18px 8px}
  .stats li:nth-child(3)::before{display:none}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-a{grid-column:span 2;grid-row:auto;min-height:420px}
  .c-c,.c-d{grid-column:span 1}
  .stage2 .ch{height:230px}
  .stage2 .ch-r{height:216px}
}
@media (max-width:768px){
  .nav{height:66px}
  .nav-links{display:none}
  .nav .btn--sm{margin-left:auto}
  section{padding:56px 0}
  .hero{padding-top:32px}
  .hero-cta{flex-direction:column;align-items:center;gap:14px}
  .hero-cta .btn{width:min(100%,300px)}
  .stage{height:390px;margin:0 -24px;width:calc(100% + 48px)}
  .stage>.blob{width:min(440px,110vw);height:360px}
  .trio .l{width:min(138px,32vw);transform:rotate(-6deg) translate(18px,6px)}.trio .c{width:min(196px,46vw)}.trio .r{width:min(134px,31vw);transform:rotate(6deg) translate(-18px,4px)}
  .floor{width:min(320px,70vw)}
  .chip{min-width:128px;padding:10px 12px}
  .chip .word{font-size:22px}
  .chip1{top:24px;left:8px}.chip2{top:104px;right:8px}
  .steps{scroll-padding-inline:24px}
  .step{scroll-snap-align:start}
  .phones{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:24px;gap:20px;padding:20px 24px 10px;margin:0 -24px;scrollbar-width:none;align-items:start}
  .phones::-webkit-scrollbar{display:none}
  .phones figure{flex:0 0 68vw;max-width:300px;scroll-snap-align:start}
  .phones .mid .phone{translate:0 0;scale:1}
  .phones .l .phone,.phones .r .phone{rotate:0deg}
  .phones .mid figcaption{margin-top:22px}
  .custom{rotate:0deg;border-radius:20px;width:100%;justify-content:flex-start;padding:12px 16px;font-size:15px;line-height:1.35}
  .bento{grid-template-columns:1fr}
  .c-a,.c-b,.c-e,.c-f{grid-column:span 1}
  .c-a{min-height:0;display:flex;flex-direction:column}
  .c-a p{max-width:100%}
  .c-a img{right:50%;translate:50% 0;height:230px;bottom:-6px}
  .c-a .txt{padding-bottom:214px}
  .c-b,.c-e{flex-direction:column;align-items:flex-start;gap:18px}
  .avatars,.icons{order:-1}
  summary{padding:18px 18px;font-size:16px}
  details p{padding:0 18px 18px;font-size:15px}
  .stage2{padding:56px 20px 168px;border-radius:28px}
  .stage2 .lead{margin-bottom:26px}
  .stage2 .spark{right:6%;top:5%;width:30px;height:30px}
  .stage2 .s2{left:6%;right:auto;top:7%;bottom:auto;width:22px;height:22px}
  .stage2 .ch{height:156px;bottom:-6px}
  .stage2 .ch-l{left:3%}
  .stage2 .ch-r{right:3%;height:146px}
  footer{padding-bottom:56px}
}
@media (max-width:420px){
  .btn--store{padding:0 20px 0 18px}
  .hero-cta .btn--white{min-width:0}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .reveal{animation:none}
  .marquee{overflow-x:auto;-webkit-mask:none;mask:none}
  .track{animation:none}
}

/* ---- Article pages ---- */
.crumbs{display:flex;gap:8px;font-size:13px;font-weight:800;color:var(--ink-dim);margin-bottom:18px}
.crumbs a{color:var(--ink-dim);text-decoration:none}
.crumbs [aria-current]{color:var(--ink)}
.art-hero{padding:44px 0 8px}
.art-hero h1{font-size:clamp(36px,4.6vw,56px);margin-bottom:16px;text-wrap:balance}
.art-hero .lead{max-width:62ch}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:30px 0 0}
.facts div{background:#fff;border-radius:var(--r-panel);padding:16px 18px;box-shadow:0 10px 24px -14px var(--shadow),0 0 0 1px var(--hair)}
.facts b{display:block;font-size:22px;font-weight:900;letter-spacing:-.01em}
.facts span{font-size:13px;color:var(--ink-dim);font-weight:800}
.article{max-width:760px;margin:0 auto;padding:40px 0 0}
.article h2{font-size:clamp(26px,3vw,34px);margin:48px 0 14px;text-wrap:balance}
.article h2:first-child{margin-top:0}
.article h3{font-size:20px;margin:0 0 10px}
.article p,.article li{font-size:17px;line-height:1.6;font-weight:600}
.article p{margin:0 0 14px}
.article ul{padding-left:22px;margin:0 0 16px}
.article ul li{margin-bottom:6px}
.article a{color:var(--accent-btn);font-weight:800}
.rules{list-style:none;counter-reset:step;display:grid;gap:14px;margin:18px 0 8px;padding:0}
.rules li{position:relative;background:#fff;border-radius:var(--r-panel);padding:18px 20px 18px 74px;box-shadow:0 10px 24px -14px var(--shadow),0 0 0 1px var(--hair);margin:0}
.rules li::before{counter-increment:step;content:counter(step);position:absolute;left:18px;top:17px;width:38px;height:38px;border-radius:50%;background:var(--c,var(--accent-btn));color:#fff;font-weight:900;font-size:17px;display:grid;place-items:center}
.rules li b{display:block;font-size:18px;font-weight:900;margin-bottom:4px}
.rules li p{margin:0;font-size:15.5px;color:var(--ink-dim);font-weight:700;line-height:1.5}
.callout{background:color-mix(in srgb,var(--accent) 10%,#fff);border-radius:var(--r-panel);padding:18px 20px;margin:18px 0;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}
.callout.imp{background:color-mix(in srgb,var(--imp) 10%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--imp) 25%,transparent)}
.callout.crew{background:color-mix(in srgb,var(--crew) 12%,#fff);box-shadow:0 0 0 1px color-mix(in srgb,var(--crew) 30%,transparent)}
.callout b{display:block;font-weight:900;margin-bottom:4px}
.callout p{margin:0;font-size:15.5px}
.tbl-wrap{overflow-x:auto;margin:14px 0 18px}
.tbl{border-collapse:collapse;width:100%;background:#fff;border-radius:var(--r-panel);overflow:hidden;box-shadow:0 0 0 1px var(--hair)}
.tbl th,.tbl td{padding:12px 16px;text-align:left;font-size:15.5px;font-weight:700;white-space:nowrap}
.tbl th{background:var(--card-2);font-weight:900;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim)}
.tbl tr+tr td{border-top:1px solid var(--hair)}
.pack-head{display:flex;align-items:center;gap:14px;margin:44px 0 10px}
.pack-head img{width:56px;height:56px;filter:drop-shadow(0 6px 8px rgba(40,64,122,.2))}
.pack-head h2{margin:0;font-size:26px}
.pack-head span{display:block;font-size:13px;color:var(--ink-dim);font-weight:800;margin-top:2px}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 8px}
.article .chips li{background:#fff;border-radius:999px;padding:7px 13px;font-size:14.5px;font-weight:800;box-shadow:0 0 0 1px var(--hair);margin:0;line-height:1.3}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px;margin:0 0 8px}
.article .faq{max-width:none;margin-top:8px}
.nav-links a[aria-current="page"]{background:rgba(255,255,255,.75);color:var(--ink)}
@media (max-width:768px){.facts{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.article{padding-top:28px}.article p,.article li{font-size:16px}.art-hero h1{font-size:34px}}
.sec-head .lead a{color:var(--accent-btn);font-weight:800}
