/* LeadBridge — site.css */
@font-face{font-family:"Space Grotesk";src:url(/static/space-grotesk-latin-wght-normal.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Inter";src:url(/static/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/static/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/static/jetbrains-mono-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}

:root{
  --ink:#061633;          /* deepest navy */
  --navy:#0A1F44;         /* brand deep navy */
  --navy-2:#11295A;
  --blue:#1E6BFF;         /* brand electric blue */
  --blue-soft:#5C93FF;
  --paper:#F4F6FA;
  --white:#FFFFFF;
  --text:#0A1F44;
  --muted:#5A6A86;
  --muted-dark:#8FA0BF;
  --rule:#DCE2EC;
  --rule-dark:rgba(255,255,255,.12);
  --display:"Space Grotesk",ui-sans-serif,system-ui,sans-serif;
  --body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --gutter:clamp(20px,4vw,56px);
  --max:1320px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-io:cubic-bezier(.7,0,.2,1);
  --nav-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 8px)}
body{margin:0;background:var(--ink);color:var(--text);font:400 16px/1.6 var(--body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
button,input,textarea{font:inherit;color:inherit}
::selection{background:var(--blue);color:#fff}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;padding:12px 18px;background:var(--blue);color:#fff;font-weight:600;border-radius:0 0 8px}
.skip-link:focus{left:0}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:4px}

/* ---------- shared bits ---------- */
.tag{display:flex;align-items:center;gap:14px;font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.tag-num{display:inline-flex;align-items:center;gap:14px;color:var(--blue)}
.tag-num::after{content:"";width:28px;height:1px;background:var(--muted);opacity:.6}
.tag-dark .tag-num::after{background:var(--muted-dark)}
.tag-dark{color:var(--muted-dark)}
.live{display:inline-block;width:8px;height:8px;border-radius:50%;background:#35D07F;box-shadow:0 0 0 0 rgba(53,208,127,.6);animation:live 2.4s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(53,208,127,.55)}70%{box-shadow:0 0 0 10px rgba(53,208,127,0)}100%{box-shadow:0 0 0 0 rgba(53,208,127,0)}}

.sec-head{display:grid;grid-template-columns:minmax(180px,1fr) 3fr;gap:24px clamp(24px,4vw,64px);align-items:start;margin-bottom:clamp(56px,8vw,104px)}
.sec-head .tag{padding-top:14px}
.sec-head h2,.sec-head .sec-lead{grid-column:2}
.sec-head h2{font:500 clamp(34px,4.6vw,68px)/1.02 var(--display);letter-spacing:-.035em;max-width:16ch;text-wrap:balance}
.sec-lead{margin-top:6px;font-size:clamp(17px,1.4vw,20px);color:var(--muted);max-width:52ch}

.js .reveal{opacity:0;transform:translateY(32px);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.js .reveal.in{opacity:1;transform:none}

/* ---------- intro ---------- */
.intro{position:fixed;inset:0;z-index:150;background:var(--ink);display:grid;place-items:center;color:#fff;clip-path:inset(0 0 0 0);transition:clip-path 1.05s var(--ease-io)}
.intro::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 55%,rgba(30,107,255,.16),transparent 70%);pointer-events:none}
.intro-logo{width:min(64vw,440px);position:relative;z-index:1}
.intro-logo svg{width:100%;height:auto;overflow:visible}
.intro .lb-lines path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw .9s var(--ease-io) forwards}
.intro .lb-l1{animation-delay:.15s!important;animation-duration:1.1s!important}
.intro .lb-v1{animation-delay:.75s!important}
.intro .lb-v2{animation-delay:.85s!important}
.intro .lb-v3{animation-delay:1.05s!important}
.intro .lb-l2{animation-delay:1s!important}
.intro .lb-lead,.intro .lb-bridge{opacity:0;transform:translateY(26px);animation:rise .9s var(--ease) forwards}
.intro .lb-lead{animation-delay:1.15s}
.intro .lb-bridge{animation-delay:1.3s}
.intro-meta{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(24px,5vh,48px);display:flex;justify-content:space-between;font:500 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted-dark);opacity:0;animation:fade .8s 1.4s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes rise{to{opacity:1;transform:none}}
@keyframes fade{to{opacity:1}}
.intro-out .intro{clip-path:inset(0 0 100% 0)}
.intro-gone .intro,.no-intro .intro{display:none}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:90;height:var(--nav-h);display:flex;align-items:center;transition:transform .5s var(--ease),background .4s,border-color .4s;border-bottom:1px solid transparent}
.nav-inner{display:flex;align-items:center;gap:32px}
.nav-logo{display:block;width:104px;flex:none}
.nav-logo img{width:100%;height:auto}
.logo-dark{display:none}
.nav-links{display:flex;gap:30px;margin-left:auto;font:500 14px/1 var(--body);color:rgba(255,255,255,.78)}
.nav-links a{position:relative;padding:8px 0;transition:color .3s}
.nav-links a::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after{transform:scaleX(1);transform-origin:left}
.nav-cta{display:inline-flex;align-items:center;gap:12px;height:44px;padding:0 20px 0 22px;border-radius:99px;background:var(--blue);color:#fff;font:600 14px/1 var(--body);letter-spacing:-.005em;transition:background .3s,box-shadow .3s;will-change:transform}
.nav-cta:hover{background:#3A7DFF;box-shadow:0 10px 30px -10px rgba(30,107,255,.8)}
.nav-cta-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18)}
.nav.solid{background:rgba(6,22,51,.78);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border-bottom-color:var(--rule-dark)}
.nav.hide{transform:translateY(-100%)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:#fff;background:var(--ink);overflow:hidden;isolation:isolate}
.hero-media{position:absolute;inset:0;z-index:-1}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.6s ease;transform:scale(1.04)}
.hero.has-video .hero-video{opacity:.62}
.hero-fog span{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;mix-blend-mode:screen}
.hero-fog span:nth-child(1){width:60vw;height:44vw;left:-12vw;top:18%;background:radial-gradient(closest-side,#16408F,transparent);animation:drift1 26s ease-in-out infinite alternate}
.hero-fog span:nth-child(2){width:50vw;height:40vw;right:-14vw;top:4%;background:radial-gradient(closest-side,#1E6BFF33,transparent);animation:drift2 32s ease-in-out infinite alternate}
.hero-fog span:nth-child(3){width:70vw;height:30vw;left:15vw;bottom:-8vw;background:radial-gradient(closest-side,#0F2E6E,transparent);animation:drift1 38s ease-in-out infinite alternate-reverse}
.hero.has-video .hero-fog{opacity:.35}
@keyframes drift1{to{transform:translate3d(8vw,-4vw,0) scale(1.15)}}
@keyframes drift2{to{transform:translate3d(-10vw,6vw,0) scale(.9)}}
.hero-grid{position:absolute;left:-20%;right:-20%;bottom:-6%;height:62%;background-image:linear-gradient(rgba(140,175,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(140,175,255,.13) 1px,transparent 1px);background-size:84px 84px;transform:perspective(700px) rotateX(64deg);transform-origin:50% 100%;-webkit-mask-image:linear-gradient(to top,#000 10%,transparent 85%);mask-image:linear-gradient(to top,#000 10%,transparent 85%);animation:gridmove 9s linear infinite}
@keyframes gridmove{to{background-position:0 84px,0 0}}
.hero.has-video .hero-grid{opacity:.45}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,22,51,.55) 0%,rgba(6,22,51,.15) 35%,rgba(6,22,51,.55) 72%,var(--ink) 100%),linear-gradient(90deg,rgba(6,22,51,.65) 0%,transparent 60%)}

.hero-inner{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-top:calc(var(--nav-h) + 9vh);padding-bottom:clamp(40px,7vh,80px)}
.hero-eyebrow{display:flex;align-items:center;gap:12px;font:500 12px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:clamp(22px,3vh,34px)}
.hero-title{font:500 clamp(46px,8.2vw,136px)/.94 var(--display);letter-spacing:-.045em}
.hero-title .line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.hero-title .line>span{display:inline-block;transform:translateY(105%);transition:transform 1.25s var(--ease)}
.hero-title .accent{color:var(--blue-soft)}
.hero-title .accent>span{background:linear-gradient(90deg,#fff 0%,var(--blue-soft) 0%,var(--blue) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ready .hero-title .line>span{transform:none}
.ready .hero-title .line:nth-child(2)>span{transition-delay:.08s}
.ready .hero-title .line:nth-child(3)>span{transition-delay:.16s}
.hero-foot{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:28px 48px;margin-top:clamp(28px,4.5vh,52px)}
.hero-sub{max-width:44ch;font-size:clamp(16px,1.3vw,19px);line-height:1.55;color:rgba(255,255,255,.76)}
.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.js .hero-eyebrow,.js .hero-foot{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease) .35s,transform 1s var(--ease) .35s}
.ready .hero-eyebrow,.ready .hero-foot{opacity:1;transform:none}
.ready .hero-eyebrow{transition-delay:0s}

/* hero CTA: solid pill with an arrow capsule that slides out */
.cta-hero{position:relative;display:inline-flex;align-items:center;gap:16px;height:64px;padding:0 10px 0 30px;border-radius:99px;background:#fff;color:var(--navy);font:600 16px/1 var(--body);letter-spacing:-.01em;overflow:hidden;will-change:transform;box-shadow:0 20px 50px -20px rgba(30,107,255,.65)}
.cta-hero::before{content:"";position:absolute;inset:0;background:var(--blue);border-radius:inherit;transform:translateX(-101%);transition:transform .6s var(--ease)}
.cta-hero>*{position:relative}
.cta-hero-label{transition:color .45s var(--ease)}
.cta-hero-arrow{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--navy);color:#fff;transition:background .45s var(--ease),transform .5s var(--ease)}
.cta-hero:hover::before{transform:none}
.cta-hero:hover .cta-hero-label{color:#fff}
.cta-hero:hover .cta-hero-arrow{background:#fff;color:var(--blue);transform:translateX(4px)}
.link-under{position:relative;font:500 15px/1 var(--body);color:rgba(255,255,255,.85);padding:10px 0}
.link-under::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:1px;background:rgba(255,255,255,.4);transform-origin:left;transition:transform .5s var(--ease),background .3s}
.link-under:hover::after{background:var(--blue);transform:scaleX(.4)}

.hero-base{position:relative}
.hero-bridge{position:absolute;left:0;right:0;top:0;height:0;pointer-events:none}
.hb-line{position:absolute;left:0;right:0;top:-1px;height:2px;background:linear-gradient(90deg,rgba(30,107,255,.15),var(--blue) 30%,var(--blue) 70%,rgba(30,107,255,.25));transform:scaleX(0);transform-origin:left;transition:transform 1.8s var(--ease-io) .2s;box-shadow:0 0 18px rgba(30,107,255,.6)}
.hb-pylon{position:absolute;width:2px;background:var(--blue);bottom:0;height:0;transition:height 1.2s var(--ease) 1.4s;box-shadow:0 0 14px rgba(30,107,255,.5)}
.hb-p1{left:51%}
.hb-p2{left:calc(51% + clamp(28px,3vw,46px));top:auto}
.ready .hb-line{transform:scaleX(1)}
.ready .hb-p1{height:clamp(70px,12vh,130px)}
.ready .hb-p2{height:clamp(90px,15vh,160px)}
.hb-pulse{position:absolute;top:-4px;left:0;width:90px;height:6px;border-radius:6px;background:radial-gradient(closest-side,#fff,rgba(150,190,255,.6) 40%,transparent);opacity:0;filter:blur(.4px)}
.ready .hb-pulse{animation:pulse 6.5s linear infinite}
.ready .hb-pulse:nth-of-type(2){animation-delay:2.2s}
.ready .hb-pulse:nth-of-type(3){animation-delay:4.4s}
@keyframes pulse{0%{transform:translateX(-120px);opacity:0}8%{opacity:1}88%{opacity:1}100%{transform:translateX(100vw);opacity:0}}
.hero-facts{display:grid;grid-template-columns:repeat(4,1fr);padding-top:26px;padding-bottom:30px}
.hero-facts>div{padding-right:20px;border-left:1px solid var(--rule-dark);padding-left:20px}
.hero-facts>div:first-child{border-left:0;padding-left:0}
.hero-facts dt{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:10px}
.hero-facts dd{font:500 15px/1.35 var(--display);color:#fff;letter-spacing:-.005em}
.js .hero-facts>div{opacity:0;transform:translateY(12px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.ready .hero-facts>div{opacity:1;transform:none}
.ready .hero-facts>div:nth-child(1){transition-delay:.9s}.ready .hero-facts>div:nth-child(2){transition-delay:1s}.ready .hero-facts>div:nth-child(3){transition-delay:1.1s}.ready .hero-facts>div:nth-child(4){transition-delay:1.2s}
.scroll-cue{position:absolute;right:var(--gutter);top:50%;display:flex;flex-direction:column;align-items:center;gap:14px;font:500 10px/1 var(--mono);letter-spacing:.24em;text-transform:uppercase;color:var(--muted-dark);writing-mode:vertical-rl}
.scroll-cue i{width:1px;height:64px;background:linear-gradient(var(--blue),transparent);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;left:0;top:-30%;width:1px;height:30%;background:#fff;animation:cue 2.2s var(--ease-io) infinite}
@keyframes cue{to{top:100%}}

/* ---------- ticker ---------- */
.ticker{background:var(--navy);color:#fff;border-top:1px solid var(--rule-dark);overflow:hidden;padding:26px 0}
.ticker-track{display:flex;align-items:center;gap:40px;width:max-content;animation:tick 48s linear infinite;font:500 clamp(24px,3vw,42px)/1 var(--display);letter-spacing:-.025em;white-space:nowrap}
.ticker-track span:nth-of-type(even){color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.55)}
.ticker-track b{width:10px;height:10px;background:var(--blue);flex:none;transform:rotate(45deg)}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(calc(-50% - 20px))}}

/* ---------- statement ---------- */
.statement{background:var(--paper);padding:clamp(110px,17vh,210px) 0}
.statement .tag{margin-bottom:clamp(36px,5vw,64px)}
.statement-text{font:500 clamp(32px,5vw,82px)/1.05 var(--display);letter-spacing:-.035em;color:var(--navy);max-width:20ch;text-wrap:pretty}
.statement-text .w{opacity:.14;transition:opacity .25s linear}
.statement-text .w.on{opacity:1}
.statement-text .w.hl{color:var(--blue)}

/* ---------- process ---------- */
.process{background:#fff;padding:clamp(100px,14vw,180px) 0}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0 clamp(20px,3vw,44px);padding-top:56px}
.steps-rail{position:absolute;left:0;right:0;top:6px;height:2px;background:var(--rule)}
.steps-rail i{position:absolute;inset:0;background:var(--blue);transform:scaleX(var(--p,0));transform-origin:left;box-shadow:0 0 12px rgba(30,107,255,.45)}
.step{position:relative}
.step-node{position:absolute;top:-56px;left:0;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--rule);transition:border-color .4s,background .4s,box-shadow .4s}
.step.on .step-node{border-color:var(--blue);background:var(--blue);box-shadow:0 0 0 6px rgba(30,107,255,.14)}
.step-kicker{display:block;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:18px}
.step h3{font:500 clamp(24px,2.1vw,30px)/1.1 var(--display);letter-spacing:-.025em;margin-bottom:14px}
.step p{color:var(--muted);font-size:16px;max-width:30ch}
.step{opacity:.38;transition:opacity .6s var(--ease)}
.step.on{opacity:1}
.no-js .step,.reduced .step{opacity:1}

/* ---------- vista ---------- */
.vista{position:relative;min-height:88vh;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:var(--ink)}
.vista-media{position:absolute;inset:-12% 0;background:
  radial-gradient(80% 60% at 70% 40%,rgba(30,107,255,.28),transparent 60%),
  repeating-linear-gradient(90deg,transparent 0 119px,rgba(140,175,255,.08) 119px 120px),
  linear-gradient(180deg,#0B2350,#061633);background-size:cover;background-position:center;will-change:transform}
.vista::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,22,51,.1) 30%,rgba(6,22,51,.85))}
.vista-inner{position:relative;z-index:1;padding-bottom:clamp(64px,10vh,120px)}
.vista-quote{font:400 clamp(44px,7.4vw,124px)/.98 var(--display);letter-spacing:-.045em}

/* ---------- compare ---------- */
.compare{background:var(--navy);color:#fff;padding:clamp(100px,14vw,180px) 0}
.compare .sec-head h2{max-width:18ch}
.compare-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:clamp(16px,2.4vw,36px)}
.cmp{position:relative;padding:clamp(28px,3.4vw,48px);border-radius:22px;border:1px solid var(--rule-dark)}
.cmp-kicker{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted-dark);margin-bottom:22px}
.cmp h3{font:500 clamp(22px,1.9vw,28px)/1.15 var(--display);letter-spacing:-.02em;margin-bottom:30px}
.cmp-metric{font:500 clamp(40px,4.6vw,68px)/1 var(--display);letter-spacing:-.04em}
.cmp-metric span{font-size:.5em;color:var(--muted-dark);letter-spacing:0;padding:0 .15em}
.cmp-note{margin-top:10px;font-size:14px;color:var(--muted-dark)}
.cmp ul{margin-top:34px;border-top:1px solid var(--rule-dark)}
.cmp li{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--rule-dark);font-size:16px}
.cmp li::before{content:"–";font-family:var(--mono);color:var(--muted-dark);flex:none;width:12px}
.cmp-in{color:rgba(255,255,255,.62)}
.cmp-in .cmp-metric{color:rgba(255,255,255,.7)}
.cmp-lb{background:linear-gradient(160deg,rgba(30,107,255,.22),rgba(30,107,255,.04) 60%);border-color:rgba(30,107,255,.65);box-shadow:0 40px 90px -40px rgba(30,107,255,.6),inset 0 1px 0 rgba(255,255,255,.12)}
.cmp-lb .cmp-kicker{color:var(--blue-soft)}
.cmp-lb li::before{content:"+";color:var(--blue-soft)}
.cmp-vs{display:grid;place-items:center}
.cmp-vs span{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;border:1px solid var(--rule-dark);font:500 13px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark)}
.cta-card{display:inline-flex;align-items:center;gap:12px;margin-top:34px;font:600 15px/1 var(--body);color:#fff;padding:16px 0;border-bottom:1px solid var(--blue)}
.cta-card span{display:inline-block;transition:transform .45s var(--ease)}
.cta-card:hover span{transform:translateX(8px)}

/* ---------- why ---------- */
.why{background:var(--paper);padding:clamp(100px,14vw,180px) 0}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule)}
.why-item{padding:40px clamp(20px,2.6vw,40px) 10px;border-left:1px solid var(--rule)}
.why-item:first-child{border-left:0;padding-left:0}
.why-num{display:block;font:500 clamp(84px,9vw,148px)/.9 var(--display);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.2px var(--navy);margin-bottom:34px;transition:color .7s var(--ease)}
.why-item:hover .why-num,.why-item.in .why-num{color:var(--navy)}
.why-item.in:nth-child(2) .why-num{transition-delay:.15s}.why-item.in:nth-child(3) .why-num{transition-delay:.3s}
.why-kicker{font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.why-item h3{font:500 clamp(22px,1.9vw,28px)/1.15 var(--display);letter-spacing:-.02em;margin-bottom:14px}
.why-item p{color:var(--muted);max-width:34ch}

/* ---------- contact ---------- */
.contact{position:relative;background:var(--ink);color:#fff;padding:clamp(100px,14vw,170px) 0;overflow:hidden;isolation:isolate}
.contact-bg{position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 70% at 85% 30%,rgba(30,107,255,.25),transparent 70%),radial-gradient(50% 60% at 0% 100%,rgba(22,64,143,.5),transparent 70%);background-size:cover;background-position:center}
.contact-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,51,.92) 0%,rgba(6,22,51,.7) 55%,rgba(6,22,51,.55))}
.contact-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,96px);align-items:center}
.contact h2{font:500 clamp(40px,5.4vw,84px)/1 var(--display);letter-spacing:-.04em;margin:28px 0 28px;text-wrap:balance}
.contact h2 em{font-style:normal;color:var(--blue-soft)}
.contact-lead{font-size:clamp(17px,1.35vw,20px);color:rgba(255,255,255,.75);max-width:46ch}
.contact-points{margin-top:36px;display:grid;gap:14px}
.contact-points li{display:flex;align-items:center;gap:14px;font:500 15px/1.3 var(--body);color:rgba(255,255,255,.88)}
.contact-points li:not(:first-child)::before{content:"";width:8px;height:8px;border:1.5px solid var(--blue-soft);transform:rotate(45deg);flex:none}
.contact-mail{display:inline-block;margin-top:40px;font:500 clamp(18px,1.6vw,22px)/1 var(--display);color:#fff;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:8px;transition:border-color .3s,color .3s}
.contact-mail:hover{border-color:var(--blue);color:var(--blue-soft)}

.form-card{background:#fff;color:var(--text);border-radius:26px;padding:clamp(28px,3.4vw,48px);box-shadow:0 60px 120px -50px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06)}
.form-head{margin-bottom:28px}
.form-title{font:500 clamp(24px,2.1vw,30px)/1.1 var(--display);letter-spacing:-.025em}
.form-sub{margin-top:8px;color:var(--muted);font-size:15px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field{position:relative;margin-bottom:14px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field input,.field textarea{width:100%;border:1px solid var(--rule);border-radius:14px;background:#F8FAFD;padding:26px 16px 10px;font-size:16px;line-height:1.35;color:var(--text);transition:border-color .25s,background .25s,box-shadow .25s;resize:none;-webkit-appearance:none;appearance:none}
.field textarea{min-height:92px}
.field label{position:absolute;left:17px;top:19px;font-size:15px;color:var(--muted);pointer-events:none;transform-origin:left top;transition:transform .25s var(--ease),color .25s}
.field label small{font-size:.85em;opacity:.75}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(30,107,255,.12)}
.field input:focus+label,.field input:not(:placeholder-shown)+label,.field textarea:focus+label,.field textarea:not(:placeholder-shown)+label{transform:translateY(-11px) scale(.76);color:var(--blue)}
.field.err input,.field.err textarea{border-color:#D64545;background:#FFF7F7}
.field.err label{color:#C0392B}
.cta-submit{position:relative;width:100%;height:62px;margin-top:8px;border:0;border-radius:16px;background:var(--navy);color:#fff;font:600 16px/1 var(--body);letter-spacing:-.005em;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:16px;overflow:hidden;transition:background .4s var(--ease),transform .2s}
.cta-submit:hover{background:var(--blue)}
.cta-submit:active{transform:scale(.985)}
.cta-submit-track{position:relative;width:34px;height:2px;background:rgba(255,255,255,.35);overflow:visible;transition:width .5s var(--ease)}
.cta-submit-track i{position:absolute;right:-1px;top:-4px;width:10px;height:10px;border-top:2px solid #fff;border-right:2px solid #fff;transform:rotate(45deg)}
.cta-submit:hover .cta-submit-track{width:54px;background:#fff}
.cta-submit[disabled]{cursor:progress;background:var(--navy-2)}
.cta-submit.sending .cta-submit-track{width:80px;background:linear-gradient(90deg,transparent,#fff,transparent);background-size:50% 100%;background-repeat:no-repeat;animation:sending 1s linear infinite}
.cta-submit.sending .cta-submit-track i{display:none}
@keyframes sending{from{background-position:-100% 0}to{background-position:200% 0}}
.form-note{margin-top:16px;font-size:12.5px;color:var(--muted);line-height:1.5}
.form-error{margin-top:12px;font-size:14px;color:#C0392B}
.form-success{text-align:left;padding:10px 0}
.form-success svg{width:150px;height:auto;margin-bottom:30px;overflow:visible}
.form-success .s-line{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1s var(--ease-io) forwards}
.form-success .s-v1{animation-delay:.6s}.form-success .s-v2{animation-delay:.75s}
.form-success h3{font:500 32px/1.1 var(--display);letter-spacing:-.03em;margin-bottom:12px}
.form-success p{color:var(--muted)}

/* ---------- footer ---------- */
.footer{background:#040F24;color:rgba(255,255,255,.7);padding:72px 0 42px}
.footer-inner{display:grid;grid-template-columns:auto 1fr auto;gap:28px 48px;align-items:end}
.footer-logo{width:124px;height:auto}
.footer-slogan{font:400 clamp(18px,1.6vw,22px)/1.2 var(--display);color:#fff;letter-spacing:-.01em}
.footer-meta{display:flex;flex-wrap:wrap;gap:10px 28px;font:500 12px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted-dark)}
.footer-meta a:hover{color:#fff}

/* ---------- dock CTA (mobile) ---------- */
.dock-cta{position:fixed;left:16px;right:16px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:80;display:none;align-items:center;justify-content:center;gap:12px;height:56px;border-radius:99px;background:var(--blue);color:#fff;font:600 15px/1 var(--body);box-shadow:0 18px 40px -12px rgba(6,22,51,.6);transform:translateY(140%);transition:transform .55s var(--ease)}
.dock-cta.show{transform:none}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .nav-links{display:none}
  .nav-cta{margin-left:auto}
  .sec-head{grid-template-columns:1fr}
  .sec-head h2,.sec-head .sec-lead{grid-column:auto}
  .sec-head .tag{padding-top:0}
  .compare-grid{grid-template-columns:1fr}
  .cmp-vs{padding:4px 0}
  .contact-inner{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr;row-gap:56px}
  .steps-rail{display:none}
  .step-node{top:-28px}
  .step{padding-top:0}
  .steps{padding-top:28px}
  .scroll-cue{display:none}
}
@media (max-width:720px){
  :root{--nav-h:66px}
  .nav-logo{width:88px}
  .nav-cta{height:40px;padding:0 16px;font-size:13px}
  .nav-cta-dot{display:none}
  .hero-inner{padding-top:calc(var(--nav-h) + 12vh)}
  .hero-title{font-size:clamp(42px,12.4vw,64px);line-height:.98}
  .hero-actions{width:100%}
  .cta-hero{width:100%;justify-content:space-between;height:60px}
  .hero-facts{grid-template-columns:1fr 1fr;row-gap:22px}
  .hero-facts>div:nth-child(3){border-left:0;padding-left:0}
  .hb-p1{left:80%}.hb-p2{left:calc(80% + 24px)}
  .steps{grid-template-columns:1fr;padding-left:30px;padding-top:0;row-gap:44px}
  .steps-rail{display:block;left:6px;right:auto;top:8px;bottom:8px;width:2px;height:auto}
  .steps-rail i{transform:scaleY(var(--p,0));transform-origin:top}
  .step-node{top:4px;left:-30px}
  .why-grid{grid-template-columns:1fr}
  .why-item{border-left:0;border-bottom:1px solid var(--rule);padding:34px 0}
  .field-row{grid-template-columns:1fr;gap:0}
  .footer-inner{grid-template-columns:1fr}
  .dock-cta{display:flex}
  .footer{padding-bottom:110px}
  .vista{min-height:70vh}
}


@media (max-width:720px){
  .hero-title{font-size:clamp(40px,11.6vw,58px)}
  .hero-title .line{display:inline;overflow:visible;padding:0;margin:0}
  .hero-title .line>span{display:inline;transform:none;transition:none}
  .hero-title .accent{display:block;margin-top:.04em}
  .js .hero-title{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.2s var(--ease)}
  .ready .hero-title{opacity:1;transform:none}
  .ready .hb-p1{height:44px}.ready .hb-p2{height:58px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .hero-fog span,.hero-grid,.ticker-track{animation:none!important}
  .hb-pulse{display:none}
  .js .reveal{opacity:1;transform:none}
  .statement-text .w{opacity:1}
  .step{opacity:1}
}
