
:root{
  --paper:#EEF1F5; --surface:#FFFFFF; --ink:#161B26; --muted:#566074; --line:#D5DBE5;
  --cobalt:#2B54F0; --cobalt-ink:#FFFFFF; --amber:#F2A60D; --amber-soft:#FFF4DB;
  --display:"Bricolage Grotesque","Helvetica Neue",Arial,sans-serif;
  --body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#10141C; --surface:#181E2A; --ink:#EDF0F6; --muted:#9AA5BA; --line:#2A3345;
    --cobalt:#6C8BFF; --cobalt-ink:#0B1020; --amber:#F7B731; --amber-soft:#2A2312;
  }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--body)}
a{color:inherit}
:focus-visible{outline:3px solid var(--cobalt);outline-offset:3px;border-radius:4px}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--display);line-height:1.05;margin:0;letter-spacing:-.02em}
h1{font-size:clamp(2.6rem,7vw,5rem);font-weight:800}
h2{font-size:clamp(1.8rem,4vw,2.7rem);font-weight:700;margin-bottom:14px}
h3{font-size:1.3rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 14px}
.lede{font-size:1.2rem;color:var(--muted);max-width:34em}

nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0}
.logo{font:800 1.35rem var(--display);text-decoration:none;letter-spacing:-.02em}
.logo b{color:var(--cobalt)}
nav a.link{text-decoration:none;color:var(--muted);margin-left:22px;font-weight:500}
nav a.link:hover{color:var(--ink)}

.btn{display:inline-block;background:var(--cobalt);color:var(--cobalt-ink);font:600 1rem var(--body);padding:14px 26px;border-radius:999px;text-decoration:none;border:2px solid var(--cobalt);transition:transform .15s}
.btn:hover{transform:translateY(-2px)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 12px}
.fine{font-size:.9rem;color:var(--muted)}

/* hero */
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding:36px 0 72px}
.stage{background:var(--surface);border:1px solid var(--line);border-radius:28px;padding:24px 12px}
.stage svg{width:100%;height:auto;display:block}
.stage .dev{fill:var(--paper);stroke:var(--ink);stroke-width:3}
.stage .scr{fill:var(--surface);stroke:var(--line);stroke-width:2}
.stage .bar{fill:var(--line)}
.stage .qr{fill:var(--ink)}
.stage .rail{stroke:var(--line);stroke-width:3;stroke-dasharray:2 9;stroke-linecap:round;fill:none}
.stage .pkt{fill:var(--cobalt)}
.stage text{font:600 13px var(--body);fill:var(--muted)}
.pkt{animation:fly 3.2s cubic-bezier(.6,0,.4,1) infinite}
.pkt:nth-of-type(2){animation-delay:.35s}
.pkt:nth-of-type(3){animation-delay:.7s}
@keyframes fly{0%{transform:translateX(0);opacity:0}12%{opacity:1}80%{opacity:1}100%{transform:translateX(150px);opacity:0}}
@media (prefers-reduced-motion:reduce){.pkt{animation:none;opacity:1}}

section{padding:72px 0;border-top:1px solid var(--line)}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:36px}
.facts p{color:var(--muted);margin:8px 0 0}

.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px;counter-reset:s;padding:0;list-style:none}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px}
.steps li::before{content:counter(s);display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:var(--paper);font:700 1.05rem var(--display);margin-bottom:16px}
.steps p{color:var(--muted);margin:8px 0 0}

.plans{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:36px;max-width:820px}
.plan{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:32px;display:flex;flex-direction:column}
.plan.pro{border:2px solid var(--amber);background:linear-gradient(var(--amber-soft),var(--surface) 55%)}
.price{font:800 3.4rem var(--display);letter-spacing:-.03em;line-height:1;margin:14px 0 4px}
.price small{font:500 1rem var(--body);color:var(--muted);letter-spacing:0}
.plan ul{padding:0;margin:18px 0 26px;list-style:none;flex:1}
.plan li{padding:7px 0 7px 28px;position:relative}
.plan li::before{content:"";position:absolute;left:4px;top:15px;width:11px;height:6px;border-left:3px solid var(--cobalt);border-bottom:3px solid var(--cobalt);transform:rotate(-45deg)}
.tag{align-self:flex-start;background:var(--amber);color:#1a1400;font:700 .8rem var(--body);padding:3px 11px;border-radius:999px}
.launch{font-size:.92rem;color:var(--muted);margin-top:14px}

details{border-bottom:1px solid var(--line);padding:18px 0}
summary{cursor:pointer;font:600 1.12rem var(--body);list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font:500 1.5rem/1 var(--body);color:var(--cobalt)}
details[open] summary::after{content:"–"}
details p{color:var(--muted);margin:12px 0 0;max-width:46em}

.final{text-align:center}
.final .lede{margin:0 auto}
.final .cta-row{justify-content:center}
footer{padding:36px 0 56px;border-top:1px solid var(--line);color:var(--muted);font-size:.92rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

@media (max-width:820px){
  .hero{grid-template-columns:1fr;padding-top:12px}
  .facts,.steps,.plans{grid-template-columns:1fr}
  nav a.link{display:none}
}

.prose{max-width:720px;padding:8px 0 64px}.prose h1{font-size:clamp(2rem,5vw,3.2rem);margin:10px 0 18px}.prose h2{font-size:1.5rem;margin:38px 0 10px}
.prose ol,.prose ul{padding-left:22px}.prose li{margin:6px 0}.crumbs{font-size:.9rem;color:var(--muted);padding-top:6px}.crumbs a{color:var(--muted)}
.tbl{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px;font-size:.95rem}th,td{border-bottom:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.box{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:24px;margin:30px 0}
.rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;padding:0!important;list-style:none}.rel a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;text-decoration:none;font-weight:500}.rel a:hover{border-color:var(--cobalt)}
.calc label{display:block;margin:14px 0 4px;font-weight:600}.calc select,.calc input{font:inherit;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.big{font:800 2.3rem var(--display);margin:8px 0}