:root{--h:205;--l:93%;--ink:#0c2233;--mut:#46596b;--acc:#f26418;--card:rgba(255,255,255,.62);--line:rgba(12,34,51,.16);--head:'Bricolage Grotesque','Helvetica Neue',Arial,sans-serif;--body:'Instrument Sans','Helvetica Neue',Arial,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--l:9%;--ink:#e8f1fa;--mut:#9fb2c4;--acc:#ff8a4c;--card:rgba(255,255,255,.06);--line:rgba(232,241,250,.18)}}
:root[data-theme="dark"]{--l:9%;--ink:#e8f1fa;--mut:#9fb2c4;--acc:#ff8a4c;--card:rgba(255,255,255,.06);--line:rgba(232,241,250,.18)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;background:hsl(var(--h) 42% var(--l))}
body{background:hsl(var(--h) 42% var(--l));color:var(--ink);font:400 17px/1.65 var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden;animation:pin .7s ease both}
body.out{opacity:0;transition:opacity .25s}
@keyframes pin{from{opacity:0;transform:translateY(12px)}}
a{color:inherit}:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:6px}
#bar{position:fixed;inset:0 0 auto;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:left;z-index:60}
header.top{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 14px) 5vw 14px;background:hsl(var(--h) 42% var(--l) / .75);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:700 21px var(--head);letter-spacing:-.01em}
.logo{display:grid;place-items:center;border-radius:10px;background:#0c2233;width:34px;height:34px;padding:5px;overflow:hidden}
.logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}
nav{display:flex;gap:6px;align-items:center}
.lk{text-decoration:none;font-size:15px;padding:8px 12px;border-radius:99px;transition:background .25s}
.lk:hover,.lk.cur{background:var(--card)}
.btn{display:inline-block;text-decoration:none;border-radius:999px;padding:13px 24px;font-weight:500;border:1px solid var(--line);background:var(--card);cursor:pointer;transition:transform .25s}
.btn:hover{transform:translateY(-2px)}
.btn.pri{background:var(--ink);color:hsl(var(--h) 42% var(--l));border-color:var(--ink)}
.btn.sm{padding:9px 16px;font-size:14px}
.hero{position:relative;padding:20vh 7vw 14vh;max-width:1280px;margin:auto}
h1,h2,h3{font-family:var(--head);letter-spacing:-.03em;line-height:1.05}
h1{font-size:clamp(40px,6.4vw,92px);max-width:15ch}
h2{font-size:clamp(30px,4vw,56px)}
h3{font-size:22px;letter-spacing:-.01em}
.lead{margin-top:24px;font-size:clamp(18px,1.6vw,22px);color:var(--mut);max-width:50ch}
.wv{position:absolute;left:0;right:0;bottom:0;width:100%;height:120px;color:var(--acc);opacity:.8}
.wv path{fill:none;stroke:currentColor;stroke-width:2;stroke-dasharray:14 10;animation:dash 6s linear infinite}
@keyframes dash{to{stroke-dashoffset:-240}}
.sec{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;padding:11vh 7vw;max-width:1280px;margin:auto}
.sec.rev .vis{order:-1}
.sec p{margin-top:18px;color:var(--mut);max-width:48ch}
.rv{opacity:0;transform:translateY(44px);filter:blur(6px);transition:opacity .9s,transform .9s cubic-bezier(.2,.8,.2,1),filter .9s}
.rv.in{opacity:1;transform:none;filter:none}
.vis.rv{transform:translateY(70px) scale(.95)}
.vis.rv.in{transform:none}
.shot{border:1px solid var(--line);border-radius:18px;background:var(--card);backdrop-filter:blur(14px);box-shadow:0 30px 80px -30px hsl(var(--h) 60% 20% / .35);overflow:hidden}
.tb{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--mut)}
.tb i{width:9px;height:9px;border-radius:50%;background:var(--line)}.tb b{margin-left:10px;font-weight:500}
.ph{aspect-ratio:16/10;margin:14px;border:1.5px dashed var(--mut);border-radius:12px;display:grid;place-content:center;justify-items:center;gap:6px;color:var(--mut);font-size:14px;text-align:center}
.shot img.screen{display:block;width:calc(100% - 28px);aspect-ratio:16/10;object-fit:cover;margin:14px;border-radius:12px}
.ph small{font-size:12px;opacity:.8}
.tl{position:relative;max-width:820px;margin:0 auto;padding:6vh 7vw 8vh 7vw}
.tl .rail{position:absolute;left:calc(7vw + 21px);top:6vh;bottom:8vh;width:2px;background:var(--line)}
.tl .rail i{display:block;width:100%;height:0;background:var(--acc)}
.st{position:relative;padding-left:76px;margin-bottom:13vh}
.st .n{position:absolute;left:0;top:0;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:hsl(var(--h) 42% var(--l));border:2px solid var(--line);font:700 18px var(--head);transition:all .5s}
.st.in .n{border-color:var(--acc);background:var(--acc);color:#fff}
.st p{margin-top:12px;color:var(--mut);max-width:50ch}
.arch{max-width:900px;margin:0 auto;padding:4vh 7vw 12vh;color:var(--ink)}
.arch svg{width:100%;height:auto}
.flow{stroke-dasharray:6 8;animation:dash 3s linear infinite}
.cmp{max-width:980px;margin:auto;padding:4vh 7vw 12vh}
.cmp div{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.cmp div:first-child{font-weight:500;color:var(--mut);border:0}
.cmp b{font-weight:500}
.cta{text-align:center;padding:14vh 7vw;border-top:1px solid var(--line)}
.cta h2{max-width:18ch;margin:0 auto}.cta .btn{margin-top:30px}
form{display:grid;gap:16px;max-width:560px;margin-top:30px}
.form-status{min-height:1.6em;color:var(--mut);font-size:15px}.form-status.error{color:#b42318}.form-status.success{color:#137333}
.honeypot{position:absolute;left:-10000px;opacity:0;pointer-events:none}
label{display:grid;gap:6px;font-size:15px;color:var(--mut)}
input,textarea{font:inherit;color:var(--ink);padding:14px 16px;border-radius:12px;border:1px solid var(--line);background:var(--card);transition:border-color .25s,box-shadow .25s}
textarea{resize:vertical;min-height:140px;max-height:360px}
input:focus,textarea:focus{outline:0;border-color:var(--acc);box-shadow:0 0 0 3px hsl(18 90% 52% / .2)}
footer{padding:7vh 7vw calc(env(safe-area-inset-bottom,0px) + 40px);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;color:var(--mut);font-size:15px}
footer nav{flex-wrap:wrap}footer .lk{padding:4px 10px}
@media (max-width:820px){.sec{grid-template-columns:1fr;gap:30px;padding:8vh 7vw}.sec.rev .vis{order:0}.lk{display:none}header.top .btn{display:inline-block}footer .lk{display:inline-block}.cmp div{grid-template-columns:1fr;gap:4px}.hero{padding-top:14vh}}
@media (prefers-reduced-motion:reduce){body{animation:none}.rv,.vis.rv{opacity:1;transform:none;filter:none;transition:none}.wv path,.flow{animation:none}html{scroll-behavior:auto}}

#mb{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);cursor:pointer;position:relative;padding:0;z-index:2}
#mb i{position:absolute;left:13px;right:13px;height:2px;background:var(--ink);border-radius:2px;transition:transform .35s,top .35s}
#mb i:first-child{top:18px}#mb i:last-child{top:25px}
#mb[aria-expanded=true] i:first-child{top:21px;transform:rotate(45deg)}
#mb[aria-expanded=true] i:last-child{top:21px;transform:rotate(-45deg)}
#mm{position:fixed;inset:0;z-index:45;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:90px 9vw 40px;background:hsl(var(--h) 42% var(--l));clip-path:circle(0 at calc(100% - 40px) 40px);visibility:hidden;transition:clip-path .6s cubic-bezier(.7,0,.2,1),visibility 0s .6s}
#mm.open{clip-path:circle(150% at calc(100% - 40px) 40px);visibility:visible;transition:clip-path .6s cubic-bezier(.7,0,.2,1)}
#mm a{font:700 clamp(32px,9vw,48px)/1.15 var(--head);letter-spacing:-.03em;text-decoration:none;padding:8px 0;opacity:0;transform:translateY(24px);transition:opacity .5s,transform .5s}
#mm.open a{opacity:1;transform:none}
#mm a.cur{color:var(--acc)}
#mm a.btn{font:500 17px var(--body);letter-spacing:0;align-self:flex-start;margin-top:18px;padding:14px 26px}
#mm.open a:nth-child(1){transition-delay:0.18s}#mm.open a:nth-child(2){transition-delay:0.24s}#mm.open a:nth-child(3){transition-delay:0.30s}#mm.open a:nth-child(4){transition-delay:0.36s}#mm.open a:nth-child(5){transition-delay:0.42s}#mm.open a:nth-child(6){transition-delay:0.48s}
header{z-index:46}
@media (min-width:821px){#mm{display:none}}
@media (max-width:820px){#mb{display:block}header nav{display:none}}
@media (prefers-reduced-motion:reduce){#mm,#mm a,#mb i{transition:none}}
