:root{
  --bg:#0e0e10; --bg-2:#151518; --panel:#1b1b1f; --line:#2a2a2f;
  --cream:#e6dcc4; --cream-dim:#a69d88; --cream-faint:#6e6654;
  --amber:#ffa63a; --amber-hot:#ffd08a;
  --maxw:1120px; --radius:6px;
  --font:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
  --display:"Barlow Condensed","Oswald","Arial Narrow",Impact,sans-serif;
}
*{box-sizing:border-box}
html{color-scheme:dark;background:var(--bg)}
body{margin:0;background:radial-gradient(1200px 500px at 50% -120px,#1d1d22,transparent),var(--bg);color:var(--cream);font:16px/1.6 var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--amber);text-decoration:none} a:hover{color:var(--amber-hot);text-decoration:underline}
img{max-width:100%;height:auto}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px} .skip:focus{left:12px;top:12px;background:var(--panel);padding:8px 12px;z-index:9}

header.site{border-bottom:1px solid var(--line);background:rgba(14,14,16,.85);backdrop-filter:blur(8px);position:sticky;top:0;z-index:5}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{font:700 20px var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--cream)} .brand:hover{text-decoration:none;color:var(--cream)}
.brand small{color:var(--cream-faint);font-weight:500;letter-spacing:.25em;margin-left:.6em}
nav.main{display:flex;gap:22px} nav.main a{color:var(--cream-dim);font-size:14px;letter-spacing:.06em;text-transform:uppercase} nav.main a:hover,nav.main a[aria-current]{color:var(--cream);text-decoration:none}

h1,h2,h3{font-family:var(--display);letter-spacing:.04em;line-height:1.1;margin:0 0 .5em;text-transform:uppercase;font-weight:700}
h1{font-size:clamp(40px,7vw,76px)} h2{font-size:clamp(28px,4vw,40px)} h3{font-size:22px}
p{margin:0 0 1em} .lede{font-size:clamp(18px,2.2vw,22px);color:var(--cream-dim);max-width:46ch}
.eyebrow{font:600 13px var(--font);letter-spacing:.3em;text-transform:uppercase;color:var(--cream-faint);margin-bottom:14px}
section{padding:64px 0;border-top:1px solid var(--line)} section.hero{border-top:0;padding:72px 0 40px}

.btn{display:inline-block;background:linear-gradient(#3b3a36,#1d1d1b);color:var(--cream);border:1px solid #000;border-radius:var(--radius);padding:14px 26px;font:700 15px var(--font);letter-spacing:.14em;text-transform:uppercase;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 2px 10px rgba(0,0,0,.5);cursor:pointer}
.btn:hover{text-decoration:none;color:#fff;filter:brightness(1.12)} .btn:active{transform:translateY(1px)}
.btn.primary{background:linear-gradient(#ffb85a,#e0861a);color:#1a1100;border-color:#7a4a08;box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 4px 22px rgba(255,166,58,.25)}
.btn.primary:hover{color:#000} .btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;filter:grayscale(.4)}
.btn.small{padding:8px 14px;font-size:12px}
.price{font:700 30px var(--display);letter-spacing:.05em;margin-right:18px}
.cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:22px}
.note{color:var(--cream-faint);font-size:14px}

.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.card{background:linear-gradient(var(--panel),var(--bg-2));border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.card h3{margin-bottom:.3em} .card p{color:var(--cream-dim);margin-bottom:0}
a.card{display:block;color:inherit} a.card:hover{text-decoration:none;border-color:#44434a}
.card .tag{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber)}
.card.ghost{border-style:dashed;background:transparent;box-shadow:none}
dl.params{display:grid;grid-template-columns:max-content 1fr;gap:10px 28px;margin:0} dl.params dt{font:700 20px var(--display);letter-spacing:.06em;text-transform:uppercase} dl.params dd{margin:0;color:var(--cream-dim)}
@media(max-width:620px){dl.params{grid-template-columns:1fr} dl.params dd{margin-bottom:10px}}
details{border-bottom:1px solid var(--line);padding:14px 0} summary{cursor:pointer;font-weight:600} details p{margin:10px 0 0;color:var(--cream-dim)}
table.req{border-collapse:collapse;width:100%} table.req td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top} table.req td:first-child{font-weight:700;width:130px}
.soon{color:var(--amber);font-size:12px;letter-spacing:.18em;text-transform:uppercase;margin-left:8px}

/* --- demo --- */
.demo{background:#09090a;border:1px solid var(--line);border-radius:10px;padding:clamp(10px,2vw,22px);box-shadow:0 30px 80px rgba(0,0,0,.6)}
.demo canvas{display:block;width:100%;aspect-ratio:960/221;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:4px}
.demo .row{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;margin-top:16px}
.demo .group{display:flex;flex-wrap:wrap;gap:8px;align-items:center} .demo .label{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-faint);margin-right:4px}
.chip{background:#1a1a1d;color:var(--cream-dim);border:1px solid var(--line);border-radius:999px;padding:7px 15px;font:600 13px var(--font);cursor:pointer}
.chip:hover{color:var(--cream);border-color:#4a4a52} .chip[aria-pressed=true]{background:#2c2417;border-color:var(--amber);color:var(--amber-hot)}
.demo .play{min-width:96px}
.demo .hint{color:var(--cream-faint);font-size:13px;margin:12px 2px 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sr-sliders{margin-top:10px}.sr-sliders summary{font-size:13px;color:var(--cream-faint);font-weight:400}
.sr-sliders label{display:grid;grid-template-columns:110px 1fr;gap:10px;align-items:center;font-size:14px;color:var(--cream-dim);padding:4px 0}
.sr-sliders input{accent-color:var(--amber)}

footer.site{border-top:1px solid var(--line);padding:36px 0;color:var(--cream-faint);font-size:14px;margin-top:40px}
footer.site .wrap{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between} footer.site a{color:var(--cream-dim)}
.steps{counter-reset:s;padding:0;list-style:none} .steps li{counter-increment:s;padding-left:46px;position:relative;margin-bottom:14px} .steps li::before{content:counter(s);position:absolute;left:0;top:-2px;width:32px;height:32px;border:1px solid var(--amber);color:var(--amber);border-radius:50%;display:grid;place-items:center;font-weight:700}
.warn{border:1px solid #6a4a1a;background:#241a0c;color:var(--amber-hot);padding:12px 16px;border-radius:var(--radius);font-size:14px}
@media (prefers-reduced-motion:no-preference){.btn{transition:filter .15s,transform .05s}}

@media(max-width:560px){
  .brand small{display:none} nav.main{gap:16px} header.site .wrap{height:54px}
  section{padding:44px 0} section.hero{padding:48px 0 28px}
  .demo .row{gap:12px} .sr-sliders label{grid-template-columns:96px 1fr}
}
html,body{overflow-x:hidden}
