@charset "UTF-8";

@import url("fonts.css");

:root{
  --action:#2450E4;
  --action-hover:#1B42C2;
  --bg:#FCFDFF;
  --hover-tint:#F1F5FF;
  --sel-soft:#E5EBFB;
  --sel-ring:rgba(36,80,228,.12);
  --success:#3A9430; --error:#F14D52;
  --r-btn:8px;

  --navy-950:#050E28;
  --navy-900:#081C45;
  --navy-800:#0D2D68;
  --brand:#2450E4;
  --brand-2:#0E75DC;
  --sky:#86B8FF;
  --gold:#F5C13F;

  --ink:#101C3A;
  --ink-2:#3E4D6E;
  --ink-3:#6E7EA1;
  --line:#E1E8F7;
  --surface:#FCFDFF;
  --surface-2:#F2F6FE;
  --surface-3:#ECF2FD;

  --font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --font-display:'Plus Jakarta Sans','Inter',-apple-system,'Segoe UI',sans-serif;
  --t-base:15px;

  --d-1:clamp(2.35rem, 1.1rem + 4.6vw, 5.15rem);
  --d-2:clamp(1.9rem, 1.1rem + 2.5vw, 3.15rem);
  --d-3:clamp(1.25rem, .95rem + 1vw, 1.65rem);
  --lead:clamp(.95rem, .88rem + .3vw, 1.1rem);

  --nav-h:76px;
  --shell:1240px;
  --gut:clamp(18px, 4vw, 46px);

  --r-lg:22px; --r-md:16px; --r-sm:12px; --r-pill:999px;

  --sh-1:0 2px 8px rgba(13,45,104,.06);
  --sh-2:0 14px 38px -14px rgba(13,45,104,.20);
  --sh-3:0 34px 70px -22px rgba(13,45,104,.32);
  --sh-glow:0 18px 46px -14px rgba(36,80,228,.55);

  --e-out:cubic-bezier(.22,1,.36,1);
  --e-io:cubic-bezier(.65,0,.35,1);
  --e-spring:cubic-bezier(.34,1.56,.64,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
html.is-smooth{scroll-behavior:smooth;}
body{
  margin:0; background:var(--bg); color:var(--ink-2);
  font-family:var(--font); font-size:var(--t-base); line-height:1.62;
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
body.nav-open,body.is-loading{overflow:hidden;}
img,svg{max-width:100%; display:block;}
button{font:inherit; color:inherit;}
a{color:var(--action); text-decoration:none;}
h1,h2,h3,h4{font-family:var(--font-display); color:var(--ink); margin:0; line-height:1.12; letter-spacing:-.022em;}
p{margin:0;}
ul{margin:0; padding:0; list-style:none;}
::selection{background:var(--brand); color:#fff;}

:focus-visible{outline:2px solid var(--brand); outline-offset:3px; border-radius:6px;}
.on-dark :focus-visible{outline-color:var(--sky);}
main:focus{outline:none;}

.skip-link{
  position:fixed; top:12px; left:12px; z-index:9999;
  background:var(--action); color:#fff;
  padding:13px 22px; border-radius:10px;
  font-size:14px; font-weight:700; box-shadow:var(--sh-glow);
  transform:translateY(-180%);
  transition:transform .3s var(--e-out);
}
.skip-link:focus{transform:none;}

.shell{width:100%; max-width:var(--shell); margin-inline:auto; padding-inline:var(--gut);}

.section{
  position:relative;
  min-height:100vh;
  min-height:100svh;
  display:flex; align-items:center;
  padding:calc(var(--nav-h) + 46px) 0 64px;
  overflow:hidden;
  scroll-margin-top:0;
}
.section > .shell{position:relative; z-index:2; width:100%;}

.section--light{background:var(--surface);}

.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:#fff;}
.on-dark .sec-sub{color:#93A9CE;}

.sec-head{max-width:640px; margin-bottom:clamp(26px,3.4vw,44px);}
.sec-head--center{margin-inline:auto; text-align:center;}
.eyebrow{
  display:inline-flex; align-items:center; gap:9px;
  font-size:11.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--brand); background:var(--sel-soft);
  padding:7px 15px; border-radius:var(--r-pill); margin-bottom:16px;
  border:1px solid rgba(36,80,228,.14);
}
.eyebrow::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--brand); box-shadow:0 0 0 4px rgba(36,80,228,.18); animation:pulseDot 2.4s var(--e-io) infinite;}
.on-dark .eyebrow{color:var(--sky); background:rgba(134,184,255,.10); border-color:rgba(134,184,255,.22);}
.on-dark .eyebrow::before{background:var(--sky); box-shadow:0 0 0 4px rgba(134,184,255,.18);}

.sec-title{font-size:var(--d-2); font-weight:800;}
.sec-title .hl{
  background:linear-gradient(100deg,var(--brand) 0%,var(--brand-2) 45%,var(--sky) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.sec-sub{margin-top:14px; font-size:var(--lead); color:var(--ink-3); max-width:56ch;}
.sec-head--center .sec-sub{margin-inline:auto;}

.accent-rule{width:64px; height:4px; border-radius:4px; background:linear-gradient(90deg,var(--brand),var(--sky)); margin-top:18px;}
.sec-head--center .accent-rule{margin-inline:auto;}

.btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:52px; padding:0 26px;
  border:1px solid transparent; border-radius:var(--r-btn);
  font-family:var(--font); font-size:14.5px; font-weight:700; letter-spacing:.005em;
  white-space:nowrap; cursor:pointer; isolation:isolate;
  transition:transform .35s var(--e-spring), box-shadow .35s var(--e-out), background .25s, color .25s, border-color .25s;
}
.btn svg{width:17px; height:17px; flex:0 0 auto; transition:transform .35s var(--e-out);}
.btn .bd{width:1px; height:20px; background:currentColor; opacity:.28; flex:0 0 auto;}
.btn:hover{transform:translateY(-3px);}
.btn:active{transform:translateY(-1px) scale(.985);}

.btn-primary{background:var(--action); color:#fff; border-color:var(--action); box-shadow:var(--sh-glow);}
.btn-primary::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg,var(--brand-2),var(--brand) 55%,#1436B0);
  opacity:0; transition:opacity .35s var(--e-out);
}
.btn-primary:hover{box-shadow:0 26px 56px -16px rgba(36,80,228,.7);}
.btn-primary:hover::before{opacity:1;}
.btn-primary:hover svg{transform:translateX(4px);}

.btn-secondary{background:#fff; color:var(--action); border-color:rgba(36,80,228,.32); box-shadow:var(--sh-1);}
.btn-secondary:hover{background:var(--hover-tint); border-color:var(--action); box-shadow:var(--sh-2);}

.btn-ghost-light{background:rgba(255,255,255,.06); color:#fff; border-color:rgba(255,255,255,.22); backdrop-filter:blur(8px);}
.btn-ghost-light:hover{background:rgba(255,255,255,.13); border-color:rgba(255,255,255,.45);}

.btn-sm{height:44px; padding:0 20px; font-size:13.5px;}

.ripple{position:absolute; border-radius:50%; transform:scale(0); background:rgba(255,255,255,.42); pointer-events:none; animation:ripple .62s var(--e-out) forwards; z-index:0;}
.btn-secondary .ripple{background:rgba(36,80,228,.22);}

.btn-text{
  display:inline-flex; align-items:center; gap:9px; position:relative;
  background:none; border:none; padding:4px 0; cursor:pointer;
  font-weight:700; font-size:14.5px; color:var(--action);
}
.btn-text::after{content:""; position:absolute; left:0; bottom:0; width:100%; height:2px; background:currentColor; transform:scaleX(0); transform-origin:right; transition:transform .45s var(--e-out);}
.btn-text:hover::after{transform:scaleX(1); transform-origin:left;}
.btn-text svg{width:16px; height:16px; transition:transform .35s var(--e-out);}
.btn-text:hover svg{transform:translateX(5px);}

.preloader{
  position:fixed; inset:0; z-index:9000;
  display:grid; place-items:center; gap:0;
  background:var(--navy-950);
  transition:opacity .6s var(--e-out), visibility .6s;
}
.preloader__inner{display:grid; justify-items:center; gap:26px;}
.preloader__mark{width:78px; height:78px; animation:markPop .9s var(--e-spring) both;}
.preloader__mark rect.pl-bg{transform-origin:center; animation:breathe 2.2s var(--e-io) infinite;}
.preloader__word{
  font-family:var(--font-display); font-size:30px; font-weight:800; letter-spacing:.24em;
  color:#fff; display:flex; gap:2px; padding-left:.24em;
}
.preloader__word span{opacity:0; animation:letterUp .55s var(--e-out) both;}
.preloader__bar{width:190px; height:3px; border-radius:3px; background:rgba(255,255,255,.14); overflow:hidden;}
.preloader__bar i{display:block; height:100%; width:0; border-radius:3px; background:linear-gradient(90deg,var(--brand),var(--sky)); transition:width .3s var(--e-out);}
.preloader__tag{font-size:11px; letter-spacing:.28em; text-transform:uppercase; color:#5E7BB5; font-weight:600;}
.preloader.is-done{opacity:0; visibility:hidden;}

.curtain{position:fixed; inset:0; z-index:8900; background:var(--navy-900); transform-origin:top; pointer-events:none; transform:scaleY(1);}
.curtain.is-up{transform:scaleY(0); transition:transform .85s var(--e-io);}

.scroll-progress{position:fixed; top:0; left:0; height:3px; width:100%; z-index:1200; background:transparent; pointer-events:none;}
.scroll-progress i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--brand),var(--brand-2) 50%,var(--sky)); box-shadow:0 0 14px rgba(36,80,228,.7);}

.cursor,.cursor-dot{position:fixed; top:0; left:0; z-index:9500; pointer-events:none; border-radius:50%; opacity:0; transition:opacity .3s;}
.cursor{width:40px; height:40px; border:1.5px solid rgba(36,80,228,.55); margin:-20px 0 0 -20px; transition:width .3s var(--e-out),height .3s var(--e-out),margin .3s var(--e-out),background .3s,border-color .3s,opacity .3s;}
.cursor-dot{width:6px; height:6px; margin:-3px 0 0 -3px; background:var(--brand);}
.cursor.is-active{opacity:1;} .cursor-dot.is-active{opacity:1;}
.cursor.is-hover{width:70px; height:70px; margin:-35px 0 0 -35px; background:rgba(36,80,228,.10); border-color:transparent;}
.cursor.on-dark-zone{border-color:rgba(134,184,255,.7);}
.cursor-dot.on-dark-zone{background:var(--sky);}

.dotnav{position:fixed; right:22px; top:50%; transform:translateY(-50%); z-index:1100; display:grid; gap:16px; opacity:0; transition:opacity .5s .4s;}
.dotnav.is-ready{opacity:1;}
.dotnav a{position:relative; width:10px; height:10px; border-radius:50%; background:rgba(36,80,228,.24); display:block; transition:transform .35s var(--e-spring), background .3s;}
.dotnav a::after{
  content:attr(data-label); position:absolute; right:22px; top:50%; transform:translate(6px,-50%);
  background:var(--navy-900); color:#fff; font-size:11px; font-weight:600; letter-spacing:.04em;
  padding:5px 11px; border-radius:6px; white-space:nowrap; opacity:0; pointer-events:none;
  transition:opacity .3s var(--e-out), transform .3s var(--e-out);
}
.dotnav a:hover{background:var(--brand); transform:scale(1.35);}
.dotnav a:hover::after{opacity:1; transform:translate(0,-50%);}
.dotnav a.active{background:var(--brand); transform:scale(1.5); box-shadow:0 0 0 5px rgba(36,80,228,.15);}
.dotnav.on-dark a{background:rgba(255,255,255,.28);}
.dotnav.on-dark a.active,.dotnav.on-dark a:hover{background:#fff; box-shadow:0 0 0 5px rgba(255,255,255,.16);}

.to-top{
  position:fixed; right:20px; bottom:22px; z-index:1100;
  width:48px; height:48px; border-radius:50%; border:none; cursor:pointer;
  background:var(--action); color:#fff; display:grid; place-items:center;
  box-shadow:var(--sh-glow);
  opacity:0; visibility:hidden; transform:translateY(16px) scale(.85);
  transition:opacity .4s var(--e-out), transform .5s var(--e-spring), visibility .4s, background .25s;
}
.to-top svg{width:19px; height:19px;}
.to-top.is-in{opacity:1; visibility:visible; transform:none;}
.to-top:hover{background:var(--action-hover); transform:translateY(-4px);}

.topbar{
  position:fixed; inset:0 0 auto 0; z-index:1000; height:var(--nav-h);
  display:flex; align-items:center;
  transition:height .4s var(--e-out), background .45s var(--e-out), box-shadow .45s var(--e-out), border-color .45s;
  border-bottom:1px solid transparent;
}
.topbar .shell{display:flex; align-items:center; gap:20px; width:100%;}
.topbar.is-stuck{height:66px; background:rgba(255,255,255,.86); backdrop-filter:saturate(180%) blur(18px); -webkit-backdrop-filter:saturate(180%) blur(18px); border-bottom-color:var(--line); box-shadow:0 6px 26px -18px rgba(13,45,104,.55);}

.brand{display:inline-flex; align-items:center; gap:12px; flex:0 0 auto;}
.brand__mark{width:44px; height:44px; flex:0 0 auto; transition:transform .55s var(--e-spring);}
.brand:hover .brand__mark{transform:rotate(-8deg) scale(1.06);}
.brand__mark .ring{transform-origin:center; opacity:.55;}
.brand__text{display:grid; line-height:1;}
.brand__name{font-family:var(--font-display); font-size:25px; font-weight:800; letter-spacing:-.04em; color:#fff; transition:color .4s;}
.brand__name b{color:var(--sky); font-weight:800; transition:color .4s;}
.brand__tag{font-size:9.5px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; color:rgba(255,255,255,.62); margin-top:4px; transition:color .4s;}
.topbar.is-stuck .brand__name{color:var(--navy-900);}
.topbar.is-stuck .brand__name b{color:var(--brand);}
.topbar.is-stuck .brand__tag{color:var(--ink-3);}

.nav{margin-left:auto; display:flex; align-items:center; gap:2px;}
.nav__link{
  position:relative; background:none; border:none; cursor:pointer;
  font-size:14px; font-weight:600; color:rgba(255,255,255,.82);
  padding:10px 16px; border-radius:8px;
  transition:color .3s var(--e-out), background .3s;
}
.nav__link::after{
  content:""; position:absolute; left:16px; right:16px; bottom:4px; height:2px; border-radius:2px;
  background:currentColor; transform:scaleX(0); transform-origin:right;
  transition:transform .45s var(--e-out);
}
.nav__link:hover{color:#fff;}
.nav__link:hover::after{transform:scaleX(1); transform-origin:left;}

.nav__link.active{color:var(--sky); font-weight:700;}
.nav__link.active::after{transform:scaleX(1);}
.topbar.is-stuck .nav__link{color:var(--ink-2);}
.topbar.is-stuck .nav__link:hover{color:var(--navy-900); background:var(--hover-tint);}
.topbar.is-stuck .nav__link.active{color:var(--action); background:none;}

.nav-cta{margin-left:14px;}
.topbar:not(.is-stuck) .nav-cta{background:rgba(255,255,255,.10); color:#fff; border-color:rgba(255,255,255,.28); box-shadow:none; backdrop-filter:blur(8px);}
.topbar:not(.is-stuck) .nav-cta:hover{background:#fff; color:var(--navy-900); border-color:#fff;}

.burger{
  display:none; margin-left:auto; width:46px; height:46px; border-radius:12px;
  border:1px solid rgba(255,255,255,.24); background:rgba(255,255,255,.08);
  cursor:pointer; padding:0; place-items:center; gap:5px; align-content:center;
  transition:background .3s, border-color .3s;
}
.burger i{display:block; width:20px; height:2px; border-radius:2px; background:#fff; transition:transform .45s var(--e-out), opacity .3s, width .3s, background .3s;}
.burger i:nth-child(2){width:14px;}
.topbar.is-stuck .burger{border-color:var(--line); background:#fff;}
.topbar.is-stuck .burger i{background:var(--navy-900);}
body.nav-open .burger i:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.nav-open .burger i:nth-child(2){opacity:0; transform:scaleX(0);}
body.nav-open .burger i:nth-child(3){width:20px; transform:translateY(-7px) rotate(-45deg);}

.drawer{
  position:fixed; inset:0; z-index:990;
  background:linear-gradient(160deg,var(--navy-950),var(--navy-800));
  display:flex; flex-direction:column; justify-content:center; gap:8px;
  padding:calc(var(--nav-h) + 30px) var(--gut) 40px;
  clip-path:circle(0% at calc(100% - 46px) 42px);
  transition:clip-path .75s var(--e-io);
  visibility:hidden;
}
body.nav-open .drawer{clip-path:circle(150% at calc(100% - 46px) 42px); visibility:visible;}
.drawer__link{
  display:flex; align-items:center; gap:16px;
  font-family:var(--font-display); font-size:clamp(26px,7vw,38px); font-weight:800; letter-spacing:-.03em;
  color:#fff; background:none; border:none; padding:10px 0; cursor:pointer; text-align:left;
  opacity:0; transform:translateY(24px);
  transition:opacity .5s var(--e-out), transform .6s var(--e-out), color .25s;
}
body.nav-open .drawer__link{opacity:1; transform:none;}
.drawer__link em{font-family:var(--font); font-style:normal; font-size:12px; font-weight:700; color:var(--sky); opacity:.65; letter-spacing:.1em; width:28px;}
.drawer__link:hover,.drawer__link.active{color:var(--sky);}
.drawer__foot{margin-top:34px; display:grid; gap:8px; opacity:0; transform:translateY(20px); transition:opacity .5s .5s var(--e-out), transform .6s .5s var(--e-out);}
body.nav-open .drawer__foot{opacity:1; transform:none;}
.drawer__foot a{color:#9FBBEA; font-size:14px; font-weight:600; display:flex; align-items:center; gap:10px;}
.drawer__foot svg{width:16px; height:16px; color:var(--sky);}

.hero{background:var(--navy-950); color:#C6D4EE; padding-top:calc(var(--nav-h) + 34px);}
.hero__bg{position:absolute; inset:0; z-index:0; overflow:hidden;}
.hero__bg::after{
  content:""; position:absolute; inset:0;
  background:url("../images/pattern-dots.svg") repeat; opacity:.55;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 20%,transparent 78%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 20%,transparent 78%);
}
.hero__grid-lines{
  position:absolute; inset:-10%;
  background-image:linear-gradient(rgba(134,184,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(134,184,255,.055) 1px,transparent 1px);
  background-size:74px 74px;
  transform:perspective(700px) rotateX(58deg) translateY(24%) scale(1.9);
  transform-origin:bottom center;
  mask-image:linear-gradient(to top,#000,transparent 62%);
  -webkit-mask-image:linear-gradient(to top,#000,transparent 62%);
  opacity:.85;
}
.orb{position:absolute; border-radius:50%; filter:blur(72px); opacity:.55; will-change:transform;}
.orb--1{width:min(46vw,560px); aspect-ratio:1; background:radial-gradient(circle,#2450E4,transparent 68%); top:-12%; left:-8%; animation:drift1 19s var(--e-io) infinite;}
.orb--2{width:min(40vw,460px); aspect-ratio:1; background:radial-gradient(circle,#0E75DC,transparent 68%); bottom:-16%; right:-6%; animation:drift2 23s var(--e-io) infinite;}
.orb--3{width:min(28vw,320px); aspect-ratio:1; background:radial-gradient(circle,#4791FF,transparent 70%); top:44%; left:46%; opacity:.32; animation:drift3 27s var(--e-io) infinite;}
#particles{position:absolute; inset:0; width:100%; height:100%; opacity:.62;}
.hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:180px; background:linear-gradient(to top,rgba(4,12,34,.9),transparent); z-index:1; pointer-events:none;}

.hero__layout{display:grid; grid-template-columns:1.06fr .94fr; gap:clamp(28px,4vw,64px); align-items:center;}

.hero__pill{
  display:inline-flex; align-items:center; gap:10px;
  padding:7px 16px 7px 8px; border-radius:var(--r-pill);
  background:rgba(255,255,255,.06); border:1px solid rgba(134,184,255,.22);
  font-size:12.5px; font-weight:600; color:#BFD4F5; backdrop-filter:blur(8px);
}
.hero__pill b{
  display:inline-flex; align-items:center; gap:6px;
  background:var(--brand); color:#fff; font-size:10.5px; font-weight:800;
  letter-spacing:.09em; text-transform:uppercase; padding:5px 11px; border-radius:var(--r-pill);
}
.hero__pill b::before{content:""; width:6px; height:6px; border-radius:50%; background:#7CF3A0; box-shadow:0 0 0 0 rgba(124,243,160,.7); animation:livePing 2s infinite;}

.hero__title{
  font-size:var(--d-1); font-weight:800; color:#fff; line-height:1.02; letter-spacing:-.035em;
  margin:24px 0 0;
}
.hero__title .line{display:block; overflow:hidden;}
.hero__title .line > span{display:block; transform:translateY(110%); opacity:0;}
.hero__title .mega{
  display:inline-block;
  background:linear-gradient(96deg,#5691FF 0%,#94C3FF 38%,#2450E4 100%);
  background-size:200% 100%;
  -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:gradientPan 7s linear infinite;
  font-size:1.32em; letter-spacing:-.05em;
}
.hero__title .thin{font-weight:500; color:#A9C1E8; font-size:.52em; letter-spacing:-.01em; display:block; margin-top:6px;}

.hero__lead{margin-top:22px; font-size:var(--lead); color:#9EB5DA; max-width:50ch; line-height:1.72;}
.hero__lead b{color:#fff; font-weight:700;}
.hero__lead .kicker{
  background:linear-gradient(90deg,var(--sky),#fff);
  -webkit-background-clip:text; background-clip:text; color:transparent; font-weight:800;
}
.hero__actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:32px;}

.hero__stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:6px;
  margin-top:clamp(28px,4vw,44px); padding-top:26px;
  border-top:1px solid rgba(134,184,255,.16);
}
.stat__num{font-family:var(--font-display); font-size:clamp(1.5rem,1rem + 1.5vw,2.15rem); font-weight:800; color:#fff; line-height:1; letter-spacing:-.03em;}
.stat__num i{font-style:normal; color:var(--sky);}
.stat__lbl{margin-top:8px; font-size:11.5px; font-weight:600; letter-spacing:.07em; text-transform:uppercase; color:#7E96C2; line-height:1.4;}

.hero__visual{position:relative; display:grid; place-items:center; min-height:min(52vh,470px);}
.hero__visual::before{
  content:""; position:absolute; width:112%; aspect-ratio:1;
  background:radial-gradient(circle,rgba(36,80,228,.30),transparent 62%); filter:blur(28px);
}
.orbit{position:relative; width:min(74%,380px); aspect-ratio:1; display:grid; place-items:center;}
.orbit__ring{position:absolute; inset:0; border-radius:50%; border:1px dashed rgba(134,184,255,.24);}
.orbit__ring--2{inset:13%; border-style:solid; border-color:rgba(134,184,255,.14);}
.orbit__ring--3{inset:26%; border-style:solid; border-color:rgba(134,184,255,.09);}
.orbit__spin{position:absolute; inset:0; animation:spin 26s linear infinite;}
.orbit__node{
  position:absolute; width:48px; height:48px; margin:-24px 0 0 -24px; border-radius:14px;
  background:rgba(255,255,255,.07); border:1px solid rgba(134,184,255,.26);
  display:grid; place-items:center; backdrop-filter:blur(10px);
  animation:spinBack 26s linear infinite;
  box-shadow:0 10px 26px -12px rgba(0,0,0,.6);
}
.orbit__node svg{width:21px; height:21px; color:var(--sky);}
.orbit__node:nth-child(1){top:0; left:50%;}
.orbit__node:nth-child(2){top:50%; left:100%;}
.orbit__node:nth-child(3){top:100%; left:50%;}
.orbit__node:nth-child(4){top:50%; left:0;}

.orbit__core{
  position:relative; z-index:2; width:44%; aspect-ratio:1; border-radius:50%;
  background:linear-gradient(150deg,var(--brand-2),var(--brand) 45%,#0C2778);
  display:grid; place-items:center; gap:2px; text-align:center;
  box-shadow:0 0 0 10px rgba(36,80,228,.10), 0 30px 60px -20px rgba(36,80,228,.85);
  animation:coreFloat 6s var(--e-io) infinite;
}
.orbit__core span{font-family:var(--font-display); font-size:clamp(1.4rem,3.4vw,2rem); font-weight:800; color:#fff; line-height:1;}
.orbit__core em{font-style:normal; font-size:10px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.72);}

.float-card{
  position:absolute; z-index:3;
  display:flex; align-items:center; gap:11px;
  padding:12px 16px; border-radius:14px;
  background:rgba(255,255,255,.94); color:var(--navy-900);
  box-shadow:0 22px 48px -18px rgba(3,10,30,.85);
  font-size:12.5px; font-weight:700; white-space:nowrap;
  backdrop-filter:blur(6px);
}
.float-card small{display:block; font-size:10.5px; font-weight:600; color:var(--ink-3); letter-spacing:.02em;}
.float-card .ico{width:30px; height:30px; border-radius:9px; display:grid; place-items:center; flex:0 0 auto;}
.float-card .ico svg{width:15px; height:15px;}
.float-card--a{top:4%; left:-6%; animation:floaty 5.5s var(--e-io) infinite;}
.float-card--a .ico{background:rgba(62,143,39,.12); color:var(--success);}
.float-card--b{bottom:8%; right:-8%; animation:floaty 6.6s .8s var(--e-io) infinite;}
.float-card--b .ico{background:rgba(36,80,228,.12); color:var(--brand);}
.float-card--c{bottom:40%; left:-14%; animation:floaty 7.4s 1.6s var(--e-io) infinite;}
.float-card--c .ico{background:rgba(246,190,53,.16); color:#B08307;}

.scroll-hint{
  position:absolute; left:50%; bottom:22px; transform:translateX(-50%); z-index:3;
  display:grid; justify-items:center; gap:9px;
  font-size:10px; font-weight:700; letter-spacing:.24em; text-transform:uppercase; color:#6E88B8;
}
.scroll-hint i{display:block; width:1px; height:44px; background:linear-gradient(to bottom,transparent,var(--sky)); position:relative; overflow:hidden;}
.scroll-hint i::after{content:""; position:absolute; inset:0; background:var(--sky); animation:scrollLine 2.1s var(--e-io) infinite;}

.marquee{
  position:absolute; left:0; right:0; bottom:0; z-index:4;
  background:linear-gradient(90deg,var(--brand),var(--brand-2) 52%,var(--navy-800));
  overflow:hidden; padding:13px 0; border-top:1px solid rgba(255,255,255,.12);
}
.marquee__track{display:flex; width:max-content; animation:marquee 34s linear infinite;}
.marquee:hover .marquee__track{animation-play-state:paused;}
.marquee__group{display:flex; align-items:center; gap:46px; padding-right:46px;}
.marquee__item{display:inline-flex; align-items:center; gap:11px; font-size:12.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.92); white-space:nowrap;}
.marquee__item svg{width:15px; height:15px; color:var(--gold);}
.marquee__dot{width:5px; height:5px; border-radius:50%; background:rgba(255,255,255,.42); flex:0 0 auto;}

.about__layout{display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(30px,4.5vw,70px); align-items:center;}

.about__visual{position:relative;}
.about__frame{
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  background:linear-gradient(155deg,var(--navy-800),var(--navy-950));
  padding:30px 28px; color:#C6D4EE;
  box-shadow:var(--sh-3);
}
.about__frame::before{
  content:""; position:absolute; inset:0;
  background:url("../images/pattern-dots.svg") repeat; opacity:.6;
}
.about__frame::after{
  content:""; position:absolute; width:220px; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(36,80,228,.55),transparent 66%); filter:blur(28px);
  top:-70px; right:-60px;
}
.about__frame > *{position:relative; z-index:2;}
.about__frame h3{font-size:var(--d-3); color:#fff; font-weight:800;}
.about__frame p{margin-top:12px; font-size:14px; color:#9EB5DA; line-height:1.7;}
.metrics{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:26px;}
.metric{
  background:rgba(255,255,255,.055); border:1px solid rgba(134,184,255,.16);
  border-radius:var(--r-sm); padding:16px 16px 14px;
  transition:transform .4s var(--e-out), background .4s, border-color .4s;
}
.metric:hover{transform:translateY(-5px); background:rgba(255,255,255,.10); border-color:rgba(134,184,255,.4);}
.metric b{display:block; font-family:var(--font-display); font-size:1.75rem; font-weight:800; color:#fff; line-height:1; letter-spacing:-.03em;}
.metric b i{font-style:normal; color:var(--sky);}
.metric span{display:block; margin-top:7px; font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:#8AA3CC;}

.about__badge{
  position:absolute; right:-14px; bottom:-24px; z-index:3;
  display:flex; align-items:center; gap:13px;
  background:#fff; border-radius:var(--r-md); padding:14px 20px;
  box-shadow:var(--sh-3); border:1px solid var(--line);
}
.about__badge .ico{width:44px; height:44px; border-radius:13px; background:linear-gradient(150deg,var(--brand),var(--navy-800)); display:grid; place-items:center; flex:0 0 auto;}
.about__badge .ico svg{width:21px; height:21px; color:#fff;}
.about__badge b{display:block; font-family:var(--font-display); font-size:15px; font-weight:800; color:var(--navy-900);}
.about__badge span{display:block; font-size:11.5px; color:var(--ink-3); font-weight:600;}

.promises{display:grid; gap:2px; margin-top:26px;}
.promise{
  display:flex; align-items:flex-start; gap:14px;
  padding:14px 16px; border-radius:var(--r-sm);
  border:1px solid transparent;
  transition:background .35s var(--e-out), border-color .35s, transform .35s var(--e-out);
}
.promise:hover{background:var(--hover-tint); border-color:rgba(36,80,228,.16); transform:translateX(6px);}
.promise__ico{
  width:38px; height:38px; flex:0 0 auto; border-radius:11px;
  background:var(--sel-soft); color:var(--brand);
  display:grid; place-items:center;
  transition:background .35s, color .35s, transform .45s var(--e-spring);
}
.promise:hover .promise__ico{background:var(--brand); color:#fff; transform:rotate(-6deg) scale(1.08);}
.promise__ico svg{width:18px; height:18px;}
.promise b{display:block; font-family:var(--font-display); font-size:14.5px; font-weight:700; color:var(--ink);}
.promise span{display:block; font-size:13px; color:var(--ink-3); margin-top:3px; line-height:1.55;}

.about__cta{display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:30px;}

.services{background:var(--surface-2);}
.services::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:url("../images/pattern-grid.svg") repeat;
  mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000,transparent 75%);
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000,transparent 75%);
}
.svc-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}

.svc{
  position:relative; isolation:isolate; overflow:hidden;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  padding:26px 22px 24px;
  box-shadow:var(--sh-1);
  transform-style:preserve-3d;
  transition:transform .45s var(--e-out), box-shadow .45s var(--e-out), border-color .45s;
}
.svc::before{
  content:""; position:absolute; inset:0; z-index:-1; opacity:0;
  background:linear-gradient(165deg,var(--navy-800),var(--navy-950));
  transition:opacity .45s var(--e-out);
}
.svc::after{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--brand),var(--sky));
  transform:scaleX(0); transform-origin:left;
  transition:transform .55s var(--e-out);
}
.svc:hover{transform:translateY(-10px); box-shadow:var(--sh-3); border-color:transparent;}
.svc:hover::before{opacity:1;}
.svc:hover::after{transform:scaleX(1);}

.svc__ico{
  width:52px; height:52px; border-radius:15px; display:grid; place-items:center;
  background:var(--sel-soft); color:var(--brand); margin-bottom:18px;
  transition:background .45s var(--e-out), color .45s, transform .55s var(--e-spring);
}
.svc__ico svg{width:24px; height:24px;}
.svc:hover .svc__ico{background:rgba(134,184,255,.16); color:var(--sky); transform:translateY(-3px) rotate(-7deg) scale(1.06);}

.svc__n{
  position:absolute; top:20px; right:20px;
  font-family:var(--font-display); font-size:34px; font-weight:800; line-height:1;
  color:var(--surface-3); letter-spacing:-.05em;
  transition:color .45s var(--e-out), transform .55s var(--e-out);
}
.svc:hover .svc__n{color:rgba(134,184,255,.14); transform:translateY(-3px);}

.svc h3{font-size:15.5px; font-weight:800; letter-spacing:-.01em; line-height:1.28; transition:color .4s;}
.svc p{margin-top:10px; font-size:13.2px; color:var(--ink-3); line-height:1.62; transition:color .4s;}
.svc:hover h3{color:#fff;}
.svc:hover p{color:#A9C1E8;}

.svc__more{
  display:inline-flex; align-items:center; gap:7px; margin-top:16px;
  font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--brand); opacity:0; transform:translateY(8px);
  transition:opacity .4s var(--e-out), transform .45s var(--e-out), color .4s;
}
.svc__more svg{width:14px; height:14px;}
.svc:hover .svc__more{opacity:1; transform:none; color:var(--sky);}

.svc-foot{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px;
  margin-top:26px; padding:18px 24px; border-radius:var(--r-md);
  background:#fff; border:1px solid var(--line); box-shadow:var(--sh-1);
}
.svc-foot p{font-size:14px; color:var(--ink-2);}
.svc-foot p b{color:var(--navy-900); font-weight:800;}
.svc-tags{display:flex; flex-wrap:wrap; gap:8px;}
.tag{
  display:inline-flex; align-items:center; gap:7px;
  font-size:11.5px; font-weight:700; letter-spacing:.04em;
  padding:7px 13px; border-radius:var(--r-pill);
  background:var(--sel-soft); color:var(--action);
  transition:background .3s, color .3s, transform .35s var(--e-spring);
}
.tag:hover{background:var(--action); color:#fff; transform:translateY(-2px);}

.why{background:var(--navy-900);}
.why::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:url("../images/pattern-dots.svg") repeat; opacity:.5;
  mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000 10%,transparent 76%);
  -webkit-mask-image:radial-gradient(ellipse 75% 70% at 50% 40%,#000 10%,transparent 76%);
}
.why .orb--w1{width:min(38vw,440px); aspect-ratio:1; background:radial-gradient(circle,#2450E4,transparent 68%); top:-14%; right:-6%; animation:drift2 21s var(--e-io) infinite;}
.why .orb--w2{width:min(30vw,340px); aspect-ratio:1; background:radial-gradient(circle,#0E75DC,transparent 70%); bottom:-12%; left:-6%; animation:drift1 25s var(--e-io) infinite;}

.why__top{display:grid; grid-template-columns:1fr auto; gap:30px; align-items:end; margin-bottom:clamp(26px,3.5vw,42px);}
.why__top .sec-head{margin-bottom:0;}
.why__badges{display:flex; gap:10px; flex-wrap:wrap;}
.pill-stat{
  display:flex; align-items:center; gap:12px;
  padding:13px 18px; border-radius:var(--r-md);
  background:rgba(255,255,255,.055); border:1px solid rgba(134,184,255,.18);
  transition:transform .4s var(--e-out), background .4s, border-color .4s;
}
.pill-stat:hover{transform:translateY(-4px); background:rgba(255,255,255,.1); border-color:rgba(134,184,255,.42);}
.pill-stat .ico{width:36px; height:36px; border-radius:11px; background:rgba(36,80,228,.28); display:grid; place-items:center; flex:0 0 auto;}
.pill-stat .ico svg{width:17px; height:17px; color:var(--sky);}
.pill-stat b{display:block; font-size:12.5px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; color:#fff;}
.pill-stat span{display:block; font-size:12px; color:#8AA3CC; margin-top:2px;}

.why-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.why-card{
  position:relative; overflow:hidden;
  padding:24px 22px; border-radius:var(--r-md);
  background:rgba(255,255,255,.045); border:1px solid rgba(134,184,255,.14);
  transition:transform .45s var(--e-out), background .45s, border-color .45s, box-shadow .45s;
}
.why-card::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(134,184,255,.16),transparent 62%);
  opacity:0; transition:opacity .4s;
}
.why-card:hover{transform:translateY(-7px); background:rgba(255,255,255,.085); border-color:rgba(134,184,255,.42); box-shadow:0 26px 54px -24px rgba(0,0,0,.85);}
.why-card:hover::after{opacity:1;}
.why-card > *{position:relative; z-index:2;}
.why-card__ico{
  width:44px; height:44px; border-radius:13px; display:grid; place-items:center; margin-bottom:16px;
  background:linear-gradient(150deg,rgba(36,80,228,.5),rgba(10,111,212,.22));
  border:1px solid rgba(134,184,255,.24);
  transition:transform .5s var(--e-spring);
}
.why-card:hover .why-card__ico{transform:rotate(-8deg) scale(1.08);}
.why-card__ico svg{width:20px; height:20px; color:var(--sky);}
.why-card h3{font-size:15px; font-weight:800;}
.why-card p{margin-top:9px; font-size:13px; color:#93A9CE; line-height:1.6;}

.process{margin-top:clamp(24px,3.2vw,38px); position:relative;}
.process__line{position:absolute; left:0; right:0; top:26px; height:2px; background:rgba(134,184,255,.16); overflow:hidden; border-radius:2px;}
.process__line i{display:block; height:100%; width:0; background:linear-gradient(90deg,var(--brand),var(--sky)); transition:width 1.6s var(--e-io);}
.process.is-in .process__line i{width:100%;}
.process__steps{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; position:relative; z-index:2;}
.step{padding-right:14px;}
.step__num{
  width:54px; height:54px; border-radius:16px; display:grid; place-items:center;
  font-family:var(--font-display); font-size:17px; font-weight:800; color:#fff;
  background:linear-gradient(150deg,var(--navy-800),var(--navy-950));
  border:1px solid rgba(134,184,255,.24); margin-bottom:15px;
  transition:transform .5s var(--e-spring), border-color .4s, box-shadow .4s;
}
.step:hover .step__num{transform:translateY(-5px) scale(1.06); border-color:var(--sky); box-shadow:0 16px 34px -14px rgba(36,80,228,.9);}
.step h4{font-size:14.5px; font-weight:800; color:#fff;}
.step p{margin-top:7px; font-size:12.8px; color:#8AA3CC; line-height:1.6;}

.careers__layout{display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,4.5vw,64px); align-items:center;}

.perks{display:grid; gap:10px; margin-top:26px;}
.perk{display:flex; align-items:center; gap:12px; font-size:14px; font-weight:600; color:var(--ink-2);}
.perk .ck{
  width:26px; height:26px; border-radius:8px; flex:0 0 auto;
  background:var(--sel-soft); color:var(--brand); display:grid; place-items:center;
  transition:transform .4s var(--e-spring), background .3s, color .3s;
}
.perk .ck svg{width:13px; height:13px;}
.perk:hover .ck{background:var(--success); color:#fff; transform:scale(1.12) rotate(-8deg);}

.careers__cta{margin-top:32px; display:flex; flex-wrap:wrap; gap:14px; align-items:center;}
.careers__note{
  margin-top:22px; display:flex; gap:12px; align-items:flex-start;
  padding:14px 16px; border-radius:var(--r-sm);
  background:#FEF8E7; border:1px solid rgba(246,190,53,.5); color:#8A6A12;
  font-size:13px; line-height:1.55;
}
.careers__note svg{width:17px; height:17px; flex:0 0 auto; margin-top:2px;}

.roles{display:grid; gap:12px;}
.role{
  border:1px solid var(--line); border-radius:var(--r-md); background:#fff;
  box-shadow:var(--sh-1); overflow:hidden;
  transition:border-color .4s var(--e-out), box-shadow .4s var(--e-out), transform .4s var(--e-out);
}
.role:hover{border-color:rgba(36,80,228,.35); box-shadow:var(--sh-2); transform:translateY(-3px);}
.role.is-open{border-color:var(--action); box-shadow:0 0 0 3px var(--sel-ring), var(--sh-2);}
.role__head{
  width:100%; display:flex; align-items:center; gap:16px;
  padding:18px 20px; background:none; border:none; cursor:pointer; text-align:left;
}
.role__ico{
  width:44px; height:44px; border-radius:13px; flex:0 0 auto; display:grid; place-items:center;
  background:var(--sel-soft); color:var(--brand);
  transition:background .4s, color .4s, transform .5s var(--e-spring);
}
.role__ico svg{width:20px; height:20px;}
.role:hover .role__ico,.role.is-open .role__ico{background:var(--action); color:#fff; transform:rotate(-6deg);}
.role__meta{flex:1 1 auto; min-width:0;}
.role__meta b{display:block; font-family:var(--font-display); font-size:15.5px; font-weight:800; color:var(--ink); letter-spacing:-.01em;}
.role__tags{display:flex; flex-wrap:wrap; gap:7px; margin-top:7px;}
.role__tags span{
  font-size:11px; font-weight:600; color:var(--ink-3);
  background:var(--surface-2); border:1px solid var(--line);
  padding:3px 9px; border-radius:var(--r-pill);
  display:inline-flex; align-items:center; gap:5px;
}
.role__tags span svg{width:11px; height:11px; color:var(--brand);}
.role__toggle{
  width:34px; height:34px; border-radius:50%; flex:0 0 auto; display:grid; place-items:center;
  background:var(--surface-2); color:var(--brand); border:1px solid var(--line);
  transition:transform .45s var(--e-out), background .3s, color .3s;
}
.role__toggle svg{width:15px; height:15px; transition:transform .45s var(--e-out);}
.role.is-open .role__toggle{background:var(--action); color:#fff; border-color:var(--action);}
.role.is-open .role__toggle svg{transform:rotate(45deg);}
.role__body{max-height:0; overflow:hidden; transition:max-height .55s var(--e-io);}
.role__inner{padding:0 20px 20px 80px; font-size:13.4px; color:var(--ink-3); line-height:1.68;}
.role__inner ul{display:grid; gap:7px; margin-top:12px;}
.role__inner li{display:flex; gap:9px; align-items:flex-start;}
.role__inner li::before{content:""; width:6px; height:6px; border-radius:2px; background:var(--brand); flex:0 0 auto; margin-top:8px;}
.role__apply{margin-top:16px;}

.contact{background:var(--surface-2);}
.contact::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:url("../images/pattern-grid.svg") repeat;
  mask-image:radial-gradient(ellipse 70% 62% at 50% 50%,#000,transparent 76%);
  -webkit-mask-image:radial-gradient(ellipse 70% 62% at 50% 50%,#000,transparent 76%);
}

.contact__card{
  display:grid; grid-template-columns:.84fr 1.16fr;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--sh-3);
}

.contact__aside{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,var(--navy-800) 0%,var(--navy-950) 100%);
  color:#9EB5DA; padding:clamp(28px,3.2vw,44px);
  display:flex; flex-direction:column; gap:20px;
}
.contact__aside::before{content:""; position:absolute; inset:0; background:url("../images/pattern-dots.svg") repeat; opacity:.5;}
.contact__aside::after{
  content:""; position:absolute; width:280px; aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle,rgba(36,80,228,.62),transparent 66%); filter:blur(32px);
  bottom:-100px; left:-80px;
}
.contact__aside > *{position:relative; z-index:2;}
.contact__aside h3{font-size:var(--d-3); color:#fff; font-weight:800; line-height:1.18;}
.contact__aside > p{font-size:13.8px; line-height:1.72; color:#9EB5DA;}

.cinfo{display:grid; gap:14px; margin-top:auto; padding-top:12px;}
.cinfo__row{display:flex; align-items:center; gap:13px;}
.cinfo__row .ico{
  width:42px; height:42px; border-radius:12px; flex:0 0 auto; display:grid; place-items:center;
  background:rgba(255,255,255,.07); border:1px solid rgba(134,184,255,.18); color:var(--sky);
  transition:background .35s, color .35s, border-color .35s, transform .45s var(--e-spring);
}
.cinfo__row .ico svg{width:18px; height:18px;}
.cinfo__row:hover .ico{background:var(--action); color:#fff; border-color:var(--action); transform:translateY(-3px) rotate(-6deg);}
.cinfo__row b{display:block; font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color:#7E96C2; font-weight:700;}
.cinfo__row span,.cinfo__row a{display:block; font-size:14px; color:#fff; font-weight:600; margin-top:3px;}
.cinfo__row a:hover{color:var(--sky);}
.contact__sig{
  font-family:var(--font-display); font-size:16px; font-weight:800; letter-spacing:-.01em;
  background:linear-gradient(90deg,var(--sky),#fff); -webkit-background-clip:text; background-clip:text; color:transparent;
}

.contact__form{position:relative; padding:clamp(28px,3.2vw,44px);}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.field{position:relative;}
.field--full{grid-column:1 / -1;}

.flabel{display:block; font-size:11.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2); margin-bottom:9px;}
.flabel i{font-style:normal; color:var(--error); margin-left:3px;}

.fwrap{position:relative;}
.fwrap > .fico{position:absolute; left:15px; top:18.5px; width:17px; height:17px; color:#9AA8C4; pointer-events:none; transition:color .3s var(--e-out);}
.fwrap:focus-within > .fico{color:var(--action);}

.finput,.ftext{
  width:100%; height:54px;
  font-family:var(--font); font-size:14.5px; color:var(--ink);
  background:var(--surface-2); border:1.5px solid var(--line); border-radius:12px;
  padding:0 42px 0 44px;
  transition:border-color .3s var(--e-out), box-shadow .3s var(--e-out), background .3s var(--e-out);
}
.ftext{height:auto; min-height:134px; padding:16px 16px 30px 44px; line-height:1.62; resize:vertical;}
.finput::placeholder,.ftext::placeholder{color:#A3B0C9;}
.finput:focus,.ftext:focus{outline:none; background:#fff; border-color:var(--action); box-shadow:0 0 0 4px var(--sel-ring);}
.finput:focus-visible,.ftext:focus-visible{outline:none;}

.field__err{
  display:flex; align-items:center; gap:6px;
  font-size:12.5px; font-weight:600; color:var(--error);
  max-height:0; opacity:0; overflow:hidden; transform:translateY(-4px);
  transition:max-height .35s var(--e-out), opacity .3s, transform .35s var(--e-out), margin .35s var(--e-out);
}
.field__err svg{width:13px; height:13px; flex:0 0 auto;}
.field.has-error .field__err{max-height:44px; opacity:1; transform:none; margin-top:8px;}
.field.has-error .finput,.field.has-error .ftext{border-color:var(--error); background:#FEF3F3;}
.field.has-error .finput:focus,.field.has-error .ftext:focus{box-shadow:0 0 0 4px rgba(246,73,73,.14);}
.field.has-error .fwrap > .fico{color:var(--error);}
.field.has-error .fwrap{animation:nudge .4s var(--e-out);}

.field.is-valid .finput,.field.is-valid .ftext{border-color:rgba(62,143,39,.55);}
.field.is-valid .fwrap::after{
  content:""; position:absolute; right:15px; top:19px; width:17px; height:17px; border-radius:50%;
  background:var(--success) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat;
  animation:cardIn .4s var(--e-spring);
}

.fcount{position:absolute; right:14px; bottom:11px; font-size:11.5px; font-weight:600; color:#A3B0C9; pointer-events:none; transition:color .3s;}
.fcount.is-near{color:#B08307;}

.form-foot{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-top:24px;}
.form-note{display:flex; align-items:flex-start; gap:9px; font-size:12.5px; color:var(--ink-3); max-width:36ch; line-height:1.55;}
.form-note svg{width:15px; height:15px; color:var(--success); flex:0 0 auto; margin-top:2px;}
.btn-send{min-width:206px;}

.btn .spin{
  width:17px; height:17px; border-radius:50%; flex:0 0 auto; display:none;
  border:2px solid rgba(255,255,255,.32); border-top-color:#fff;
  animation:spin .7s linear infinite;
}
.btn.is-sending{pointer-events:none;}
.btn.is-sending .spin{display:block;}
.btn.is-sending .btn__label{opacity:.8;}
.btn.is-sending > svg,.btn.is-sending .bd{display:none;}
.btn.is-sent{background:var(--success) !important; border-color:var(--success) !important; box-shadow:0 18px 42px -16px rgba(62,143,39,.65) !important;}
.btn.is-sent::before{opacity:0 !important;}

.form-success{
  position:absolute; inset:0; z-index:5;
  display:grid; place-items:center; align-content:center; gap:15px; text-align:center;
  background:rgba(255,255,255,.965); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  padding:clamp(24px,3vw,40px);
  opacity:0; visibility:hidden; transform:scale(.98);
  transition:opacity .45s var(--e-out), transform .5s var(--e-spring), visibility .45s;
}
.form-success.is-in{opacity:1; visibility:visible; transform:none;}
.form-success__ring{width:78px; height:78px;}
.form-success__ring circle{stroke-dasharray:207; stroke-dashoffset:207;}
.form-success__ring path{stroke-dasharray:42; stroke-dashoffset:42;}
.form-success.is-in .form-success__ring circle{animation:drawRing .85s var(--e-out) forwards;}
.form-success.is-in .form-success__ring path{animation:drawCheck .45s .6s var(--e-out) forwards;}
.form-success h4{font-size:clamp(19px,2vw,23px); font-weight:800; color:var(--ink);}
.form-success p{font-size:13.8px; color:var(--ink-3); max-width:42ch; line-height:1.65;}
.form-success__acts{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:6px;}

.footer{position:relative; background:var(--navy-950); color:#8AA3CC; overflow:hidden;}
.footer::before{
  content:""; position:absolute; inset:0;
  background:url("../images/pattern-dots.svg") repeat; opacity:.45;
  mask-image:linear-gradient(to bottom,#000,transparent 70%);
  -webkit-mask-image:linear-gradient(to bottom,#000,transparent 70%);
}
.footer > *{position:relative; z-index:2;}

.footer__main{
  display:grid; grid-template-columns:1.4fr .8fr .8fr 1fr; gap:clamp(24px,3vw,44px);
  padding:clamp(44px,5vw,66px) 0 clamp(30px,3.6vw,44px);
}
.footer__about p{margin-top:18px; font-size:13.5px; line-height:1.72; max-width:38ch; color:#8AA3CC;}
.footer__sig{
  margin-top:18px; font-family:var(--font-display); font-size:17px; font-weight:800;
  background:linear-gradient(90deg,var(--sky),#fff); -webkit-background-clip:text; background-clip:text; color:transparent;
  letter-spacing:-.01em;
}
.footer h4{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:16px;}
.footer__links{display:grid; gap:11px;}
.footer__links a{
  background:none; border:none; padding:0; cursor:pointer; text-align:left;
  font-size:13.5px; font-weight:500; color:#8AA3CC;
  display:inline-flex; align-items:center; gap:8px;
  transition:color .3s, transform .35s var(--e-out);
}
.footer__links a::before{content:""; width:0; height:1.5px; background:var(--sky); transition:width .35s var(--e-out);}
.footer__links a:hover{color:#fff; transform:translateX(3px);}
.footer__links a:hover::before{width:12px;}

.socials{display:flex; gap:10px; margin-top:18px;}
.socials a{
  width:40px; height:40px; border-radius:12px; display:grid; place-items:center;
  background:rgba(255,255,255,.06); border:1px solid rgba(134,184,255,.16); color:#B8CCEC;
  transition:transform .4s var(--e-spring), background .3s, color .3s, border-color .3s;
}
.socials a svg{width:17px; height:17px;}
.socials a:hover{background:var(--action); color:#fff; border-color:var(--action); transform:translateY(-4px) rotate(-6deg);}

.footer__bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  padding:20px 0 26px; border-top:1px solid rgba(134,184,255,.12);
  font-size:12.5px; color:#6E88B8;
}
.footer__bar .legal{display:flex; gap:20px; flex-wrap:wrap;}
.footer__bar .legal a{color:#6E88B8;}
.footer__bar .legal a:hover{color:#fff;}

@media (max-width:1180px){
  .svc-grid{grid-template-columns:repeat(3,1fr);}
  .svc-grid .svc:nth-child(4),.svc-grid .svc:nth-child(5){grid-column:span 1;}
  .footer__main{grid-template-columns:1.3fr 1fr 1fr;}
  .footer__contact-col{grid-column:1 / -1;}
}
@media (max-width:1024px){
  :root{--nav-h:70px;}
  .dotnav{display:none;}
  .nav{display:none;}
  .nav-cta{display:none;}
  .burger{display:grid;}
  .hero__layout,.about__layout,.careers__layout{grid-template-columns:1fr;}
  .hero__visual{order:-1; min-height:min(38vh,320px); margin-bottom:6px;}
  .hero{padding-bottom:96px;}
  .float-card--a{left:0;} .float-card--b{right:0;} .float-card--c{display:none;}
  .about__visual{max-width:560px;}
  .about__badge{right:8px;}
  .why__top{grid-template-columns:1fr; align-items:start;}
  .why-grid{grid-template-columns:repeat(2,1fr);}
  .process__steps{grid-template-columns:repeat(2,1fr); gap:26px 18px;}
  .process__line{display:none;}
  .contact__card{grid-template-columns:1fr;}
  .cinfo{margin-top:8px;}
}
@media (max-width:860px){
  .section{padding:calc(var(--nav-h) + 40px) 0 56px;}
  .svc-grid{grid-template-columns:repeat(2,1fr);}
  .hero__stats{grid-template-columns:repeat(2,1fr); gap:20px 10px;}
  .footer__main{grid-template-columns:1fr 1fr; gap:30px;}
}
@media (max-width:620px){
  :root{--r-lg:18px; --r-md:14px;}
  .section{min-height:auto; padding:calc(var(--nav-h) + 34px) 0 52px;}
  .hero{min-height:100svh;}
  .svc-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .process__steps{grid-template-columns:1fr;}
  .metrics{grid-template-columns:1fr 1fr;}
  .footer__main{grid-template-columns:1fr;}
  .btn{width:100%; height:50px;}
  .hero__actions,.about__cta,.careers__cta{flex-direction:column; align-items:stretch;}
  .about__cta .btn-text,.careers__cta .btn-text{justify-content:center;}
  .role__inner{padding-left:20px;}
  .svc-foot{flex-direction:column; align-items:flex-start;}
  .about__badge{position:static; margin-top:14px; right:auto; bottom:auto;}
  .form-grid{grid-template-columns:1fr;}
  .form-foot{flex-direction:column; align-items:stretch;}
  .btn-send{width:100%; min-width:0;}
  .form-note{max-width:none;}
  .to-top{right:14px; bottom:14px; width:44px; height:44px;}
  .marquee{padding:11px 0;}
  .scroll-hint{display:none;}
}

@media (max-height:620px) and (min-width:621px){
  .section{min-height:auto; padding:calc(var(--nav-h) + 34px) 0 48px;}
  .hero{padding-bottom:88px;}
}

@media (hover:none),(pointer:coarse){
  .cursor,.cursor-dot{display:none !important;}
  .svc__more{opacity:1; transform:none;}
}

@media (prefers-reduced-motion:reduce){
  html.is-smooth{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important;}
  .hero__title .line > span{transform:none !important; opacity:1 !important;}
  [data-reveal]{opacity:1 !important; transform:none !important; clip-path:none !important;}
}

@media print{
  .topbar,.dotnav,.to-top,.cursor,.cursor-dot,.preloader,.curtain,.scroll-progress,.marquee,.drawer{display:none !important;}
  .section{min-height:auto; page-break-inside:avoid; padding:24px 0;}
  body{color:#000; background:#fff;}
}

.form-success p a{font-weight:700; text-decoration:underline; text-underline-offset:3px;}
