@font-face{font-family:Geist;src:url(geist-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#060b13;--ice:#91cfff;--blue:#007bff;--text:#f4f8fe;--muted:#afbece;--ease:cubic-bezier(.22,1,.36,1);--mono:ui-monospace,monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font-family:Geist,system-ui,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}h1,h2,h3,p{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ice);outline-offset:6px}::selection{background:var(--blue);color:white}[hidden]{display:none!important}.skip{position:fixed;top:-70px;left:20px;background:white;color:black;padding:15px;z-index:5}.skip:focus{top:10px}
.nav-shell{position:absolute;z-index:3;left:50%;top:25px;transform:translateX(-50%);width:min(1120px,calc(100% - 80px));padding:5px;border-radius:60px;background:#ffffff09;box-shadow:inset 0 1px 0 #ffffff18}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#081321e6;border-radius:50px;padding:10px 12px 10px 24px;box-shadow:inset 0 1px 0 #ffffff0e}.brand{display:flex;align-items:center;gap:4px;font-size:25px;letter-spacing:-.07em;font-weight:720;white-space:nowrap}.brand>span{color:var(--ice)}.brand svg{width:23px;height:23px;margin-left:10px;fill:none;stroke:var(--ice);stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.nav-inner nav{display:flex;gap:35px;font-size:12px;color:#c5d3e3}.nav-inner nav>a{min-height:44px;display:flex;align-items:center}.nav-inner nav a:hover{color:white}.nav-contact{display:flex;align-items:center;gap:18px;background:#f4f8fe;color:#142030;font-size:12px;font-weight:550;border-radius:30px;padding:5px 5px 5px 19px;min-height:42px}.nav-contact>span{display:grid;place-items:center;background:#dfe9f4;border-radius:50%;width:32px;height:32px;font-size:17px;transition:transform .6s var(--ease)}.nav-contact:hover>span{transform:rotate(45deg)}.hero{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:800px;min-height:max(790px,100svh);overflow:hidden}.scene{position:absolute;inset:0;z-index:-2;background:#061321}.scene img,.scene video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%}.scene video{opacity:0;transition:opacity 1.4s var(--ease)}.scene video.ready{opacity:1}.scene-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#030a15b8 0%,#050b168a 22%,#05122366 42%,#06101b14 59%,#050c1980 78%,#060b13 100%)}.hero-content{width:calc(100% - 64px);max-width:1320px;text-align:center;margin:0 auto;padding:178px 0 44px}.eyebrow{color:var(--ice);text-transform:uppercase;font-size:10px;font-weight:500;letter-spacing:.14em;line-height:1.8;display:flex;gap:10px;align-items:center}.hero-content .eyebrow{justify-content:center;display:inline-flex;padding:5px 12px;border-radius:30px;background:#11233880;box-shadow:inset 0 0 0 1px #addbff20;animation:arrive 1s var(--ease) both}.hero-content .eyebrow>span{width:4px;height:4px;border-radius:50%;background:var(--ice)}h1{font-size:clamp(50px,6.8vw,104px);line-height:.99;letter-spacing:-.065em;font-weight:530;margin:27px 0 23px;animation:arrive 1.25s var(--ease) both}h1>span{color:var(--ice)}.hero-description{font-size:16px;line-height:1.75;color:#d0dfed;max-width:680px;margin:0 auto;animation:arrive 1.5s var(--ease) both}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;background:var(--text);color:#102031;padding:7px 7px 7px 23px;border-radius:40px;font-size:13px;font-weight:570;min-height:52px;transition:transform .6s var(--ease),background .6s var(--ease)}.cta>span{width:38px;height:38px;display:grid;place-items:center;background:#0874e2;color:white;border-radius:50%;font-size:23px;font-weight:350;transition:transform .6s var(--ease)}.cta:hover>span{transform:rotate(45deg)}.cta:active{transform:scale(.98)}.hero-content>.cta{margin-top:26px;animation:arrive 1.7s var(--ease) both}.scene-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:auto 50px 22px;padding-top:55px;font-size:10px;color:#c5d8ec;letter-spacing:.05em}.scene-caption>span{font-size:10px}.motion-toggle{display:flex;align-items:center;gap:10px;border:0;background:#0715279c;border-radius:25px;padding:10px 14px;min-height:44px;font-size:10px;color:#d0dfed}.motion-toggle>span{font-size:14px}.service-dock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:min(1380px,calc(100% - 96px));margin:0 auto 27px;padding:8px;background:linear-gradient(180deg,#d9efff0b,#a9d4ff03);box-shadow:inset 0 1px 0 #c1e0ff25;border-radius:23px;gap:4px}.service-dock>a{display:flex;flex-direction:column;justify-content:center;padding:22px;background:#05101adb;border-radius:16px;box-shadow:inset 0 1px 0 #d2e6ff08;transition:background .65s var(--ease),transform .65s var(--ease)}.service-dock>a:hover{background:#142d47;transform:translateY(-4px)}.service-dock small{font-size:10px;color:#9fb3ca;margin-bottom:9px}.service-dock a>span{font-size:17px;font-weight:500;letter-spacing:-.03em;display:flex;justify-content:space-between;gap:8px}.service-dock b{color:var(--ice);font-weight:350;transition:transform .6s var(--ease)}.service-dock a:hover b{transform:translate(2px,-2px)}.solutions{max-width:1380px;width:calc(100% - 100px);margin:0 auto;padding:122px 0 60px}.section-head{display:flex;justify-content:space-between;gap:65px;align-items:flex-end;margin-bottom:52px}.section-head .eyebrow{margin-bottom:22px}.section-head h2{font-size:clamp(33px,3.55vw,53px);font-weight:480;line-height:1.14;letter-spacing:-.05em}.section-head h2>span{color:#9dafc4}.section-head>p{font-size:13px;color:var(--muted);line-height:1.9;max-width:250px;padding-bottom:5px;flex:none}.solution{position:relative;padding:0 28px;border-radius:22px;box-shadow:inset 0 1px 0 #bddfff20;transition:background .7s var(--ease);scroll-margin-top:25px}.solution[open]{background:linear-gradient(110deg,#14213566,#06132122);box-shadow:inset 0 1px 0 #d6ecff23,inset 0 -1px 0 #d6ecff0e}.solution summary{list-style:none;display:grid;grid-template-columns:210px 1fr 42px;gap:30px;align-items:center;cursor:pointer;min-height:123px;padding:26px 0}.solution summary::-webkit-details-marker{display:none}.summary-tag{font-family:var(--mono);font-size:10px;color:var(--ice);line-height:1.5;max-width:160px}.solution h3{font-size:clamp(22px,2.2vw,32px);font-weight:450;letter-spacing:-.04em;line-height:1.25}.expand{border-radius:50%;width:40px;height:40px;display:grid;place-items:center;background:#a9dbff09;box-shadow:inset 0 1px 0 #e1f4ff17;font-size:23px;color:#c0d7ec;font-weight:300;transition:transform .7s var(--ease),background .7s var(--ease)}.solution[open] .expand{transform:rotate(45deg);background:#0e3154}.solution-content{padding:0 65px 45px 240px;display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center;animation:arrive .8s var(--ease) both}.solution-content>div>p{color:var(--muted);font-size:15px;line-height:1.8;max-width:450px}.service-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.service-links a{display:flex;align-items:center;gap:20px;padding:12px 16px;min-height:44px;border-radius:30px;box-shadow:inset 0 0 0 1px #bde1ff35;background:#0b1e33;font-size:11px;transition:background .6s var(--ease)}.service-links a:hover{background:#183b5d}.service-links span{color:var(--ice)}.voice-object{padding:5px;background:#badfff08;border-radius:22px;box-shadow:inset 0 1px 0 #cce8ff25}.voice-core{border-radius:18px;padding:21px;background:#091423;box-shadow:inset 0 1px 0 #e3f1ff0c}.voice-label{display:flex;justify-content:space-between;gap:20px;color:#80a5ca;font-family:var(--mono);font-size:8px;letter-spacing:.08em}.wave{height:65px;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px 0;margin-block:15px}.wave i{display:block;width:3px;height:20%;border-radius:5px;background:#72baff}.wave i:nth-child(3n){height:75%}.wave i:nth-child(5n){height:100%}.wave i:nth-child(4n){height:40%}.wave i:nth-child(7n){height:55%}.voice-core>strong{display:block;font-size:22px;line-height:1.2;letter-spacing:-.04em;font-weight:500;margin-bottom:13px}.voice-core>p{font-size:11px;color:#9eafc5;line-height:1.7}.voice-core>small{display:block;font-size:8px;color:#8599b1;line-height:1.7;margin-top:20px}.process-object{display:grid;grid-template-columns:1fr 20px 1fr;gap:15px;align-items:center;padding:24px;background:#081525;border-radius:18px;box-shadow:inset 0 1px 0 #bddfff20}.process-object>span{font-size:13px;color:#dbeeff}.process-object>b{font-weight:400;color:var(--ice)}.process-object>small{grid-column:1/-1;font-size:9px;color:#8da5bf;line-height:1.7}.type-object{padding:25px;border-radius:18px;background:#0c2035;box-shadow:inset 0 1px 0 #c9e7ff20}.type-object>small{font-family:var(--mono);font-size:8px;color:#a2c1df;letter-spacing:.03em}.type-object>span{display:block;font-size:43px;font-weight:450;letter-spacing:-.05em;line-height:1.1;margin-top:22px}.type-object b{font-weight:450;color:var(--ice)}.route-object{display:grid;gap:10px}.route-object>span{padding:14px 17px;border-radius:8px;background:#0b1d30;font-size:13px;box-shadow:inset 0 1px 0 #bedfff12}.route-object small{font-family:var(--mono);font-size:10px;color:var(--ice);margin-right:16px}.section-close{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:70px 28px 25px}.section-close p{font-size:15px;color:var(--muted);line-height:1.7}.section-close strong{color:#ecf5ff;font-weight:450;font-size:25px;letter-spacing:-.04em}.mobile-break{display:none}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;padding:26px 50px;color:#7790a9;font-size:10px;line-height:1.7;box-shadow:inset 0 1px 0 #b7d5ff15}footer a{color:#b8cee2;min-height:44px;display:flex;align-items:center}footer p:last-child{width:100%;font-size:9px}
@keyframes arrive{from{opacity:.7;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero-content{padding-top:200px}.hero{min-height:max(850px,100svh)}}
@media(max-width:1100px){.nav-shell{width:calc(100% - 50px)}.hero-content{padding-top:165px}h1{font-size:7.4vw}.scene-caption{margin-inline:30px}.service-dock{width:calc(100% - 50px)}.service-dock>a{padding:20px 15px}.service-dock a>span{font-size:15px}.solutions{width:calc(100% - 60px);padding-top:90px}.section-head{gap:30px}.section-head>p{max-width:190px;font-size:12px}.solution{padding-inline:20px}.solution summary{grid-template-columns:160px 1fr 40px;gap:20px}.solution-content{padding:0 20px 38px 180px;gap:30px}.voice-core{padding:18px}.voice-core>strong{font-size:21px}.service-links a{font-size:10px;gap:15px}.summary-tag{font-size:9px}}
@media(max-width:760px){html{scroll-padding-top:25px}.nav-shell{width:calc(100% - 32px);top:16px;padding:4px}.nav-inner{padding:7px 8px 7px 16px;gap:10px}.brand{font-size:24px}.brand svg{width:19px;height:19px;margin-left:7px}.nav-inner nav{display:none}.nav-contact{font-size:11px;padding-left:15px;gap:14px}.nav-contact>span{width:30px;height:30px}.hero{min-height:830px;min-height:max(780px,100svh)}.hero-content{width:calc(100% - 40px);padding:145px 0 30px}h1{font-size:clamp(42px,8.2vw,62px);line-height:1.08;margin-block:23px}.hero-content .eyebrow{font-size:8px;letter-spacing:.04em;padding:5px 9px;gap:7px}.hero-description{font-size:15px;line-height:1.8;max-width:470px}.desktop-break{display:none}.hero-content>.cta{margin-top:23px}.cta{font-size:12px;padding-left:20px;gap:22px}.scene img,.scene video{object-position:52% center}.scene-shade{background:linear-gradient(180deg,#030915c4,#040d1ac2 25%,#05132373 44%,#05132312 59%,#060b13d9 84%,#060b13)}.scene-caption{margin:25px 25px 15px;padding:0;margin-top:auto;font-size:9px}.scene-caption>span{font-size:9px}.motion-toggle{font-size:9px;padding:8px 12px}.service-dock{grid-template-columns:1fr 1fr;width:calc(100% - 32px);padding:5px;margin-bottom:18px;border-radius:19px;gap:4px}.service-dock>a{padding:17px 15px;border-radius:14px;min-height:82px}.service-dock small{font-size:9px;margin-bottom:7px}.service-dock a>span{font-size:15px}.solutions{padding:75px 0 30px;width:calc(100% - 36px)}.section-head{display:block;margin-bottom:36px;padding-inline:4px}.section-head .eyebrow{font-size:9px;margin-bottom:20px}.section-head h2{font-size:36px;line-height:1.17}.section-head>p{max-width:none;margin-top:22px;font-size:14px}.section-head>p br{display:none}.solution{padding-inline:17px;border-radius:18px}.solution summary{grid-template-columns:1fr 34px;gap:12px;min-height:134px;padding:23px 0}.summary-tag{grid-column:1;font-size:9px;max-width:none}.solution h3{grid-column:1;font-size:25px;line-height:1.2}.expand{grid-column:2;grid-row:1/3;width:32px;height:32px;font-size:23px}.mobile-break{display:block}.solution-content{grid-template-columns:1fr;padding:0 0 28px;gap:24px}.solution-content>div>p{font-size:14px;line-height:1.8;max-width:none}.service-links{margin-top:20px}.service-links a{font-size:11px;gap:14px;padding:10px 13px}.voice-object{max-width:420px;width:100%}.voice-core{padding:23px}.voice-label{font-size:9px}.voice-core>strong{font-size:27px}.voice-core>p{font-size:12px}.voice-core>small{font-size:9px}.wave{gap:6px}.section-close{align-items:flex-start;flex-direction:column;padding:45px 4px 25px;gap:22px}.section-close p{font-size:14px}.section-close strong{font-size:27px}footer{padding:24px 22px;font-size:9px;gap:8px}.process-object{grid-template-columns:1fr 20px 1fr 20px 1fr;gap:10px}.process-object>span{font-size:12px}.type-object>span{font-size:44px}}
@media(max-width:400px){.hero-content{padding-top:130px;width:calc(100% - 34px)}h1{font-size:42px;letter-spacing:-.065em;line-height:1.06}.hero-content .eyebrow{font-size:7px;letter-spacing:0;gap:5px}.hero-description{font-size:14px}.hero{min-height:max(810px,100svh)}.scene-caption>span{font-size:8px}.scene-caption{margin-inline:22px}.service-dock a>span{font-size:13px}.service-dock>a{padding:15px 12px}.service-dock small{font-size:8px}.section-head h2{font-size:31px}.solution h3{font-size:22px}.service-links{gap:8px}.service-links a{font-size:10px}.process-object{grid-template-columns:1fr;padding:20px}.process-object>b{transform:rotate(90deg);justify-self:start}.wave{gap:5px}.voice-core{padding:20px}.nav-contact{min-height:44px}.hero-content>.cta{font-size:12px}}
@media(min-width:761px) and (max-width:1499px){.hero{min-height:max(700px,100svh)}.hero-content{padding:130px 0 20px}h1{font-size:clamp(50px,6.3vw,96px)}.scene-caption{padding-top:0;margin-bottom:10px}.service-dock{margin-bottom:20px}}
@media(max-width:760px){.scene-shade{background:linear-gradient(180deg,#030915c4,#040d1ac2 25%,#03091590 44%,#06101b35 59%,#060b13d9 84%,#060b13)}}
/* Keep the new mountain below the headline, not behind the reading area. */
.solution-content>div{min-width:0}
.hero-digital{min-height:max(960px,100svh);background:#02060c}
.hero-digital .hero-content{padding-top:140px;padding-bottom:0}
.hero-digital .scene{top:360px;bottom:70px;background:#02060c;mask-image:linear-gradient(180deg,transparent,#000 28%,#000 92%,transparent),linear-gradient(90deg,transparent 10%,#000 25%,#000 75%,transparent 90%);mask-composite:intersect}
.hero-digital .scene img,.hero-digital .scene video{object-fit:contain;object-position:center bottom}
.hero-digital .scene video{pointer-events:none}
.circuit-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:0;transition:opacity .5s ease}
.hero-digital.has-motion .circuit-flow{opacity:1}
.circuit-route use{fill:none;stroke-linecap:round;stroke-linejoin:round;animation:circuit-travel var(--speed) linear infinite;animation-delay:var(--offset);animation-play-state:paused}
.flow-aura{stroke:#007bff;stroke-width:14;stroke-opacity:.22;stroke-dasharray:140 860}
.flow-trail{stroke:#32baff;stroke-width:3.5;stroke-dasharray:140 860}
.circuit-route .flow-head{stroke:#e1faff;stroke-width:2.4;stroke-dasharray:25 975;animation-name:circuit-leading}
.circuit-nodes circle{fill:#bcf5ff;stroke:#30afff;stroke-width:5;paint-order:stroke;animation:circuit-node 3.2s ease-in-out infinite;animation-delay:var(--offset);animation-play-state:paused}
.hero-digital.motion-running .circuit-route use,.hero-digital.motion-running .circuit-nodes circle{animation-play-state:running}
@keyframes circuit-travel{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@keyframes circuit-leading{from{stroke-dashoffset:885}to{stroke-dashoffset:-115}}
@keyframes circuit-node{0%,100%{opacity:.15}45%,60%{opacity:.95}}
.hero-digital .motion-toggle{position:absolute;right:max(30px,calc((100% - 1400px)/2));bottom:165px;z-index:2;border:1px solid #badfff30;cursor:pointer;backdrop-filter:blur(10px)}
.hero-digital .motion-toggle[hidden]{display:none}
.hero-digital .motion-toggle:focus-visible{outline:2px solid #72baff;outline-offset:4px}
.site-footer .footer-motion{margin-top:18px;padding:0;background:none;border:0;color:#a6bcd3;font:inherit;font-size:11px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.site-footer .footer-motion[hidden]{display:none}
.site-footer .footer-motion:focus-visible{outline:2px solid #72baff;outline-offset:4px}
.hero-digital .scene-shade{background:linear-gradient(180deg,#02060c 0%,transparent 38%,transparent 77%,#060b13 100%)}
.hero-digital .service-dock{margin-top:auto}
/* Atmospheric contour lines: depth around the artwork, never over the copy. */
.hero-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;mask-image:linear-gradient(180deg,transparent,#000 16%,#000 82%,transparent)}
.atmosphere-light{position:absolute;inset:18% -12% -10%;background:radial-gradient(ellipse at 18% 58%,#007bff26,transparent 46%),radial-gradient(ellipse at 80% 67%,#179cfa30,transparent 45%);animation:atmosphere-drift 12s ease-in-out infinite alternate;animation-play-state:paused}
.terrain-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#73baff;stroke-width:1;mask-image:linear-gradient(90deg,#000,transparent 33%,transparent 67%,#000)}
.terrain-contours{opacity:.18}
.terrain-signals use{stroke:#86d4ff;stroke-width:1.5;stroke-dasharray:90 910;opacity:.6;animation:terrain-travel 10s linear infinite;animation-play-state:paused}
.terrain-signals use:last-child{animation-delay:-5s;animation-direction:reverse}
.hero-digital.motion-running .atmosphere-light,.hero-digital.motion-running .terrain-signals use{animation-play-state:running}
@keyframes atmosphere-drift{from{transform:translate3d(-3%,2%,0);opacity:.65}to{transform:translate3d(3%,-2%,0);opacity:1}}
@keyframes terrain-travel{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
@media(max-width:760px){
  .hero-digital{min-height:max(940px,100svh)}
  .hero-digital .hero-content{padding-top:132px}
  .hero-digital .scene{top:420px;bottom:145px;mask-image:linear-gradient(180deg,transparent,#000 28%,#000 92%,transparent)}
  .hero-digital .scene img,.hero-digital .scene video{object-fit:cover;object-position:center bottom}
  .hero-digital .motion-toggle{right:22px;bottom:208px}
  .hero-digital .scene-shade{background:linear-gradient(180deg,#02060c 0%,#02060c 34%,transparent 52%,transparent 73%,#060b13 86%)}
  .terrain-lines{opacity:.6;mask-image:linear-gradient(90deg,#000,transparent 27%,transparent 73%,#000)}
  .atmosphere-light{inset:35% -25% 0;background:radial-gradient(ellipse at 12% 40%,#007bff26,transparent 55%),radial-gradient(ellipse at 88% 60%,#179cfa26,transparent 50%)}
}
@media(max-width:360px){.hero-digital{min-height:max(990px,100svh)}.hero-digital .scene{top:475px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.service-dock>a:hover{transform:none}}
