@font-face{font-family:SUIT;src:url('assets/fonts/SUIT-Variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:SUITE;src:url('assets/fonts/SUITE-Variable.woff2') format('woff2');font-weight:300 900;font-display:swap}
:root{--navy:#002557;--deep:#001a3b;--cyan:#00b5fb;--light:#f4f9ff;--ink:#002557;--muted:#54718e;--brand-blue:#064d9b;--ice:#dff5ff}
body{font-family:SUIT,sans-serif;background:var(--navy);font-weight:450}h1,h2,h3,.service-list strong{font-family:SUITE,SUIT,sans-serif}button,input,select,textarea{font-family:SUIT,sans-serif}.wrap{width:calc(100% - 120px);max-width:1500px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2.1px}
.header{height:92px;padding:0 60px;background:linear-gradient(#001d49b0,#001d4900);border-bottom:1px solid #ffffff2b;gap:40px}.header.is-fixed{height:78px;background:#002557ec;backdrop-filter:blur(18px)}.brand img{width:108px}.brand>span{font-size:13px;font-weight:650;color:white;border-color:#ffffff55}.nav a{font-weight:650;font-size:13px;color:#fff}.contact-link{border:1px solid #ffffff65;background:#ffffff0d;padding:12px 19px;font-weight:650;font-size:12px}.contact-link span{margin-left:20px}.header .contact-link:hover{background:#00b5fb;color:#002557}.header .contact-link:hover span{color:inherit}
.story{height:1100svh;background:#002557}.story-stage{background:#002557;min-height:660px}#survey-background{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.scene-fallback{background:linear-gradient(90deg,#002557c0,transparent),url('assets/photos/survey.webp') center/cover;opacity:1}.scene-shade{background:linear-gradient(90deg,#001e4ee6 0%,#001d48b0 28%,#001f4922 55%,transparent 80%),linear-gradient(0deg,#001d4bd9 0%,transparent 25%,transparent 75%,#00255744 100%)}
.story-heading{top:24%;left:60px;width:48%;max-width:760px}.story-heading>.eyebrow{font-size:11px;letter-spacing:2.2px;margin-bottom:25px;color:#b7edff}.chapter{top:44px}.chapter h1{font-size:clamp(52px,5.7vw,91px);font-weight:850;letter-spacing:-3.4px;line-height:1.12}.chapter h2{font-size:clamp(43px,4.7vw,75px);font-weight:800;letter-spacing:-2.6px;line-height:1.13}.chapter em{color:#45d3ff}.hero-description{font-size:16px;color:#d2e1ee;line-height:1.85;margin-top:29px;font-weight:450}.mission-label{font-size:12px;color:#a3e6ff;letter-spacing:1.3px;margin-bottom:19px}.mission-output{color:#a0cce2;font:10px SUIT,sans-serif;letter-spacing:1.7px;margin-top:25px}.text-link{font-size:14px;font-weight:650;border-color:#ffffff60;padding:12px 0;gap:35px;margin-top:25px}
.scene-caption{top:17%;right:8%;color:#ccecff;background:#00255740;padding:13px 17px;border:1px solid #c6eafa50;backdrop-filter:blur(7px);opacity:.95}.scene-caption strong{font-size:9px;color:#fff}.scene-caption i{display:none}.scene-caption .crosshair{font-size:22px;color:#66e3ff}.story-side{top:32%;right:22px;gap:3px}.story-side button{color:#cfdfed;border-color:#ffffff40;padding:8px 12px;font:10px SUIT}.story-side button.active{color:#63e0ff;border-color:#63e0ff}.story-side button span{font:9px SUIT;top:9px}.story-bottom{left:60px;right:60px;bottom:59px}.story-meter{font-family:SUIT;font-size:10px;letter-spacing:.5px}.story-meter>span:first-child{color:#e4f4ff}.meter-track{background:#ffffff44}.scroll-cue{font-family:SUIT;font-size:10px;font-weight:600}.scroll-cue small,.skip-story{color:#c1d9eb}.scene-note{color:#b5cddd;font-size:9px;right:60px;bottom:20px}
.brand-statement{background:#002557 url('assets/brand/contours.svg') right center/800px auto no-repeat;color:white;padding:66px 0;border-top:1px solid #48cfff4d;position:relative;overflow:hidden}.brand-statement .wrap{display:flex;align-items:center;justify-content:space-between;gap:80px}.brand-statement h2{font-size:clamp(28px,3vw,46px);font-weight:750;letter-spacing:-1.3px;line-height:1.35}.brand-statement h2 em{font-style:normal;color:#6cdeff}.brand-statement p{font-size:14px;line-height:1.9;color:#c5dced;max-width:390px}.brand-statement .statement-mark{font:900 clamp(90px,12vw,190px) SUITE;line-height:.7;color:#ffffff0d;position:absolute;right:4%;bottom:-20px;pointer-events:none}
.section-light{background:#f4f9ff;color:#002557}.section-head{padding-top:106px;margin-bottom:45px}.section-head>.eyebrow{color:#147baa;margin-bottom:24px}.head-row h2{font-size:clamp(38px,4vw,61px);letter-spacing:-2px;font-weight:800;line-height:1.13}.head-row h2 span{color:#0a6baf}.head-row>p{font-size:15px;color:#52718d;line-height:1.85}.services{background:#f4f9ff url('assets/brand/contours.svg') 130% 0/850px auto no-repeat;padding-bottom:104px}.service-layout{display:block}.service-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #c0d6e8;margin-bottom:34px;background:#fff}.service-list button{padding:22px 20px;min-height:76px;gap:15px;border-bottom:1px solid #d5e3f0;border-right:1px solid #d5e3f0;transition:background .2s}.service-list button:nth-child(4n){border-right:0}.service-list button:nth-last-child(-n+4){border-bottom:0}.service-list button>span{font:11px SUIT;color:#2d89bb}.service-list button strong{font-size:19px;letter-spacing:-.3px;font-weight:750}.service-list button i{font-size:23px;margin-left:auto}.service-list button[aria-selected="true"]{padding-left:20px;background:#002557;color:white;border-color:#002557}.service-list button[aria-selected="true"]>span,.service-list button[aria-selected="true"] i{color:#67deff}.service-image{aspect-ratio:2.48;position:relative;border:0;background:#002557}.service-image img{width:100%;height:100%;object-fit:cover}.service-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#002557a0,transparent 60%);pointer-events:none}.image-label{z-index:1;left:35px;bottom:30px;font:700 15px SUIT;letter-spacing:3px}.image-corner{z-index:1;color:#58d9ff}.service-description{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;padding-top:32px;border:0}.service-subtitle{font-size:13px;color:#0874ac;font-weight:750}.service-description h3{font-size:31px;font-weight:800;letter-spacing:-.8px;color:#002557;margin:12px 0}.service-description div>p:last-child:not(.service-subtitle){font-size:14px;color:#53718e;line-height:1.8}.service-deliverable{align-self:center;margin:0;padding:24px 28px;background:#e4f1fc;border:0;border-left:3px solid #00b5fb;display:block}.service-deliverable>span{font-size:11px;color:#28769c;display:block;margin-bottom:10px}.service-description .service-deliverable>p:last-child{font-size:14px;color:#123b68;font-weight:600}.image-note{color:#778fa5;font-size:10px;margin-top:20px}
.workflow{background:linear-gradient(110deg,#002557f7,#003975ec),url('assets/photos/survey.webp') center/cover;color:#fff;padding-bottom:110px}.section-dark .head-row h2 span{color:#65d5ff}.section-dark .head-row>p{color:#c6daea}.section-dark .section-head>.eyebrow{color:#76dfff}.data-viewer{grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}.data-visual{background:#d6eeff0c;border:1px solid #89cbf74a;box-shadow:0 20px 70px #00132b3b}.data-copy>.eyebrow{color:#8edefe}.data-tabs{border-color:#ffffff33}.data-tabs button{font-size:13px;color:#b9d5e7;padding-bottom:18px}.data-tabs button[aria-selected="true"]{color:#72dcff}.data-copy h3{font:750 40px/1.25 SUITE;letter-spacing:-1px}.data-copy #data-copy{font-size:15px;color:#c3d5e5}.data-tags span{color:#a9dbf4;border-color:#67b8e566}.process{gap:0;margin-top:70px;border:1px solid #9acbf14d}.process article{padding:30px;border:0;border-right:1px solid #9acbf14d;background:#ffffff06}.process article:last-child{border-right:0}.process article>span{font:700 30px SUITE;color:#39c7ff}.process h3{font:750 19px SUITE;color:white}.process p{font-size:13px;color:#c4d9e9;line-height:1.8}
.equipment{background:#eaf5ff url('assets/brand/contours.svg') 115% 30%/1000px auto no-repeat;padding-bottom:110px}.equipment-grid{grid-template-columns:1.22fr 1fr 1fr;gap:18px}.equipment-card{position:relative;min-height:520px;border:0;background:#002557;display:flex;flex-direction:column;isolation:isolate;overflow:hidden;box-shadow:0 18px 45px #00255718}.equipment-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#00255752,#00255780 55%,#001b42 92%),url('assets/photos/bridge.webp') center/cover;z-index:-2;transition:transform .8s}.equipment-card:nth-child(2):before{background-image:linear-gradient(180deg,#004b8080,#00255780 55%,#001b42 92%),url('assets/photos/survey.webp')}.equipment-card:nth-child(3):before{background-image:linear-gradient(180deg,#00255730,#00255780 55%,#001b42 92%),url('assets/photos/aerial.webp')}.equipment-card:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 35%,#c2e9ff40,transparent 60%);z-index:-1}.equipment-card:hover:before{transform:scale(1.055)}.equipment-drawing{flex:1;min-height:315px;aspect-ratio:auto;border:0;background:transparent;overflow:visible;display:grid;place-items:center}.equipment-drawing>img{object-fit:contain;width:100%;height:315px;padding:59px 13px 5px;filter:drop-shadow(0 22px 17px #00102790);transform:none}.equipment-card:first-child .equipment-drawing>img{padding-inline:12px}.equipment-card:nth-child(2) .equipment-drawing>img{padding:54px 30px 8px}.equipment-card:hover img{transform:translateY(-7px) scale(1.025)}.equipment-drawing>span{font:650 10px SUIT;letter-spacing:1.5px;color:#b4e9ff;left:27px;top:26px}.equipment-body{padding:26px 27px 32px;color:white}.equipment-body>p{font-size:12px;color:#90ddfb;margin-bottom:14px}.equipment-body h3{font:800 27px/1.2 SUITE;letter-spacing:-.5px;color:white}.equipment-body>span{font-size:12px;line-height:1.7;color:#c3dbee;margin-top:15px}.equipment-note{font-size:10px;color:#63809c;margin-top:24px}
.contact-section{background:#064d9b url('assets/brand/contours.svg') right center/900px auto no-repeat}.contact-section:before{background:none}.contact-inner{padding-block:100px}.contact-inner .eyebrow{color:#7ee3ff}.contact-inner h2{font:800 clamp(38px,4.5vw,68px)/1.14 SUITE;letter-spacing:-2px}.contact-inner p:last-child{font-size:15px;color:#d2e7f7}.contact-circle{border-color:#b9e9ff;background:#ffffff0a;width:170px;height:170px}.contact-circle i{color:#7de5ff}.contact-circle:hover{background:#00b5fb;color:#002557}.contact-circle:hover i{color:#002557}.footer{background:#002557;border-color:#2e6495;padding-top:48px}.footer-top>p{color:#91bddc}.footer-contact{gap:90px}.footer-contact span{color:#69c9ed;font:600 10px SUIT}.footer-contact a,.footer-contact p{color:#d2e5f5;font-size:12px}.footer-bottom{border-color:#39658a;color:#9dbed7}.back-top{color:#afdbf3;font-family:SUIT}
dialog{background:#f5faff;color:#002557;border:1px solid #b6d9f3}dialog h2{font-family:SUITE;font-weight:800}.primary-button{background:#002557}.secondary-button{color:#002557;border-color:#8faec7}.dialog-close{color:#002557}dialog .eyebrow{color:#0f82bd}
@media(min-width:1800px){.story-heading{left:max(60px,calc((100vw - 1500px)/2))}.story-bottom{left:max(60px,calc((100vw - 1500px)/2));right:max(60px,calc((100vw - 1500px)/2))}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header{padding:0 36px;gap:24px}.nav{gap:23px}.brand>span{display:none}.story-heading{left:36px;width:52%}.chapter h1{font-size:64px}.chapter h2{font-size:52px}.hero-description{font-size:14px}.story-bottom{left:36px;right:36px}.scene-caption{right:9%;top:16%}.service-list button{padding:20px 14px;gap:10px}.service-list button strong{font-size:16px}.service-list button[aria-selected="true"]{padding-left:14px}.service-description{gap:35px}.equipment-body{padding:22px}.equipment-body h3{font-size:22px}.equipment-drawing>span{left:22px;font-size:8px}.equipment-grid{gap:14px}.equipment-card{min-height:470px}.equipment-drawing{min-height:280px}.equipment-drawing>img{height:280px}.process article{padding:25px 20px}.process h3{font-size:16px}.brand-statement .wrap{gap:45px}}
@media(max-width:760px){
 .wrap{width:calc(100% - 40px)}.header,.header.is-fixed{height:76px;padding:0 22px;gap:15px}.brand img{width:87px}.header .contact-link{padding:9px 12px;border:1px solid #ffffff55;font-size:10px;margin-left:auto}.header .contact-link span{font-size:16px;margin-left:10px}.menu-toggle{width:29px;padding:4px}.nav{background:#002557f5}.nav a{font-size:15px}.story{height:1050svh}.story-stage{min-height:660px}.story-heading{top:119px;left:24px;width:calc(100% - 48px);max-width:none}.story-heading>.eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:15px}.chapter{top:33px}.chapter h1{font-size:46px;line-height:1.13;font-weight:850;letter-spacing:-1.7px}.chapter h2{font-size:37px;line-height:1.12;font-weight:800;letter-spacing:-1.2px}.mission-label{font-size:10px;margin-bottom:14px}.hero-description{font-size:12px;line-height:1.75;margin-top:18px;max-width:300px}.mission-output{font-size:7px;letter-spacing:1.2px;margin-top:14px}.text-link{font-size:12px;margin-top:10px;padding-block:9px}.scene-shade{background:linear-gradient(180deg,#002557 0%,#002557f5 25%,#00255799 43%,#0025570a 59%,#00255720 76%,#001d4b 100%)}.scene-caption{top:auto;bottom:148px;right:20px;padding:8px 10px;font-size:6px;backdrop-filter:blur(4px)}.scene-caption strong{font-size:7px}.scene-caption .crosshair{font-size:18px}.story-side{top:auto;bottom:111px;left:24px;right:auto;display:flex;gap:4px}.story-side button{font-size:9px;padding:8px 6px;border-right:0;border-bottom:2px solid #ffffff44}.story-bottom{bottom:59px;left:24px;right:24px;gap:12px}.story-meter{font-size:8px;bottom:-29px}.scroll-cue{font-size:8px;gap:10px;letter-spacing:.7px}.scroll-cue small{font-size:9px}.skip-story{font-size:10px;white-space:nowrap}.scene-note{font-size:7px;right:24px;bottom:10px;max-width:90%;text-align:right}.brand-statement{padding:42px 0;background-size:650px}.brand-statement .wrap{display:block}.brand-statement h2{font-size:29px;letter-spacing:-.7px}.brand-statement p{font-size:12px;margin-top:20px;max-width:300px}.brand-statement .statement-mark{font-size:110px;bottom:-7px}.section-head{padding-top:65px;margin-bottom:28px}.section-head>.eyebrow{font-size:9px;margin-bottom:19px}.head-row h2{font-size:37px;letter-spacing:-1.1px}.head-row>p{font-size:12px;margin-top:20px}.services{padding-bottom:66px}.service-list{grid-template-columns:1fr 1fr;margin-bottom:22px}.service-list button{padding:16px 11px;min-height:58px;gap:9px}.service-list button strong{font-size:14px}.service-list button>span{font-size:9px}.service-list button i{font-size:17px}.service-list button:nth-child(odd){border-right:1px solid #d5e3f0}.service-list button:nth-child(even){border-right:0}.service-list button:nth-last-child(-n+4){border-bottom:1px solid #d5e3f0}.service-list button:nth-last-child(-n+2){border-bottom:0}.service-list button[aria-selected="true"]{padding-left:11px}.service-image{aspect-ratio:1.4}.service-image img{object-position:65% center}.image-label{font-size:10px;letter-spacing:1.7px;left:20px;bottom:22px}.service-description{display:block;padding-top:25px}.service-description h3{font-size:25px;line-height:1.3}.service-subtitle{font-size:12px}.service-description div>p:last-child:not(.service-subtitle){font-size:13px}.service-deliverable{margin-top:25px;padding:20px}.service-description .service-deliverable>p:last-child{font-size:12px}.image-note{font-size:9px}.workflow{padding-bottom:66px}.data-viewer{display:grid;grid-template-columns:1fr;gap:28px}.data-copy>.eyebrow{font-size:9px}.data-tabs button{font-size:11px}.data-copy h3{font-size:32px}.data-copy #data-copy{font-size:13px}.data-tags span{font-size:10px}.process{grid-template-columns:1fr 1fr;margin-top:40px}.process article{padding:22px 16px}.process article:nth-child(even){border-right:0}.process article:nth-child(n+3){border-top:1px solid #9acbf14d}.process article>span{font-size:25px}.process h3{font-size:16px}.process p{font-size:11px}.equipment{padding-bottom:66px}.equipment-grid{grid-template-columns:1fr;gap:18px}.equipment-card{display:flex;min-height:470px}.equipment-drawing{min-height:290px;border:0}.equipment-drawing>img{height:290px;padding:53px 17px 0}.equipment-card:nth-child(2) .equipment-drawing>img{padding:50px 30px 3px}.equipment-body{padding:23px 25px 31px}.equipment-body h3{font-size:29px}.equipment-body>p{font-size:12px}.equipment-body>span{font-size:12px}.equipment-drawing>span{font-size:10px;left:25px;top:25px}.equipment-note{font-size:9px;line-height:1.8}.contact-inner{padding-block:66px;display:block}.contact-inner h2{font-size:40px;letter-spacing:-1px}.contact-inner p:last-child{font-size:13px}.contact-circle{width:124px;height:124px;margin-top:30px;gap:9px}.footer-top{padding-bottom:30px}.footer-contact{gap:23px}.footer-contact a,.footer-contact p{font-size:12px}.footer-contact span{font-size:9px}.footer-bottom{font-size:9px}.contact-circle span{font-size:12px}.contact-circle i{font-size:32px}
}
@media(max-height:720px) and (min-width:761px){.story-heading{top:22%}.chapter h1{font-size:64px}.chapter h2{font-size:52px}.hero-description{font-size:13px;margin-top:20px}.scene-caption{top:16%}.story-bottom{bottom:40px}.story-side{top:24%;gap:0}.story-side button{padding-block:7px}}
@media(prefers-reduced-motion:reduce){.story{height:100svh}.story-side,.story-meter{display:none}}

/* Stronger industrial typography and one continuous acquisition story. */
body{font-weight:550}
h1,h2,h3,.service-list strong,.data-copy h3,.equipment-body h3,.contact-inner h2,.process h3{font-family:SUIT,sans-serif;font-weight:900}
.chapter h1,.chapter h2{font-weight:900;letter-spacing:-.055em}
.head-row h2,.brand-statement h2{font-weight:900;letter-spacing:-.045em}
.hero-description{font-weight:650;color:#edf6ff;line-height:1.75}
.nav a,.contact-link,.text-link,.service-list strong{font-weight:800}
.head-row>p,.brand-statement p,.service-description div>p:last-child:not(.service-subtitle),.process p,.data-copy #data-copy,.equipment-body>span{font-weight:600}
.head-row>p,.service-description div>p:last-child:not(.service-subtitle){color:#315371}
.mission-label{font-weight:800;letter-spacing:.7px}.mission-output{font-weight:700;letter-spacing:.15px;font-size:12px;color:#bdeefe;display:block}
.scene-caption strong{font-weight:750}.story{height:825svh}
.scene-fallback{background-image:linear-gradient(90deg,#002557c0,transparent),url('assets/photos/main-reservoir-v2.webp')}
#survey-scene{z-index:1}.story-heading{z-index:3}
.story-side{top:auto;bottom:121px;right:60px;display:flex;gap:8px}
.story-side button{font:750 12px SUIT;padding:10px 16px;border-right:0;border-bottom:2px solid #ffffff44;background:#0025574d}
.story-side button.active{background:#002557b3;border-bottom-color:#70e3ff;color:#b4efff}
.story[data-phase="2"] .story-heading{top:15%;width:43%}
.story[data-phase="2"] .chapter h2{font-size:clamp(43px,4.25vw,68px)}
.story[data-phase="2"] .hero-description{font-size:14px;margin-top:20px}
@media(min-width:761px){.story[data-phase="2"] .hero-description{display:none}}
.story[data-phase="2"] .mission-output{display:none}
.story[data-phase="2"] .scene-caption{top:15%;right:7%}
.story[data-phase="3"] .scene-caption{display:none}
@media(max-width:1100px) and (min-width:761px){.story[data-phase="2"] .chapter h2{font-size:48px}.story[data-phase="2"] .story-heading{top:14%;width:46%}.story-side{right:36px}}
@media(max-width:760px){
 .story{height:787.5svh}.chapter h1,.chapter h2{font-weight:900;letter-spacing:-.045em}
 .hero-description{font-weight:650}.mission-output{font-size:10px;max-width:300px;line-height:1.6}
 .story-side{right:auto;left:24px;bottom:109px;gap:6px}.story-side button{font-size:10px;padding:8px 15px}
 .story[data-phase="2"] .story-heading{top:116px;width:calc(100% - 48px)}
 .story[data-phase="2"] .chapter h2{font-size:37px}.story[data-phase="2"] .hero-description{font-size:12px;margin-top:15px}
 .story[data-phase="2"] .scene-caption{top:auto;bottom:158px;right:16px}
}
@media(max-height:720px) and (min-width:761px){.story[data-phase="2"] .hero-description{display:none}.story[data-phase="2"] .chapter h2{font-size:48px}}
@media(prefers-reduced-motion:reduce){.story{height:100svh}.story-side,.story-meter{display:none}}

/* Portrait composition: dedicated text, flight and touch-control zones. */
.story[data-phase="2"] .story-heading{opacity:var(--rebuild-copy-opacity,1)}
.story-side button,.menu-toggle{touch-action:manipulation}
@media(max-width:760px){
 .story-stage{height:100svh;min-height:0}
 .header,.header.is-fixed{height:64px;padding-inline:20px}
 .menu-toggle{width:44px;height:44px;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:9px}
 .story-heading,.story[data-phase="2"] .story-heading{top:96px;left:20px;width:calc(100% - 40px)}
 .chapter{top:27px}.mission-label{font-size:9px;margin-bottom:9px}
 .chapter h1{font-size:42px}.chapter h2,.story[data-phase="2"] .chapter h2{font-size:35px}
 .hero-description{font-size:12px;margin-top:14px;line-height:1.65}
 .story[data-phase="2"] .hero-description{display:none}
 .scene-caption,.story[data-phase="2"] .scene-caption{display:none}
 .story-side{left:20px;right:20px;bottom:calc(76px + env(safe-area-inset-bottom));gap:6px;justify-content:space-between}
 .story-side button{flex:1;min-height:44px;font-size:12px;padding:10px 8px}
 .story-bottom{left:20px;right:20px;bottom:calc(32px + env(safe-area-inset-bottom));gap:8px}
 .story-meter{display:none}.scroll-cue small{display:none}.scroll-cue{font-size:8px;letter-spacing:.4px}.skip-story{font-size:11px}
 .scene-note{right:20px;bottom:calc(7px + env(safe-area-inset-bottom));font-size:6px;max-width:calc(100% - 40px)}
 .story[data-phase="2"] .scene-shade{background:linear-gradient(180deg,#002557 0%,#002557e6 24%,#00255724 43%,transparent 63%,#00255770 83%,#001d4b 100%)}
 dialog{max-height:calc(100svh - 32px);overflow-y:auto;overscroll-behavior:contain}
 .contact-link{min-height:44px}
}
@media(max-width:760px) and (max-height:700px){
 .story-heading,.story[data-phase="2"] .story-heading{top:86px}
 .chapter h1{font-size:37px}.chapter h2,.story[data-phase="2"] .chapter h2{font-size:32px}
 .hero-description{font-size:11px;margin-top:10px}.mission-output{font-size:9px;margin-top:10px}
 .text-link{font-size:11px;padding-block:7px}
}


/* Contact actions have their own recognizable shape and label. */
.header .contact-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 20px;background:#00b5fb;color:#002557;border:1px solid #00b5fb;border-radius:6px;white-space:nowrap;box-shadow:0 4px 18px #001d4926;transition:background .2s,box-shadow .2s}
.header .contact-link span{margin:0;font:800 13px SUIT;color:inherit}
.contact-icon{display:block;flex-shrink:0;width:23px;height:23px}
.header .contact-link:hover{background:#7de5ff;box-shadow:0 5px 24px #00b5fb38}
.contact-circle{width:auto;height:auto;min-width:290px;min-height:96px;padding:24px 30px;display:flex;flex-direction:row;justify-content:center;gap:18px;border-radius:10px;border:1px solid #00b5fb;background:#00b5fb;color:#002557;text-align:left;box-shadow:0 12px 40px #00255733}
.contact-circle .contact-icon{width:32px;height:32px}.contact-circle span{font:900 21px/1.3 SUIT}.contact-circle small{display:block;margin-top:7px;font:650 12px/1.5 SUIT;color:#064875}.contact-circle:hover{background:#7de5ff;color:#002557}
#contact-dialog{position:fixed;inset:0;margin:auto;width:min(620px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:38px 40px;border-radius:16px;border:1px solid #d5e9f8;box-shadow:0 32px 100px #00000055;overflow-y:auto;overscroll-behavior:contain;transform-origin:center;scrollbar-width:thin}
#contact-dialog h2{font:900 34px/1.2 SUIT;margin-top:12px;letter-spacing:-1px;padding-right:65px}
#contact-dialog .eyebrow{padding-right:75px}
#contact-dialog::backdrop{background:#00132bbd;backdrop-filter:blur(9px);animation:contact-backdrop-in 380ms ease both}
#contact-dialog[data-state="closing"]::backdrop{animation:contact-backdrop-out 240ms ease both}
#contact-dialog .dialog-close{top:20px;right:20px;display:flex;align-items:center;justify-content:center;gap:8px;width:72px;height:44px;border:1px solid #c9deee;border-radius:6px;background:#e8f2fa;font:750 12px SUIT}
#contact-dialog .dialog-close span:last-child{font:400 24px/1 SUIT}.dialog-close:hover{background:#d1e9f9!important}
#contact-dialog .dialog-intro{margin:18px 0 22px;color:#42627a}
#contact-dialog .dialog-contact{margin-top:20px}
#contact-dialog input,#contact-dialog textarea,#contact-dialog select{font-size:16px;border-radius:5px}
#contact-dialog .primary-button,#contact-dialog .secondary-button{min-height:46px;border-radius:5px}
@keyframes contact-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes contact-backdrop-out{from{opacity:1}to{opacity:0}}
@media(max-width:760px){
 .header .contact-link{gap:7px;padding:10px 12px;min-height:44px}.header .contact-link span{font-size:12px}.header .contact-link .contact-icon{width:19px;height:19px}
 .contact-circle{width:100%;min-width:0;min-height:90px;margin-top:30px;padding:20px;gap:16px}.contact-circle span{font-size:20px}.contact-circle small{font-size:11px}
 #contact-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:30px 22px 24px;border-radius:12px}
 #contact-dialog h2{font-size:28px;padding-right:55px}#contact-dialog .dialog-close{top:16px;right:14px;width:66px}
 #contact-dialog .form-row{gap:14px;margin-block:14px}#contact-dialog .dialog-intro{font-size:11px;margin-block:16px}#contact-dialog .dialog-contact{gap:10px 16px}
}
@media(prefers-reduced-motion:reduce){#contact-dialog::backdrop{animation:none}.contact-link,.contact-circle{transition:none}}
#contact-dialog::backdrop{animation-duration:460ms}
#contact-dialog[data-state="closing"]::backdrop{animation-duration:320ms}

/* Read every service and deliverable directly while scrolling. */
.service-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px}
.service-card{overflow:hidden;background:#fff;border:1px solid #d3e3ef;border-radius:10px;box-shadow:0 12px 32px #00255708}
.service-photo{position:relative;aspect-ratio:16/9;overflow:hidden;background:#12354c}.service-photo img{width:100%;height:100%;object-fit:cover}
/* Compose unmodified official product photographs over the clean scene plate. */
.product-composite{position:absolute;inset:0;pointer-events:none}
.photo-aircraft{position:absolute;left:5%;top:15%;width:44%;filter:drop-shadow(0 3px 2px #10213624)}
.service-photo .photo-aircraft .photo-body{display:block;width:100%;height:auto;position:relative}
.service-photo .photo-aircraft .photo-payload{position:absolute;left:45%;top:60%;width:10%;height:auto;object-fit:contain}
.photo-mavic{top:20%;height:37%;overflow:hidden}
.service-photo .photo-mavic img{position:absolute;width:125%;height:auto;max-width:none;left:-12.5%;top:-59%;object-fit:contain}
.photo-acquisition{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#b3f3ff;stroke-width:1.5;opacity:.72}
.photo-acquisition .acquisition-fill{fill:#78dfff09;stroke:none}
.photo-acquisition circle{fill:#d9fcff;stroke:none}
.photo-acquisition .inspection-bracket{stroke-width:3;filter:drop-shadow(0 0 5px #5ed6fa)}
.payload-detail{position:absolute;left:5%;bottom:8%;display:flex;gap:10px;align-items:center;padding:10px 14px 10px 10px;background:#032439e8;border:1px solid #a7e9ff50;border-radius:6px;color:#def8ff;font-size:10px;font-weight:850;letter-spacing:.04em}
.service-photo .payload-detail img{width:32px;height:44px;object-fit:contain}
.payload-detail small{display:block;margin-top:5px;font-size:9px;font-weight:650;letter-spacing:0;color:#b8d9e5}
.product-caption{position:absolute;bottom:12px;right:14px;color:white;text-shadow:0 1px 4px #00162e;font:800 9px SUIT;letter-spacing:.1em}
.service-photo:has(.product-composite) .service-number{left:auto;right:18px}
.composite-bridge .photo-aircraft{filter:brightness(.84) drop-shadow(0 3px 2px #10213624)}
.composite-aerial .photo-aircraft{filter:sepia(.12) brightness(.94) drop-shadow(0 3px 2px #10213624)}
@media(max-width:760px){.payload-detail{padding:7px 9px;gap:7px;bottom:9%;font-size:8px}.service-photo .payload-detail img{width:24px;height:33px}.payload-detail small{font-size:8px}.product-caption{font-size:7px;right:10px;bottom:9px}}
@media(max-width:760px){.story[data-phase="3"] .chapter .text-link{display:none}.story[data-phase="3"] .scene-shade{background:linear-gradient(180deg,#002557 0%,#002557 29%,transparent 40%,transparent 80%,#001d4b 100%)}.service-photo:has(.product-composite) .service-number{right:12px}}
.service-number{position:absolute;top:18px;left:18px;display:grid;place-items:center;min-width:44px;height:38px;padding:8px 12px;background:#002557e8;color:#9be6ff;font:800 13px SUIT;border:1px solid #ffffff30;border-radius:5px}
.service-card-body{padding:30px 32px}.service-category{font:750 11px/1.5 SUIT;color:#147baf;margin-bottom:8px}.service-card h3{font:900 30px/1.25 SUIT;color:#002557;letter-spacing:-1px}.service-role{font-size:15px;line-height:1.8;color:#47667d;margin-top:16px;min-height:54px}.service-result{display:flex;gap:18px;border-top:1px solid #dbe7ef;margin-top:22px;padding-top:18px}.service-result>span{flex-shrink:0;font-size:11px;font-weight:800;color:#1583af;line-height:1.8}.service-result p{font-size:12px;line-height:1.8;color:#385d78}
.catalog-note{font-size:11px;line-height:1.8;color:#648199;margin-top:25px}
.output-catalog{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.output-card{background:#032957;border:1px solid #558cb35e;border-radius:10px;overflow:hidden}.output-card>img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;background:#07182d}.output-card-body{padding:26px}.output-index{font:800 10px/1.5 SUIT;color:#65d7fa;letter-spacing:1px}.output-card h3{font:900 28px/1.3 SUIT;margin-top:12px;letter-spacing:-.8px}.output-summary{font-size:15px;font-weight:800;color:#caf0ff;margin-top:13px}.output-explanation{font-size:13px;line-height:1.9;color:#b6cee2;margin-top:16px;min-height:74px}.output-use{border-top:1px solid #4477a45c;margin-top:23px;padding-top:18px;font-size:11px;color:#c6e3f6;line-height:1.8}.output-use span{color:#65d7fa;margin-right:14px;font-weight:800}.output-note{margin-top:20px;font-size:10px;color:#9abbd2}.process-title{font-size:22px;font-weight:850;margin-top:70px}.workflow .process{margin-top:24px}
@media(max-width:1100px){.service-card-body{padding:24px}.output-catalog{gap:16px}.output-card-body{padding:20px}.output-card h3{font-size:24px}.output-summary{font-size:13px}}
@media(max-width:760px){.service-catalog,.output-catalog{grid-template-columns:1fr;gap:24px}.service-card-body{padding:24px}.service-card h3{font-size:27px}.service-role{font-size:13px;min-height:0;margin-top:13px}.service-result{gap:14px;margin-top:18px;padding-top:16px}.service-result p{font-size:11px}.service-category{font-size:10px}.service-number{top:12px;left:12px}.catalog-note{font-size:10px}.output-card>img{aspect-ratio:16/9}.output-card-body{padding:25px}.output-card h3{font-size:28px}.output-summary{font-size:15px}.output-explanation{min-height:0}.process-title{margin-top:45px;font-size:21px}}
.output-explanation,.service-role{word-break:keep-all;overflow-wrap:break-word}

/* Solid navigation removes the translucent seam over moving photos. */
.header{border:0;box-shadow:none;background:#001b3b;backdrop-filter:none;transition:background-color .25s,height .25s}
.header.is-fixed{background:#002557;backdrop-filter:none;border:0;box-shadow:none}
.header .brand>span{border-color:transparent}
.story[data-phase="1"] .scene-caption{display:none}
.story[data-phase="3"] .story-heading{top:16%}
@media(max-width:760px){.story[data-phase="3"] .story-heading{top:96px}.story[data-phase="3"] .hero-description{display:none}.story[data-phase="1"] .mission-output{display:none}}

/* Clear service-led introduction and a quote action on the first screen. */
.scene-fallback{background-image:linear-gradient(90deg,#002557d9,transparent),url('assets/photos/main-lidar-v5.webp')}
.story-heading{top:20%;width:49%;max-width:820px}
.chapter h1{font-size:clamp(36px,3.8vw,67px);line-height:1.2;letter-spacing:-.045em}
.chapter h1 em{display:inline-block;margin-top:4px}
.chapter h2,.story[data-phase="2"] .chapter h2{font-size:clamp(34px,3.9vw,65px);line-height:1.2;letter-spacing:-.045em}
.hero-description{margin-top:22px;font-size:clamp(13px,1.05vw,17px);font-weight:650}
.hero-consult{margin-top:25px}.hero-consult>p{font:650 13px/1.65 SUIT;color:#d8effa}
.hero-quote{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;margin-top:13px;padding:16px 22px;min-height:50px;border:1px solid #68ddff;background:#00b5fb;color:#002557;font:900 15px/1.4 SUIT;border-radius:5px;box-shadow:0 8px 30px #00152755;transition:background .2s}
.hero-quote:hover{background:#8de8ff}.hero-quote span{font-size:21px}
.story-side button{white-space:nowrap}
.output-catalog{grid-template-columns:repeat(6,minmax(0,1fr))}.output-card{grid-column:span 2}.output-card:nth-child(n+4){grid-column:span 3}.output-card>img{height:240px;aspect-ratio:auto;object-fit:cover}.output-card:nth-child(5)>img{object-fit:contain;background:#dedede}
.output-card-body{padding:25px}.output-explanation{min-height:64px}.output-use{margin-top:20px;padding-top:16px}
.lidar-section{background:#f0f7fc;color:#002557;padding-bottom:76px;scroll-margin-top:80px}.lidar-section .section-head{padding-top:80px;margin-bottom:34px}.lidar-section h2{font-weight:900}.lidar-section .head-row p{max-width:430px}
.lidar-compare{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1500/942;max-height:640px;background:#071b22;border:1px solid #bdd4e6;border-radius:9px;touch-action:pan-y;cursor:ew-resize;user-select:none;contain:paint}
.lidar-compare>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none}
.lidar-compare .compare-before{clip-path:inset(0 calc(100% - var(--split)) 0 0);will-change:clip-path}
.compare-label{position:absolute;top:24px;z-index:2;padding:12px 16px;border:1px solid #a9def955;background:#002557e8;color:white;font:850 14px/1.4 SUIT;pointer-events:none;border-radius:4px}.compare-label small{display:block;color:#ace1f5;font:600 10px/1.5 SUIT;margin-top:3px}.compare-label.before{left:24px}.compare-label.after{right:24px}
.compare-divider{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:#bcefff;transform:translateX(-50%);pointer-events:none;z-index:3;box-shadow:0 0 15px #001d4b77}.compare-divider>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:58px;display:flex;align-items:center;justify-content:space-between;background:none;color:#fff;border:0;font:800 30px SUIT;text-shadow:0 1px 6px #00152b,0 0 2px #00152b}
#lidar-range{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;opacity:0;z-index:4;pointer-events:none}
.lidar-compare:focus-within{outline:3px solid #009fda;outline-offset:5px}
.compare-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.compare-controls>p{font:650 12px/1.6 SUIT;color:#446885}.compare-controls>div{display:flex;gap:8px}.compare-controls button{padding:10px 14px;min-height:42px;background:#fff;border:1px solid #adc9df;color:#002557;border-radius:4px;font:750 12px SUIT}.compare-controls button:hover{background:#d8f1fb;border-color:#008dbd}.compare-note{margin-top:17px;color:#607e93;font:500 10px/1.7 SUIT}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:1100px){.chapter h1{font-size:40px}.chapter h2,.story[data-phase="2"] .chapter h2{font-size:40px}.hero-consult>p{font-size:12px}.hero-quote{font-size:13px;padding:13px 18px}.output-card>img{height:200px}}
@media(max-width:760px){
 .story-heading,.story[data-phase="2"] .story-heading,.story[data-phase="3"] .story-heading{top:99px;left:20px;width:calc(100% - 40px);max-width:none}.chapter{top:28px}
 .chapter h1{font-size:clamp(26px,7.8vw,35px);line-height:1.18}.chapter h2,.story[data-phase="2"] .chapter h2{font-size:clamp(27px,8vw,37px);line-height:1.17}
 .story[data-phase="0"] .hero-description{display:block;font-size:11px;margin-top:13px;line-height:1.6}.hero-consult{margin-top:13px}.hero-consult>p{font-size:11px}.hero-quote{font-size:12px;min-height:44px;padding:10px 15px;margin-top:8px;gap:24px}.hero-quote span{font-size:18px}
 .story[data-phase="1"] .hero-description,.story[data-phase="2"] .hero-description,.story[data-phase="3"] .hero-description{display:block;font-size:11px;line-height:1.7;margin-top:12px;max-width:340px}
 .story-side button{font-size:9px;padding-inline:9px}.story[data-phase="0"] .scene-shade{background:linear-gradient(180deg,#002557 0%,#002557ee 34%,#00255775 50%,transparent 67%,#001d4b 100%)}
 .output-catalog{grid-template-columns:1fr}.output-card,.output-card:nth-child(n+4){grid-column:auto}.output-card>img{height:auto;aspect-ratio:16/10}.output-explanation{min-height:0}
 .lidar-section{padding-bottom:44px}.lidar-section .section-head{padding-top:54px;margin-bottom:23px}.lidar-section .head-row h2{font-size:30px;line-height:1.25}.lidar-compare{aspect-ratio:1.1;border-radius:6px}.compare-label{top:12px;font-size:11px;padding:8px 10px}.compare-label.before{left:10px}.compare-label.after{right:10px}.compare-label small{font-size:8px}.compare-divider>span{width:46px;height:46px;font-size:15px}.compare-divider b{font-size:18px}.compare-controls{display:block;margin-top:15px}.compare-controls>p{font-size:10px}.compare-controls>div{margin-top:12px}.compare-controls button{font-size:10px;flex:1;padding:9px 6px}.compare-note{font-size:9px}
}
@media(max-height:740px) and (min-width:761px){.story-heading{top:18%}.chapter h1{font-size:41px}.hero-description{margin-top:13px}.hero-consult{margin-top:16px}.hero-quote{padding:12px 18px;margin-top:9px}.story[data-phase="2"] .hero-description{display:block;font-size:12px}}
@media(max-height:700px) and (max-width:760px){.story-heading,.story[data-phase="2"] .story-heading,.story[data-phase="3"] .story-heading{top:88px}.chapter h1{font-size:27px}.chapter h2,.story[data-phase="2"] .chapter h2{font-size:29px}.hero-consult>p{font-size:10px}.hero-consult{margin-top:10px}}

/* The four mobile scenes share one visual window below the copy. */
@media(max-width:760px){
 .story .scene-shade,.story[data-phase] .scene-shade{background:linear-gradient(180deg,#002557 0%,#00255700 43%,transparent 80%,#002557 92%)}
 .story-heading,.story[data-phase] .story-heading{opacity:1}
 .story-side button{font-size:10px}
}
@media(max-height:700px) and (max-width:760px){
 .chapter h1{font-size:25px}.chapter h2,.story[data-phase="2"] .chapter h2{font-size:27px}
 .story-heading,.story[data-phase] .story-heading{top:88px}
 .story[data-phase="0"] .hero-description{margin-top:9px}.hero-consult{margin-top:8px}
}
@media(max-height:500px) and (min-width:761px){
 .header,.header.is-fixed{height:64px}.story-stage{height:100svh;min-height:0}
 .story-heading,.story[data-phase] .story-heading{top:82px;width:44%}.chapter{top:27px}
 .chapter h1{font-size:28px}.chapter h2,.story[data-phase="2"] .chapter h2{font-size:29px}
 .hero-description{font-size:11px;margin-top:9px}.hero-consult{margin-top:8px}.hero-consult>p{font-size:10px}.hero-quote{padding:8px 12px;min-height:40px;font-size:11px}
 .story-side{bottom:42px;right:24px;gap:3px}.story-side button{font-size:9px;padding:8px}.story-bottom{bottom:8px;left:24px;right:24px}.scene-note{display:none}.story-meter{display:none}
}
@media(max-width:760px){.compare-divider>span{width:60px;height:52px;font-size:30px}}

/* A photograph is visible before the 3D code or full plate has arrived. */
.scene-fallback{background:#002557 var(--preview) center/cover no-repeat;opacity:1;transition:opacity .25s}
.scene-fallback>img{width:100%;height:100%;object-fit:cover;object-position:68% 50%}
.scene-ready .scene-fallback{opacity:0}
@media(max-width:760px){.scene-fallback{top:min(max(310px,38svh),calc(100svh - 250px));bottom:118px;height:auto}.scene-fallback:after{content:'';position:absolute;inset:0;background:linear-gradient(#002557,transparent 45px,transparent calc(100% - 45px),#002557)}}

:root{--fixed-header-height:78px}
#survey-annotations{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
@media(max-width:760px){:root{--fixed-header-height:64px}}
.header,.header.is-fixed{position:fixed;top:0;height:var(--fixed-header-height);transition:background-color .25s}
@media(max-width:760px){.nav{top:var(--fixed-header-height)}}
@media(max-height:500px) and (min-width:761px){:root{--fixed-header-height:64px}}
.output-visual{height:240px;overflow:hidden;background:#07182d}
.output-visual>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .65s cubic-bezier(.22,1,.36,1)}
.output-card:nth-child(n+4) .output-visual{height:auto;aspect-ratio:16/9}
.output-visual--model{background:#dedede}
.output-visual--model>img{object-fit:contain;background:#dedede}
@media(max-width:1100px){.output-visual{height:200px}}
@media(max-width:760px){.output-visual{height:auto;aspect-ratio:16/10}}
@media(hover:hover) and (pointer:fine){.output-card:hover .output-visual>img{transform:scale(1.055)}}
@media(prefers-reduced-motion:reduce){.service-visual>img,.output-visual>img{transition:none!important;transform:none!important}}

@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 body:not(.scene-unavailable) .story{height:var(--mobile-story-span,787.5svh)}
}

/* Keep the comparison, instructions and controls on one shared width. */
.lidar-section>.wrap{max-width:1200px}
.lidar-compare{width:100%;max-height:none}
.compare-controls{flex-wrap:wrap}
@media(max-width:760px){
 .output-card:nth-child(n+4) .output-visual{aspect-ratio:16/10}
 .compare-controls>div{width:100%}
}
