:root{--bg:#06090f;--bg2:#0b111b;--line:#1a2433;--t:#e8eef5;--m:#8696aa;--a:#5cf2c6;--b:#7a8cff;
--fd:'Unbounded',system-ui,sans-serif;--fb:'Geist',system-ui,sans-serif;--fm:'JetBrains Mono',ui-monospace,monospace}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;background:var(--bg)}
body{background:var(--bg);color:var(--t);font:400 17px/1.6 var(--fb);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
h1,h2,h3{font-family:var(--fd);font-weight:500;letter-spacing:-.02em;line-height:1.08}
h2{font-size:clamp(28px,4.4vw,52px);max-width:16ch;margin-bottom:48px}
h3{font-size:18px;margin-bottom:8px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
main section{padding:140px 24px 0}
.btn{display:inline-block;background:var(--a);color:#03130e;font:500 15px var(--fb);padding:14px 22px;border-radius:999px;text-decoration:none;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s}
.btn:hover{transform:translateY(-1px);box-shadow:0 0 0 6px rgba(92,242,198,.14)}
.btn.sm{padding:9px 16px;font-size:14px;white-space:nowrap}
.ghost{color:var(--m);text-decoration:none;font-size:15px}.ghost:hover{color:var(--t)}
:focus-visible{outline:2px solid var(--a);outline-offset:3px}

.top{position:fixed;inset:0 0 auto;z-index:20;display:flex;align-items:center;gap:28px;padding:16px 28px;background:linear-gradient(var(--bg),transparent)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:500 17px var(--fd);margin-right:auto;color:var(--t)}
.logo sup{color:var(--a);font-size:10px;margin-left:2px}
.top nav{display:flex;gap:24px}.top nav a,.lang{color:var(--m);text-decoration:none;font-size:14px}
.top nav a:hover,.lang:hover{color:var(--t)}
.lang{font-family:var(--fm);font-size:12px;border:1px solid var(--line);padding:4px 8px;border-radius:6px}

#scan-track{height:440vh;position:relative}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
#scene{position:absolute;inset:0;width:100%;height:100%}
#dims span,#dims b{position:absolute;left:0;top:0;font:400 12px var(--fm);color:var(--a);opacity:0;white-space:nowrap;pointer-events:none;background:var(--bg);padding:1px 5px}
#dims b.area{font:500 22px var(--fd);color:var(--t);background:none;text-align:center}
#dims b.area small{display:block;font:400 11px var(--fm);color:var(--m);letter-spacing:.08em;text-transform:uppercase}
.hero{position:absolute;left:clamp(24px,6vw,96px);top:50%;transform:translateY(-50%);max-width:560px;z-index:2}
.kicker{font:400 12px var(--fm);letter-spacing:.14em;text-transform:uppercase;color:var(--a);margin-bottom:22px}
h1{font-size:clamp(38px,6.2vw,84px);font-weight:300;margin-bottom:26px}
h1 em{font-style:normal;font-weight:700;color:var(--a)}
.lead{color:#b4c1d0;max-width:44ch;margin-bottom:32px}
.row{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.hint{font:400 12px var(--fm);color:var(--m);letter-spacing:.06em}
.hint::after{content:'';display:inline-block;width:1px;height:18px;background:var(--a);margin-left:10px;vertical-align:middle;animation:h 1.6s ease-in-out infinite}
@keyframes h{50%{transform:translateY(6px);opacity:.3}}
.hero{transition:opacity .5s,transform .5s}
html:not([style*="--scan:0"]) .hero{}
.steps{position:absolute;right:clamp(24px,5vw,80px);bottom:12vh;width:300px;list-style:none;padding:0;z-index:2}
.steps li{position:absolute;bottom:0;opacity:0;transform:translateY(14px);transition:opacity .45s cubic-bezier(.2,.8,.2,1),transform .45s cubic-bezier(.2,.8,.2,1)}
.steps li.on{opacity:1;transform:none}
.steps b{font:400 12px var(--fm);color:var(--a)}
.steps h3{font-size:22px;margin:6px 0}
.steps p{color:var(--m);font-size:15px}
.hud{position:absolute;left:clamp(24px,6vw,96px);bottom:6vh;display:flex;gap:12px;align-items:center;font:400 11px var(--fm);color:var(--m);letter-spacing:.12em;z-index:2}
.hud .bar{width:160px;height:1px;background:var(--line);position:relative}
.hud .bar i{position:absolute;inset:0;background:var(--a);transform-origin:left;transform:scaleX(calc(var(--scan,0)/100))}
.hud .pct::after{counter-reset:p var(--scan-int,0);content:''}

.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.feats article{background:var(--bg);padding:34px 30px 40px;transition:background .3s}
.feats article:hover{background:var(--bg2)}
.feats article.big{grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(120% 80% at 0% 0%,rgba(92,242,198,.10),transparent 60%),var(--bg)}
.feats article.big h3{font-size:30px}
.feats .n{font:400 12px var(--fm);color:var(--a);display:block;margin-bottom:40px}
.feats p,.who p{color:var(--m);font-size:15.5px}

.who ul{list-style:none;padding:0;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:56px;border-top:1px solid var(--line);padding-top:36px}
.who h3{font-size:24px}

.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.plan{border:1px solid var(--line);border-radius:14px;padding:30px}
.plan.hot{border-color:var(--a);box-shadow:0 0 60px -20px rgba(92,242,198,.45);transform:translateY(-12px)}
.plan h3{font:400 13px var(--fm);text-transform:uppercase;letter-spacing:.12em;color:var(--m)}
.price{font:500 46px var(--fd);margin:14px 0 22px}.price small{font:400 15px var(--fb);color:var(--m)}
.plan ul{list-style:none;padding:0;display:grid;gap:10px;font-size:15px}
.plan li::before{content:'';display:inline-block;width:10px;height:1px;background:var(--a);margin-right:10px;vertical-align:middle}
.note{color:var(--m);font:400 12px var(--fm);margin-top:22px}

.faq details{border-top:1px solid var(--line);padding:22px 0;max-width:820px}
.faq summary{cursor:pointer;font:500 19px var(--fd);list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:'+';color:var(--a);font-family:var(--fm);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{color:var(--m);padding-top:12px;max-width:65ch}

.end{padding-bottom:140px}.end h2{max-width:18ch;margin-bottom:18px}.end>p{color:var(--m);margin-bottom:32px}
.foot{border-top:1px solid var(--line);padding:28px 24px 40px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;color:var(--m);font-size:13px}
.foot a{color:var(--m)}

.doc .top{position:static}
.prose{padding-top:60px;padding-bottom:100px;max-width:760px}
.prose h1{font-size:clamp(30px,5vw,48px);margin-bottom:28px}.prose h2{font-size:20px;margin:36px 0 10px;max-width:none}
.prose p{color:#b4c1d0;margin-bottom:12px}

@media (max-width:860px){
  .top{padding:14px 16px;gap:14px}.top nav{display:none}
  .wrap{padding:0 16px}main section{padding:96px 16px 0}
  .hero{left:16px;right:16px;top:12vh;transform:none}
  .lead{font-size:15.5px}
  .steps{left:16px;right:16px;width:auto;bottom:10vh}
  .hud{display:none}
  .feats,.plans,.who ul{grid-template-columns:1fr}.feats article.big{grid-row:auto}
  .plan.hot{transform:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

.langs{position:relative}
.langs summary{list-style:none;cursor:pointer;font:400 12px var(--fm);color:var(--m);border:1px solid var(--line);padding:5px 9px;border-radius:6px;display:flex;gap:6px;align-items:center}
.langs summary::-webkit-details-marker{display:none}
.langs summary::after{content:'';width:5px;height:5px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.langs[open] summary::after{transform:rotate(-135deg)}
.langs summary:hover,.langs[open] summary{color:var(--t);border-color:#2a3a50}
.langs ul{position:absolute;right:0;top:calc(100% + 8px);list-style:none;padding:6px;margin:0;background:#0b111b;border:1px solid var(--line);border-radius:10px;min-width:180px;box-shadow:0 20px 50px -20px #000;animation:lg .18s cubic-bezier(.2,.8,.2,1)}
@keyframes lg{from{opacity:0;transform:translateY(-4px)}}
.langs a{display:flex;gap:12px;align-items:baseline;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--m);font-size:14px}
.langs a b{font:400 11px var(--fm);color:var(--a);width:20px}
.langs a:hover{background:var(--bg2);color:var(--t)}
.langs a[aria-current]{color:var(--t)}
.login{color:var(--m);text-decoration:none;font-size:14px}.login:hover{color:var(--t)}
@media (max-width:860px){.login{display:none}}

/* ── Pages internes ── */
.sub main{padding-top:84px}
.phero{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;padding-top:56px!important;padding-bottom:40px}
.phero h1{font-size:clamp(34px,5vw,64px);margin-bottom:22px}
.phero .lead{margin-bottom:28px}
.crumbs ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;font:400 12px var(--fm);color:var(--m);margin-bottom:28px}
.crumbs li+li::before{content:'/';margin-right:8px;color:#2a3a50}
.crumbs a{color:var(--m);text-decoration:none}.crumbs a:hover{color:var(--a)}
.art{width:100%;height:auto;border:1px solid var(--line);border-radius:16px;background:radial-gradient(90% 70% at 30% 20%,rgba(92,242,198,.07),transparent 70%),var(--bg2)}
.art .wall{fill:none;stroke:#e8fff7;stroke-width:2.2;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.2s .2s cubic-bezier(.6,0,.2,1) forwards}
.art .dim{fill:none;stroke:var(--a);stroke-width:.8;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.2s 1.6s ease-out forwards}
.art .tx{font:400 9px var(--fm);fill:var(--a);opacity:0;animation:fade .6s 2.4s forwards}
.art .dot{fill:var(--a);animation:pulse 2.4s ease-in-out infinite}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes fade{to{opacity:1}}
@keyframes pulse{50%{r:6;opacity:.35}}
.cgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.cards h2{margin-bottom:32px}
.card{display:flex;flex-direction:column;gap:10px;padding:28px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:var(--bg);transition:border-color .25s,transform .25s cubic-bezier(.2,.8,.2,1),background .25s}
.card:hover{border-color:#2c4a48;background:var(--bg2);transform:translateY(-2px)}
.card .k{font:400 11px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--a)}
.card h3{font-size:20px;margin:0}
.card p{color:var(--m);font-size:15px;flex:1}
.card .go{font-size:14px;color:var(--t)}.card .go i{font-style:normal;display:inline-block;transition:transform .25s}.card:hover .go i{transform:translateX(4px)}
.secs article{display:grid;grid-template-columns:80px 1fr 1.4fr;gap:32px;padding:44px 0;border-top:1px solid var(--line)}
.secs article .n{font:400 12px var(--fm);color:var(--a);padding-top:8px}
.secs article h2{font-size:clamp(22px,2.6vw,30px);margin:0;max-width:none}
.secs article p{color:#b4c1d0}
.howto ol{list-style:none;padding:0;counter-reset:s;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.howto li{background:var(--bg);padding:30px;counter-increment:s}
.howto li::before{content:counter(s,decimal-leading-zero);font:400 12px var(--fm);color:var(--a);display:block;margin-bottom:22px}
.howto p{color:var(--m);font-size:15.5px}
.who li a{text-decoration:none;display:block}.who li a i{font-style:normal;color:var(--a);transition:transform .25s;display:inline-block}.who li a:hover i{transform:translateX(4px)}
.more{margin-top:28px}.more a{color:var(--a);text-decoration:none;font-size:15px}
.feats h3 a{text-decoration:none;background:linear-gradient(var(--a),var(--a)) 0 100%/0 1px no-repeat;transition:background-size .3s}
.feats h3 a:hover{background-size:100% 1px}
.foot2{border-top:1px solid var(--line);margin-top:40px;padding:64px 0 32px;color:var(--m);font-size:14px}
.fcols{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:40px}
.fbrand p{margin-top:16px;max-width:34ch;font-size:13.5px}
.foot2 h4{font:400 11px var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--t);margin-bottom:14px}
.foot2 ul{list-style:none;padding:0;display:grid;gap:9px}
.foot2 a{color:var(--m);text-decoration:none}.foot2 a:hover{color:var(--a)}
.fbot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);margin-top:48px;padding-top:22px;font-size:13px}
@media (max-width:860px){
  .phero{grid-template-columns:1fr;gap:32px;padding-top:24px!important}
  .secs article{grid-template-columns:1fr;gap:10px;padding:32px 0}
  .fcols{grid-template-columns:1fr 1fr}.fbrand{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.art .wall,.art .dim{stroke-dashoffset:0}.art .tx{opacity:1}}
.sub .top{background:rgba(6,9,15,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.foot2 li a{display:inline-block}.foot2 li a::first-letter{text-transform:uppercase}
.sub .end{padding-top:120px}
