@font-face{font-family:Space;src:url('assets/space-grotesk-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}@font-face{font-family:Inter;src:url('assets/inter-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#030914;--panel:#07152b;--white:#fff;--muted:#a8b6c8;--blue:#007bff;--cyan:#00c8ff;--line:rgba(160,194,239,.17);--gutter:clamp(24px,5vw,88px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--white);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--cyan);outline-offset:7px}button{cursor:pointer}::selection{background:#007bff;color:#fff}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}p{line-height:1.8;color:var(--muted);margin:0 0 20px}h1,h2,h3,p{overflow-wrap:break-word}h1,h2,h3{font-family:Space,Arial,sans-serif;font-weight:500;margin:0}h2{font-size:clamp(38px,4.1vw,64px);line-height:1.12;letter-spacing:-.055em}h2 span{color:var(--muted)}h3{font-size:27px;letter-spacing:-.035em}#globe-stage{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}#globe-stage canvas{display:block;width:100%;height:100%}.page-grain{position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.2;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' opacity='.17' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}header,main{position:relative;z-index:2}header{position:fixed;top:0;left:0;width:100%;height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--gutter);z-index:10;border-bottom:1px solid transparent;transition:background .3s,height .3s,border-color .3s}header.scrolled{height:76px;background:rgba(3,9,20,.9);backdrop-filter:blur(18px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:11px;font:500 22px Space,Arial,sans-serif;letter-spacing:.06em}.brand svg{width:22px;height:27px;color:#9acaff;stroke-width:1.8}header nav{display:flex;gap:34px;font-size:13px;color:#b9c7d9}header nav a{padding:10px 0;position:relative}header nav a:after{content:"";position:absolute;height:1px;background:var(--cyan);left:0;bottom:3px;width:0;transition:width .2s}header nav a:hover:after,header nav a.active:after{width:100%}.nav-contact{font-size:13px;border:1px solid #4c607a;border-radius:2px;padding:13px 18px;display:flex;align-items:center;gap:25px;transition:background .2s,border-color .2s}.nav-contact:hover{background:var(--blue);border-color:var(--blue)}.nav-contact span{font-size:19px}.hero{height:max(800px,100svh);min-height:800px;padding:135px var(--gutter) 0;display:flex;flex-direction:column;position:relative}.hero-topline{display:flex;justify-content:space-between;align-items:center}.eyebrow,.small-mono,.section-marker,.key-heading,.scale-labels,.data-note,.scroll-cue,.motion-toggle,.service-number,.service-tag,.service-bottom,.step-number,.about-caption{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;letter-spacing:.13em;line-height:1.6}.eyebrow{display:flex;align-items:center;gap:10px;color:#b6ccdf}.eyebrow i,.status-light{display:inline-block;width:5px;height:5px;border-radius:50%;background:#72c7ff;box-shadow:0 0 10px #339dff}.small-mono{color:#687d98;font-size:9px}.hero h1{font-size:clamp(100px,17.1vw,285px);letter-spacing:-.057em;line-height:1.15;position:relative;left:-.01em;z-index:2;margin-top:10px;color:rgba(239,246,255,.94);text-shadow:0 4px 60px rgba(1,6,18,.15)}.hero-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:flex-end;padding-top:40px;padding-bottom:48px}.hero-copy{max-width:420px}.hero-statement{font-family:Space,Arial,sans-serif;font-size:clamp(26px,2.8vw,42px);line-height:1.15;letter-spacing:-.045em;color:#f8fbff;margin-bottom:19px}.hero-statement span{color:#9ec1f3}.hero-copy>p:not(.hero-statement){font-size:13px;line-height:1.8;max-width:360px}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid #6d8aa9;font-size:12px;padding:5px 0 10px;transition:color .2s,gap .2s}.text-link:hover{color:var(--cyan);gap:30px}.text-link span{font-size:21px}.hero-actions{display:flex;align-items:center;gap:24px}.hero-actions .secondary-link{font-size:12px;color:var(--muted)}.hero-actions .secondary-link:hover{color:#fff}.hero-foot{border-top:1px solid var(--line);height:73px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.scroll-cue{display:flex;align-items:center;gap:14px;font-size:9px;color:#aec0d5}.content-section{padding:130px var(--gutter) 100px;position:relative}.section-marker{display:flex;align-items:center;gap:30px;color:#7aa6dd;font-size:10px;margin-bottom:64px}.marker-line{display:block;flex:1;height:1px;background:var(--line)}.about{min-height:900px}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8vw}.about-copy{max-width:470px;padding-top:7px}.about-copy .lead{font-size:21px;line-height:1.6;color:#ecf3fd;margin-bottom:25px}.about-copy p{font-size:14px}.about-copy .text-link{margin-top:7px}.about-bottom{margin-top:90px;display:flex;align-items:center;gap:20px}.mini-lock{font-size:55px;font-family:Space;color:#559bf8;line-height:1}.about-bottom p{font-family:Space;font-size:17px;line-height:1.4;margin:0;color:#b3c9e3}.about-caption{margin-left:auto;color:#6b85a5;font-size:9px}.services{background:linear-gradient(180deg,rgba(3,9,20,.15),rgba(3,9,20,.82));padding-top:100px}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:65px}.section-intro>p{font-size:13px;margin-bottom:5px;max-width:340px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service summary{display:flex;align-items:center;gap:30px;cursor:pointer;min-height:110px;list-style:none}.service summary::-webkit-details-marker{display:none}.service-number{color:#647d9d;font-size:10px;align-self:center;margin-right:10px}.service summary svg{width:32px;height:32px;color:#529dfc;flex-shrink:0;stroke-width:1.2}.service h3{font-size:25px;flex:1}.service-tag{font-size:9px;color:#687f9d;letter-spacing:.08em}.expand-icon{width:15px;height:15px;position:relative;flex-shrink:0;margin-left:35px}.expand-icon:before,.expand-icon:after{content:"";height:1px;width:15px;background:#9eb9da;position:absolute;top:7px;left:0}.expand-icon:after{transform:rotate(90deg);transition:transform .2s}.service[open] .expand-icon:after{transform:rotate(0)}.service summary:hover h3{color:#99c4ff}.service-description{margin-left:124px;padding-bottom:31px;max-width:calc(100% - 124px)}.service-description p{font-size:14px;max-width:620px;line-height:1.8;margin:0 0 27px}.service-bottom{display:flex;justify-content:space-between;gap:20px;color:#7893b4;letter-spacing:.025em;font-size:10px}.service-bottom a{color:#c2d9f8;white-space:nowrap}.service-bottom a span{font-size:16px;margin-left:12px}.approach{background:rgba(3,9,20,.85)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:75px}.step{border-top:1px solid var(--line);padding-top:25px}.step-number{color:#97b7e1;font-size:12px}.step-number>span{font-size:9px;color:#607c9d;margin-left:8px}.step-orbit{height:80px;width:80px;margin:45px 0 32px;position:relative;border:1px solid #194a87;border-radius:50%}.step-orbit:after,.step-orbit:before{content:"";position:absolute;border:1px solid #3e87de;border-radius:50%;inset:14px}.step-orbit:after{inset:28px;background:#007bff24;border-color:#87c5ff}.step-orbit span{width:6px;height:6px;background:#bbdeff;box-shadow:0 0 20px #007bff;border-radius:50%;position:absolute;top:7px;left:10px}.second:before{inset:8px 24px;border-radius:0;transform:rotate(45deg)}.second:after{inset:24px 8px;border-radius:0;transform:rotate(45deg)}.third:before{inset:13px 13px 13px -13px}.third:after{inset:13px -13px 13px 13px;background:transparent}.step h3{font-size:23px;margin-bottom:18px}.step p{font-size:13px;max-width:300px}.initiative{border:1px solid var(--line);margin-top:70px;padding:30px;display:grid;grid-template-columns:1fr 2fr;gap:40px;background:linear-gradient(100deg,#07152b75,transparent)}.initiative .eyebrow{font-size:9px;letter-spacing:.1em;margin-bottom:10px}.initiative h3{font-size:23px}.initiative p{font-size:13px;margin:0;max-width:700px}.contact{padding-bottom:0;background:radial-gradient(ellipse at 90% 80%,#0c2650aa,transparent 65%),#030914e8}.contact-main .eyebrow{font-size:9px;margin-bottom:35px}.contact h2{font-size:clamp(55px,7.5vw,118px);letter-spacing:-.065em;line-height:1.04}.contact h2 span{color:#86b5f6}.contact-row{display:flex;justify-content:space-between;align-items:center;margin-top:46px;gap:35px}.contact-row>p{font-size:14px}.contact-pending{font-size:13px;border-bottom:1px solid var(--line);padding:15px;color:#afbdd0}.contact-form{margin-top:50px;max-width:850px;display:grid;grid-template-columns:1fr 1fr;gap:25px 30px}.contact-form label{display:flex;flex-direction:column;gap:10px;font-size:12px;color:#becce0}.contact-form label.full{grid-column:1/-1}.contact-form label>span{color:#647f9f;font-size:10px}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #203653;border-radius:2px;background:#071329;color:#e6effc;width:100%;padding:14px 15px;font-size:14px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#647995}.contact-form textarea{resize:vertical;min-height:120px}.form-bottom{grid-column:1/-1;display:flex;align-items:center;gap:25px;justify-content:space-between}.primary-button{background:#087bfa;color:#fff;border:1px solid #459aff;padding:16px 22px;display:inline-flex;align-items:center;gap:50px;font-size:13px;border-radius:2px;white-space:nowrap}.primary-button:hover{background:#2993ff}.primary-button:disabled{cursor:not-allowed;background:#112b4d;border-color:#244365;color:#8298b5}.primary-button span{font-size:20px}.form-bottom p{font-size:11px;line-height:1.6;max-width:400px;margin:0}.form-status{grid-column:1/-1;font-size:13px;margin:0;color:#abcfff}.form-status:empty{display:none}footer{border-top:1px solid var(--line);margin-top:100px;display:flex;align-items:center;justify-content:space-between;min-height:120px;gap:25px}footer .brand{font-size:18px;gap:9px}footer .brand svg{width:18px;height:23px}footer p{font-size:10px;margin:0;color:#6c84a2}.back-top{font-size:11px;color:#9fb4cd;display:flex;gap:22px;align-items:center}.back-top span{font-size:19px}.scroll-progress{position:fixed;top:0;left:0;height:2px;width:100%;z-index:20;pointer-events:none}.scroll-progress span{height:100%;width:100%;display:block;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#007bff,#00c8ff);opacity:.7}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--blue);color:#fff;padding:14px}.skip-link:focus{top:12px}.reveal{transition:opacity .8s,transform .8s}.js .reveal:not(.visible){opacity:0;transform:translateY(25px)}.motion-off .reveal{transition:none}.motion-off{scroll-behavior:auto}
@media(min-width:1700px){.hero h1{font-size:17vw}.hero-copy{max-width:480px}.hero-copy>p:not(.hero-statement){font-size:15px;max-width:430px}.hero-bottom{padding-bottom:60px}}
@media(max-width:1100px){header nav{gap:22px}.hero{height:max(760px,100svh);min-height:760px}.hero h1{font-size:16.9vw;margin-top:35px}.hero-edition{display:none}.hero-copy{max-width:310px}.hero-copy>p:not(.hero-statement){font-size:12px}.about-layout{gap:45px}.about-copy .lead{font-size:19px}.service-tag{display:none}.section-intro{align-items:flex-start;flex-direction:column;gap:25px}.section-intro>p br{display:none}.section-intro>p{max-width:500px}.about{min-height:800px}.steps{gap:30px}.step h3{font-size:21px}}
@media(max-width:700px){:root{--gutter:24px}html{scroll-padding-top:85px}header{height:80px}.brand{font-size:18px;gap:8px}.brand svg{width:18px;height:23px}header nav{display:none}.nav-contact{padding:9px 12px;gap:16px;font-size:11px}.hero{padding-top:112px;height:max(930px,100svh);min-height:930px}.hero h1{margin-top:27px;font-size:17.4vw;letter-spacing:-.065em;line-height:1.2}.hero .eyebrow{font-size:9px}.hero-bottom{padding-bottom:25px;gap:24px;flex-direction:column;align-items:stretch}.hero-copy{max-width:370px}.hero-statement{font-size:31px;line-height:1.2;margin-bottom:13px}.hero-copy>p:not(.hero-statement){font-size:12px;max-width:340px;margin-bottom:14px;line-height:1.8}.hero-copy>p>br{display:none}.hero-actions{gap:23px}.hero-foot{height:65px}.scroll-cue{font-size:8px;gap:10px}.content-section{padding-top:90px;padding-bottom:65px}.section-marker{font-size:9px;gap:20px;margin-bottom:40px}.about{min-height:0}.about-layout{grid-template-columns:1fr;gap:35px}h2{font-size:38px;letter-spacing:-.055em}.about-copy{max-width:500px}.about-copy .lead{font-size:18px}.about-copy p{font-size:13px}.about-bottom{margin-top:45px}.about-caption{font-size:7px;max-width:90px;text-align:right}.section-intro{margin-bottom:35px}.section-intro>p{font-size:12px}.service summary{min-height:88px;gap:17px}.service-number{font-size:8px;margin-right:0}.service summary svg{width:24px;height:24px}.service h3{font-size:19px}.expand-icon{margin-left:0;width:13px}.expand-icon:before,.expand-icon:after{width:13px}.service-description{margin-left:47px;max-width:calc(100% - 47px);padding-bottom:25px}.service-description p{font-size:12px;line-height:1.85}.service-bottom{flex-direction:column;gap:17px;font-size:9px}.service-bottom a{font-size:11px}.steps{grid-template-columns:1fr;gap:30px;margin-top:40px}.step{display:grid;grid-template-columns:70px 1fr;column-gap:25px;padding-top:25px}.step-number{grid-column:1/-1;font-size:11px;margin-bottom:23px}.step-orbit{width:60px;height:60px;grid-row:2/4;margin:2px 0 0}.step-orbit:before{inset:11px}.step-orbit:after{inset:22px}.step h3{font-size:22px;line-height:1.2;margin-bottom:13px}.step p{font-size:12px;margin-bottom:5px}.second:before{inset:8px 19px}.second:after{inset:19px 8px}.third:before{inset:10px 10px 10px -10px}.third:after{inset:10px -10px 10px 10px}.initiative{grid-template-columns:1fr;gap:20px;padding:24px;margin-top:45px}.initiative p{font-size:12px}.contact{padding-bottom:0}.contact h2{font-size:54px}.contact-main .eyebrow{font-size:8px;letter-spacing:.08em;margin-bottom:25px}.contact-row{flex-direction:column;align-items:flex-start;gap:15px;margin-top:28px}.contact-row>p{font-size:13px;margin-bottom:0}.contact-pending{padding-left:0}.contact-form{grid-template-columns:1fr;margin-top:30px;gap:22px}.contact-form label.full{grid-column:auto}.form-bottom{flex-direction:column;align-items:stretch;gap:18px}.primary-button{justify-content:space-between}.form-bottom p{font-size:10px}.contact-form label{font-size:11px}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}footer{margin-top:65px;padding:30px 0;min-height:130px;flex-wrap:wrap;gap:24px}footer p{order:3;width:100%;font-size:9px}.back-top{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal:not(.visible){opacity:1;transform:none}}

/* The hero scrolls directly into the story; no separate control bar. */
.hero-foot{border-top:0;height:78px;justify-content:center;position:relative}
.scroll-cue{flex-direction:column;gap:10px;font-size:9px;letter-spacing:.11em;color:#8ca6c8;padding:8px 24px 0}
.scroll-label{transition:color .2s}
.scroll-cue:hover .scroll-label{color:#dceeff}
.scroll-trail{position:relative;display:block;width:1px;height:37px;background:linear-gradient(to bottom,#4086d650,#4086d608);overflow:hidden}
.scroll-trail span{position:absolute;width:1px;height:16px;left:0;top:0;background:linear-gradient(transparent,#b3dcff,transparent)}
.hero-copy .hero-statement{line-height:1.22}
.footer-notes{display:flex;flex-direction:column;gap:6px}
.footer-notes p+p{font-size:9px;color:#6c84a2}
@media(max-width:700px){
 .hero{height:max(820px,100svh);min-height:820px}
 .hero-bottom{padding-bottom:20px;gap:0}
 .hero-foot{height:70px}
 .scroll-cue{gap:8px;padding-top:4px;font-size:8px}
 .scroll-trail{height:30px}
 .footer-notes{order:3;width:100%}
 .footer-notes p{width:auto;order:initial}
}

/* Miniature heatmap globe in the first process article. */
.step-globe{width:96px;height:96px;margin:37px 0 24px;position:relative;pointer-events:none}
.step-globe canvas{display:block;width:100%;height:100%}
@media(max-width:700px){.step-globe{width:70px;height:70px;grid-row:2/4;margin:0}}

/* The planning step follows a winding route to its destination. */
.step-map{width:100px;height:90px;margin:35px 0 32px;position:relative;pointer-events:none}
.step-map svg{display:block;width:100%;height:100%;overflow:visible}
.map-paper{stroke:#3473b4;stroke-width:1.15;fill:#07152b66}
.map-folds{stroke:#245487;stroke-width:.8;opacity:.7}
.map-contours{stroke:#326493;stroke-width:.85;opacity:.65}
.map-start{fill:#aee7ff;stroke:#aee7ff;stroke-width:1}
.map-route{stroke:#9cddff;stroke-width:2;stroke-dasharray:5 5;stroke-linecap:butt}
.map-reveal{stroke:#fff;stroke-width:6;stroke-linecap:butt;stroke-dasharray:100;stroke-dashoffset:0}
.map-x{stroke:#e2f6ff;stroke-width:2.3}
.map-target-ring{stroke:#338dcf;stroke-width:.8;opacity:.6}
@media(max-width:700px){.step-map{width:70px;height:70px;grid-row:2/4;margin:0}}

/* Isometric blocks build the final process graphic from the foundation up. */
.step-build{width:100px;height:90px;margin:35px 0 32px;position:relative;pointer-events:none}
.step-build svg{display:block;width:100%;height:100%;overflow:visible}
.build-foundation{fill:#06162c;stroke:#245181;stroke-width:.9}
.build-block{stroke:#62b2f5;stroke-width:.85;stroke-linejoin:round;opacity:1}
.block-left{fill:#0a2852}
.block-right{fill:#104478}
.block-top{fill:#23639e}
.build-block-9 .block-top,.build-block-10 .block-top{fill:#388ad0;stroke:#b0e5ff}
@media(max-width:700px){.step-build{width:70px;height:70px;grid-row:2/4;margin:0}}

#about-heading{align-self:start}

/* Keep the hero's small labels legible alongside the large wordmark. */
.hero-topline{gap:24px}
.hero-topline .eyebrow{font-size:14px;font-weight:500;letter-spacing:.08em;color:#d5e6f7}
.hero-topline .hero-edition{font-size:12px;letter-spacing:.06em;color:#b6c9df}
@media(max-width:700px){.hero-topline .eyebrow{font-size:12px;letter-spacing:.06em}}
