/* Step one: light-blue banner, clear navigation and a continuous film. */
:root{--radius:6px}
body :is(.site-header nav,.nav-contact,.nav-contact span,.button,.text-link,.menu-toggle,.hero-motion-toggle,.motion-control,.risk-motion-toggle,.feature-card,.platform-statement,.vision-card,.temperature-card,.section-body,.contact-details,.system-map,.map-node,.map-core,.experience-emblem,.capabilities>a,.capabilities .ui-icon,.capabilities b,.feature-card>.ui-icon,.air-graphic>span,.section-body li,.risk-highlight){border-radius:6px!important}
.site-header{position:absolute;inset:0 0 auto;z-index:50;width:100%;background:transparent;border-bottom:1px solid transparent;padding:24px var(--chapter-gutter);transition:background .25s ease,padding .25s ease,box-shadow .25s ease}
.site-header .brand img{width:124px;height:92px;transition:width .25s ease,height .25s ease}
.site-header nav{background:none;border:0;padding:0;gap:24px;font-size:16px;line-height:1.4;align-items:center}
.site-header nav>a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 0}
.site-header .nav-contact{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:16px 22px;font-size:17px;line-height:1.4;min-height:58px}
.button-arrow{display:block;width:23px;height:23px;flex:0 0 23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;align-self:center}
.site-header .language{font-size:15px;line-height:1.4;color:#244c48}
.site-header.is-scrolled{position:fixed;background:#fffffff5;backdrop-filter:blur(14px);border-bottom-color:#d9e4dd;padding-top:10px;padding-bottom:10px;box-shadow:0 5px 24px #193d2d0c}
.site-header.is-scrolled .brand img{width:96px;height:72px}
.hero{position:relative;isolation:isolate;display:block;min-height:920px;min-height:max(920px,100svh);padding:200px var(--chapter-gutter) 80px;background:linear-gradient(115deg,#b4dfe0 0%,#c0e1db 39%,#8dccd5 76%,#76c2cf 100%);overflow:hidden}
.hero:after{display:block;content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#b4dfe0 0%,#b9dfdff5 29%,#b9dfdfc9 43%,#b9dfdf22 69%,transparent 85%);pointer-events:none}
.hero-copy{position:relative;max-width:660px;grid-column:auto;grid-row:auto;padding:0}
.hero h1{font-size:clamp(43px,3.85vw,60px);line-height:1.16;margin:24px 0 34px;color:#173b37}
.hero .eyebrow{font-size:14px;color:#345c54;letter-spacing:.13em}
.hero-intro{font-size:23px;line-height:1.5;max-width:560px;color:#284b43}
.hero-description{font-size:20px;line-height:1.6;max-width:540px;color:#355b52}
.hero-note{font-size:14px;line-height:1.6;max-width:540px;color:#3c6258;gap:12px}.note-line{flex:0 0 24px}
.hero-actions{gap:24px;align-items:center}.hero-actions .button{font-size:16px;line-height:1.4;min-height:56px;padding:16px 20px;gap:22px;align-items:center}.hero .text-link{font-size:16px;line-height:1.4;min-height:48px;align-items:center;gap:12px}
.hero-motion-toggle{font-size:14px;line-height:1.4;min-height:44px;margin-top:16px;padding:10px 14px;border:1px solid #568b7f66;background:#d4eae244;color:#31594d}
.hero-scene{position:absolute;inset:0 0 0 33%;z-index:-2;width:67%;height:100%;aspect-ratio:auto;border-radius:0;clip-path:none;background:transparent;grid-column:auto;grid-row:auto;isolation:auto}
.hero-scene :is(img,video),.hero.has-motion .hero-scene :is(img,video){inset:0;width:100%;height:100%;object-fit:cover;object-position:60% center;mask-image:none;transform:none;border-radius:0;mix-blend-mode:normal}
.hero-scene #hero-motion,.hero.has-motion .hero-scene #hero-motion{transform:none}
.section-heading .eyebrow,.eyebrow,.map-label .eyebrow{font-size:14px!important;line-height:1.5;letter-spacing:.1em!important}
.section-number{font-size:14px!important;min-width:24px}
.capabilities .capability-number{font-size:14px}.capabilities .capability-title{font-size:20px}
.platform-statement h3{font-size:14px}.vision-footnote{font-size:14px}.motion-control,.risk-motion-toggle{font-size:14px;min-height:44px}.site-footer{font-size:14px}.footer-wordmark span{font-size:13px;line-height:1.4}
.contact .button{font-size:16px;line-height:1.4;min-height:56px;align-items:center}.contact-details h3{font-size:16px}.contact-email{font-size:18px}
.map-node{font-size:14px}.map-core strong{font-size:14px}
html{scroll-padding-top:116px}section[id]{scroll-margin-top:18px}
html:not(.js) .site-header{position:relative;background:#b4dfe0}html:not(.js) .hero{padding-top:60px}html:not(.js) .site-header nav{position:static;max-height:none}
@media(max-width:1250px) and (min-width:1101px){.site-header nav{gap:17px;font-size:15px}.site-header .nav-contact{font-size:16px;padding:14px 18px;gap:14px}.site-header .brand img{width:110px;height:82px}}
@media(max-width:1100px){.site-header nav{position:absolute;top:100%;left:var(--chapter-gutter);right:var(--chapter-gutter);padding:18px;background:#fffffff7;border:1px solid #cbded4;align-items:stretch;gap:4px;max-height:calc(100dvh - 120px);overflow:auto}.site-header nav>a{justify-content:flex-start;min-height:50px;padding:14px 18px;font-size:18px}.site-header nav .nav-contact{justify-content:space-between;font-size:18px}.site-header .language{padding:14px 18px;font-size:16px}.menu-toggle{font-size:17px;line-height:1.4;min-height:48px;align-items:center;background:#e6f3ef7a}.hero{padding-top:180px;min-height:920px}.hero-copy{max-width:600px}.hero h1{font-size:46px}.hero-scene{left:25%;width:75%}.map-node{font-size:13px}.capabilities .capability-title{font-size:18px}}
@media(max-width:800px){.site-header{padding:18px var(--chapter-gutter)}.site-header .brand img{width:104px;height:78px}.site-header.is-scrolled .brand img{width:86px;height:64px}.hero{padding-top:156px;padding-bottom:360px;min-height:1100px}.hero-copy{max-width:620px}.hero h1{font-size:clamp(35px,6.3vw,48px)}.hero-intro{font-size:21px}.hero-description{font-size:19px}.hero-scene{inset:auto 0 0 0;width:100%;height:520px;aspect-ratio:auto}.hero-scene :is(img,video),.hero.has-motion .hero-scene :is(img,video){object-position:62% center}.hero:after{background:linear-gradient(180deg,#b4dfe0 0%,#b9dfdf 48%,#b9dfdfcc 62%,transparent 83%)}.hero-note{font-size:14px}.hero-motion-toggle{font-size:14px}.hero-actions .button{font-size:16px}.hero .text-link{font-size:16px}.map-label .eyebrow{font-size:12px!important}.map-node{font-size:13px}.capabilities .capability-number{font-size:13px}}
@media(max-width:480px){.hero{padding-top:142px;padding-bottom:310px;min-height:0}.hero h1{font-size:clamp(31px,8.2vw,39px);letter-spacing:-.05em;margin-top:20px}.hero-intro{font-size:19px}.hero-description{font-size:18px}.hero-actions{gap:14px}.hero-actions .button{font-size:15px;padding:14px 16px;gap:16px}.hero .text-link{font-size:15px}.hero-note{font-size:13px;align-items:flex-start}.note-line{margin-top:10px}.hero-scene{height:410px}.hero .eyebrow{font-size:13px!important}.section-heading .eyebrow{font-size:13px!important}.capabilities .capability-title{font-size:17px}.map-scene{height:370px}.map-node{font-size:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;min-height:86px}.map-node>.ui-icon{width:22px;height:22px}.map-core{width:76px;height:76px}.map-core strong{font-size:13px}.map-label{padding:18px}.contact-email{font-size:16px}.site-footer{font-size:13px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .brand img{transition:none}}
@media print{.site-header,.site-header.is-scrolled{position:static;background:white}.hero{min-height:0;padding:20px;background:white}.hero:after,.hero-scene{display:none}}
/* Keep the whole opening globe in the corner and the navigation over clear blue. */
@media(min-width:801px){.hero-scene{inset:auto 0 0 auto;width:80%;height:auto;aspect-ratio:16/9;mask-image:linear-gradient(to right,transparent 0%,#000 25%),linear-gradient(to bottom,transparent 0%,#000 22%);mask-composite:intersect}.hero-scene :is(img,video),.hero.has-motion .hero-scene :is(img,video){object-fit:cover;object-position:center}}
@media(max-width:800px){.hero-scene{height:auto;aspect-ratio:16/9;mask-image:linear-gradient(to bottom,transparent 0%,#000 25%)}.hero{padding-bottom:calc(56.25vw + 60px)}.hero:after{background:linear-gradient(180deg,#b4dfe0 0%,#b9dfdf 48%,#b9dfdf55 72%,transparent 85%)}}
/* Secondary labels remain legible instead of shrinking on phones. */
@media(max-width:1100px){.map-node{font-size:14px}}
@media(max-width:800px){.map-label .eyebrow{font-size:14px!important}.capabilities .capability-number{font-size:14px}}
@media(max-width:480px){.hero-note{font-size:14px}.hero .eyebrow,.section-heading .eyebrow{font-size:14px!important}.map-label .eyebrow{font-size:14px!important;max-width:220px}.map-node{font-size:14px;min-height:98px}.map-core strong{font-size:14px}.site-footer,.footer-wordmark span{font-size:14px}}
