@font-face{font-family:"Kanit";src:url("../fonts/kanit-300.b145b188566d.woff2") format("woff2");font-style:normal;font-weight:300;font-display:swap}
@font-face{font-family:"Kanit";src:url("../fonts/kanit-400.0cb9a1d61539.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Kanit";src:url("../fonts/kanit-500.3a2b686c4381.woff2") format("woff2");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Kanit";src:url("../fonts/kanit-600.8e2ea8cfd6a8.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Kanit";src:url("../fonts/kanit-700.d81db108f64a.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}

:root{
  --color-ink:#121a24;
  --color-deep:#0e1b2a;
  --color-deep-2:#16283a;
  --color-slate:#38546b;
  --color-accent:#78d6ff;
  --color-accent-dark:#1f78a5;
  --color-ice:#ddf4ff;
  --color-surface:#f5f8fa;
  --color-surface-blue:#e7eff4;
  --color-border:#c6d3dc;
  --color-muted:#657582;
  --color-text:#182532;
  --color-text-light:#f4fafd;
  --color-danger:#a43f39;
  --shell:min(1360px,calc(100vw - 80px));
  --section-space:clamp(88px,9vw,144px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:68px}
body{margin:0;min-width:320px;overflow-x:clip;background:#eaf1f5;color:var(--color-text);font-family:"Kanit",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.6;letter-spacing:-.012em;-webkit-font-smoothing:antialiased}
body.nav-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
svg{display:block}
ul,ol{padding:0}
.shell{width:var(--shell);margin-inline:auto}
.section-pad{padding-block:var(--section-space)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;top:-80px;left:16px;padding:10px 14px;border-radius:4px;background:var(--color-accent);color:var(--color-deep);font-weight:600}
.skip-link:focus{top:16px}
:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}

.micro-label{margin:0;color:var(--color-accent-dark);font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:12px 19px;border:1px solid transparent;border-radius:4px;font-size:.88rem;font-weight:600;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease}
.button-accent{background:var(--color-accent);color:var(--color-deep)}
.button-accent:hover{background:#b8eaff}
.button-dark{background:var(--color-deep);color:var(--color-text-light)}
.button-dark:hover{background:var(--color-deep-2)}
.text-link{display:inline-flex;gap:12px;align-items:center;padding-bottom:4px;border-bottom:1px solid currentColor;font-size:.88rem;font-weight:500;transition:color 160ms ease}
.text-link-light{color:#dce7ec}
.text-link:hover{color:var(--color-accent)}

.motion-ready [data-reveal]{opacity:0;filter:blur(7px);transform:translateY(22px);transition:opacity 650ms cubic-bezier(.2,.7,.2,1),filter 650ms cubic-bezier(.2,.7,.2,1),transform 650ms cubic-bezier(.2,.7,.2,1)}
.motion-ready [data-reveal].is-visible{opacity:1;filter:blur(0);transform:translateY(0)}

/* Atmospheric system */
[data-react-atmosphere]{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none}
.react-atmosphere{position:absolute;inset:-12vh -10vw;background:#06182a;transition:background-color 900ms cubic-bezier(.2,.7,.2,1)}
.react-atmosphere[data-scene="journey"]{background:#091827}
.react-atmosphere[data-scene="light-a"]{background:#eef4f7}
.react-atmosphere[data-scene="light-b"]{background:#e2edf3}
.react-atmosphere[data-scene="outcome"]{background:#0b1d2e}
.react-atmosphere[data-scene="team"]{background:#e6f0f5}
.react-atmosphere[data-scene="contact"]{background:#071522}
.atmosphere-field{position:absolute;display:block;border-radius:50%;will-change:transform;transition:opacity 900ms cubic-bezier(.2,.7,.2,1);animation:atmosphere-breathe 14s ease-in-out infinite alternate}
.atmosphere-field--signal{top:-19vmax;left:-7vmax;width:82vmax;aspect-ratio:1;background:radial-gradient(circle at 48% 49%,rgba(87,207,255,.33) 0,rgba(50,143,205,.15) 24%,rgba(21,76,120,.05) 47%,transparent 69%);filter:blur(22px);opacity:.78}
.atmosphere-field--depth{right:-18vmax;bottom:-30vmax;width:78vmax;aspect-ratio:1;background:radial-gradient(circle at 50% 50%,rgba(40,91,196,.28),rgba(28,67,149,.1) 32%,transparent 67%);filter:blur(36px);opacity:.62;animation-duration:19s;animation-direction:alternate-reverse}
.atmosphere-field--haze{top:30%;left:36%;width:58vmax;height:28vmax;border-radius:45%;background:linear-gradient(116deg,transparent 8%,rgba(106,224,255,.14) 44%,rgba(85,124,237,.12) 58%,transparent 88%);filter:blur(54px);opacity:.5;transform:rotate(-12deg);animation-duration:22s}
.atmosphere-grid{position:fixed;z-index:2;inset:0;display:block;opacity:.78;mix-blend-mode:screen;transition:opacity 700ms cubic-bezier(.2,.7,.2,1)}
.react-atmosphere:not([data-scene="intro"]) .atmosphere-grid{opacity:0}
.atmosphere-vignette{position:absolute;z-index:3;inset:-24vh -24vw;background:radial-gradient(ellipse at 50% 42%,transparent 0,rgba(1,8,16,.04) 54%,rgba(1,8,16,.26) 100%);will-change:transform}
.react-atmosphere[data-scene="light-a"] .atmosphere-field--signal,.react-atmosphere[data-scene="light-b"] .atmosphere-field--signal,.react-atmosphere[data-scene="team"] .atmosphere-field--signal{opacity:.5}
.react-atmosphere[data-scene="light-a"] .atmosphere-field--depth,.react-atmosphere[data-scene="light-b"] .atmosphere-field--depth,.react-atmosphere[data-scene="team"] .atmosphere-field--depth{opacity:.34}
.react-atmosphere[data-scene="light-a"] .atmosphere-field--haze,.react-atmosphere[data-scene="light-b"] .atmosphere-field--haze,.react-atmosphere[data-scene="team"] .atmosphere-field--haze{opacity:.4}
.react-atmosphere[data-scene="light-a"] .atmosphere-vignette,.react-atmosphere[data-scene="light-b"] .atmosphere-vignette,.react-atmosphere[data-scene="team"] .atmosphere-vignette{background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.18) 0,transparent 52%,rgba(27,62,86,.08) 100%)}
main,.site-footer{position:relative;z-index:1}
main>section{position:relative}

/* Navigation */
.site-header{position:fixed;z-index:100;inset:0 0 auto;height:78px;color:var(--color-text-light);border-bottom:1px solid rgba(255,255,255,.14);background:transparent;transition:height 180ms ease,background-color 180ms ease,border-color 180ms ease,color 180ms ease,opacity 300ms ease}
.motion-ready .site-header{opacity:0;pointer-events:none}.motion-ready.past-intro .site-header{opacity:1;pointer-events:auto}
.site-header.scrolled,.site-header.menu-open{height:68px;background:radial-gradient(circle at 78% -50%,rgba(65,150,204,.18),transparent 42%),linear-gradient(135deg,rgba(8,22,37,.96),rgba(14,38,57,.93));border-color:#2e4354;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.header-inner{display:flex;height:100%;align-items:center;justify-content:space-between}
.brand{font-size:1.35rem;font-weight:600;letter-spacing:-.03em}
.primary-nav{display:flex;align-items:center;gap:30px;font-size:.82rem}
.primary-nav a{color:#dce4eb;transition:color 150ms ease}
.primary-nav a:hover{color:var(--color-accent)}
.primary-nav .nav-cta{padding:8px 13px;border:1px solid #486176;border-radius:4px;color:var(--color-text-light)}
.primary-nav .nav-cta:hover{border-color:var(--color-accent)}
.nav-toggle{display:none;width:44px;height:44px;padding:0;border:0;background:transparent;place-content:center;gap:7px}
.nav-toggle span:not(.sr-only){display:block;width:23px;height:1px;background:currentColor;transition:transform 160ms ease}
.nav-toggle[aria-expanded="true"] span:nth-child(2){transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-4px) rotate(-45deg)}

/* Opening curtain */
.intro-curtain{position:relative;height:130svh;background:linear-gradient(145deg,rgba(3,16,30,.5),rgba(5,25,45,.34))}
.intro-curtain__sticky{position:sticky;top:0;height:100svh;display:grid;place-items:center;overflow:hidden;background:color-mix(in srgb,var(--intro-bg,#06182a) 34%,transparent)}
.intro-curtain h1{text-shadow:0 20px 70px rgba(2,10,20,.38)}
.intro-curtain h1{display:grid;gap:24px;justify-items:center;margin:0;color:var(--color-text-light);font-size:clamp(4.2rem,12vw,12rem);font-weight:500;letter-spacing:-.065em;line-height:1;opacity:var(--intro-word-opacity,1);filter:blur(var(--intro-blur,0));will-change:filter,opacity}
.intro-curtain h1 small{max-width:580px;color:#95a7b5;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:clamp(.62rem,.8vw,.78rem);font-weight:400;letter-spacing:.12em;line-height:1.5;text-align:center;text-transform:uppercase}

/* Continuous building journey */
.page-progress{position:fixed;z-index:120;top:0;right:0;width:3px;height:100vh;background:#2e4354;opacity:0;pointer-events:none;transition:opacity 300ms ease}
.motion-ready.past-intro .page-progress{opacity:1}
.page-progress i{display:block;width:100%;height:100%;background:var(--color-accent);transform:scaleY(0);transform-origin:top;will-change:transform}
.building-journey{position:relative;overflow:clip;color:var(--color-text-light);background:linear-gradient(138deg,rgba(5,15,26,.9),rgba(11,35,55,.72) 52%,rgba(6,20,34,.9))}
.journey-grid{position:absolute;inset:0;border-inline:1px solid #213344;pointer-events:none}
.journey-layout{position:relative;display:grid;grid-template-columns:minmax(410px,.94fr) minmax(540px,1.06fr);gap:clamp(34px,4vw,68px);align-items:start;border-inline:1px solid #213344}
.journey-visual{position:sticky;z-index:1;top:68px;grid-column:2;height:calc(100vh - 68px);display:flex;align-items:center;padding-right:20px}
.journey-scenes{grid-column:1;grid-row:1;padding-left:clamp(22px,3vw,44px)}
.journey-scene{min-height:68vh;display:flex;flex-direction:column;justify-content:center;padding:72px 0;border-top:1px solid #2e4252;opacity:1;transition:opacity 380ms cubic-bezier(.2,.7,.2,1)}
.motion-ready .journey-scene{opacity:0}.motion-ready .journey-scene.is-active{opacity:1}
.journey-hero{min-height:100svh;padding-top:112px;border-top:0}
.hero-label{max-width:460px;margin:0;color:var(--color-accent);font-size:.82rem;letter-spacing:.01em}
.journey-hero h1{max-width:720px;margin:20px 0 0;font-size:clamp(4rem,6.4vw,6.8rem);font-weight:500;letter-spacing:-.07em;line-height:.82}
.title-line{display:block;overflow:hidden;padding-bottom:.1em}
.title-line>span{display:block;transform:translateY(110%);transition:transform 850ms cubic-bezier(.16,.8,.24,1)}
.journey-hero.is-active .title-line>span{transform:translateY(0)}
.journey-hero.is-active .title-line:nth-child(2)>span{transition-delay:60ms}.journey-hero.is-active .title-line:nth-child(3)>span{transition-delay:120ms}.journey-hero.is-active .title-line:nth-child(4)>span{transition-delay:180ms}
.title-line-accent{color:#8296a6}
.journey-hero__summary{max-width:600px;margin:34px 0 0;color:#b3c3cf;font-size:clamp(1rem,1.25vw,1.18rem);line-height:1.55}
.hero-actions{display:flex;gap:22px;align-items:center;margin-top:34px}
.hero-foot{display:flex;margin-top:46px;border-block:1px solid #2e4252}
.hero-foot span{flex:1;padding:11px 12px 11px 0;border-right:1px solid #2e4252;color:#8fa2b1;font-size:.68rem;letter-spacing:.04em}
.hero-foot span:not(:first-child){padding-left:12px}.hero-foot span:last-child{border-right:0}
.journey-end{display:grid;grid-template-columns:auto 1fr auto 1fr auto;gap:24px;align-items:center;width:var(--shell);margin:0 auto;padding:27px 0;border-top:1px solid #2e4252;color:#8193a1;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}
.journey-end i{height:1px;background:#43515b}

/* Positioning */
.positioning{background:var(--color-surface)}
.positioning-layout{display:block}
.positioning-statement{max-width:1120px}
.positioning-statement h2{max-width:1080px;margin:0;font-size:clamp(2.7rem,4.5vw,4.9rem);font-weight:500;letter-spacing:-.05em;line-height:1.02}
.positioning-statement>p{max-width:720px;margin:34px 0 0;color:var(--color-muted);font-size:1.12rem;line-height:1.65}
.comparison{display:grid;grid-template-columns:1fr 1fr;margin-top:72px;border:1px solid var(--color-border)}
.comparison article{padding:46px 44px;background:#edf2f5}
.comparison .comparison-equilibrium{color:var(--color-text-light);background:var(--color-deep)}
.comparison h3{margin:0;font-size:1.15rem;font-weight:500}.comparison-equilibrium h3{color:var(--color-accent)}
.comparison-equilibrium li{border-color:#34495a;color:#d4e0e8}
.comparison ul{margin:30px 0 0;list-style:none;border-top:1px solid var(--color-border)}
.comparison li{padding:14px 0;border-bottom:1px solid var(--color-border);font-size:.94rem}

/* Architectural model */
.building-stage{position:relative;width:100%;min-height:700px;display:flex;flex-direction:column;justify-content:center;isolation:isolate}
.building-stage::before{content:"";position:absolute;z-index:-1;inset:15% 2% 12%;border-radius:50%;background:radial-gradient(circle at 54% 54%,rgba(94,214,255,.15),rgba(54,119,181,.06) 38%,transparent 72%);filter:blur(25px);opacity:.45;transform:scale(.88);transition:opacity 600ms ease,transform 850ms cubic-bezier(.2,.7,.2,1),background 650ms ease}
.building-stage[data-state="observe"]::before{opacity:.78;transform:scale(1);background:radial-gradient(circle at 54% 54%,rgba(93,227,244,.24),rgba(46,123,173,.08) 42%,transparent 72%)}
.building-stage[data-state="optimise"]::before{opacity:.82;transform:scale(1.06);background:radial-gradient(circle at 51% 50%,rgba(94,190,255,.25),rgba(61,95,210,.1) 42%,transparent 73%)}
.building-stage[data-state="act"]::before{opacity:.74;transform:scale(1.02);background:radial-gradient(circle at 58% 46%,rgba(102,221,255,.23),rgba(42,102,190,.09) 41%,transparent 72%)}
.building-stage[data-state="improve"]::before{opacity:.86;transform:scale(1.1);background:radial-gradient(circle at 54% 52%,rgba(100,230,224,.25),rgba(63,142,184,.09) 44%,transparent 74%)}
.motion-ready .building-stage{opacity:0;clip-path:inset(8% 0 8%);transition:opacity 800ms ease,clip-path 1000ms cubic-bezier(.2,.7,.2,1)}.motion-ready .building-journey.has-entered .building-stage{opacity:1;clip-path:inset(0)}
.building-stage__model{width:100%;height:min(70vh,700px);overflow:visible;transform:translateY(var(--building-shift,0));will-change:transform}
.site-plane{fill:#11161d;stroke:#28323b;stroke-width:1}.site-paving{fill:#171e26;stroke:#3d4852;stroke-width:1}.site-lines{fill:none;stroke:#29343e;stroke-width:1;opacity:.55}.walkway{fill:#202b34;stroke:#4b5963;stroke-width:1}
.landscape path:first-child{fill:none;stroke:#69747b;stroke-width:3}.landscape path:last-child{fill:#253b3b;stroke:#55716e;stroke-width:1}
.building-mass{filter:none}.building-roof{fill:#3b4650;stroke:#7e8992;stroke-width:1.4}.facade-side{fill:#1d2832;stroke:#78848e;stroke-width:1.4}.facade-front{fill:#202c36;stroke:#84909a;stroke-width:1.4}
.interior-level{fill:#303b45;stroke:#697681;stroke-width:1;opacity:.74;transition:fill 350ms ease,stroke 350ms ease,opacity 350ms ease}.floor-edge{fill:none;stroke:#7f8a94;stroke-width:2}
.glass-panel{fill:#2e4451;stroke:#70828d;stroke-width:.8;opacity:.66;transition:fill 350ms ease,stroke 350ms ease,opacity 350ms ease}.side-glass{fill:#293b45;stroke:#667985;stroke-width:.8;opacity:.64;transition:fill 350ms ease,stroke 350ms ease,opacity 350ms ease}
.facade-mullions,.facade-spandrels,.vertical-fins{fill:none;stroke:#778590;stroke-width:1}.vertical-fins{stroke-width:2.2}
.office-detail{opacity:.55}.desks path:first-child,.desks path:nth-child(2){fill:#3f4d56;stroke:#7b878f;stroke-width:.8}.desks path:last-child{fill:none;stroke:#7b878f;stroke-width:1}.meeting-room path:first-child{fill:#293943;stroke:#778791;stroke-width:1}.meeting-room path:last-child{fill:#334a55;stroke:#718590;stroke-width:.8}
.entrance-glass{fill:#405b68;stroke:#9ba8ae;stroke-width:1}.entrance-frame{fill:none;stroke:#abb4b9;stroke-width:1.2}.entrance-step{fill:#3a464d;stroke:#7f8c93;stroke-width:1}
.roof-plant .plant-top{fill:#68737b;stroke:#a1aab0;stroke-width:1}.roof-plant .plant-front{fill:#46535c;stroke:#909aa1;stroke-width:1}.roof-plant .plant-side{fill:#3b4851;stroke:#89949b;stroke-width:1}.roof-plant .plant-detail{fill:none;stroke:#b2bbc0;stroke-width:1}.roof-plant circle{fill:none;stroke:#c2c8cc;stroke-width:1}.roof-plant>path:last-child{fill:none;stroke:#c2c8cc;stroke-width:1}
.service-core path:first-child{fill:#303943;stroke:#73808a;stroke-width:1}.service-core path:nth-child(2){fill:#39454e;stroke:#7d8992;stroke-width:1}.service-core path:last-child{fill:none;stroke:#7f8c94;stroke-width:1}
.sensor-node{opacity:0;transition:opacity 250ms ease}.sensor-dot{fill:#61717d;transition:fill 250ms ease}
.sensor-pulse{fill:none;stroke:var(--color-accent);stroke-width:1;opacity:0;transform-box:fill-box;transform-origin:center}
.data-link{fill:none;stroke:#52616d;stroke-width:1.4;stroke-dasharray:5 8;opacity:0;transition:opacity 250ms ease,stroke 250ms ease}
.local-node,.existing-control,svg .control-path{opacity:0;transition:opacity 250ms ease}
.local-node rect,.existing-control rect{fill:#1c232c;stroke:#61707d;stroke-width:1.2;transition:fill 250ms ease,stroke 250ms ease}
.local-node circle{fill:#66737f}.local-node path,.existing-control path{fill:none;stroke:#66737f;stroke-width:1.2}
.local-node text,.existing-control text{font-family:"Kanit",sans-serif;font-size:8.5px;letter-spacing:1.05px}.local-node text{fill:var(--color-accent)}.existing-control text{fill:#aeb8c0}
.control-path path{fill:none;stroke:#586774;stroke-width:1.5;stroke-dasharray:6 8;opacity:.22}.control-path circle{fill:#586774;opacity:.22}
.building-stage__readout{display:grid;grid-template-columns:minmax(110px,.42fr) 1fr;gap:20px;align-items:center;padding:13px 0;border-top:1px solid #38404b;color:#94a1ad;font-size:.72rem}
.building-stage__readout>span{color:#7f8d98}.building-stage__readout p{display:flex;gap:16px;align-items:baseline;margin:0}.building-stage__readout strong{color:var(--color-text-light);font-size:1.3rem;font-weight:500}.building-stage__readout p span{padding-left:16px;border-left:1px solid #38404b}
.building-stage__readout[data-react-mounted="true"] .react-readout__content{animation:react-readout-in 220ms ease both}
.building-stage[data-state="observe"] .sensor-node,.building-stage[data-state="understand"] .sensor-node{opacity:1}
.building-stage[data-state="observe"] .level-3,.building-stage[data-state="understand"] .level-3{fill:#315657;stroke:var(--color-accent);opacity:1}
.building-stage[data-state="observe"] .glass-3,.building-stage[data-state="understand"] .glass-3,.building-stage[data-state="observe"] .side-3,.building-stage[data-state="understand"] .side-3{fill:#315b61;stroke:var(--color-accent);opacity:.82}
.building-stage[data-state="observe"] .sensor-dot,.building-stage[data-state="understand"] .sensor-dot{fill:var(--color-accent)}
.building-stage[data-state="observe"] .sensor-pulse,.building-stage[data-state="understand"] .sensor-pulse{animation:sensor-ring 2.4s ease-out infinite}
.building-stage[data-state="understand"] .data-link{stroke:var(--color-accent);opacity:.65;animation:data-route 3s linear infinite}
.building-stage[data-state="optimise"] .sensor-node{opacity:.48}.building-stage[data-state="optimise"] .local-node{opacity:1}.building-stage[data-state="optimise"] .local-node rect,.building-stage[data-state="optimise"] .service-core path:nth-child(2){fill:#214245;stroke:var(--color-accent)}
.building-stage[data-state="optimise"] .data-link{stroke:var(--color-accent);opacity:.7;animation:data-route 2s linear infinite}
.building-stage[data-state="act"] .local-node,.building-stage[data-state="act"] .existing-control,.building-stage[data-state="act"] svg .control-path{opacity:1}.building-stage[data-state="act"] .local-node rect{fill:#214245;stroke:var(--color-accent)}.building-stage[data-state="act"] .existing-control rect{stroke:#b5c0c7}.building-stage[data-state="act"] .roof-plant .plant-front{stroke:var(--color-accent)}
.building-stage[data-state="act"] .control-path path{stroke:var(--color-accent);opacity:1;animation:data-route 2s linear infinite}.building-stage[data-state="act"] .control-path circle{fill:var(--color-accent);opacity:1}
.building-stage[data-state="improve"] .sensor-node{opacity:1}.building-stage[data-state="improve"] .interior-level{fill:#304d50;stroke:#6bbdb7;opacity:.9}.building-stage[data-state="improve"] .glass-panel,.building-stage[data-state="improve"] .side-glass{fill:#31515a;stroke:#68aaa7;opacity:.76}.building-stage[data-state="improve"] .sensor-dot{fill:var(--color-accent)}
.story-step h2{max-width:600px;margin:0 0 24px;font-size:clamp(2.4rem,3.3vw,3.7rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.story-step>p:not(.micro-label){max-width:590px;margin:0;color:#aeb9c3;font-size:1.04rem}
.story-step ul{display:flex;flex-wrap:wrap;gap:8px 24px;margin:34px 0 0;list-style:none;color:#7f8d98;font-size:.77rem}

/* Retrofit */
.retrofit{background:var(--color-surface-blue)}
.retrofit-heading{display:block}
.retrofit-heading h2{margin:0;font-size:clamp(3rem,5vw,5.5rem);font-weight:500;letter-spacing:-.055em;line-height:.96}
.retrofit-heading>p{max-width:720px;margin:28px 0 0;color:var(--color-slate);font-size:1.15rem}
.control-path{margin-top:68px;border:1px solid #aabdc8;background:var(--color-surface)}
.control-path__row{display:grid;grid-template-columns:150px auto minmax(30px,1fr) auto minmax(30px,1fr) auto;gap:18px;align-items:center;min-height:102px;padding:24px 30px;border-bottom:1px solid var(--color-border)}
.control-path__row.after-path{grid-template-columns:150px auto minmax(22px,1fr) auto minmax(22px,1fr) auto minmax(22px,1fr) auto;background:var(--color-ice)}
.control-path__row>span{color:var(--color-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.control-path__row strong{font-size:.9rem;font-weight:500;white-space:nowrap}
.control-path__row i{height:1px;background:#91a5b1;position:relative}
.control-path__row i::after{content:"";position:absolute;top:-3px;right:0;width:7px;height:7px;border-top:1px solid #718994;border-right:1px solid #718994;transform:rotate(45deg)}
.motion-ready .control-path[data-reveal] .control-path__row i{transform:scaleX(0);transform-origin:left;transition:transform 700ms cubic-bezier(.2,.7,.2,1) 250ms}.motion-ready .control-path[data-reveal].is-visible .control-path__row i{transform:scaleX(1)}
.control-boundary{display:grid;grid-template-columns:1fr 1fr}
.control-boundary p{margin:0;padding:18px 30px;color:var(--color-muted);font-size:.78rem}
.control-boundary p:first-child{border-right:1px solid var(--color-border)}
.control-boundary span{margin-right:14px;color:var(--color-accent-dark);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.retrofit-notes{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border-top:1px solid #aabdc8}
.retrofit-notes span{padding:13px 0;border-right:1px solid #aabdc8;color:var(--color-slate);font-size:.75rem}
.retrofit-notes span:not(:first-child){padding-left:18px}.retrofit-notes span:last-child{border-right:0}

/* Intelligence */
.intelligence{color:var(--color-text-light);background:var(--color-deep-2)}
.intelligence-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.intelligence-copy h2{max-width:680px;margin:0 0 28px;font-size:clamp(2.8rem,4.6vw,4.9rem);font-weight:500;letter-spacing:-.055em;line-height:.98}
.intelligence-copy>p{max-width:620px;margin:0;color:#b6c7d2;font-size:1.05rem}
.input-field{position:relative;min-height:540px}
.input-field svg{position:absolute;inset:40px 0 0;width:100%;height:520px}.input-field svg path{fill:none;stroke:#39536a;stroke-width:1;stroke-dasharray:5 8}
.motion-ready .input-field[data-reveal] svg path{stroke-dasharray:520;stroke-dashoffset:520;transition:stroke-dashoffset 1.2s cubic-bezier(.2,.7,.2,1) 250ms}.motion-ready .input-field[data-reveal].is-visible svg path{stroke-dashoffset:0}
.input-node{position:absolute;z-index:2;display:grid;place-items:center;min-width:112px;min-height:45px;padding:8px 13px;border:1px solid #39536a;border-radius:4px;background:var(--color-deep-2);color:#b6c6d1;font-size:.75rem}
.input-centre{top:232px;left:50%;width:128px;height:78px;transform:translateX(-50%);border-color:var(--color-accent);background:#1e3b50;color:var(--color-text-light)}
.input-centre span{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em}.input-centre strong{font-size:1.35rem;font-weight:500}
.input-1{top:55px;left:8%}.input-2{top:5px;left:42%}.input-3{top:38px;right:3%}.input-4{top:236px;right:0}.input-5{right:4%;bottom:46px}.input-6{bottom:4px;left:40%}.input-7{bottom:50px;left:4%}.input-8{top:235px;left:0}
.input-node:not(.input-centre){transition:border-color 240ms ease,color 240ms ease}

/* Outcomes */
.outcomes{background:var(--color-surface)}
.outcomes-top{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:start}
.outcome-principle h2{max-width:760px;margin:0;font-size:clamp(2.7rem,4vw,4.4rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.outcome-copy{align-self:end;padding:24px;border:1px solid var(--color-border);background:#edf3f6}
.outcome-copy>p:last-child{max-width:510px;margin:26px 0 0;color:var(--color-muted);font-size:.88rem}
.outcome-target{display:grid;gap:8px;margin:0;line-height:1.2}
.outcome-target span{color:var(--color-muted);font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}
.outcome-target strong{color:var(--color-accent-dark);font-size:clamp(2.35rem,3.4vw,3.7rem);font-weight:500;letter-spacing:-.05em}
.outcome-lines{display:grid;grid-template-columns:repeat(4,1fr);margin-top:72px;border-top:1px solid var(--color-border)}
.outcome-lines article{min-height:176px;padding:24px 24px 0 0;border-right:1px solid var(--color-border)}
.outcome-lines article:not(:first-child){padding-left:24px}.outcome-lines article:last-child{border-right:0}
.outcome-lines h3{margin:0 0 12px;font-size:1.45rem;font-weight:500}.outcome-lines p{margin:0;color:var(--color-muted);font-size:.84rem}

/* Reliability */
.reliability{color:var(--color-text-light);background:var(--color-ink)}
.reliability-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:110px}
.reliability h2{margin:0 0 28px;font-size:clamp(2.8rem,4.6vw,5rem);font-weight:500;letter-spacing:-.055em;line-height:.97}
.reliability-layout>div>p{max-width:620px;margin:0;color:#9eabb5}
.fallback-list{margin:0;list-style:none;border-top:1px solid #3c4650}
.fallback-list li{padding:22px 0;border-bottom:1px solid #3c4650}
.fallback-list strong{font-size:1.05rem;font-weight:500}.fallback-list p{max-width:560px;margin:5px 0 0;color:#8f9eaa;font-size:.82rem}

/* Applications */
.applications{background:var(--color-surface)}
.applications-heading{display:block}
.applications-heading h2{max-width:980px;margin:0;font-size:clamp(2.8rem,4.7vw,5rem);font-weight:500;letter-spacing:-.055em;line-height:.98}
.application-list{display:grid;grid-template-columns:1fr 1fr;margin-top:68px;border-top:1px solid var(--color-border)}
.application-list article{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:start;min-height:120px;padding:26px 28px 26px 0;border-bottom:1px solid var(--color-border)}
.application-list article:nth-child(odd){border-right:1px solid var(--color-border)}.application-list article:nth-child(even){padding-left:28px}
.application-list h3{margin:0;font-size:1.4rem;font-weight:500}.application-list p{margin:3px 0 0;color:var(--color-muted);font-size:.86rem}
.application-list article{transition:background-color 160ms ease,color 160ms ease}.application-list article:hover{background:var(--color-ice)}
.applications-note{max-width:760px;margin-top:34px;color:var(--color-muted);font-size:.85rem}

/* BMS ready */
.bms-ready{color:var(--color-text-light);background:var(--color-slate)}
.bms-layout{display:block}
.bms-layout h2{margin:0;font-size:clamp(3rem,5vw,5.5rem);font-weight:500;letter-spacing:-.055em;line-height:.96}
.bms-layout>div:first-child>p{max-width:760px;margin:38px 0 0;color:#d9e5ec;font-size:1.08rem}
.integration-line{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;margin-top:52px;padding-block:24px;border-block:1px solid #607b90}
.integration-line strong{font-size:.86rem;font-weight:500;white-space:nowrap}.integration-line i{height:1px;background:var(--color-accent)}

/* Contact */
.contact{color:var(--color-text-light);background:var(--color-deep)}
.contact-intro .micro-label{color:var(--color-accent)}
.contact-intro h2{max-width:920px;margin:0 0 28px;font-size:clamp(3rem,5vw,5.5rem);font-weight:500;letter-spacing:-.055em;line-height:.96}
.contact-intro>p:last-child{max-width:700px;margin:0;color:#b7c7d2;font-size:1.12rem}
.contact-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;margin-top:68px;padding-top:40px;border-top:1px solid #30485b}
.contact-details>p{margin:0 0 12px;color:#d5e2e9}.contact-details ul{margin:0;list-style:none;border-top:1px solid #30485b}.contact-details li{padding:10px 0;border-bottom:1px solid #30485b;color:#95a8b5;font-size:.82rem}.contact-details a{display:inline-block;margin-top:40px;border-bottom:1px solid #61798a;font-weight:500}
.contact-form-wrap{padding:38px;border:1px solid #d8e1e5;border-radius:8px;background:var(--color-surface);color:var(--color-text)}
.contact-form{display:grid;gap:25px}
.field label{display:block;margin-bottom:7px;color:#46515b;font-size:.78rem;font-weight:500}
.field input,.field textarea{display:block;width:100%;padding:11px 12px;border:1px solid #aebcc5;border-radius:6px;outline:0;background:#fff;color:var(--color-text);transition:border-color 150ms ease,box-shadow 150ms ease}
.field textarea{min-height:160px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--color-accent-dark);box-shadow:0 0 0 3px rgba(120,214,255,.2)}
.field-error input,.field-error textarea{border-color:var(--color-danger)}
.error-text{display:block;margin-top:5px;color:var(--color-danger);font-size:.72rem}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.submit-row{display:flex;gap:24px;align-items:center;justify-content:space-between}
.submit-row p{max-width:270px;margin:0;color:var(--color-muted);font-size:.68rem;text-align:right}
.form-message{margin-bottom:20px;padding:12px 14px;border-left:3px solid var(--color-accent-dark);background:var(--color-ice);font-size:.78rem}.form-message-error{border-color:var(--color-danger);background:#f5e7e6}
.form-message ul{margin:0;list-style:none}

/* Footer */
.site-footer{padding:78px 0 25px;overflow:hidden;isolation:isolate;color:var(--color-text-light);background:radial-gradient(circle at 72% -22%,rgba(62,160,218,.16),transparent 38%),radial-gradient(circle at 14% 110%,rgba(61,91,188,.1),transparent 34%),radial-gradient(circle at 1px 1px,rgba(190,226,244,.04) .7px,transparent .8px),linear-gradient(150deg,#071321,#040b13 68%);background-size:auto,auto,8px 8px,auto}
.footer-main{display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:60px;padding-bottom:76px}
.footer-wordmark{font-size:1.45rem;font-weight:600;letter-spacing:-.03em}.footer-main>p{max-width:430px;margin:3px 0 0;color:#8fa1ae;font-size:.82rem}.footer-main nav{display:flex;justify-content:flex-end;gap:24px;flex-wrap:wrap;font-size:.75rem}.footer-main nav a{color:#adbdc8;transition:color 150ms ease}.footer-main nav a:hover{color:var(--color-accent)}
.footer-meta{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid #283949;color:#778a98;font-size:.68rem}

@keyframes hero-sensor{0%,70%,100%{opacity:.35;transform:scale(.7)}82%{opacity:1;transform:scale(1.7)}}
@keyframes sensor-ring{0%{opacity:.7;transform:scale(.4)}70%,100%{opacity:0;transform:scale(1.4)}}
@keyframes data-route{to{stroke-dashoffset:-39}}
@keyframes react-readout-in{from{opacity:0}to{opacity:1}}
@keyframes atmosphere-breathe{0%{scale:.94}100%{scale:1.04}}
@keyframes surface-drift{0%{transform:translate3d(-5%,-3%,0) rotate(-4deg) scale(1)}100%{transform:translate3d(5%,4%,0) rotate(5deg) scale(1.08)}}

@media (max-width:1180px){
  :root{--shell:min(100% - 56px,1100px)}
  .primary-nav{gap:20px}
  .journey-layout{grid-template-columns:minmax(350px,.9fr) minmax(500px,1.1fr);gap:38px}.journey-hero h1{font-size:clamp(3.8rem,6.8vw,6.3rem)}.building-stage{min-height:620px}.story-step h2{font-size:3.1rem}
  .control-path__row{gap:10px;padding-inline:20px}.control-path__row strong{font-size:.76rem}
  .outcomes-top{grid-template-columns:1fr 1fr;gap:50px}
  .application-list article{grid-template-columns:130px 1fr}
}

@media (max-width:900px){
  :root{--shell:min(100% - 40px,820px);--section-space:100px}
  .nav-toggle{display:grid}.primary-nav{position:absolute;inset:68px 0 auto;min-height:calc(100svh - 68px);display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:34px 20px;background:radial-gradient(circle at 86% 8%,rgba(62,159,215,.16),transparent 34%),linear-gradient(145deg,#091829,#0d263a);opacity:0;visibility:hidden;transition:opacity 160ms ease,visibility 160ms ease}.primary-nav.open{opacity:1;visibility:visible}.primary-nav a{padding:12px 0;border-bottom:0;font-size:1.05rem}.primary-nav .nav-cta{margin-top:20px;text-align:center}
  .journey-layout{grid-template-columns:1fr;gap:0}.journey-visual{grid-column:1;grid-row:1;z-index:3;top:68px;height:43svh;padding:0 20px;background:radial-gradient(circle at 76% 18%,rgba(65,158,215,.14),transparent 38%),linear-gradient(180deg,rgba(7,23,39,.96),rgba(10,33,52,.9));border-bottom:1px solid #30485b;box-shadow:0 18px 36px rgba(4,12,20,.18)}.journey-scenes{position:relative;z-index:2;grid-column:1;grid-row:1;padding:0 20px}.journey-scene{min-height:86svh;padding:52svh 0 64px;opacity:1}.journey-hero{min-height:112svh;padding-top:49svh}.journey-hero h1{max-width:760px;font-size:clamp(3.7rem,9.5vw,5.8rem)}.journey-hero__summary{max-width:650px}.building-stage{min-height:0}.building-stage__model{height:34svh;max-height:470px}.building-stage__readout{padding-block:8px}.journey-end{gap:12px}
  .positioning-statement>p{margin-left:0}.comparison{margin-top:72px}
  .retrofit-heading>p{margin-left:0}.control-path{overflow-x:auto}.control-path__row{min-width:850px}.control-boundary{min-width:700px}.retrofit-notes{grid-template-columns:1fr 1fr}.retrofit-notes span:nth-child(2){border-right:0}.retrofit-notes span:nth-child(n+3){border-top:1px solid #aabdc8}
  .intelligence-layout,.reliability-layout{grid-template-columns:1fr;gap:70px}.input-field{width:min(100%,650px);margin-inline:auto}
  .outcomes-top{grid-template-columns:1fr 1fr}.outcome-copy{grid-column:auto}.outcome-lines{grid-template-columns:1fr 1fr}.outcome-lines article:nth-child(2){border-right:0}.outcome-lines article:nth-child(n+3){border-top:1px solid var(--color-border)}
  .application-list{grid-template-columns:1fr}.application-list article:nth-child(odd){border-right:0}.application-list article:nth-child(even){padding-left:0}
  .integration-line{grid-column:auto}
  .contact-layout{grid-template-columns:1fr;gap:55px}.contact-details{max-width:600px}
  .footer-main{grid-template-columns:1fr 1fr}.footer-main nav{grid-column:1/-1;justify-content:flex-start}
}

@media (max-width:640px){
  :root{--shell:calc(100% - 32px);--section-space:78px}
  body{font-size:16px}.site-header{height:68px}
  .journey-visual{height:34svh;padding-inline:8px}.journey-scenes{padding-inline:16px}.journey-scene{min-height:88svh;padding:42svh 0 54px}.journey-hero{min-height:106svh;padding-top:43svh}.journey-hero h1{font-size:clamp(3.05rem,13.2vw,4.5rem);line-height:.86}.hero-label{font-size:.75rem}.journey-hero__summary{margin-top:22px;font-size:.94rem}.hero-actions{align-items:flex-start;flex-direction:column;margin-top:24px}.hero-foot{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px}.hero-foot span,.hero-foot span:not(:first-child){padding:9px 8px;border-right:1px solid #2e4252;border-bottom:0;text-align:center}.hero-foot span:first-child{padding-left:0;text-align:left}.hero-foot span:last-child{padding-right:0;border-right:0;text-align:right}.building-stage__model{height:26svh}.building-stage__readout{font-size:.66rem}.building-stage__readout strong{font-size:1.05rem}.journey-end{grid-template-columns:1fr;gap:8px}.journey-end i{width:34px}.story-step h2{font-size:clamp(2.35rem,9.6vw,3.1rem);line-height:1}
  .positioning-statement h2,.retrofit-heading h2,.applications-heading h2,.bms-layout h2{font-size:clamp(2.35rem,10vw,3.5rem)}
  .comparison{grid-template-columns:1fr;margin-top:55px}.comparison article{padding:28px 22px}.comparison article+article{border-top:1px solid var(--color-border)}
  .building-stage__readout{grid-template-columns:1fr;gap:4px}.building-stage__readout p{gap:10px}.building-stage__readout p span{padding-left:10px}.local-node text,.existing-control text{display:none}.story-step ul{display:grid}
  .retrofit-heading>p{grid-column:auto}.control-path{margin-top:55px;overflow:visible}.control-path__row,.control-path__row.after-path{grid-template-columns:1fr;min-width:0;gap:9px;padding:22px}.control-path__row i{width:1px;height:22px;margin-left:7px}.control-path__row i::after{display:none}.control-boundary{grid-template-columns:1fr;min-width:0}.control-boundary p{padding:16px 22px}.control-boundary p:first-child{border-right:0;border-bottom:1px solid var(--color-border)}.retrofit-notes{grid-template-columns:1fr}.retrofit-notes span,.retrofit-notes span:not(:first-child){padding:11px 0;border-right:0;border-bottom:1px solid #aabdc8}.retrofit-notes span:last-child{border-bottom:0}
  .intelligence-copy h2,.reliability h2,.contact-intro h2{font-size:clamp(2.4rem,10.2vw,3.6rem)}.input-field{min-height:470px}.input-field svg{top:5px;height:450px}.input-node{min-width:84px;min-height:38px;padding:6px 8px;font-size:.62rem}.input-centre{top:196px;width:104px;height:68px}.input-1{top:45px;left:0}.input-2{top:0;left:37%}.input-3{top:38px;right:0}.input-4{top:198px}.input-5{bottom:40px;right:0}.input-6{bottom:0;left:37%}.input-7{bottom:42px;left:0}.input-8{top:198px}
  .outcomes-top{grid-template-columns:1fr}.outcome-copy{grid-column:auto}.outcome-principle h2{font-size:clamp(2.35rem,9.8vw,3.4rem)}.outcome-lines{grid-template-columns:1fr;margin-top:52px}.outcome-lines article,.outcome-lines article:not(:first-child){min-height:0;padding:22px 0 28px;border-right:0;border-top:1px solid var(--color-border)}.outcome-lines article:first-child{border-top:0}
  .reliability-layout{gap:55px}
  .application-list{margin-top:52px}.application-list article{grid-template-columns:1fr;gap:6px;min-height:0;padding:22px 0}.application-list article h3{font-size:1.35rem}.application-list article p{grid-column:auto}
  .integration-line{grid-column:auto;grid-template-columns:1fr;gap:13px}.integration-line i{width:1px;height:36px}.integration-line strong{white-space:normal}
  .contact-layout{margin-top:55px}.contact-form-wrap{padding:25px 18px}.submit-row{align-items:flex-start;flex-direction:column}.submit-row p{text-align:left}
  .footer-main{grid-template-columns:1fr;gap:28px}.footer-main nav{grid-column:auto}.footer-meta{align-items:flex-start;flex-direction:column;gap:8px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .motion-ready [data-reveal]{opacity:1;filter:none;transform:none}
  .intro-curtain{height:100svh}.intro-curtain h1{opacity:1;filter:none}.motion-ready .journey-scene{opacity:1}.building-stage__model{transform:none}.motion-ready .building-stage{opacity:1;clip-path:none}
}

/* Restrained editorial direction */
.intro-cue{position:absolute;bottom:34px;left:50%;color:#768a99;font-family:ui-monospace,"SFMono-Regular",Consolas,monospace;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:var(--intro-word-opacity,1);transform:translateX(-50%)}
.building-journey{background:radial-gradient(circle at 72% 22%,rgba(64,145,207,.12),transparent 32%),radial-gradient(circle at 1px 1px,rgba(183,225,246,.035) .7px,transparent .8px),linear-gradient(138deg,rgba(5,15,26,.9),rgba(11,35,55,.72) 52%,rgba(6,20,34,.9));background-size:auto,8px 8px,auto}
.journey-grid,.journey-end{display:none}
.journey-layout{border-inline:0}
.journey-scenes{padding-left:0}
.journey-scene{min-height:68vh;padding-block:72px;border-top:0}
.journey-hero{min-height:100svh;padding-top:112px}
.journey-hero h2{max-width:720px;margin:20px 0 0;font-size:clamp(4rem,6.4vw,6.8rem);font-weight:500;letter-spacing:-.07em;line-height:.82}
.building-stage__readout{border-top:0}
.building-stage__readout p span{padding-left:0;border-left:0}
.story-step h2{margin-bottom:24px}
.story-step>p:not(.micro-label){max-width:560px}

.editorial-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.65fr);gap:clamp(70px,10vw,150px);align-items:start}
.editorial-layout h2,.statement-layout h2,.outcome-layout h2{margin:0;font-size:clamp(2.8rem,4.8vw,5.2rem);font-weight:500;letter-spacing:-.055em;line-height:1}
.editorial-copy{padding-top:8px}
.editorial-copy p,.statement-layout>p,.outcome-layout>div>p{margin:0;color:var(--color-muted);font-size:1.06rem;line-height:1.75}
.editorial-copy p+p{margin-top:28px}

.explanation{background:radial-gradient(circle at 12% 18%,rgba(92,207,250,.19),transparent 34%),radial-gradient(circle at 84% 76%,rgba(91,119,211,.11),transparent 31%),radial-gradient(circle at 1px 1px,rgba(40,85,112,.07) .65px,transparent .75px),linear-gradient(125deg,rgba(249,251,252,.94),rgba(228,240,247,.82));background-size:auto,auto,7px 7px,auto}
.retrofit-statement{background:radial-gradient(circle at 78% 24%,rgba(85,184,228,.2),transparent 34%),radial-gradient(circle at 18% 86%,rgba(78,111,205,.1),transparent 30%),radial-gradient(circle at 1px 1px,rgba(40,85,112,.065) .65px,transparent .75px),linear-gradient(145deg,rgba(224,238,245,.9),rgba(241,248,251,.8) 58%,rgba(216,233,242,.86));background-size:auto,auto,7px 7px,auto}
.statement-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.6fr);gap:clamp(70px,10vw,150px);align-items:end}
.statement-layout>p{color:var(--color-slate)}

.outcome{color:var(--color-text-light);background:radial-gradient(circle at 78% 22%,rgba(72,176,235,.2),transparent 34%),radial-gradient(circle at 1px 1px,rgba(196,229,246,.045) .7px,transparent .8px),linear-gradient(125deg,rgba(8,23,38,.94),rgba(20,49,72,.8) 54%,rgba(9,27,44,.92));background-size:auto,8px 8px,auto}
.outcome-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.55fr);gap:clamp(80px,11vw,170px);align-items:end}
.outcome-layout h2{max-width:790px}
.outcome-layout>div>p{max-width:650px;margin-top:32px;color:#aebfcc}
.outcome-figure{margin:0;padding-bottom:8px}
.outcome-figure strong{display:block;color:var(--color-accent);font-size:clamp(3rem,5vw,5.4rem);font-weight:500;letter-spacing:-.06em;line-height:1}
.outcome-figure .outcome-prefix,.outcome-figure .outcome-number,.outcome-figure .outcome-symbol{display:inline;margin:0;color:inherit;font:inherit;line-height:inherit}
.outcome-figure .outcome-caption{display:block;max-width:320px;margin-top:18px;color:#aebfcc;font-size:.8rem;line-height:1.6}

.fit{background:radial-gradient(circle at 88% 18%,rgba(86,197,239,.17),transparent 30%),radial-gradient(circle at 12% 82%,rgba(91,119,211,.1),transparent 31%),radial-gradient(circle at 1px 1px,rgba(40,85,112,.07) .65px,transparent .75px),linear-gradient(135deg,rgba(247,250,252,.94),rgba(226,238,245,.82));background-size:auto,auto,7px 7px,auto}

.contact{background:radial-gradient(circle at 18% 18%,rgba(58,155,214,.16),transparent 31%),radial-gradient(circle at 82% 72%,rgba(54,90,190,.1),transparent 34%),radial-gradient(circle at 1px 1px,rgba(196,229,246,.04) .7px,transparent .8px),linear-gradient(138deg,rgba(5,18,31,.96),rgba(14,42,62,.84) 58%,rgba(6,20,34,.96));background-size:auto,auto,8px 8px,auto}
.contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(480px,1fr);gap:clamp(70px,9vw,130px);align-items:start;margin-top:0;padding-top:0;border-top:0}
.contact-copy h2{max-width:680px;margin:0;font-size:clamp(2.9rem,4.8vw,5.2rem);font-weight:500;letter-spacing:-.055em;line-height:1}
.contact-copy>p{max-width:610px;margin:32px 0 0;color:#aebfcc;font-size:1.05rem;line-height:1.7}
.contact-form-wrap{padding:0;border:0;background:transparent;color:var(--color-text-light)}
.contact .field label{color:#aebfcc}
.contact .field input,.contact .field textarea{border-color:#385064;background:#132436;color:var(--color-text-light)}
.contact .field input:focus,.contact .field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px rgba(120,214,255,.12)}
.contact .button-dark{background:var(--color-accent);color:var(--color-deep)}
.contact .button-dark:hover{background:#b8eaff}
.contact .submit-row p{color:#8296a6}
.contact .form-message{margin:0 0 28px;padding:14px 16px;border:1px solid #31546a;border-left:3px solid var(--color-accent);border-radius:4px;background:#102b3d;color:#dff6ff;font-size:.82rem;line-height:1.55}
.contact .form-message-success{border-color:#31546a;border-left-color:var(--color-accent);background:#102b3d;color:#dff6ff}
.contact .form-message-error{border-color:#6f3948;border-left-color:#d16b7c;background:#291c27;color:#ffdce2}
.contact .form-message ul{margin:0;padding:0;list-style:none}
.contact .field-error input,.contact .field-error textarea{border-color:#c56374}
.contact .error-text{color:#f0a2ad}

/* Material surface treatment */
:is(.building-journey,.explanation,.retrofit-statement,.outcome,.fit,.team,.contact){overflow:clip;isolation:isolate}
:is(.building-journey,.explanation,.retrofit-statement,.outcome,.fit,.team,.contact)>.shell,.site-footer>.shell{position:relative;z-index:1}
.building-journey>.journey-layout,.team>.team-sticky{z-index:1}
:is(.building-journey,.explanation,.retrofit-statement,.outcome,.fit,.team,.contact)::after,.site-footer::after{content:"";position:absolute;z-index:0;inset:0;pointer-events:none;background:url("../images/surface-noise.5f06c8d98f84.svg") repeat;background-size:180px 180px;opacity:.2;mix-blend-mode:soft-light}
:is(.building-journey,.outcome,.contact)::after,.site-footer::after{opacity:.28}
:is(.explanation,.retrofit-statement,.fit,.team)::before{content:"";position:absolute;z-index:0;inset:-38%;pointer-events:none;background:conic-gradient(from 118deg at 50% 50%,transparent 0 16%,rgba(137,225,255,.2) 23%,transparent 31% 57%,rgba(93,118,216,.13) 66%,transparent 75%);filter:blur(58px);opacity:.56;animation:surface-drift 24s ease-in-out infinite alternate paused}
:is(.building-journey,.outcome,.contact)::before,.site-footer::before{content:"";position:absolute;z-index:0;inset:-42%;pointer-events:none;background:conic-gradient(from 132deg at 50% 50%,transparent 0 17%,rgba(77,192,242,.13) 24%,transparent 33% 59%,rgba(65,91,211,.1) 68%,transparent 77%);filter:blur(66px);opacity:.62;animation:surface-drift 28s ease-in-out infinite alternate-reverse paused}
:is(.building-journey,.explanation,.retrofit-statement,.outcome,.fit,.team,.contact).surface-motion-active::before,.site-footer.surface-motion-active::before{animation-play-state:running;will-change:transform}

@media (max-width:900px){
  .journey-layout{grid-template-columns:1fr}
  .journey-visual{height:43svh}
  .journey-scene{min-height:86svh;padding:52svh 0 64px}
  .journey-hero{min-height:112svh;padding-top:49svh}
  .journey-hero h2{font-size:clamp(3.7rem,9.5vw,5.8rem)}
  .editorial-layout,.statement-layout,.outcome-layout,.contact-layout{grid-template-columns:1fr;gap:52px}
  .editorial-copy,.statement-layout>p,.outcome-figure{max-width:680px}
  .contact-form-wrap{max-width:680px}
}

@media (max-width:640px){
  .intro-cue{bottom:24px}
  .hero-label{display:none}
  .journey-visual{height:34svh}
  .journey-scene{min-height:88svh;padding:42svh 0 54px}
  .journey-hero{min-height:106svh;padding-top:43svh}
  .journey-hero h2{font-size:clamp(3.05rem,13.2vw,4.5rem);line-height:.86}
  .journey-hero__summary{margin-top:22px;font-size:.94rem}
  .hero-actions{margin-top:24px}
  .editorial-layout h2,.statement-layout h2,.outcome-layout h2,.contact-copy h2{font-size:clamp(2.35rem,10vw,3.5rem)}
  .editorial-layout,.statement-layout,.outcome-layout,.contact-layout{gap:38px}
  .editorial-copy p,.statement-layout>p,.outcome-layout>div>p,.contact-copy>p{font-size:1rem;line-height:1.7}
  .outcome-figure strong{font-size:3.35rem}
  .contact-form-wrap{padding:0}
}

/* Team sequence */
.team{position:relative;height:calc(100svh + var(--team-scroll-distance,1400px));overflow:clip;background:radial-gradient(circle at 18% 18%,rgba(91,205,245,.18),transparent 31%),radial-gradient(circle at 82% 76%,rgba(86,115,207,.1),transparent 34%),radial-gradient(circle at 1px 1px,rgba(40,85,112,.065) .65px,transparent .75px),linear-gradient(132deg,rgba(228,240,246,.92),rgba(245,249,251,.82) 48%,rgba(216,233,242,.88));background-size:auto,auto,7px 7px,auto}
.team-sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:96px 0 64px}
.team-heading{flex:none}
.team-heading h2{max-width:820px;margin:0;font-size:clamp(2.8rem,4.8vw,5.2rem);font-weight:500;letter-spacing:-.055em;line-height:1}
.team-viewport{flex:none;overflow:hidden;margin-top:64px}
.team-track{display:flex;gap:28px;width:max-content;transform:translate3d(var(--team-x,0),0,0);will-change:transform}
.team-member{width:clamp(300px,38vw,500px)}
.team-photo{display:block;width:min(70%,320px);aspect-ratio:1;margin:0 0 28px;border:1px solid rgba(62,105,133,.12);border-radius:50%;background:#cddde6}
.team-member h3{margin:0;font-size:clamp(1.35rem,2vw,2rem);font-weight:500;letter-spacing:-.035em}

@media (max-width:900px){
  .team-sticky{padding-top:88px}
  .team-heading h2{font-size:clamp(2.5rem,7vw,4rem)}
  .team-viewport{margin-top:54px}
  .team-member{width:clamp(280px,72vw,440px)}
}

@media (max-width:640px){
  .team-sticky{padding:84px 0 44px}
  .team-heading h2{font-size:clamp(2.35rem,10vw,3.5rem)}
  .team-viewport{margin-top:44px}
  .team-track{gap:20px}
  .team-member{width:74vw}
  .team-photo{width:76%;margin-bottom:22px}
  .team-member h3{font-size:1.45rem}
}

@media (prefers-reduced-motion:reduce){
  .atmosphere-field{animation:none}
  .atmosphere-field{transform:none!important}
  .team{height:auto}
  .team-sticky{position:relative;height:auto;min-height:100svh}
  .team-viewport{overflow-x:auto}
  .team-track{transform:none}
}
