
:root{
  --ink:#070a16; --ink-2:#0d1226; --ink-3:#141a33;
  --paper:#ece8e0; --paper-2:#e2ddd2; --paper-ink:#121629; --paper-mut:#585c6b;
  --blue:#2f4bff; --blue-lt:#6b82ff; --blue-glow:rgba(63,92,255,.55);
  --steel:#5f6168;
  --tx:#eaedf6; --mut:#9ca3bb; --line:rgba(140,160,255,.14);
  --r:18px; --r-sm:12px;
  --wrap:1200px; --gut:clamp(16px,4vw,40px);
  --ease:cubic-bezier(.2,.7,.1,1); --ease-o:cubic-bezier(.16,1,.3,1);
  --f:"Archivo",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --m:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--ink);color:var(--tx);font:400 clamp(15px,.35vw + 14px,17px)/1.6 var(--f);font-stretch:100%;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--blue-lt);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;z-index:100;background:#fff;color:#000;padding:8px 14px;border-radius:8px}
.skip:focus{left:8px}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gut)*2);margin-inline:auto;padding-inline:var(--gut)}
.ico{width:18px;height:18px;flex:none;fill:currentColor}
em{font-style:normal;color:var(--blue-lt)}

/* ---------- buttons ---------- */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:600;font-size:15.5px;letter-spacing:.005em;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:transform .35s var(--ease-o),background .3s,border-color .3s,box-shadow .35s;isolation:isolate;overflow:hidden;-webkit-tap-highlight-color:transparent}
.btn:active{transform:scale(.97)}
.btn--pri{background:var(--blue);color:#fff;box-shadow:0 10px 30px -10px var(--blue-glow),inset 0 1px 0 rgba(255,255,255,.25)}
.btn--pri::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.28) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--ease)}
.btn--pri:hover::before{transform:translateX(120%)}
.btn--pri:hover{box-shadow:0 14px 40px -10px var(--blue-glow),inset 0 1px 0 rgba(255,255,255,.3)}
.btn--pri .ico{transition:transform .35s var(--ease-o)}
.btn--pri:hover .ico{transform:translateX(3px)}
.btn--ghost{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.16);color:var(--tx);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.btn--ghost:hover{border-color:rgba(255,255,255,.36);background:rgba(255,255,255,.08)}
.btn--ghost .ico{color:#3ee07a}
.btn--sm{min-height:42px;padding:0 16px;font-size:14px}
.btn--block{width:100%}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .4s,border-color .4s,transform .5s var(--ease-o);border-bottom:1px solid transparent}
.nav.is-solid{background:rgba(7,10,22,.86);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-color:var(--line)}
.nav__in{display:flex;align-items:center;gap:24px;height:68px}
.nav__logo img{width:112px;height:auto}
.nav__links{display:flex;gap:28px;margin-left:auto;font-size:14.5px;color:var(--mut)}
.nav__links a{position:relative;padding:6px 0;transition:color .25s}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--blue-lt);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease-o)}
.nav__links a:hover{color:var(--tx)}
.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
@media (max-width:860px){.nav__links{display:none}.nav__cta{margin-left:auto}}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:
  radial-gradient(1200px 700px at 72% 42%,#142060 0%,rgba(20,32,96,0) 60%),
  radial-gradient(900px 600px at 10% 110%,#0f1636 0%,rgba(15,22,54,0) 60%),var(--ink)}
.hero__canvas{position:absolute;inset:0;width:100%;height:100%}
.hero__veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,10,22,.86) 0%,rgba(7,10,22,.5) 34%,rgba(7,10,22,0) 58%),linear-gradient(0deg,var(--ink) 0%,rgba(7,10,22,0) 22%)}
.hero__fallback{position:absolute;inset:0;display:none;place-items:center;padding-left:40%}
.hero__fallback img{width:min(36vw,380px);height:auto;filter:drop-shadow(0 0 40px rgba(79,107,255,.6)) drop-shadow(0 0 120px rgba(79,107,255,.35))}
.no-webgl .hero__fallback{display:grid}
.hero__in{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);padding-top:110px;padding-bottom:110px}
.hero__copy{max-width:600px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 22px;font:500 12px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--blue-lt);box-shadow:0 0 0 4px rgba(107,130,255,.18);animation:pulse 2.4s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(107,130,255,0)}}
.hero__t{margin:0;font-weight:760;font-stretch:118%;font-size:clamp(38px,5.4vw,76px);line-height:.98;letter-spacing:-.03em;text-wrap:balance}
.hero__t em{display:inline;background:linear-gradient(100deg,#8ea0ff 0%,#4f6bff 55%,#a9b6ff 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__sub{margin:22px 0 0;max-width:500px;color:#b9bfd3;font-size:clamp(16px,.5vw + 14px,18.5px)}
.rot{display:inline-block;vertical-align:bottom;overflow:hidden;height:1.6em;line-height:1.6;color:var(--tx);font-weight:600}
.rot__w{display:block;white-space:nowrap;will-change:transform}
.hero__ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.proofs{display:flex;flex-wrap:wrap;gap:10px 26px;margin:34px 0 0;padding:0;list-style:none;font-size:14px;color:var(--mut)}
.proofs li{display:flex;align-items:center;gap:8px}
.proofs li::before{content:"";width:14px;height:14px;flex:none;border-radius:4px;border:1.5px solid var(--blue-lt);background:linear-gradient(135deg,rgba(107,130,255,.35),transparent)}
.proofs b{color:var(--tx);font-weight:600}
.hud{position:absolute;right:var(--gut);top:96px;width:210px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:rgba(10,14,32,.5);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font:500 11px/1 var(--m);letter-spacing:.12em;color:var(--mut)}
.hud__row{display:flex;justify-content:space-between;gap:10px}
.hud__row b{color:var(--tx);font-weight:500}
.hud__row--s{margin-top:10px;font-size:10px}
.hud__bar{height:3px;margin-top:12px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.hud__bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--blue),#9fb0ff);box-shadow:0 0 12px var(--blue-lt)}
.hero__labels{position:absolute;inset:0;z-index:1;pointer-events:none}
.tag3d{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;padding:7px 12px 7px 9px;border:1px solid rgba(140,160,255,.25);border-radius:999px;background:rgba(9,13,30,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font:500 11px/1 var(--m);letter-spacing:.12em;text-transform:uppercase;color:#d4daf0;opacity:0;transition:opacity .8s;white-space:nowrap;will-change:transform}
.tag3d i{width:6px;height:6px;border-radius:50%;background:var(--blue-lt);box-shadow:0 0 10px var(--blue-lt)}
.tag3d.on{opacity:1}
.scroll-cue{position:absolute;left:50%;bottom:22px;z-index:2;width:24px;height:38px;margin-left:-12px;border:1.5px solid rgba(255,255,255,.25);border-radius:14px}
.scroll-cue span{position:absolute;left:50%;top:8px;width:3px;height:8px;margin-left:-1.5px;border-radius:2px;background:#fff;animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(12px)}}

@media (max-width:1199px){.hud{display:none}.hero__copy{max-width:540px}}
@media (max-width:860px){
  .hero{align-items:flex-end;min-height:100svh}
  .hero__veil{background:linear-gradient(0deg,var(--ink) 0%,rgba(7,10,22,.92) 36%,rgba(7,10,22,.2) 62%,rgba(7,10,22,0) 100%)}
  .hero__in{padding-top:46svh;padding-bottom:64px}
  .hero__fallback{padding:0 0 40svh}
  .hud{display:none}
  .scroll-cue{display:none}
  .hero__ctas .btn{flex:1 1 220px}
}
@media (max-width:420px){.hero__t{font-size:38px}.tag3d{font-size:10px;padding:6px 10px 6px 8px}}

/* split words */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>span{display:inline-block;transform:translateY(105%);transition:transform 1s var(--ease-o);transition-delay:calc(var(--i)*70ms + 150ms)}
.split.is-in .w>span{transform:none}
.hero__sub,.hero__ctas,.proofs,.eyebrow{opacity:0;transform:translateY(14px);transition:opacity .9s var(--ease-o),transform .9s var(--ease-o)}
.is-ready .eyebrow{opacity:1;transform:none;transition-delay:.05s}
.is-ready .hero__sub{opacity:1;transform:none;transition-delay:.55s}
.is-ready .hero__ctas{opacity:1;transform:none;transition-delay:.7s}
.is-ready .proofs{opacity:1;transform:none;transition-delay:.85s}

/* ---------- strip ---------- */
.strip{position:relative;overflow:hidden;border-block:1px solid var(--line);background:var(--ink-2);padding:20px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.strip__track{display:flex;width:max-content;animation:marq 38s linear infinite}
.strip:hover .strip__track{animation-play-state:paused}
.strip__list{display:flex;margin:0;padding:0;list-style:none}
.strip__list li{display:flex;align-items:center;gap:28px;padding-right:28px;font-weight:600;font-stretch:115%;font-size:clamp(18px,1.6vw,24px);letter-spacing:-.01em;color:#c9cfe4;white-space:nowrap}
.strip__list li::after{content:"";width:16px;height:16px;background:url("../img/emblem.svg") center/contain no-repeat;opacity:.8}
@keyframes marq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{position:relative;padding:clamp(80px,11vw,150px) 0}
.sec--paper{background:var(--paper);color:var(--paper-ink)}
.sec--paper::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:
  linear-gradient(rgba(47,75,255,.075) 1px,transparent 1px),linear-gradient(90deg,rgba(47,75,255,.075) 1px,transparent 1px),
  linear-gradient(rgba(47,75,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(47,75,255,.035) 1px,transparent 1px);
  background-size:120px 120px,120px 120px,24px 24px,24px 24px;-webkit-mask:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 100%);mask:radial-gradient(120% 90% at 50% 40%,#000 30%,transparent 100%)}
.sec--paper::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .42 0 0 0 0 .38 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sec--paper em{color:var(--blue)}
.sec--paper>.wrap{position:relative;z-index:1}
.sec--ink{background:var(--ink)}
.sec__head{max-width:760px;margin-bottom:clamp(40px,6vw,72px)}
.kicker{margin:0 0 18px;font:500 12px/1 var(--m);letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.kicker--lt{color:var(--blue-lt)}
.sec__t{margin:0;font-weight:740;font-stretch:115%;font-size:clamp(30px,3.9vw,54px);line-height:1.02;letter-spacing:-.028em;text-wrap:balance}
.sec__lead{margin:20px 0 0;max-width:580px;font-size:clamp(16px,.4vw + 14.5px,18.5px);color:var(--paper-mut)}
.sec--ink .sec__lead{color:var(--mut)}

/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease-o),transform 1s var(--ease-o);transition-delay:calc(var(--d,0)*110ms)}
.reveal.is-in{opacity:1;transform:none}

/* ---------- steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;counter-reset:s}
.step{position:relative;display:flex;flex-direction:column;padding:16px 16px 26px;border-radius:var(--r);background:rgba(255,255,255,.55);border:1px solid rgba(18,22,41,.08);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 30px 60px -40px rgba(18,22,41,.35);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:transform .5s var(--ease-o),box-shadow .5s}
.step:hover{transform:translateY(-6px);box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 40px 70px -40px rgba(47,75,255,.45)}
.step__viz{aspect-ratio:16/10;border-radius:12px;background:#0b1028;overflow:hidden;position:relative}
.step__viz::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(107,130,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(107,130,255,.12) 1px,transparent 1px);background-size:16px 16px}
.viz{position:relative;width:100%;height:100%;fill:none;stroke:#8ea0ff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.step__n{margin:22px 4px 0;font:500 12px/1 var(--m);letter-spacing:.14em;color:var(--blue)}
.step h3{margin:10px 4px 0;font-weight:700;font-stretch:112%;font-size:22px;letter-spacing:-.015em}
.step p{margin:8px 4px 0;font-size:15.5px;line-height:1.55;color:var(--paper-mut)}
@media (max-width:1024px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.steps{grid-template-columns:minmax(0,1fr)}}

/* viz animations */
.viz .lbl{font:500 8px var(--m);letter-spacing:.14em;fill:#6b82ff;stroke:none;text-anchor:middle}
.viz--plan .draw path{stroke-dasharray:600;stroke-dashoffset:600}
.viz--plan .thin{stroke-width:1.2;stroke:#5b6fd6}
.viz--plan .dim{stroke-width:1;stroke:#ffb547}
.step.is-in .viz--plan .draw path{animation:draw 2.4s var(--ease) forwards}
.step.is-in .viz--plan .draw path:nth-child(2){animation-delay:.5s}
.step.is-in .viz--plan .draw path:nth-child(n+3){animation-delay:1s}
@keyframes draw{to{stroke-dashoffset:0}}
.viz--gantt .rows path{stroke:rgba(142,160,255,.18);stroke-width:1}
.viz--gantt .bar{fill:rgba(107,130,255,.35);stroke:#8ea0ff;stroke-width:1.2;transform-box:fill-box;transform-origin:left;transform:scaleX(0)}
.viz--gantt .bar--hot{fill:rgba(255,181,71,.35);stroke:#ffb547}
.step.is-in .viz--gantt .bar{animation:grow 1.2s var(--ease-o) forwards;animation-delay:calc(var(--i)*.35s + .3s)}
@keyframes grow{to{transform:scaleX(1)}}
.viz--build .ground{stroke:rgba(142,160,255,.4)}
.viz--build .fl{fill:rgba(107,130,255,.16);stroke:#8ea0ff;stroke-width:1.4;transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);opacity:0}
.viz--build .fl--hot{fill:rgba(107,130,255,.45)}
.step.is-in .viz--build .fl{animation:rise .7s var(--ease-o) forwards;animation-delay:calc(var(--i)*.4s + .3s)}
@keyframes rise{to{transform:scaleY(1);opacity:1}}
.viz--build .crane{stroke:#ffb547;stroke-width:1.6}
.step.is-in .viz--build .crane path:last-child{animation:hook 3s ease-in-out infinite}
@keyframes hook{50%{transform:translateY(10px)}}
.viz--ok .ring{stroke:rgba(142,160,255,.3);stroke-width:1.5}
.viz--ok .check{stroke:#3ee07a;stroke-width:5;stroke-dasharray:90;stroke-dashoffset:90}
.step.is-in .viz--ok .check{animation:draw 1s var(--ease-o) 1s forwards}
.viz--ok .sys circle{fill:#6b82ff;stroke:none;opacity:.25}
.step.is-in .viz--ok .sys circle{animation:blink 2.4s infinite}
.step.is-in .viz--ok .sys circle:nth-child(2){animation-delay:.3s}
.step.is-in .viz--ok .sys circle:nth-child(3){animation-delay:.6s}
.step.is-in .viz--ok .sys circle:nth-child(4){animation-delay:.9s}
@keyframes blink{0%,100%{opacity:.25}40%{opacity:1;fill:#3ee07a}}

/* ---------- x-ray ---------- */
.xray{overflow:hidden;background:radial-gradient(900px 600px at 30% 55%,#121b4d 0%,rgba(18,27,77,0) 65%),var(--ink)}
.xray__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-template-areas:"head head" "stage panel";gap:28px 48px;align-items:center}
.xray__head{grid-area:head;max-width:720px}
.xray__stage{grid-area:stage;position:relative;aspect-ratio:1/1;max-height:680px;width:100%;border-radius:24px;border:1px solid var(--line);background:radial-gradient(60% 50% at 50% 60%,rgba(63,92,255,.16),transparent 70%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));overflow:hidden;touch-action:pan-y}
.xray__stage canvas{width:100%;height:100%;cursor:grab}
.xray__stage canvas:active{cursor:grabbing}
.xray__corner{position:absolute;display:flex;align-items:center;gap:8px;font:500 11px/1 var(--m);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);pointer-events:none}
.xray__corner b{color:var(--tx);font-weight:500}
.xray__corner--tl{left:18px;top:18px}
.xray__corner--br{right:18px;bottom:18px}
.live{width:7px;height:7px;border-radius:50%;background:#3ee07a;box-shadow:0 0 10px #3ee07a;animation:pulse 2s infinite}
.xray__panel{grid-area:panel;display:flex;flex-direction:column;gap:22px;min-width:0}
.tabs{display:flex;flex-wrap:wrap;gap:8px}
.tabs button{position:relative;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px 0 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--mut);font-size:14.5px;font-weight:500;cursor:pointer;transition:color .3s,border-color .3s,background .3s}
.tabs button::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c);opacity:.45;transition:opacity .3s,box-shadow .3s}
.tabs button:hover{color:var(--tx);border-color:rgba(255,255,255,.25)}
.tabs button[aria-selected="true"]{color:var(--tx);border-color:color-mix(in srgb,var(--c) 60%,transparent);background:color-mix(in srgb,var(--c) 12%,transparent)}
.tabs button[aria-selected="true"]::before{opacity:1;box-shadow:0 0 12px var(--c)}
.xray__info{min-height:208px;padding:26px;border-radius:var(--r);border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.xray__info h3{margin:0;font-weight:700;font-stretch:115%;font-size:clamp(22px,2vw,28px);letter-spacing:-.02em}
.xray__info p{margin:10px 0 0;color:#b9bfd3}
.xray__info ul{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.xray__info li{padding:6px 12px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:13.5px;color:#d5daea}
.xray__info.swap>*{animation:swap .55s var(--ease-o) both}
.xray__info.swap>*:nth-child(2){animation-delay:.05s}.xray__info.swap>*:nth-child(3){animation-delay:.1s}
@keyframes swap{from{opacity:0;transform:translateY(10px)}}
.no-webgl .xray__stage{display:none}
@media (max-width:900px){
  .xray__grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "stage" "panel";gap:28px}
  .xray__stage{aspect-ratio:4/4.2;max-height:none}
  .tabs{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut)*-1);padding-inline:var(--gut);scrollbar-width:none;scroll-snap-type:x proximity}
  .tabs::-webkit-scrollbar{display:none}
  .tabs button{flex:none;scroll-snap-align:start}
}

/* ---------- vs ---------- */
.vs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.vs__card{padding:clamp(24px,3vw,38px);border-radius:var(--r)}
.vs__card ul{display:grid;gap:14px;margin:22px 0 0;padding:0;list-style:none}
.vs__card li{position:relative;padding-left:32px;font-size:16.5px;line-height:1.45}
.vs__card li::before{content:"";position:absolute;left:0;top:2px;width:20px;height:20px;border-radius:50%}
.vs__tag{display:flex;align-items:center;gap:10px;margin:0;font:500 12px/1.2 var(--m);letter-spacing:.14em;text-transform:uppercase}
.vs__card--off{background:rgba(18,22,41,.04);border:1px dashed rgba(18,22,41,.22);color:var(--paper-mut)}
.vs__card--off li::before{background:rgba(18,22,41,.08) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M7 7l6 6M13 7l-6 6' stroke='%23585c6b' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/contain}
.vs__card--on{position:relative;overflow:hidden;background:linear-gradient(160deg,#121a45 0%,#0a0f26 100%);color:var(--tx);box-shadow:0 40px 80px -40px rgba(47,75,255,.6);border:1px solid rgba(107,130,255,.35)}
.vs__card--on::before{content:"";position:absolute;right:-30%;top:-40%;width:80%;aspect-ratio:1;background:radial-gradient(closest-side,rgba(63,92,255,.45),transparent);pointer-events:none}
.vs__card--on .vs__tag{color:#b3c0ff}
.vs__card--on li{position:relative}
.vs__card--on li::before{background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l2.6 2.6L14 7.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain;box-shadow:0 0 14px rgba(79,107,255,.7)}
@media (max-width:720px){.vs{grid-template-columns:minmax(0,1fr)}}

.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:18px}
.value{display:flex;gap:18px;align-items:flex-start;padding:24px;border-radius:var(--r);background:rgba(255,255,255,.5);border:1px solid rgba(18,22,41,.08)}
.value h3{margin:2px 0 0;font-weight:700;font-stretch:112%;font-size:19px;letter-spacing:-.01em}
.value p{margin:6px 0 0;font-size:15px;line-height:1.5;color:var(--paper-mut)}
.value__ico{flex:none;width:56px;height:56px;padding:9px;border-radius:14px;background:#0b1028}
.value__ico svg{width:100%;height:100%;fill:none;stroke:#8ea0ff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.value__ico .leaf{stroke:#3ee07a}.value__ico .leaf-v{stroke:#3ee07a;stroke-width:2}
.value__ico .sun{stroke:#ffb547}.value__ico .rays{stroke:#ffb547;stroke-width:2.4;transform-origin:22px 22px;animation:spin 14s linear infinite}
.value__ico .wheel{stroke-dasharray:70;animation:roll 4s var(--ease) infinite}
.value__ico .tick{stroke:#3ee07a;stroke-dasharray:40;stroke-dashoffset:40}
.value.is-in .tick{animation:draw 1s var(--ease-o) .6s forwards}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes roll{0%{stroke-dashoffset:70}50%,100%{stroke-dashoffset:0}}
@media (max-width:1024px){.values{grid-template-columns:minmax(0,1fr)}}

/* ---------- close ---------- */
.close{overflow:hidden}
.close__glow{position:absolute;right:-10%;top:10%;width:70vmax;aspect-ratio:1;background:radial-gradient(closest-side,rgba(47,75,255,.28),transparent 70%);pointer-events:none}
.close__glow::after{content:"";position:absolute;inset:25%;background:url("../img/emblem.svg") center/contain no-repeat;opacity:.05;filter:blur(1px)}
.close__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(40px,6vw,90px);align-items:start}
.faq{margin-top:44px;border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{position:relative;display:block;padding:22px 44px 22px 0;cursor:pointer;list-style:none;font-weight:600;font-size:17px;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:22px;height:22px;margin-top:-11px;border-radius:50%;border:1px solid var(--line);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M7 11h8M11 7v8' stroke='%236b82ff' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/contain;transition:transform .4s var(--ease-o)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin:-6px 0 22px;color:var(--mut);max-width:560px}
.form{position:relative;display:grid;gap:18px;padding:clamp(22px,3vw,34px);border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(140,160,255,.2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 50px 100px -50px rgba(47,75,255,.55)}
.form__top{display:flex;align-items:center;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.form__top b{display:block;font-weight:700;font-stretch:112%;font-size:20px}
.form__top span{font-size:13.5px;color:var(--mut)}
.fld{display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}
.fld>span,.fld legend{padding:0;font-size:13.5px;font-weight:500;color:#c6cce0}
.fld legend{margin-bottom:8px}
.fld i{font-style:normal;color:var(--mut);font-weight:400}
.fld input,.fld textarea{width:100%;min-height:50px;padding:13px 16px;border-radius:12px;border:1px solid rgba(140,160,255,.2);background:rgba(5,8,20,.55);font-size:16px;transition:border-color .25s,box-shadow .25s;resize:vertical}
.fld textarea{min-height:92px}
.fld input::placeholder,.fld textarea::placeholder{color:#6d7390}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--blue-lt);box-shadow:0 0 0 4px rgba(79,107,255,.18)}
.fld input.err{border-color:#ff6b6b;box-shadow:0 0 0 4px rgba(255,107,107,.15)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.chips span{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:999px;border:1px solid rgba(140,160,255,.2);background:rgba(5,8,20,.4);font-size:14px;color:#c6cce0;transition:all .25s}
.chips input:checked+span{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 6px 18px -6px var(--blue-glow)}
.chips input:focus-visible+span{outline:2px solid var(--blue-lt);outline-offset:2px}
.form__note{margin:-4px 0 0;font-size:13px;color:var(--mut);text-align:center}
@media (max-width:900px){.close__grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- footer ---------- */
.foot{border-top:1px solid var(--line);background:#05070f;padding:48px 0 calc(40px + env(safe-area-inset-bottom))}
.foot__in{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 40px;align-items:center}
.foot__in img{width:150px;height:auto}
.foot__tag{display:none}
.foot__svc{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 22px;margin:0;padding:0;list-style:none;font-size:14px;color:var(--mut)}
.foot__copy{grid-column:1/-1;margin:24px 0 0;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:#6d7390}
@media (max-width:720px){.foot__in{grid-template-columns:minmax(0,1fr)}.foot__svc{justify-content:flex-start;margin-top:16px}}

/* ---------- fab ---------- */
.fab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:60;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 14px 30px -10px rgba(37,211,102,.7);transform:scale(0);transition:transform .5s var(--ease-o)}
.fab svg{width:28px;height:28px}
.fab.on{transform:scale(1)}
.fab::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:ring 2.6s infinite}
@keyframes ring{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.6);opacity:0}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal,.hero__sub,.hero__ctas,.proofs,.eyebrow{opacity:1;transform:none}
  .split .w>span{transform:none}
  .strip__track{animation:none}
}
