:root{color-scheme:dark;--bg:#090b0a;--surface:#101310;--text:#f1f3ef;--muted:#9bA39d;--line:#2a302c;--accent:#b1d3a9;--green:#456c43;--space:clamp(24px,4.5vw,88px);font-family:Arial,Helvetica,sans-serif;font-size:16px;scroll-behavior:smooth;scroll-padding-top:110px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}body.civil{color-scheme:light;--bg:#f3f5f2;--surface:#e9ede7;--text:#19231c;--muted:#5f6b62;--line:#cdd5cb;--accent:#456c43}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img{max-width:100%;display:block}::selection{background:#486446;color:#fff}.skip{position:fixed;top:-100px;padding:15px;background:var(--text);color:var(--bg);z-index:50}.skip:focus{top:10px}header{height:116px;padding:0 var(--space);display:flex;align-items:center;justify-content:space-between;gap:24px;position:relative;z-index:10;border-bottom:1px solid var(--line)}.brand{display:block;width:150px;flex-shrink:0}.brand img{width:100%;height:auto;filter:invert(1)}.civil .brand img{filter:none}.worlds{display:flex;border:1px solid var(--line);padding:5px;border-radius:40px;gap:2px;margin-left:5vw}.worlds a{font-size:14px;padding:10px 21px;border-radius:30px;color:var(--muted);transition:background .25s,color .25s}.worlds a[aria-current]{background:var(--text);color:var(--bg)}.worlds a:hover:not([aria-current]){color:var(--text)}.navigation{display:flex;gap:30px;font-size:14px;align-items:center}.navigation a{padding:10px 0;color:var(--muted)}.navigation a:hover{color:var(--text)}.navigation a:last-child{color:var(--text)}.navigation span{margin-left:9px}.menu-toggle{display:none}#mobile-menu{position:absolute;top:100%;left:0;right:0;padding:24px var(--space);background:var(--bg);border-bottom:1px solid var(--line)}#mobile-menu a{display:block;padding:16px 0}.hero{position:relative;min-height:760px;min-height:min(850px,calc(100svh - 116px));padding:28px var(--space) 0;display:flex;flex-direction:column;isolation:isolate;overflow:hidden}.hero-art{position:absolute;z-index:-2;right:-2%;top:-6%;width:83%;height:105%;pointer-events:none;transition:transform 1s ease-out}.hero-art img{width:100%;height:100%;object-fit:contain;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 92%,transparent);opacity:.88}.hero:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,var(--bg),transparent 70%),linear-gradient(0deg,var(--bg),transparent 38%)}.hero-overline,.hero-foot,.section-label{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero-overline span:first-child{color:var(--accent)}.hero-content{padding:clamp(155px,19vh,210px) 0 56px;position:relative;flex:1;display:flex;flex-direction:column;justify-content:flex-end}h1,h2,h3,h4,p{margin:0}h1{font-size:clamp(66px,7.8vw,128px);line-height:.99;font-weight:400;letter-spacing:-.064em;max-width:1100px}h1 span{color:var(--accent)}.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:32px;gap:32px}.hero-bottom>p{font-size:clamp(16px,1.35vw,20px);line-height:1.55;max-width:450px;color:#b6beb7}.hero-link{padding:15px 0;display:flex;align-items:center;gap:65px;border-bottom:1px solid #68716a;font-size:14px;white-space:nowrap}.hero-link span{font-size:26px;font-weight:300;transition:transform .3s}.hero-link:hover span{transform:translateY(5px)}.hero-foot{border-top:1px solid var(--line);padding:22px 0;font-size:12px;letter-spacing:.02em;text-transform:none}.civil .hero-art{mix-blend-mode:multiply;opacity:.35}.civil .hero-art img{filter:grayscale(.25);opacity:.8;mask-image:linear-gradient(90deg,transparent,#000 45%,transparent)}.civil .hero:after{background:linear-gradient(90deg,var(--bg),transparent),linear-gradient(0deg,var(--bg),transparent 70%)}.civil .hero-bottom>p{color:var(--muted)}.civil .hero h1{position:relative;z-index:2}.section{padding:92px var(--space) 112px;border-top:1px solid var(--line)}.section-label{margin-bottom:70px}h2{font-weight:400;font-size:clamp(36px,4.2vw,68px);line-height:1.08;letter-spacing:-.045em}h2>span{color:var(--muted)}.thesis-grid{display:grid;grid-template-columns:1fr 2fr;gap:48px}.small-title{font-size:19px;line-height:1.45}.body-copy{font-size:18px;color:var(--muted);line-height:1.7;max-width:570px;margin-top:35px}.text-link{font-size:14px;border-bottom:1px solid var(--line);display:inline-flex;gap:50px;padding:15px 0;margin-top:22px}.text-link:hover{border-color:var(--accent)}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:50px}.section-heading>p{font-size:16px;line-height:1.6;color:var(--muted)}.capabilities{background:var(--surface)}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;display:grid;grid-template-columns:50px 1.05fr 1fr 28px;gap:24px;align-items:center;padding:34px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.number{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}summary h3{font-size:clamp(24px,2.4vw,38px);font-weight:400;letter-spacing:-.035em}summary:hover h3{color:var(--accent)}.service-short{color:var(--muted);font-size:15px;line-height:1.5;max-width:300px}.plus{width:20px;height:20px;position:relative}.plus:before,.plus:after{content:"";position:absolute;background:var(--text);top:9px;left:2px;width:16px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .25s}details[open] .plus:after{transform:rotate(0)}.service-body{padding:0 52px 36px 74px;display:grid;grid-template-columns:1.05fr 1fr;gap:24px}.service-body p{max-width:520px;font-size:16px;line-height:1.7;color:var(--muted)}.tags{font-size:13px;line-height:1.8;color:var(--accent);align-self:end}.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:60px;border-top:1px solid var(--line)}.process article{padding:28px 28px 0 0}.process article+article{padding-left:28px;border-left:1px solid var(--line)}.process article>span{font-size:13px;color:var(--accent)}.process h3{font-size:25px;letter-spacing:-.025em;font-weight:400;margin:36px 0 16px}.process p{color:var(--muted);font-size:16px;line-height:1.6}.toolbox{margin-top:100px;padding:45px 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.5fr;gap:80px}.eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.toolbox h3{font-size:32px;letter-spacing:-.03em;font-weight:400;margin:25px 0 18px}.toolbox>div>p:last-child{color:var(--muted);font-size:16px;line-height:1.6}.tool-list article{display:flex;align-items:center;gap:25px;padding:24px 0;border-bottom:1px solid var(--line)}.tool-list article:first-child{padding-top:0}.tool-list article>span:first-child{font-size:12px;color:var(--muted)}.tool-list h4{font-size:20px;font-weight:400}.tool-list p{color:var(--muted);line-height:1.5;font-size:14px;margin-top:8px}.tool-category{font-size:12px;color:var(--accent);margin-left:auto;padding-left:20px}.bridge{background:#dce5d8;color:#202b22;padding:78px var(--space);display:grid;grid-template-columns:1.45fr 1fr;gap:60px}.bridge .eyebrow{color:#5c6d5c;margin-bottom:35px}.bridge h2{font-size:clamp(36px,4vw,62px)}.bridge>div:last-child{align-self:end;max-width:420px}.bridge p:not(.eyebrow){font-size:18px;line-height:1.6;color:#4e5d4e}.button{display:inline-flex;gap:45px;align-items:center;justify-content:space-between;background:var(--text);color:var(--bg);padding:18px 24px;font-size:14px;border:1px solid transparent;transition:background .2s,transform .2s;margin-top:28px}.button:hover{transform:translateY(-3px);background:var(--accent)}.button span{font-size:22px;line-height:1}.bridge .button{background:#253c29;color:#f3f5ef}.bridge .button:hover{background:#456c43}.civil .bridge{background:#18291e;color:#eff3ec}.civil .bridge p:not(.eyebrow){color:#b9c5b9}.civil .bridge .eyebrow{color:#a7b7a4}.civil .bridge .button{background:#e6ede0;color:#223326}.contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:end}.contact h2{font-size:clamp(40px,5.2vw,84px)}.contact h2 span{color:var(--accent)}.contact-grid p{color:var(--muted);line-height:1.7;font-size:17px}.contact .email{display:block;font-size:15px;color:var(--muted);margin-top:24px}.contact .email:hover{color:var(--text)}footer{padding:52px var(--space) 28px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:30px;padding-bottom:60px}.footer-top p{font-size:18px;line-height:1.5;color:var(--muted)}.footer-top nav{display:flex;justify-content:flex-end;gap:30px;font-size:14px}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:28px;color:var(--muted);font-size:12px}.footer-bottom nav{display:flex;gap:25px}.footer-top .brand{width:170px}.about-hero{padding-top:100px;padding-bottom:110px}.about-hero h1{font-size:clamp(52px,6.2vw,98px);margin-top:60px;line-height:1.06}.leaders{display:grid;grid-template-columns:1fr 1fr;gap:70px}.leaders article{border-top:1px solid var(--line);padding-top:35px}.leaders h2{font-size:clamp(32px,3.4vw,52px);margin-top:30px}.legal{max-width:1000px;margin:auto;padding:80px var(--space) 100px}.legal h1{font-size:clamp(44px,6vw,80px);margin:35px 0}.legal h2{font-size:25px;letter-spacing:-.02em;margin:40px 0 16px}.legal p{font-size:16px;line-height:1.75;color:var(--muted);margin:12px 0}.legal a{text-decoration:underline;text-underline-offset:4px}.review-note{padding:22px;border:1px solid var(--line)}.reveal{animation:reveal .8s ease both}@keyframes reveal{from{opacity:.4;transform:translateY(16px)}to{opacity:1;transform:none}}@media(min-width:1600px){.hero-art{right:0;width:77%;top:-10%}.hero-content{padding-top:200px}}@media(max-width:1000px){.navigation{gap:18px}.navigation a:nth-child(2){display:none}.worlds{margin-left:0}.hero{min-height:740px}.hero-art{width:110%;right:-22%;top:-10%;height:90%}.hero-content{padding-top:260px}.hero h1{font-size:84px}.thesis-grid{grid-template-columns:.65fr 1.4fr}.section-heading{align-items:flex-start}.service-short{display:none}summary{grid-template-columns:40px 1fr 25px}.service-body{padding-left:64px;grid-template-columns:1fr}.toolbox{gap:40px;grid-template-columns:1fr 1.2fr}.tool-category{display:none}.process article{padding-right:20px}.process article+article{padding-left:20px}.contact-grid{gap:30px}.footer-top nav{gap:18px}}@media(max-width:700px){:root{--space:24px}header{height:96px;gap:12px}.brand{width:110px}.worlds{padding:3px;gap:0}.worlds a{padding:9px 13px;font-size:13px}.navigation{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;width:32px;height:44px;padding:5px;cursor:pointer}.menu-toggle span{height:1px;background:var(--text);width:22px;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{min-height:760px;padding-top:25px}.hero-overline{font-size:12px}.hero-overline span:last-child{display:none}.hero-art{width:160%;height:480px;top:0;right:-36%}.hero-art img{opacity:.9;mask-image:linear-gradient(0deg,transparent,#000 25%,#000)}.hero:after{background:linear-gradient(0deg,var(--bg) 30%,transparent 77%)}.hero-content{padding-top:280px;padding-bottom:32px}.hero h1{font-size:clamp(54px,12vw,80px);line-height:1.03;letter-spacing:-.055em}.hero-bottom{display:block;margin-top:26px}.hero-bottom>p{font-size:16px;max-width:360px}.hero-link{margin-top:22px;display:inline-flex;gap:48px;padding:12px 0}.hero-foot{padding:21px 0;font-size:12px;line-height:1.6}.hero-foot span:last-child{display:none}.section{padding:60px var(--space) 70px}.section-label{margin-bottom:45px;font-size:12px;line-height:1.6}.section-label span:last-child{display:none}.thesis-grid{grid-template-columns:1fr;gap:32px}.small-title{font-size:16px}.small-title br{display:none}h2{font-size:38px;line-height:1.13}.body-copy{font-size:16px;line-height:1.7;margin-top:26px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:25px}.section-heading>p br{display:none}summary{padding:27px 0;gap:12px;grid-template-columns:26px 1fr 20px}summary h3{font-size:25px;letter-spacing:-.025em}.service-body{padding:0 0 28px 38px}.service-body p{font-size:16px}.process{grid-template-columns:1fr 1fr;margin-top:40px}.process article{padding:24px 16px 30px 0}.process article+article{padding-left:16px}.process article:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.process article:nth-child(4){border-top:1px solid var(--line)}.process h3{font-size:23px;margin:28px 0 13px}.process p{font-size:15px}.toolbox{grid-template-columns:1fr;gap:35px;margin-top:55px;padding-top:30px}.toolbox h3{font-size:30px;margin-top:20px}.toolbox>div>p br{display:none}.tool-list article{gap:16px;padding:24px 0}.tool-list p{font-size:14px}.bridge{padding:58px var(--space);grid-template-columns:1fr;gap:32px}.bridge h2{font-size:38px}.bridge p:not(.eyebrow){font-size:16px}.bridge .eyebrow{margin-bottom:26px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:42px}.contact-grid p{font-size:16px}.button{margin-top:24px}.footer-top{grid-template-columns:1fr 1fr;padding-bottom:35px;gap:35px 20px}.footer-top .brand{width:130px}.footer-top p{font-size:16px}.footer-top nav{grid-column:1/-1;justify-content:flex-start;gap:35px}.footer-bottom{flex-wrap:wrap;gap:20px;line-height:1.6}.footer-bottom>span:nth-child(2){display:none}.about-hero h1{margin-top:40px;font-size:52px}.leaders{grid-template-columns:1fr;gap:40px}.leaders h2{font-size:37px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-art{transform:none!important}}
/* V2: live weather, light and responsive graphic motion. */
::view-transition-old(root){animation:page-out .32s ease both}::view-transition-new(root){animation:page-in .5s ease both}@keyframes page-out{to{opacity:0;filter:blur(8px)}}@keyframes page-in{from{opacity:0;filter:blur(8px);transform:translateY(8px)}}
:root{--bg:#080b09;--surface:#101411;--accent:#c1d7b9}.civil{--bg:#f7f8f6!important;--surface:#eef1ec!important;--accent:#3d6240!important}header{border-bottom-color:color-mix(in srgb,var(--line),transparent 45%)}.brand{height:38px;width:150px;overflow:hidden}.brand img{max-width:none}.footer-top .brand{height:43px}.hero{min-height:calc(100svh - 116px);min-height:max(740px,calc(100svh - 116px));padding-top:30px}.hero:after{background:linear-gradient(90deg,rgba(8,11,9,.78),rgba(8,11,9,.03) 85%),linear-gradient(0deg,var(--bg),transparent 34%);z-index:-1}.civil .hero:after{background:linear-gradient(90deg,rgba(247,248,246,.80),rgba(247,248,246,.03) 90%),linear-gradient(0deg,var(--bg),transparent 35%)}.hero-content{padding-top:180px;padding-bottom:65px;justify-content:flex-end}.hero h1{font-size:clamp(72px,8.5vw,148px);letter-spacing:-.06em;max-width:1200px;line-height:1.02}.hero h1>span{display:inline-block;animation:hero-emerge 1.4s .1s cubic-bezier(.18,.7,.3,1) both}.hero h1{animation:hero-emerge 1.1s cubic-bezier(.18,.7,.3,1) both}@keyframes hero-emerge{from{opacity:0;transform:translateY(24px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}.hero-overline{position:relative;z-index:3;min-height:34px}.hero-bottom{margin-top:35px}.hero-bottom>p{max-width:450px;color:#c2c9c3}.hero-foot{position:relative;z-index:2}.hero-foot>.scroll-invite{display:flex;align-items:center;gap:22px}.scroll-line{display:inline-block;position:relative;width:1px;height:32px;background:var(--line);overflow:hidden}.scroll-line:after{content:"";position:absolute;inset:0;background:var(--accent);transform:translateY(-100%);animation:scroll-cue 2.5s ease-in-out infinite}@keyframes scroll-cue{to{transform:translateY(150%)}}.atmosphere{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.atmosphere canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s}.weather-ready canvas{opacity:1}.atmosphere-fallback{position:absolute;inset:-10%;background:radial-gradient(ellipse at 80% 10%,#32483b 0%,transparent 55%),linear-gradient(150deg,#0d1410,#18241c 55%,#090c0a);animation:fallback-drift 15s ease-in-out infinite alternate}.atmosphere-fallback:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(104deg,transparent 0,transparent 45px,#b6ccc917 46px,transparent 47px);mask-image:linear-gradient(0deg,transparent,#000 55%,transparent);animation:fallback-rain .55s linear infinite}.weather-ready .atmosphere-fallback{display:none}@keyframes fallback-rain{to{transform:translate(-18px,65px)}}@keyframes fallback-drift{to{transform:translate(-3%,2%) scale(1.04)}}.civil .atmosphere-fallback{background:radial-gradient(ellipse at 83% 12%,#f7de9f8c,transparent 60%),linear-gradient(150deg,#fbfcf9,#ebefe3 65%,#fbfcf9)}.civil .atmosphere-fallback:after{background:repeating-conic-gradient(from 160deg at 80% -10%,transparent 0deg,#fffce452 8deg,transparent 15deg);animation:sun-drift 22s ease-in-out infinite alternate}@keyframes sun-drift{to{transform:rotate(9deg) scale(1.1)}}.light-field{position:absolute;inset:-20%;background:radial-gradient(ellipse at 70% 22%,#81988710,transparent 48%);animation:light-breathe 14s ease-in-out infinite alternate}.civil .light-field{background:repeating-conic-gradient(from 150deg at 83% -10%,transparent 0deg,#fff7d61c 5deg,transparent 14deg);filter:blur(10px);animation:sun-drift 26s ease-in-out infinite alternate}@keyframes light-breathe{to{transform:translate(-4%,5%) scale(1.2);opacity:.4}}.horizon-grid{position:absolute;left:30%;right:-20%;bottom:-18%;height:56%;background-image:linear-gradient(#9ebda016 1px,transparent 1px),linear-gradient(90deg,#9ebda016 1px,transparent 1px);background-size:75px 75px;transform:perspective(500px) rotateX(57deg) rotateZ(-10deg);mask-image:radial-gradient(ellipse,#000,transparent 70%);animation:grid-travel 18s linear infinite}.civil .horizon-grid{background-image:linear-gradient(#5d7b5620 1px,transparent 1px),linear-gradient(90deg,#5d7b5620 1px,transparent 1px)}@keyframes grid-travel{to{background-position:0 75px,0 75px}}.horizon-line{position:absolute;top:34%;left:49%;width:42%;height:1px;background:linear-gradient(90deg,transparent,#91b79750,transparent);opacity:.7}.horizon-line:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#9db09f;top:-2px;left:35%;box-shadow:0 0 25px 4px #b5d6b144;animation:trace 12s ease-in-out infinite alternate}.civil .horizon-line:after{background:#9cae81;box-shadow:0 0 30px 7px #e3ba7477}@keyframes trace{to{left:80%;opacity:.3}}.motion-toggle{display:inline-flex;align-items:center;gap:10px;border:1px solid #69806d45;background:#0e1b0f25;color:var(--muted);font-size:12px;padding:10px 14px;border-radius:30px;cursor:pointer;backdrop-filter:blur(12px);letter-spacing:0;text-transform:none;transition:color .2s,border-color .2s}.motion-toggle:hover{color:var(--text);border-color:var(--muted)}.motion-toggle[hidden]{display:none}.civil .motion-toggle{background:#ffffff4a;border-color:#82917c45}.motion-icon{width:9px;height:10px;border-left:2px solid currentColor;border-right:2px solid currentColor}.motion-toggle[aria-pressed=true] .motion-icon{width:0;height:0;border-left:7px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent;border-right:0}.page-progress{position:fixed;left:0;top:0;height:2px;right:0;background:var(--accent);transform:scaleX(var(--page-progress,0));transform-origin:left;z-index:100;pointer-events:none}.worlds{position:relative;isolation:isolate;background:var(--surface)}.worlds a{transition:background .35s ease,color .35s ease,box-shadow .35s}.worlds a[aria-current]{box-shadow:0 0 22px #bdccbd15}.worlds a:hover{box-shadow:0 0 20px #a4c2a525}.navigation a{position:relative}.navigation a:after{content:"";position:absolute;bottom:2px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}.navigation a:hover:after{transform:scaleX(1)}.word{display:inline-block;color:color-mix(in srgb,var(--text) calc(35% + var(--read,0)*65%),var(--muted));transition:color .22s}.thesis h2>span .word,.section-heading h2>span .word{color:color-mix(in srgb,var(--accent) calc(30% + var(--read,0)*70%),var(--muted))}.service{position:relative;isolation:isolate}.service:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#91b19a10,transparent 85%);transform:scaleX(0);transform-origin:left;transition:transform .5s ease;z-index:-1}.service:hover:before,.service[open]:before{transform:scaleX(1)}.civil .service:before{background:linear-gradient(90deg,#73956313,transparent 85%)}.service h3{transition:transform .4s,color .4s}.service:hover h3{transform:translateX(10px)}.service .number{transition:color .3s}.service:hover .number,.service[open] .number{color:var(--accent)}.service[open] .service-body{animation:detail-in .45s ease both}@keyframes detail-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.process{position:relative;--process:0}.process:before{position:absolute;content:"";top:-1px;height:1px;left:0;width:100%;transform:scaleX(var(--process));transform-origin:left;background:var(--accent);box-shadow:0 0 16px #9bc79855}.process article{transition:background .5s}.process article:hover{background:#83947b08}.process article>span{display:inline-block;transition:transform .35s}.process article:hover>span{transform:translateY(-4px)}.toolbox{position:relative;border:1px solid var(--line);padding:45px;margin-top:110px;overflow:hidden;background:radial-gradient(ellipse at var(--spot-x,80%) var(--spot-y,0%),#8bb78a0b,transparent 65%)}.toolbox:after{content:"";position:absolute;top:0;left:0;height:1px;width:30%;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:edge-scan 9s ease-in-out infinite;pointer-events:none}@keyframes edge-scan{0%,100%{transform:translateX(-100%);opacity:0}35%,60%{opacity:.6}90%{transform:translateX(400%);opacity:0}}.tool-list article{transition:transform .3s}.tool-list article:hover{transform:translateX(5px)}.button,.hero-link,.text-link{position:relative;will-change:transform}.button{overflow:hidden}.button:after{content:"";position:absolute;inset:-100% -50%;background:linear-gradient(110deg,transparent 40%,#ffffff35 50%,transparent 60%);transform:translateX(-100%);transition:transform .7s;pointer-events:none}.button:hover:after{transform:translateX(100%)}.button span{transition:transform .3s}.button:hover span{transform:translate(2px,-2px)}.pointer-orbit{position:fixed;top:0;left:0;width:28px;height:28px;border:1px solid #bcd4b755;border-radius:50%;pointer-events:none;z-index:70;opacity:0;transition:opacity .3s,width .3s,height .3s;margin:-14px 0 0 -14px}.civil .pointer-orbit{border-color:#56754c66}.pointer-orbit.is-active{width:42px;height:42px}.contact{position:relative;background:radial-gradient(ellipse at 90% 100%,#728d6c0b,transparent 55%)}.contact h2 span{background:linear-gradient(100deg,var(--accent) 30%,var(--text) 48%,var(--accent) 65%);background-size:230% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:type-light 12s ease-in-out infinite}@keyframes type-light{0%,100%{background-position:100% 0}50%{background-position:0 0}}.motion-paused *, .motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}.motion-paused .pointer-orbit{display:none}.hero-offscreen .atmosphere *,.hero-offscreen .atmosphere *:after{animation-play-state:paused!important}
@media(max-width:1000px){.hero{min-height:790px}.hero h1{font-size:clamp(72px,9vw,106px)}.hero-content{padding-top:260px}.toolbox{padding:30px;gap:35px}.horizon-grid{left:10%;right:-40%}}
@media(max-width:700px){header{height:96px}.brand{width:110px;height:28px}.footer-top .brand{height:33px}.hero{min-height:760px;min-height:max(760px,calc(100svh - 96px));padding-top:23px}.hero-content{padding-top:245px;padding-bottom:36px}.hero h1{font-size:clamp(55px,12vw,83px);line-height:1.05}.hero-overline{gap:8px}.hero-overline>span{font-size:12px;letter-spacing:.04em}.motion-toggle{padding:9px 10px;font-size:12px;gap:7px}.hero-overline .motion-label{display:inline}.hero-foot>.scroll-invite{display:flex;font-size:12px;gap:12px}.hero-foot>span:first-child{max-width:230px}.scroll-line{height:24px}.horizon-line{top:22%;left:26%;width:64%}.horizon-grid{left:0;right:-50%;bottom:-10%;height:45%;opacity:.7}.hero:after{background:linear-gradient(0deg,var(--bg),rgba(8,11,9,.42) 55%,rgba(8,11,9,.15))}.civil .hero:after{background:linear-gradient(0deg,var(--bg),rgba(247,248,246,.48) 55%,rgba(247,248,246,.06))}.toolbox{margin-top:60px;padding:28px 22px;gap:30px}.service:hover h3{transform:none}.pointer-orbit{display:none}.hero-bottom>p{max-width:350px}.process:before{box-shadow:none}}
@media(max-width:380px){.motion-label{max-width:88px;text-align:left}.worlds a{padding:9px 10px}.hero-overline{align-items:start}.hero h1{font-size:52px}.hero-foot>span:first-child{max-width:190px}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.pointer-orbit{display:none}.hero h1,.hero h1>span{opacity:1;transform:none;filter:none}.word{color:inherit}.horizon-line:after{display:none}.page-progress{display:none}.button,.hero-link,.text-link,.service h3{transform:none!important}}
/* Full-site monochrome atmosphere, with translucent reading surfaces. */
:root{--bg:#090909;--surface:#151515;--text:#f4f4f4;--muted:#adadad;--line:#ffffff24;--accent:#dedede}
body.civil{--bg:#f7f7f7!important;--surface:#eeeeee!important;--text:#171717;--muted:#565656;--line:#00000025;--accent:#3b3b3b!important}
body{isolation:isolate;background:var(--bg)}body>main,body>footer{position:relative;z-index:1}body>header{z-index:10;background:#09090966;backdrop-filter:blur(14px)}.civil>header{background:#ffffff70}
.site-atmosphere{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;filter:grayscale(1)}.site-atmosphere canvas{height:100%;width:100%}.site-atmosphere .light-field{opacity:.5}.site-atmosphere .horizon-grid{opacity:.35;left:20%;right:-30%;bottom:-16%;height:50%}.site-atmosphere .horizon-line{opacity:.4;top:25%;left:56%;width:35%}
.site-atmosphere .atmosphere-fallback{background:radial-gradient(ellipse at 80% 10%,#414141 0%,transparent 65%),linear-gradient(150deg,#101010,#252525 55%,#090909)}.site-atmosphere .atmosphere-fallback:after{background:repeating-linear-gradient(104deg,transparent 0,transparent 33px,#cccccc35 34px,transparent 35px);animation-duration:.42s}.site-atmosphere .atmosphere-fallback:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 77% 22%,#ffffff8c,transparent 57%);opacity:0;animation:none}
.civil .site-atmosphere .atmosphere-fallback{background:radial-gradient(ellipse at 80% 12%,#ffffff,transparent 60%),linear-gradient(150deg,#f5f5f5,#dddddd 65%,#f9f9f9)}.civil .site-atmosphere .atmosphere-fallback:before{background:radial-gradient(circle at 80% 12%,#fff,transparent 45%);opacity:.7;animation:light-breathe 18s ease-in-out infinite alternate}.civil .site-atmosphere .atmosphere-fallback:after{background:repeating-conic-gradient(from 160deg at 80% -10%,transparent 0deg,#ffffff90 8deg,transparent 15deg);animation:sun-drift 22s ease-in-out infinite alternate}
.hero{background:transparent}.hero:after{background:linear-gradient(90deg,#0909095c,transparent 78%);z-index:-1}.civil .hero:after{background:linear-gradient(90deg,#ffffff73,transparent 82%)}.hero-bottom>p{color:#d0d0d0}.civil .hero-bottom>p{color:#474747}.hero-foot{border-color:var(--line)}
.section{position:relative;background:linear-gradient(90deg,#090909b8 0%,#09090982 63%,#09090938 100%);border-color:var(--line)}.civil .section{background:linear-gradient(90deg,#ffffffb8 0%,#ffffff85 63%,#ffffff47 100%)}
.capabilities{background:linear-gradient(90deg,#111111bb,#1111118c 63%,#11111150)}.civil .capabilities{background:linear-gradient(90deg,#f7f7f7c7,#f7f7f79c 63%,#f7f7f752)}
.contact{background:linear-gradient(90deg,#090909bd,#09090970 63%,#09090935)}.civil .contact{background:linear-gradient(90deg,#ffffffc4,#ffffff90 63%,#ffffff42)}
footer{background:#0a0a0a99;padding-bottom:90px}.civil footer{background:#ffffffaa}.legal{background:#090909d4;max-width:1000px;padding-top:80px;padding-bottom:100px;margin-block:35px}.civil .legal{background:#ffffffdb}.worlds{background:#171717b3}.civil .worlds{background:#eeeeeead}.worlds a[aria-current]{box-shadow:none}.worlds a:hover{box-shadow:0 0 20px #ffffff15}.civil .worlds a:hover{box-shadow:0 0 20px #0000000a}
.site-motion-toggle{position:fixed;right:24px;bottom:22px;z-index:60;background:#161616c9;color:#dedede;border:1px solid #ffffff3b;backdrop-filter:blur(18px);padding:12px 16px;box-shadow:0 4px 26px #00000012}.civil .site-motion-toggle{background:#ffffffe0;color:#333;border-color:#0000002a}.site-motion-toggle:hover{background:#292929ed}.civil .site-motion-toggle:hover{background:#fff}.site-motion-toggle .motion-label{display:inline;max-width:none}
.toolbox{background:radial-gradient(ellipse at var(--spot-x,80%) var(--spot-y,0%),#ffffff0d,transparent 65%),#0909094d;border-color:var(--line)}.civil .toolbox{background:radial-gradient(ellipse at var(--spot-x,80%) var(--spot-y,0%),#ffffffa0,transparent 65%),#ffffff50}.service:before{background:linear-gradient(90deg,#ffffff12,transparent 85%)}.civil .service:before{background:linear-gradient(90deg,#0000000b,transparent 85%)}.process:before{box-shadow:0 0 16px #ffffff44}.process article:hover{background:#ffffff07}.civil .process article:hover{background:#00000005}.pointer-orbit{border-color:#dddddd66}.civil .pointer-orbit{border-color:#55555566}.review-note{background:#ffffff05}.civil .review-note{background:#00000003}::selection{background:#a4a4a4;color:#090909}
@media(max-width:700px){.hero:after{background:linear-gradient(90deg,#09090963,transparent 100%)}.civil .hero:after{background:linear-gradient(90deg,#ffffff7a,transparent 100%)}.section{background:linear-gradient(90deg,#090909c2,#09090980)}.civil .section{background:linear-gradient(90deg,#ffffffc4,#ffffff85)}.capabilities{background:linear-gradient(90deg,#111111c2,#11111180)}.civil .capabilities{background:linear-gradient(90deg,#f7f7f7c4,#f7f7f785)}.site-motion-toggle{right:14px;bottom:14px;padding:11px 14px;font-size:12px}.site-atmosphere .horizon-grid{left:0;right:-60%;opacity:.25}.site-atmosphere .horizon-line{top:20%;left:46%;width:48%}.hero-overline span:last-child{display:none}.legal{margin-block:0;background:#090909d9}.civil .legal{background:#ffffffdc}footer{padding-bottom:88px}}
@media(prefers-reduced-motion:reduce){.site-atmosphere .atmosphere-fallback:before{animation:none;opacity:0}.civil .site-atmosphere .atmosphere-fallback:before{opacity:.7}}
/* Individual droplets and illuminated dust replace the tiled rain pattern. */
.site-atmosphere #weather{z-index:1}.site-atmosphere #weather-particles{opacity:1;z-index:3;pointer-events:none}.site-atmosphere .atmosphere-fallback{inset:0;animation:none}.site-atmosphere .atmosphere-fallback:after{display:none}.weather-ready .light-field{display:none}.site-atmosphere .light-field{z-index:2;pointer-events:none}.civil .site-atmosphere .atmosphere-fallback{background:radial-gradient(circle at 80% 18%,#f9f9f9,transparent 38%),linear-gradient(150deg,#dedede,#e5e5e5 65%,#eeeeee)}.civil .site-atmosphere .atmosphere-fallback:before{inset:auto;left:80%;top:18%;width:11.8vh;height:11.8vh;border-radius:50%;transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 24px 10px #ffffff4f,0 0 110px 40px #ffffff44;opacity:1;animation:none}.civil .site-atmosphere .light-field{background:repeating-conic-gradient(from 135deg at 80% 18%,transparent 0deg,#ffffff35 7deg,transparent 17deg);animation:sun-drift 35s ease-in-out infinite alternate;opacity:.3}.tool-category{max-width:115px;text-align:right;line-height:1.4}summary h3{font-size:clamp(23px,2.15vw,34px)}.process h3{font-size:23px;line-height:1.25}.civil .contact h2,.defence .contact h2{font-size:clamp(40px,5.2vw,84px)}
@media(max-width:700px){summary h3{font-size:24px}.process h3{font-size:21px}.civil .contact h2,.defence .contact h2{font-size:42px}}
/* Soft sunlight and small, drifting petals. */
.civil .site-atmosphere .atmosphere-fallback:before{width:10.6vh;height:10.6vh;background:#f6f6f6;filter:blur(4px);opacity:.82;box-shadow:0 0 35px 17px #ffffff32,0 0 130px 55px #ffffff2e}.civil .site-atmosphere .light-field{opacity:.15;filter:blur(18px)}.imprint{max-width:1120px}.imprint .imprint-reference{font-size:15px;margin:22px 0 45px}.imprint-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 70px}.imprint-grid>section{border-top:1px solid var(--line);padding-top:24px}.imprint .imprint-grid h2{font-size:22px;margin:0 0 17px}.imprint address{font-style:normal;font-size:16px;line-height:1.8;color:var(--muted)}.imprint address strong,.imprint-grid strong{font-weight:500;color:var(--text)}.imprint-grid p{margin:0}.imprint .text-link{margin-top:45px}.worlds{padding:5px;gap:4px;margin-left:2vw;flex-shrink:0}.worlds a{font-size:16px;font-weight:500;min-height:48px;min-width:118px;padding:13px 26px;display:flex;align-items:center;justify-content:center}.worlds a[aria-current="page"]{box-shadow:0 2px 12px #00000012}.civil .worlds a[aria-current="page"]{background:#242424;color:#fff}.defence .worlds a[aria-current="page"]{background:#eee;color:#171717}
@media(max-width:1000px){.worlds{margin-left:0}.navigation{gap:18px}.worlds a{min-width:106px;padding:13px 22px}}
@media(max-width:700px){header{height:154px;display:grid;grid-template-columns:1fr 44px;grid-template-rows:40px 54px;gap:14px;padding-top:18px;padding-bottom:20px}.brand{grid-column:1;grid-row:1;width:120px;height:30px}.menu-toggle{grid-column:2;grid-row:1;justify-self:end;width:44px}.worlds{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;width:100%;height:54px;padding:4px;gap:4px}.worlds a{width:100%;min-width:0;min-height:44px;font-size:16px;padding:10px 18px}.hero{min-height:max(760px,calc(100svh - 154px))}.imprint-grid{grid-template-columns:1fr;gap:30px}.imprint .imprint-reference{margin-bottom:32px}.civil .site-atmosphere .atmosphere-fallback:before{top:24%}.civil .site-atmosphere .light-field{background-position:0 6vh}.footer-top .brand{width:130px;height:33px}}

/* Restrained photography-led presentation. */
.defence .site-atmosphere .atmosphere-fallback:before{display:none;animation:none}
.hero h1,.hero h1>span{animation:none;filter:none;letter-spacing:-.045em;line-height:1.08}
.hero h1{font-size:clamp(54px,7vw,108px);max-width:1100px}
.hero{min-height:650px;min-height:clamp(620px,calc(100svh - 116px),800px)}
.hero-content{padding-top:120px;padding-bottom:56px}
.hero-bottom{margin-top:32px}.hero-bottom>p{max-width:520px;line-height:1.7}
.scroll-line:after,.toolbox:after,.process:before,.button:after{display:none}
.service h3,.service:hover h3,.process article:hover>span,.tool-list article:hover{transform:none}
.toolbox,.civil .toolbox{background:none;border:0;border-top:1px solid var(--line);padding:42px 0 0}
.contact h2 span{background:none;color:var(--accent);animation:none}
.worlds a,.worlds a:hover,.worlds a[aria-current="page"]{box-shadow:none}
.hero-foot .scroll-invite{display:none}
.reveal{animation:reveal .65s ease both}
@keyframes reveal{from{opacity:.65;transform:translateY(8px)}to{opacity:1;transform:none}}
.section-label,.hero-overline{letter-spacing:.055em}
.photo-band{margin:0;padding:0 var(--space) 80px;background:#101010b8}
.civil .photo-band{background:#ffffffb8}
.editorial-photo{margin:0;min-width:0}
.editorial-photo img{width:100%;height:auto;aspect-ratio:2.3;object-fit:cover;filter:grayscale(1) saturate(0);background:var(--surface)}
.editorial-photo figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:15px;font-size:13px;line-height:1.5;color:var(--muted)}
.photo-credit{font-size:12px;max-width:55%;text-align:right}.photo-credit a{text-decoration:underline;text-underline-offset:3px}
.work-visual{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center;margin-bottom:55px}
.work-visual .section-heading{display:block;margin:0}.work-visual .section-heading>p{margin-top:25px}
.work-visual .editorial-photo img{aspect-ratio:1.35}
.work-visual .editorial-photo figcaption{display:block}.work-visual .photo-credit{display:block;text-align:left;max-width:100%;margin-top:5px}
@media(max-width:1000px){.hero h1{font-size:clamp(54px,7.8vw,86px)}.hero-content{padding-top:110px}.work-visual{gap:32px}.work-visual h2{font-size:clamp(34px,4vw,50px)}}
@media(max-width:700px){.hero{min-height:610px}.hero-content{padding-top:75px;padding-bottom:36px}.hero h1{font-size:clamp(42px,9.5vw,64px);letter-spacing:-.045em;line-height:1.1}.hero-bottom>p{max-width:100%}.photo-band{padding-bottom:50px}.editorial-photo img{aspect-ratio:1.4}.editorial-photo figcaption{display:block}.photo-credit{display:block;max-width:100%;text-align:left;margin-top:5px}.work-visual{grid-template-columns:1fr;gap:30px;margin-bottom:35px}.work-visual .editorial-photo img{aspect-ratio:1.5}.section-label{margin-bottom:35px}.site-motion-toggle{font-size:12px}.hero h1 br{display:initial}}
@media(prefers-reduced-motion:reduce){.reveal{animation:none}}

.photo-band [data-photo="defence-main"] img{aspect-ratio:1.8}
@media(max-width:700px){.photo-band [data-photo="defence-main"] img{aspect-ratio:auto}}

/* Compact language selection, separate from business-area selection. */
.languages{display:flex;align-items:center;gap:3px;border:1px solid var(--line);border-radius:30px;padding:3px;flex-shrink:0}
.languages a{display:flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:8px;font-size:13px;line-height:1;letter-spacing:.04em;color:var(--muted);border-radius:24px;transition:background .2s,color .2s}
.languages a[aria-current="true"]{background:var(--text);color:var(--bg)}
.languages a:hover:not([aria-current]){color:var(--text);background:var(--line)}
header .worlds{margin-left:0}
@media(min-width:701px) and (max-width:1180px){header{gap:14px}.navigation{gap:18px}.navigation a:nth-child(2){display:none}.worlds a{min-width:98px;padding-inline:17px}}
@media(max-width:700px){header{grid-template-columns:1fr auto 44px;column-gap:12px}.languages{grid-column:2;grid-row:1;justify-self:end}.languages a{min-height:34px;min-width:34px;font-size:12px;padding:7px}.menu-toggle{grid-column:3}.worlds{grid-column:1/-1}}
@media(max-width:380px){header{column-gap:7px}.brand{width:110px}}
@media(min-width:701px) and (max-width:1050px){.navigation a:not(:last-child){display:none}}

/* Direct feedback: no delayed document fades, scrolling or accordion entrances. */
:root{scroll-behavior:auto}
a,button,summary{touch-action:manipulation}
.atmosphere canvas{transition:none}
.worlds a,.languages a{transition:background-color .08s,color .08s}
.service[open] .service-body,.reveal{animation:none}
::view-transition-old(root),::view-transition-new(root){animation:none!important}

.editorial-photo figcaption{flex-wrap:wrap}.photo-notice{flex-basis:100%;font-size:12px;line-height:1.5;color:var(--muted)}

/* Readable legal pages and compact version metadata. */
.legal{width:min(100%,1120px);margin-inline:auto;overflow-wrap:anywhere}
.legal h1{font-size:clamp(40px,6vw,80px);line-height:1.12;letter-spacing:-.035em}
.legal h2{font-size:clamp(22px,2.4vw,30px);line-height:1.3;letter-spacing:-.02em}
.legal p,.legal li{font-size:16px;line-height:1.8}
.legal ul{padding-left:22px;color:var(--muted);margin:16px 0 24px}
.legal a{text-decoration:underline;text-underline-offset:4px}
.legal .text-link{text-decoration:none}
.footer-bottom>span:first-child{font-variant-numeric:tabular-nums}
.hero h1{font-size:clamp(42px,6.5vw,100px);overflow-wrap:normal}
.about-hero h1{font-size:clamp(40px,6vw,88px);line-height:1.1}
.brand img{object-fit:contain}
@media(max-width:700px){.hero h1{font-size:clamp(30px,8.5vw,56px);letter-spacing:-.04em}.footer-bottom{align-items:flex-start}.footer-bottom nav{flex-wrap:wrap;gap:14px 24px}.legal{padding-inline:var(--space)}.about-hero h1{font-size:clamp(34px,8.8vw,54px)}}
