/* A steady frame for the moving world. */
.site-header{z-index:100}
/* Preserve the original open header: the scene remains its background. */
.site-header .desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto;margin-right:30px;width:auto}
.site-header .nav-trigger,.site-header .nav-direct{display:flex;align-items:center;gap:8px;padding:10px 0;border:0;border-radius:0;background:none;color:#dfebf0;font:500 12px var(--ui);text-shadow:0 1px 12px #04111dcc;letter-spacing:-.01em;white-space:nowrap;position:relative}
/* Own every control state: embedded product CSS may include generic button hover/focus rules. */
.site-header .nav-trigger:is(:hover,:focus,:active,[aria-expanded=true]),.site-header .nav-direct:is(:hover,:focus,:active){background:none;color:#fff;border:0;box-shadow:none;text-decoration:none}
.site-header .nav-trigger:focus-visible,.site-header .nav-direct:focus-visible{outline:2px solid #a8d4e7;outline-offset:6px}
.site-header .header-contact:is(:hover,:focus-visible,:active),.site-header .nav-panel-foot a:is(:hover,:focus-visible,:active){color:#f1f8fc}
.nav-trigger:after{content:'';position:absolute;left:0;right:13px;bottom:0;height:1px;background:#c5e5f1;transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav-trigger:hover:after,.nav-trigger[aria-expanded=true]:after{transform:scaleX(1)}
.nav-trigger i{width:5px;height:5px;border:solid #a7c5d6;border-width:0 1px 1px 0;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.nav-trigger[aria-expanded=true] i{transform:rotate(225deg) translate(-1px,-1px)}
.site-header .menu-toggle{display:none}
.nav-panel{position:absolute;right:0;top:calc(100% + 10px);width:min(700px,calc(100vw - var(--side) - var(--side)));border:1px solid #c8e0eb42;border-radius:17px;background:linear-gradient(130deg,#8bbbd61a,#14354a00 60%),#0e2536ad;backdrop-filter:blur(22px) saturate(.9);-webkit-backdrop-filter:blur(22px) saturate(.9);box-shadow:inset 0 1px 0 #f0faff12,0 18px 48px #020b1730;overflow:visible;color:#ecf4f8;animation:nav-arrive .18s ease-out both}
.nav-panel[hidden],.mobile-nav[hidden],.nav-scrim[hidden]{display:none!important}
.nav-panel:before{content:'';position:absolute;top:-14px;height:14px;left:0;right:0}
.nav-panel-body{padding:19px 20px 14px}
.nav-intro{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 8px 13px;margin-bottom:12px;border-bottom:1px solid #cae1eb22}
.nav-eyebrow{font:400 8px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#9fc9dc}
.nav-intro h2{font:400 17px/1.25 var(--ui);letter-spacing:-.025em;margin:0;color:#e7f2f7;text-align:right}
/* Keep the navigation focused on destinations; editorial copy stays in the page. */
.nav-intro>p{display:none}
.nav-link-groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;min-width:0}
.nav-group-label{font:400 8px/1.45 var(--mono);letter-spacing:.035em;text-transform:uppercase;color:#a4c8d9;padding:1px 8px 9px;margin:0 0 3px;border-bottom:1px solid #c7e0ec1a;min-height:33px}
.nav-destination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 8px;border-radius:8px;text-align:left;text-decoration:none;color:#e6f0f5;transition:background .18s,color .18s}
.nav-destination:hover,.nav-destination:focus-visible{background:#d3edf218;color:#fff}
.nav-destination strong{display:block;font:400 14px/1.45 var(--ui);letter-spacing:-.01em;color:inherit}
.nav-destination small{display:block;font:400 10.5px/1.4 var(--ui);color:#b5cdda;margin-top:3px;max-width:260px}
.nav-link-arrow{font:400 16px var(--ui);color:#88b3c9;flex-shrink:0;transition:transform .18s,color .18s}
.nav-destination:hover .nav-link-arrow{transform:translateX(2px);color:#d7edf6}
.nav-panel-foot{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #c9dfeb22;padding:12px 28px}
.nav-panel-foot a{display:flex;align-items:center;gap:28px;font:400 11px var(--ui);color:#d4e6ef}
.nav-panel-foot>span{font:400 8px var(--mono);color:#8aacbf;white-space:nowrap}.nav-panel-foot i{font-style:normal;padding:0 8px;color:#789eb4}
#nav-expertise,#nav-industries{width:min(620px,calc(100vw - var(--side) - var(--side)))}#nav-company{width:min(560px,calc(100vw - var(--side) - var(--side)))}
#nav-industries .nav-link-groups{grid-template-columns:1fr}#nav-industries .nav-group{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}#nav-industries .nav-group-label{grid-column:1/-1;min-height:0}#nav-industries .nav-destination{align-items:flex-start}
#nav-solutions .nav-destination strong{font-size:16px;letter-spacing:-.025em}
#nav-work .nav-destination{padding-block:9px}#nav-work .nav-destination strong{font-size:13px}
.nav-scrim{position:fixed;inset:0;z-index:99;background:#00101d12;animation:nav-scrim .18s both}
@keyframes nav-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes nav-scrim{from{opacity:0}to{opacity:1}}

/* The chapter dock never participates in the panel interpolation. */
.landscape-story .chapter-rail{position:absolute;left:50%;right:auto;top:auto;bottom:18px;width:min(630px,calc(100% - 540px));height:44px;transform:translateX(-50%);display:flex;flex-direction:row;gap:2px;padding:4px;border:1px solid #d0e6ee45;border-radius:13px;background:linear-gradient(110deg,#b8dcea0e,#c2e3f006),#102a3bcc;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:inset 0 1px 0 #eefaff0c,0 8px 28px #03101b20}
.landscape-story .chapter-rail button{width:auto;min-width:0;height:34px;min-height:34px;flex:1;padding:0 9px;border:0;border-radius:8px;text-align:center;display:grid;place-items:center;background:transparent;transition:background .18s}
.landscape-story .chapter-rail button>span{display:flex;align-items:center;gap:7px;white-space:nowrap;font:400 8px var(--mono);color:#89adbf}
.landscape-story .chapter-rail button>span>small{display:inline;padding:0;font:400 10px var(--ui);color:#a9c3d2}
.landscape-story .chapter-rail button.is-active{background:#d4edf01c;box-shadow:inset 0 1px 0 #f0faff12}
.landscape-story .chapter-rail button.is-active>span,.landscape-story .chapter-rail button.is-active>span>small{color:#f0f7fb}
.landscape-story .chapter-rail button:hover{background:#d4edf00e}.landscape-story .chapter-rail i{display:none}
.landscape-story .scene-bottom{left:auto;right:32px;bottom:22px;width:220px;display:flex;justify-content:flex-end;align-items:center;gap:0}
.landscape-story .scene-bottom .scroll-cue{display:none}.landscape-story .scene-tools{display:flex;align-items:center;gap:20px;white-space:nowrap}
.landscape-story .scene-readout{top:auto!important;bottom:88px}

@media(max-width:1200px) and (min-width:1025px){
 .site-header .desktop-nav{gap:20px;margin-right:24px}.site-header .nav-trigger,.site-header .nav-direct{font-size:11px}
 .landscape-story .chapter-rail{width:min(590px,calc(100% - 440px))}
 .landscape-story .chapter-rail button{padding-inline:5px}.landscape-story .chapter-rail button>span{gap:5px}.landscape-story .chapter-rail button>span>small{font-size:9px}
 .landscape-story .scene-bottom{right:28px;width:190px}.landscape-story .scene-tools{gap:14px}
}
@media(max-width:1024px){
 .site-header .desktop-nav,.site-header .header-contact{display:none}
 .site-header .menu-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin-left:auto;width:40px;height:40px;padding:8px;border:1px solid #d4e8ee5c;border-radius:50%;background:#d7eef21a;backdrop-filter:blur(14px)}
 .site-header .menu-toggle:is(:hover,:focus,:active,[aria-expanded=true]){background:#d7eef226;color:#e6f0f5;border-color:#d4e8ee80;box-shadow:none}
 .site-header .menu-toggle:focus-visible{outline:2px solid #a8d4e7;outline-offset:4px}
 .site-header .menu-toggle i{display:block;width:17px;height:1px;margin:0;background:#d7eaf2;transition:transform .2s}
 .site-header.has-mobile-menu .menu-toggle i:first-child{transform:translateY(3.5px) rotate(45deg)}.site-header.has-mobile-menu .menu-toggle i:last-child{transform:translateY(-3.5px) rotate(-45deg)}
 .mobile-nav.mobile-nav{position:fixed;inset:84px 20px auto;z-index:101;max-height:calc(100dvh - 104px);overflow:auto;scrollbar-width:thin;scrollbar-color:#8bb7cd66 transparent;padding:18px;border:1px solid #cee4ef42;border-radius:17px;background:linear-gradient(130deg,#8bbbd612,#14354a00 60%),#102738b8;backdrop-filter:blur(22px) saturate(.9);-webkit-backdrop-filter:blur(22px) saturate(.9);box-shadow:0 18px 48px #020b1730;display:block;color:#e6f0f6;animation:nav-arrive .18s ease-out both}
 .mobile-nav .nav-eyebrow{display:block;padding:0 0 13px}
 .mobile-disclosure{border-top:1px solid #cce1ed26}.mobile-disclosure>summary{display:flex;align-items:center;justify-content:space-between;padding:16px 0;font:400 18px var(--ui);letter-spacing:-.025em;color:#e6f0f5}
 .mobile-disclosure>summary>i{width:7px;height:7px;border:solid #a3c5d6;border-width:0 1px 1px 0;transform:rotate(45deg);margin-right:4px}.mobile-disclosure[open]>summary>i{transform:rotate(225deg)}
 .mobile-disclosure-body{padding-bottom:18px}.mobile-nav .nav-group+.nav-group{margin-top:15px}.mobile-nav .nav-group-label{font-size:7px;padding:8px 8px 10px;min-height:0;margin-bottom:4px}
 .mobile-nav .nav-destination{display:flex;align-items:center;justify-content:space-between;padding:11px 8px;border:0;border-radius:10px}.mobile-nav .nav-destination strong{font-size:14px}.mobile-nav .nav-destination small{font-size:10px;max-width:230px}
 .mobile-nav .mobile-overview{display:block;font:400 10px var(--ui);color:#b2d3e4;padding:15px 8px 0}
 .mobile-nav .mobile-direct{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #cce1ed26;padding:19px 0;font:400 20px var(--ui);letter-spacing:-.025em}
 .mobile-nav .mobile-contact{display:flex;align-items:center;justify-content:space-between;margin-top:15px;padding:15px;border:1px solid #cce1ed40;border-radius:11px;background:#d0e9f012;font:400 13px var(--ui)}
 .mobile-nav :is(.mobile-overview,.mobile-direct,.mobile-contact):is(:hover,:focus-visible,:active){color:#f1f8fc}
 html.nav-mobile-open{overflow:hidden;scrollbar-gutter:stable}
 .landscape-story .chapter-rail{width:min(570px,calc(100% - 60px))}
 .landscape-story .scene-bottom{right:30px}
}
@media(min-width:761px) and (max-width:1100px){
 .landscape-story .chapter-rail{width:330px}.landscape-story .chapter-rail button>span>small{display:none}
 .landscape-story .scene-bottom{right:28px;width:190px}.landscape-story .scene-tools{gap:14px}
}
@media(max-width:760px){
 .landscape-story .chapter-rail{left:30px;right:30px;bottom:46px;width:auto;transform:none}
 .landscape-story .chapter-rail button>span{font-size:9px}.landscape-story .chapter-rail button>span>small{display:none}
 .landscape-story .scene-bottom{left:30px;right:30px;bottom:17px;width:auto;justify-content:space-between}.landscape-story .scene-tools{width:100%;justify-content:space-between}
}
@media(prefers-reduced-motion:reduce){.nav-panel,.mobile-nav.mobile-nav,.nav-scrim{animation:none}.nav-trigger i,.nav-link-arrow{transition:none}}
@media(prefers-reduced-transparency:reduce){.nav-panel,.mobile-nav.mobile-nav,.landscape-story .chapter-rail{backdrop-filter:none;-webkit-backdrop-filter:none;background:#112c3f}}

/* Frost lives on its own rounded surface, behind controls and dropdowns.
   Filtering the header itself creates a backdrop root for all descendants. */
:root .site-header.site-header{isolation:isolate;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
:root .site-header.site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(115deg,#c8e5ef12,#b8d9e708 58%,#8db9cf0b),#102c3bc9;backdrop-filter:blur(18px) saturate(.88);-webkit-backdrop-filter:blur(18px) saturate(.88);box-shadow:inset 0 1px 0 #e4f5fa1a,0 5px 24px #020e1812}
/* A single silhouette for every homepage camera view, including transitions. */
:root body.atlas-home .site-header.site-header{left:28px!important;right:28px!important;top:22px!important;height:68px!important;width:auto!important;padding:10px 22px!important;box-sizing:border-box;border:1px solid #c8e2ec38!important;border-radius:22px!important}
:root .site-header.site-header .header-contact,:root .site-header.site-header .menu-toggle{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:760px){:root body.atlas-home .site-header.site-header{left:20px!important;right:20px!important;top:20px!important;height:62px!important;padding:9px 13px!important;gap:12px;border-radius:18px!important}:root .site-header.site-header::before{backdrop-filter:blur(14px) saturate(.88);-webkit-backdrop-filter:blur(14px) saturate(.88)}}
@media(prefers-reduced-transparency:reduce){:root .site-header.site-header::before{background:#102c3b;backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root .site-header.site-header::before{background-color:#102c3bf2}}
