/* Website (landing, legal, credits, 404). Same stage look as the game: dark room, brass accent, bundled fonts. */
:root{
  --stage:#120f14; --panel:#1c1820; --panel-2:#28222d;
  --ink:#f3ede3; --dim:#a69dab; --line:rgba(243,237,227,.13); --glass:rgba(243,237,227,.08);
  --brass:#e2aa4a; --brass-ink:#1d1406; --spot:rgba(226,170,74,.12);
  --good:#7fdca0; --bad:#ef6f6c;
  --f-display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --f-body:Archivo,-apple-system,"Helvetica Neue",Arial,sans-serif;
  color-scheme:dark;
}
[hidden]{display:none!important}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;min-height:100vh;background:radial-gradient(120% 60% at 80% -10%,var(--spot) 0%,transparent 60%) no-repeat,var(--stage);
  color:var(--ink);font:400 16px/1.55 var(--f-body);-webkit-tap-highlight-color:transparent;
  padding:0 max(16px,env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(16px,env(safe-area-inset-left,0px))}
a{color:var(--brass)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
main{max-width:980px;margin:0 auto}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* top bar */
.top{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:calc(env(safe-area-inset-top,0px) + 12px) 0 12px}
/* logo images: brand.json "logo" → brand/web/*.svg (stick-crossing gap cut, so they sit cleanly on the spotlight) */
.brand{display:block;line-height:0;text-decoration:none;border-radius:6px}
.brand img{display:block;height:36px;width:auto}

/* buttons */
.btn{appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-family:var(--f-display);font-weight:800;font-size:20px;
  letter-spacing:.05em;text-transform:uppercase;min-height:52px;padding:0 22px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;
  gap:8px;cursor:pointer;text-decoration:none;touch-action:manipulation}
.btn.primary{background:var(--brass);color:var(--brass-ink);border-color:transparent}
.btn.small{min-height:40px;font-size:16px;padding:0 14px}
.btn.ghost{background:transparent}
.btn:active{transform:translateY(1px)}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.cta{display:flex;flex-wrap:wrap;gap:10px}

/* type */
.eyebrow{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:0}
.logo{margin:14px 0 20px;line-height:0}
.logo img{display:block;width:min(100%,560px);height:auto}
/* phones (portrait + landscape): the header already shows the lockup, so the hero logo is kept for screen readers only
   and the free-demo button lands on the first screen (2026-10-14) */
@media (max-width:520px),(max-height:500px){.hero .logo{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0}
  .hero .eyebrow{margin-bottom:12px}}
h2{font-family:var(--f-display);font-weight:800;font-size:clamp(30px,8vw,46px);line-height:.95;text-transform:uppercase;margin:0 0 12px;letter-spacing:.01em}
h3{font-family:var(--f-display);font-weight:800;font-size:22px;line-height:1.05;text-transform:uppercase;margin:0 0 6px;letter-spacing:.03em}
.lede{font-size:18px;max-width:40ch;margin:0 0 22px}
.fine{font-size:13px;color:var(--dim);line-height:1.5;margin:10px 0 0}
section{padding:28px 0;border-top:1px solid var(--line)}
section:first-child{border-top:0}

/* hero */
.hero{padding-top:18px}
.teaser{margin-top:22px;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#000;max-width:640px}
.teaser video{display:block;width:100%;height:auto}

/* features */
.feats{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}
.feats li{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px}
.feats p{margin:0;color:var(--dim);font-size:15px}
.tag{display:inline-block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin-left:6px;vertical-align:middle}

/* forms */
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px;max-width:560px}
.row{display:flex;flex-wrap:wrap;gap:10px}
.row input[type=email]{flex:1 1 220px;min-width:0;min-height:52px;border-radius:10px;border:1px solid var(--line);background:var(--stage);color:var(--ink);
  font:500 17px/1 var(--f-body);padding:0 14px}
.row .btn{flex:0 0 auto}
.status{margin:12px 0 0;font-size:15px;min-height:1.5em}
.status.ok{color:var(--good)}
.status.err{color:var(--bad)}
.price{font-family:var(--f-display);font-weight:900;font-size:44px;line-height:1;margin:6px 0 12px;color:var(--brass)}
.incl{margin:0 0 16px;padding-left:20px;color:var(--ink)}
.incl li{margin:4px 0}

/* faq */
.faq details{border-bottom:1px solid var(--line);padding:4px 0}
.faq summary{cursor:pointer;font-weight:600;padding:12px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--brass);font-weight:700}
.faq details[open] summary::after{content:"–"}
.faq p{margin:0 0 14px;color:var(--dim);max-width:62ch}

/* legal + credits */
.doc{max-width:720px;padding:8px 0 24px}
.doc h1{font-family:var(--f-display);font-weight:900;font-size:clamp(40px,11vw,64px);line-height:.9;text-transform:uppercase;margin:12px 0 8px}
.doc h2{font-size:26px;margin:28px 0 8px}
.doc p,.doc li{color:var(--ink);max-width:68ch}
.doc .meta{color:var(--dim);font-size:13px}
.doc pre{white-space:pre-wrap;word-break:break-word;font:12px/1.5 ui-monospace,Menlo,monospace;color:var(--dim);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;max-height:340px;overflow:auto}
.draft{border:2px dashed var(--bad);color:var(--bad);border-radius:10px;padding:10px 14px;font-weight:700;margin:14px 0}
mark.ph{background:rgba(239,111,108,.18);color:var(--bad);border-radius:4px;padding:0 4px;font-weight:600}

/* footer */
.foot{max-width:980px;margin:24px auto 0;padding:20px 0 28px;border-top:1px solid var(--line);color:var(--dim);font-size:13px}
.foot nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-bottom:8px}
.foot a{color:var(--dim)}
.foot p{margin:0}

@media (min-width:760px){
  .hero{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
  .teaser{margin-top:0}
}
