:root{--forest:#101b19;--forest-deep:#0a1311;--forest-soft:#192925;--sage:#b4cec1;--sage-bright:#c7e2d3;--sage-dark:#446656;--silver:#edf0eb;--paper:#f2f3ee;--ink:#172c25;--muted:#657168;--line:#d4dbd3;--white:#f8faf6;--font:Arial,"Helvetica Neue",sans-serif;--body:"Segoe UI",Arial,sans-serif;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--wrap:1280px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font-family:var(--body);font-size:16px;line-height:1.65;background:var(--forest);color:var(--white);-webkit-font-smoothing:antialiased}
body,button,a{-webkit-tap-highlight-color:transparent}
::selection{color:var(--forest);background:var(--sage)}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer}
button,a,summary{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #81b3cc;outline-offset:6px}
button:disabled{cursor:default}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--font);font-weight:500;line-height:1.08;letter-spacing:-.048em}
em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.055em}
h2{font-size:clamp(2.4rem,3.9vw,3.65rem)}
p{font-size:1.0625rem;line-height:1.7}
.wrap{width:calc(100% - 128px);max-width:var(--wrap);margin-inline:auto}
.section-pad{padding:112px 0}
.eyebrow{font-family:var(--mono);font-size:.75rem;font-weight:500;letter-spacing:.13em;color:var(--sage);line-height:1.55;margin-bottom:25px}
.eyebrow.ink{color:var(--sage-dark)}
.tiny-rule{display:inline-block;vertical-align:middle;width:30px;height:1px;background:currentColor;margin-right:12px}
.skip-link{position:fixed;left:20px;top:12px;transform:translateY(-150%);z-index:100;padding:10px 20px;background:var(--white);color:var(--forest)}
.skip-link:focus{transform:none}
.site-header{position:absolute;inset:0 0 auto;z-index:30;display:flex;align-items:center;gap:32px;height:112px;padding:12px 4.45%;border-bottom:1px solid #ffffff1c;transition:background .25s,box-shadow .25s}
.brand{display:block;width:224px;flex-shrink:0}
.brand img{width:100%;height:auto}
.desktop-nav{display:flex;justify-content:center;gap:34px;align-items:center;margin-left:auto}
.desktop-nav a{position:relative;color:#e4e9e5;font-size:.875rem;font-weight:500;line-height:1.4;padding:10px 0}
.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--sage);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.desktop-nav a:hover::after{transform:scaleX(1)}
.header-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #b4cec185;padding:10px 19px;font-size:.875rem;line-height:1.4;margin-left:20px;transition:background .2s,color .2s}
.header-contact:hover{color:var(--forest);background:var(--sage)}
.header-contact span{font-size:1.3rem;font-weight:400}
.menu-toggle,.mobile-nav{display:none}
.hero{min-height:850px;min-height:min(880px,100svh);position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:194px 0 160px;background:var(--forest)}
.hero-image{position:absolute;inset:0;z-index:-3;background-image:url('assets/campus-blue-hour.png');background-size:cover;background-position:62% 52%;animation:hero-settle 1.6s ease-out both}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#0b1917e8 0%,#0c1917d0 25%,#0b17167b 48%,#0a16151b 80%),linear-gradient(0deg,#0e1b19e8 0%,transparent 28%,transparent 60%,#0c17144d 100%)}
.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,#bdd0c807 1px,transparent 1px);background-size:calc((100vw - 128px)/6) 100%;background-position:64px 0;pointer-events:none}
.hero-content{position:relative;animation:hero-arrive 1s .15s ease-out both}
.hero .eyebrow{font-size:.75rem;letter-spacing:.13em;margin-bottom:29px;color:#d4e5da}
h1{font-size:clamp(3.6rem,7.2vw,7rem);line-height:1.015;letter-spacing:-.065em;font-weight:500;max-width:920px;text-wrap:balance}
h1 em{color:var(--sage-bright);font-weight:400}
.hero-intro{margin-top:31px;max-width:490px;color:#d8e0d9;font-size:1.0625rem;line-height:1.7;letter-spacing:.003em}
.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px;flex-wrap:wrap}
.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:16px 23px;font-size:.875rem;font-weight:600;line-height:1.3;transition:background .2s,transform .2s}
.button-sage{background:var(--sage);color:#12281f}
.button-sage:hover{background:#d6e9dd;transform:translateY(-2px)}
.button span{font-size:1.35rem;font-weight:400}
.text-link{font-size:.875rem;font-weight:500;display:inline-flex;align-items:center;gap:10px}
.text-link:hover{color:var(--sage-bright)}
.play-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #e8f3ea7a;border-radius:50%;font-size:.5rem;padding-left:2px}
.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;position:absolute;bottom:34px;left:50%;transform:translateX(-50%)}
.location-mark{display:flex;align-items:center;gap:13px;color:#dce6df}
.location-mark svg{width:22px;height:28px;fill:none;stroke:var(--sage);stroke-width:1.1}
.location-mark span{font-family:var(--mono);font-size:.75rem;letter-spacing:.04em;line-height:1.65}
.location-mark strong{font-weight:400;color:#9db8a8}
.hero-caption{display:flex;align-items:center;gap:17px;color:#d9e1da;margin-left:auto;margin-right:50px}
.hero-caption span:last-child{font-size:.8125rem;line-height:1.6}
.caption-line{width:1px;height:32px;background:#b4cec16e}
.scroll-link{font-family:var(--mono);font-size:.75rem;letter-spacing:.1em;display:flex;align-items:center;gap:15px;color:var(--sage)}
.scroll-track{position:relative;height:35px;width:1px;background:#b4cec143;overflow:hidden}
.scroll-track::after{content:"";position:absolute;width:1px;height:14px;background:var(--sage);animation:scroll-tick 2s ease-in-out infinite}
.platform-strip{background:#172722;border-top:1px solid #cfdfd91c;border-bottom:1px solid #cfdfd91c}
.platform-inner{min-height:124px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.platform-label,.platform-foot{font-family:var(--mono);font-size:.75rem;line-height:1.7;letter-spacing:.045em;color:#aabdb2;flex-shrink:0}
.platform-label strong{font-weight:400;color:#d2dfd5}
.platform-foot{color:#80998b;text-align:right;font-size:.75rem}
.platform-name{font-family:var(--font);font-size:1.75rem;letter-spacing:-.045em;color:#d7dfd9;font-weight:500;white-space:nowrap}

.platform-dot{font-family:Arial,sans-serif;font-size:.75rem;vertical-align:super;letter-spacing:0}
.expertise{background:var(--paper);color:var(--ink)}
.expertise-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:86px;align-items:start}
.section-intro h2{font-size:clamp(2.3rem,3.7vw,3.5rem);margin-bottom:26px;line-height:1.12}
.section-intro h2 em{color:var(--sage-dark)}
.section-intro p:not(.eyebrow){color:#5d6a61;max-width:440px;margin-bottom:18px}
.underlined-link{display:inline-flex;align-items:center;gap:28px;font-size:.875rem;font-weight:600;border-bottom:1px solid #647e6d;padding-bottom:9px;margin-top:17px;transition:gap .2s}
.underlined-link:hover{gap:40px}
.service-list{border-top:1px solid #afbbb0}
.service{border-bottom:1px solid #c1ccc1}
.service summary{display:flex;align-items:center;gap:19px;padding:28px 0;cursor:pointer;list-style:none}
.service summary::-webkit-details-marker{display:none}
.service summary::marker{display:none;content:""}
.service-number{color:#708778;align-self:flex-start;font: .75rem/1.5 var(--mono);padding-top:4px}
.service-heading{display:block;font-size:1.38rem;line-height:1.3;letter-spacing:-.03em;font-weight:500}
.service-heading small{display:block;font-size:.875rem;line-height:1.5;font-weight:400;letter-spacing:0;color:#718075;margin-top:7px}
.expand-icon{position:relative;display:block;width:27px;height:27px;flex-shrink:0;margin-left:auto;align-self:flex-start}
.expand-icon::before,.expand-icon::after{content:"";position:absolute;top:13px;left:7px;width:14px;height:1px;background:#456551;transition:transform .2s}
.expand-icon::after{transform:rotate(90deg)}
.service[open] .expand-icon::after{transform:rotate(0deg)}
.service[open] summary{padding-bottom:16px}
.service-detail{padding:0 35px 27px}
.service-detail p{font-size:1rem;line-height:1.65;color:#5c6b60}
.tags{display:flex;gap:7px;flex-wrap:wrap;margin-top:17px}
.tags span{font-size:.75rem;color:#3e5a48;border:1px solid #c5d2c6;padding:4px 9px;line-height:1.4}
.control-section{background:var(--forest);color:var(--silver);position:relative;isolation:isolate}
.control-section::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 40%,#b6d6b70b,transparent 55%)}
.control-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:43px}
.control-heading h2{font-size:clamp(2.4rem,3.6vw,3.5rem);line-height:1.13}
.control-heading em{color:var(--sage)}
.control-heading>p{color:#adbbb1;max-width:315px;font-size:1rem;padding-bottom:7px}
.system-console{--mode-color:#578da6;--mode-color-light:#d7e8ec;color:#1f362a;background:#edf1ea;border:1px solid #d6e1d633;box-shadow:0 35px 90px #0004}
.system-console[data-mode="heating"]{--mode-color:#b07343;--mode-color-light:#f1e2d0}
.system-console[data-mode="economizer"]{--mode-color:#3f8062;--mode-color-light:#dcebe0}
.console-header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 30px;background:#f6f7f1;border-bottom:1px solid #d6dfd4}
.console-title{display:flex;align-items:center;gap:13px}
.console-title strong{font-size:1rem;font-weight:600;line-height:1.4;display:block;letter-spacing:-.02em}
.console-title span:not(.console-symbol){display:block;font-family:var(--mono);font-size:.75rem;letter-spacing:.075em;color:#768779;margin-top:3px}
.console-symbol{display:flex;align-items:center;justify-content:center;background:#e7ede3;border:1px solid #d7e0d2;width:39px;height:39px;font-size:1.6rem;color:#4a6a56;line-height:1}
.example-label{display:flex;align-items:center;gap:7px;font-size:.75rem;color:#6b796d;font-family:var(--mono)}
.example-label>span{height:6px;width:6px;border:1px solid #6c8775;border-radius:50%}
.console-main{display:grid;grid-template-columns:minmax(0,1fr) 240px}
.system-diagram{min-width:0;padding:23px 24px 24px}
.diagram-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:6px}
.system-status{display:flex;gap:7px;align-items:center;font-size:.75rem;color:#45664e;font-family:var(--mono);line-height:1.5}
.system-status>span:first-child{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:#61866a;box-shadow:0 0 0 3px #68897214}
.flow-note{font-family:var(--mono);font-size:.75rem;color:#889589;letter-spacing:.1em;white-space:nowrap}
.flow-note span{font-size:1rem;margin-left:6px}
.diagram-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a3b6a6 transparent}
.ahu-diagram{width:100%;height:auto;overflow:visible}
.svg-label{font:14px var(--mono);fill:#526b59;letter-spacing:.4px}
.svg-small{font:13px var(--mono);fill:#788c7c}
.svg-note{font:14px var(--mono);fill:#718977;letter-spacing:.8px}
.svg-reading{font:500 23px var(--font);fill:#254b37;letter-spacing:-1px}
.duct-shell{fill:url(#duct-fill);stroke:#a9bba9;stroke-width:1.5}
.mix-air{fill:#c1dac82e;transition:fill .5s}
.return-path{fill:none;stroke:#bdcabc;stroke-width:18px}
.return-flow{fill:none;stroke:#648b723d;stroke-width:3px;stroke-dasharray:7 14;animation:flow-line 4s linear infinite}
.air-line{stroke:var(--mode-color);stroke-width:2.3;stroke-dasharray:8 17;opacity:.65;fill:none;animation:flow-line 4s linear infinite;transition:stroke .4s}
.air-line-2{animation-delay:-1.5s;opacity:.36}
.air-arrow{stroke:var(--mode-color);fill:none;stroke-width:2;opacity:.7}
.damper{stroke:#637b66;stroke-width:2}
.damper-blades{transition:transform .6s;transform-origin:164px 151px}
.filter{fill:#e2e9df;stroke:#879d86;stroke-width:1.6}
.filter path:last-child{fill:none;stroke:#879d86;stroke-width:1.2}
.heating-coil,.cooling-coil{stroke:#a8b6a4;stroke-width:3;transition:stroke .5s}
.system-console[data-mode="cooling"] .cooling-coil{stroke:#648ca0}
.system-console[data-mode="heating"] .heating-coil{stroke:#b78152}
.cooled-air{fill:url(#cool-fill);opacity:1;transition:opacity .5s}
.heated-air{fill:url(#heat-fill);opacity:0;transition:opacity .5s}
.system-console[data-mode="heating"] .cooled-air,.system-console[data-mode="economizer"] .cooled-air{opacity:0}
.system-console[data-mode="heating"] .heated-air{opacity:1}
.system-console[data-mode="economizer"] .mix-air{fill:#8fbf9b4d}
.system-console[data-mode="economizer"] .damper-blades{transform:rotate(-33deg)}
.fan-ring{fill:#f1f4ec;stroke:#7e9983;stroke-width:2}
.fan-rotor{transform-origin:633px 151px;animation:fan-spin 4s linear infinite;fill:#779480}
.fan-rotor circle{fill:#486a54}
.system-console[data-mode="heating"] .fan-rotor{animation-duration:4.5s}
.system-console[data-mode="economizer"] .fan-rotor{animation-duration:5s}
.sensor{fill:#e6eee1;stroke:#829e82;stroke-width:1.5}
.mode-selector{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:14px;border-top:1px solid #d1dbcf;margin-top:8px}
.mode-selector>span{font-family:var(--mono);font-size:.75rem;letter-spacing:.07em;color:#6c8171}
.mode-buttons{display:flex;border:1px solid #bccbbb;background:#e7ece2;padding:3px;gap:2px}
.mode-button{border:0;display:flex;align-items:center;justify-content:center;gap:7px;font-size:.8125rem;font-weight:500;line-height:1.4;background:transparent;color:#59715e;padding:9px 12px;transition:background .2s,color .2s}
.mode-button svg{width:15px;height:15px;stroke:currentColor;stroke-width:1.5;fill:none}
.mode-button:hover{background:#d6e3d4;color:#254531}
.mode-button.active{background:#345b44;color:#f1f7ec;box-shadow:0 2px 4px #23442b19}
.telemetry{background:#e4ebdf;border-left:1px solid #ccd9c8;padding:24px 25px 20px}
.telemetry-label{font: .75rem/1.5 var(--mono);color:#667f69;letter-spacing:.065em}
.temperature{display:flex;align-items:flex-start;gap:4px;margin-top:8px;color:#274b34;font-family:var(--font);font-size:3.6rem;line-height:1.1;letter-spacing:-.06em;font-variant-numeric:tabular-nums}
.temperature .degree{font-size:1.4rem;letter-spacing:-.03em;line-height:2}
.setpoint{display:flex;gap:18px;align-items:center;margin-top:10px;color:#6a806c;font-size:.8125rem}
.setpoint strong{font-weight:500;color:#45664c}
.trend-area{margin-top:22px}
.trend-label{font:.75rem/1.5 var(--mono);color:#7a907b;letter-spacing:.045em}
.trend-area svg{margin-top:5px;overflow:visible;width:100%;height:74px}
.trend-grid{stroke:#cad7c4;stroke-width:1;fill:none}
.trend-target{stroke:#a7bca4;stroke-width:1;stroke-dasharray:3 5}
#trend-line{fill:none;stroke:var(--mode-color);stroke-width:2;transition:stroke .5s}
.mode-description{border-top:1px solid #c7d6c1;padding-top:16px;display:flex;gap:8px;align-items:flex-start;margin-top:8px;min-height:84px}
.mode-description p{font-size:.8125rem;line-height:1.55;color:#526c56}
.mode-indicator{display:block;height:6px;width:6px;flex-shrink:0;border-radius:50%;background:var(--mode-color);margin-top:7px}
.console-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 30px;border-top:1px solid #ccd7c8;background:#eaf0e5;font-size:.75rem;line-height:1.5;color:#5b765e}
.console-footer span:last-child{font-family:var(--mono);letter-spacing:.095em;color:#799078}
.control-under{display:flex;justify-content:space-between;gap:60px;margin-top:33px;padding-top:6px}
.control-under>p:first-child{color:#c7d4c9;font-size:1rem;line-height:1.6}
.control-under strong{font-weight:400;color:var(--sage)}
.control-under>p:last-child{max-width:465px;font-size:.9375rem;color:#96ab9c;line-height:1.65}
.environments{background:#e5e9df;color:var(--ink)}
.environments-top{display:grid;grid-template-columns:1fr 1.08fr;gap:86px;align-items:start}
.environments-top>.eyebrow{padding-top:9px}
.environments h2 em{color:#5a765c}
.environment-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid #bac8b5}
.environment-grid article{padding:35px 36px 5px;position:relative;border-left:1px solid #bac8b5;display:flex;flex-direction:column}
.environment-grid article:first-child{padding-left:0;border-left:0}
.environment-grid article:last-child{padding-right:0}
.sector-index{font:.75rem/1.5 var(--mono);letter-spacing:.085em;color:#628064}
.environment-grid h3{font-size:2.1rem;line-height:1.16;margin-top:22px;letter-spacing:-.04em}
.environment-grid p{color:#61735f;font-size:1rem;line-height:1.7;margin-top:20px;max-width:335px}
.sector-line{margin-top:32px;display:block;width:34px;height:2px;background:#77957b}
.approach{background:var(--forest-soft);color:var(--white);position:relative;isolation:isolate}
.approach::after{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(90deg,transparent calc(50% - 1px),#a9c8b50a 50%,transparent calc(50% + 1px));pointer-events:none}
.approach-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:86px}
.approach h2{font-size:clamp(2.7rem,4.4vw,4.3rem);line-height:1.1}
.approach h2 em{color:var(--sage)}
.approach-head>p:not(.eyebrow){max-width:410px;margin-top:27px;color:#afc0b2;font-size:1rem;line-height:1.75}
.region-label{margin-top:38px;display:flex;align-items:center;font: .75rem/1.8 var(--mono);color:#91af9c;letter-spacing:.04em;max-width:385px}
.region-label .tiny-rule{flex-shrink:0}
.process-list{list-style:none;padding:0;margin:0}
.process-list li{display:flex;align-items:flex-start;gap:23px;padding:29px 0;border-bottom:1px solid #b5ceb525}
.process-list li:first-child{padding-top:0}
.process-list li:last-child{border-bottom:0;padding-bottom:0}
.process-number{font:.75rem/1.5 var(--mono);color:#7eaa8c;display:flex;flex-shrink:0;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #8caf9033;margin-top:2px}
.process-list h3{font-size:1.32rem;line-height:1.35;letter-spacing:-.025em;font-weight:500;color:#d9e5d9}
.process-list p{font-size:1rem;color:#9fb29f;line-height:1.75;margin-top:9px;max-width:425px}
.contact{background:var(--sage);color:var(--forest);padding:96px 0}
.contact-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:100px;align-items:center}
.contact h2{font-size:clamp(2.6rem,4.2vw,4rem);line-height:1.09}
.contact h2 em{color:#42684e}
.contact p:not(.eyebrow){max-width:475px;margin-top:24px;color:#44634f;font-size:1rem}
.contact-link{display:flex;align-items:flex-start;flex-direction:column;justify-self:end;max-width:100%;border-bottom:1px solid #607f68;padding-bottom:22px}
.contact-arrow{font-size:3.4rem;font-weight:200;line-height:1;color:#294e37;transition:transform .3s}
.contact-cta{display:block;font-size:2rem;font-weight:400;letter-spacing:-.045em;line-height:1.3;margin:15px 0 6px}
.contact-email{font-size:.875rem;line-height:1.5;color:#42664c;overflow-wrap:anywhere}
.contact-link:hover .contact-arrow{transform:translate(6px,-6px)}
.site-footer{background:var(--forest-deep);padding-top:36px;color:#c3d1c6}
.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:27px}
.footer-brand{width:220px;flex-shrink:0}
.footer-brand img{width:100%;height:auto}
.footer-top>div{margin-left:auto;margin-right:auto}
.footer-top p{font-size:.875rem;line-height:1.6}
.footer-top>div>span{font-size:.8125rem;color:#789481}
.back-top{font:.75rem/1.5 var(--mono);letter-spacing:.075em;display:flex;align-items:center;gap:26px}
.back-top span{font-size:1.5rem;color:var(--sage)}
.back-top:hover{color:var(--sage)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;border-top:1px solid #b7c9bb20;color:#8a9e8d;font-size:.75rem;line-height:1.5}
.will-reveal{opacity:0;transform:translateY(20px);transition:opacity .75s ease,transform .75s ease}
.will-reveal.visible{opacity:1;transform:none}
@keyframes hero-settle{from{transform:scale(1.035)}to{transform:scale(1)}}
@keyframes hero-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes scroll-tick{from{transform:translateY(-14px)}to{transform:translateY(42px)}}
@keyframes flow-line{to{stroke-dashoffset:-150}}
@keyframes fan-spin{to{transform:rotate(360deg)}}
@media(min-width:1700px){.hero{min-height:900px}.hero-image{background-position:center 58%}.site-header{padding-inline:max(64px,calc((100% - 1280px)/2))}}
@media(max-width:1190px){.wrap{width:calc(100% - 88px)}.site-header{padding-inline:44px;gap:20px}.brand{width:200px}.desktop-nav{gap:25px}.header-contact{margin-left:5px}.hero{min-height:790px}.hero-grid{background-position:44px 0}.hero h1{font-size:6.6vw}.platform-inner{gap:25px}.platform-foot{display:none}.expertise-layout,.approach-layout,.environments-top{gap:50px}.console-main{grid-template-columns:minmax(0,1fr) 205px}.telemetry{padding:24px 18px}.temperature{font-size:3.3rem}.system-diagram{padding-inline:20px}.mode-selector{align-items:flex-start;flex-direction:column;gap:10px}.mode-buttons{width:100%}.mode-button{flex:1}.control-heading{gap:32px}.control-heading>p{max-width:275px}.contact-layout{gap:65px}.console-header{padding-inline:23px}.environment-grid article{padding-inline:25px}}
@media(max-width:960px){.wrap{width:calc(100% - 64px)}.section-pad{padding:85px 0}.site-header{padding-inline:32px;height:98px;gap:25px}.brand{width:195px}.desktop-nav{gap:19px}.desktop-nav a{font-size:.8125rem}.header-contact{padding:10px 14px;gap:14px}.hero{min-height:770px;padding-top:185px}.hero h1{font-size:clamp(4.4rem,8.3vw,6rem)}.hero-image{background-position:65% center}.hero::before{background:linear-gradient(90deg,#0b1917e8 0%,#0c1917bb 35%,#0b17163b 100%),linear-gradient(0deg,#0e1b19ed,transparent 45%)}.hero-caption{margin-right:20px}.hero-grid{background-position:32px 0}.platform-inner{min-height:105px;gap:20px}.platform-name{font-size:1.45rem}.platform-label{font-size:.75rem}.expertise-layout{gap:38px;grid-template-columns:.9fr 1.1fr}.section-intro h2{font-size:2.65rem}.service-heading{font-size:1.2rem}.service-heading small{font-size:.8125rem}.service summary{gap:14px}.service-detail{padding-left:29px;padding-right:10px}.control-heading{align-items:flex-start;flex-direction:column;gap:20px}.control-heading>p{max-width:470px}.console-main{grid-template-columns:1fr}.telemetry{display:grid;grid-template-columns:1fr 1fr;gap:0 30px;border-left:0;border-top:1px solid #ccd9c8;padding:24px 28px;position:relative}.telemetry-label{grid-column:1;grid-row:1}.temperature{grid-column:1;grid-row:2;font-size:3.3rem}.setpoint{grid-column:1;grid-row:3;margin-top:6px}.trend-area{grid-column:2;grid-row:1/4;margin-top:0}.trend-area svg{height:95px}.mode-description{grid-column:1/-1;min-height:0;margin-top:15px;padding-top:13px}.mode-description p{font-size:.875rem}.mode-selector{flex-direction:row;align-items:center}.mode-buttons{width:auto}.mode-button{flex:none;padding-inline:17px}.system-diagram{padding:22px 27px}.console-header{padding-inline:27px}.environments-top{grid-template-columns:1fr;gap:0}.environments-top .eyebrow{padding:0}.environment-grid{margin-top:42px}.environment-grid h3{font-size:1.7rem}.environment-grid p{font-size:.9375rem}.approach-layout{gap:50px;grid-template-columns:1fr 1fr}.approach h2{font-size:3rem}.process-list h3{font-size:1.2rem}.process-list li{gap:15px}.contact-layout{gap:40px;grid-template-columns:1.1fr 1fr}.contact h2{font-size:2.9rem}.contact-cta{font-size:1.9rem}.footer-bottom{font-size:.75rem}.footer-brand{width:190px}}
@media(max-width:760px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 48px)}.section-pad{padding:68px 0}.site-header{height:96px;padding:10px 24px;gap:15px}.brand{width:198px}.desktop-nav{display:none}.header-contact{margin-left:auto;font-size:.8125rem;padding:8px 12px;gap:18px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;width:34px;height:42px;gap:6px;background:none;border:none;padding:4px;color:var(--white)}.menu-toggle span{width:21px;height:1px;background:currentColor;transition:transform .2s}.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)}.site-header.menu-open{background:#101b19;box-shadow:0 30px 80px #0004}.mobile-nav:not([hidden]){position:absolute;display:flex;top:100%;left:0;right:0;flex-direction:column;padding:18px 24px 28px;background:#101b19;gap:0;border-bottom:1px solid #486253}.mobile-nav a{padding:14px 0;border-bottom:1px solid #ccd9c516;font-size:1.05rem}.hero{min-height:770px;padding:170px 0 156px;justify-content:flex-start}.hero h1{font-size:clamp(3.3rem,8.8vw,4.7rem);line-height:1.04;letter-spacing:-.06em}.hero .eyebrow{font-size:.75rem;letter-spacing:.065em;margin-bottom:23px}.hero-image{background-position:64% center}.hero::before{background:linear-gradient(90deg,#0b1917e8 0%,#0c1917b0 45%,#0b17164d 100%),linear-gradient(0deg,#0e1b19ed,transparent 45%)}.hero-intro{font-size:1rem;line-height:1.75;margin-top:25px;max-width:375px}.hero-actions{gap:23px;margin-top:29px}.button{padding:14px 18px;gap:23px}.text-link{font-size:.8125rem}.hero-bottom{bottom:27px;gap:15px;align-items:flex-end}.hero-caption{display:none}.location-mark span{font-size:.75rem}.scroll-link{font-size:.75rem}.platform-inner{min-height:135px;display:grid;grid-template-columns:1fr 1fr;justify-items:start;padding-block:22px;gap:21px 30px}.platform-label{display:none}.platform-name{font-size:1.65rem}.expertise-layout{grid-template-columns:1fr;gap:37px}.section-intro h2{font-size:clamp(2.6rem,6vw,3.4rem)}.section-intro p:not(.eyebrow){max-width:560px}.service summary{padding:24px 0;gap:18px}.service-heading{font-size:1.3rem}.service-heading small{font-size:.875rem}.service-detail{padding-left:34px;padding-right:8px}.eyebrow{margin-bottom:20px}.control-heading{margin-bottom:30px}.control-heading h2{font-size:clamp(2.5rem,6vw,3.3rem)}.control-heading h2 br{display:none}.control-heading>p{font-size:1rem;max-width:540px}.console-header{padding:19px 20px;align-items:flex-start}.console-title{gap:10px}.console-title strong{font-size:.9375rem}.console-title span:not(.console-symbol){font-size:.75rem;letter-spacing:0}.console-symbol{width:32px;height:34px;font-size:1.4rem}.example-label{font-size:.75rem;gap:5px;max-width:89px;line-height:1.5}.example-label>span{flex-shrink:0}.system-diagram{padding:20px 16px}.flow-note{display:none}.diagram-head{margin-bottom:12px}.diagram-scroll{margin-inline:-16px;padding-inline:8px}.ahu-diagram{min-width:760px;max-width:none}.mode-selector{flex-direction:column;align-items:flex-start;margin-top:15px;gap:12px}.mode-selector>span{font-size:.75rem}.mode-buttons{width:100%}.mode-button{flex:1;padding:10px 9px;font-size:.8125rem;gap:6px}.mode-button svg{width:14px;height:14px}.telemetry{padding:22px 20px;gap:0 20px}.temperature{font-size:3.2rem}.telemetry-label{font-size:.75rem;letter-spacing:.02em}.trend-label{font-size:.75rem;letter-spacing:0}.console-footer{padding:14px 20px;align-items:flex-start;gap:20px;font-size:.75rem}.console-footer span:last-child{font-size:.75rem;letter-spacing:.02em;max-width:100px;text-align:right}.control-under{gap:20px;flex-direction:column;margin-top:26px}.control-under>p:last-child{max-width:560px}.environment-grid{grid-template-columns:1fr;margin-top:32px}.environment-grid article{padding:27px 0 29px;border-left:0;border-bottom:1px solid #bac8b5}.environment-grid article:last-child{border-bottom:0;padding-bottom:0}.environment-grid h3{font-size:1.95rem;margin-top:13px}.environment-grid h3 br{display:none}.environment-grid p{max-width:560px;margin-top:13px;font-size:1rem}.sector-line{margin-top:21px}.environments h2{font-size:2.65rem}.approach-layout{grid-template-columns:1fr;gap:43px}.approach h2{font-size:3.35rem}.approach-head>p:not(.eyebrow){max-width:560px}.region-label{max-width:100%;margin-top:27px}.process-list li{gap:19px;padding:25px 0}.process-list h3{font-size:1.3rem}.process-list p{max-width:560px;font-size:1rem}.contact-layout{grid-template-columns:1fr;gap:30px}.contact h2{font-size:3rem}.contact p:not(.eyebrow){max-width:500px}.contact-link{justify-self:start;width:100%;padding-bottom:17px;position:relative}.contact-arrow{position:absolute;right:0;top:3px;font-size:3rem}.contact-cta{font-size:1.6rem;margin-top:12px}.contact-email{font-size:.875rem;padding-right:25px}.footer-top{flex-wrap:wrap;gap:23px;padding-bottom:25px}.footer-brand{width:195px}.footer-top>div{margin:0 0 0 auto;text-align:right}.back-top{display:none}.footer-bottom{flex-direction:column;align-items:flex-start;gap:9px;padding-block:20px}.footer-bottom span:last-child{max-width:350px}}
@media(max-width:400px){.wrap{width:calc(100% - 36px)}.site-header{padding-inline:18px;gap:10px}.brand{width:175px}.header-contact{padding:8px 10px;gap:10px}.header-contact span{font-size:1rem}.hero{min-height:760px;padding-top:162px}.hero h1{font-size:3.25rem}.hero .eyebrow{font-size:.75rem;letter-spacing:.01em}.hero .tiny-rule{width:18px;margin-right:8px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-intro br{display:none}.location-mark{gap:8px}.scroll-link{gap:10px}.platform-inner{gap:20px 25px}.section-intro h2{font-size:2.45rem}.control-heading h2{font-size:2.45rem}.service-heading{font-size:1.19rem}.service summary{gap:14px}.service-detail{padding-left:29px}.mode-button{font-size:.75rem;padding-inline:7px;gap:4px}.mode-button svg{width:13px;height:13px}.console-header{padding-inline:14px}.example-label{font-size:.75rem;max-width:75px}.console-title span:not(.console-symbol){font-size:.75rem}.telemetry{gap:0 12px;padding-inline:16px}.temperature{font-size:2.9rem}.telemetry-label{font-size:.75rem}.trend-label{font-size:.75rem}.environments h2{font-size:2.45rem}.approach h2{font-size:3rem}.contact h2{font-size:2.65rem}.contact-email{font-size:.8125rem}.footer-top>div{margin:0;text-align:left}.footer-top{gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.will-reveal{opacity:1;transform:none}}
.mode-button{font-size:.875rem}
@media(max-width:400px){.mode-button svg{display:none}}
@media(prefers-contrast:more){.hero::before{background:#101b19e6}.eyebrow,.platform-label,.platform-foot,.platform-name,.hero-intro{color:#e7f3e9}.service-detail p,.section-intro p:not(.eyebrow),.environment-grid p{color:#324536}.footer-bottom,.process-list p{color:#c2d2c4}}

/* GSA's supplied AHU screenshots, preserved with proportional animation overlays. */
.gsa-demo{background:#102330;color:#e8f0f3;border-color:#365465}
.gsa-demo .console-header{background:#112833;border-color:#365465}
.gsa-demo .console-title strong{color:#edf5f0}
.gsa-demo .console-title span:not(.console-symbol),.gsa-demo .example-label{color:#b7c9ce}
.demo-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding:20px 24px;background:#142d3b}
.gsa-demo .mode-selector{margin:0;padding:0;border:0;gap:12px}
.gsa-demo .mode-selector>span{color:#b7c9ce;font-size:.875rem}
.gsa-demo .mode-buttons{background:#0d202b;border-color:#385769}
.gsa-demo .mode-button{color:#d3e2e8;font-size:.875rem;min-height:44px;padding:10px 15px}
.gsa-demo .mode-button:hover{background:#274756;color:#fff}
.gsa-demo .mode-button.active{background:#47685b;color:#fff}
.gsa-demo[data-mode="cooling"] .mode-button.active{background:#2d607f}
.gsa-demo[data-mode="heating"] .mode-button.active{background:#805231}
.demo-view-controls{display:flex;flex-wrap:wrap;gap:10px}
.demo-tool{border:1px solid #547384;color:#e4eef1;background:#183442;font:inherit;font-size:.875rem;padding:10px 13px;min-height:44px;cursor:pointer;border-radius:4px}
.demo-tool:hover{background:#2c4b5b}
.demo-tool:focus-visible,.gsa-demo .mode-button:focus-visible{outline:3px solid #b5d5c6;outline-offset:3px}
.graphic-scroll{width:100%;overflow:auto;background:#102330}
.graphic-stage{position:relative;aspect-ratio:1605/905;width:100%;isolation:isolate}
.demo-screen{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.demo-screen[hidden],.demo-fan[hidden]{display:none}
.demo-fan{position:absolute;z-index:1;pointer-events:none;left:43.6652%;top:41.6056%;width:4.0134%;height:11.3938%;max-width:none}
.graphic-stage[data-mode="heating"] .demo-fan{left:43.7626%;top:41.5597%;width:4.0109%;height:11.3812%}
.graphic-stage[data-mode="economizer"] .demo-fan{left:43.6731%;top:41.5783%;width:4.0084%;height:11.3561%}
.demo-explanation{border-top:1px solid #365465;padding:22px 26px;display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}
.demo-explanation strong{font-size:1rem;color:#e4f0e7;line-height:1.6}
.demo-explanation p{font-size:1rem;line-height:1.65;color:#b6cbd1;max-width:760px}
.graphic-dialog{position:fixed;inset:0;margin:auto;width:calc(100vw - 32px);max-width:1800px;max-height:calc(100dvh - 32px);padding:0;border:1px solid #48667a;background:#102330;color:#e8f0f3;overflow:auto}
.graphic-dialog::backdrop{background:#020d17db}
.graphic-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px}
.graphic-dialog-hint{color:#bbced7;font-size:.875rem;padding:0 20px 15px}
.graphic-dialog .graphic-stage{min-width:1605px}
.graphic-dialog .graphic-scroll{max-height:calc(100dvh - 170px);overflow:auto}
@media(max-width:700px){.demo-toolbar{padding:18px 14px;gap:15px}.gsa-demo .mode-selector{width:100%}.gsa-demo .mode-buttons{width:100%;flex-wrap:wrap}.gsa-demo .mode-button{padding:10px 8px;flex:1;min-width:90px}.demo-view-controls{width:100%}.demo-view-controls .demo-tool{flex:1}.demo-explanation{grid-template-columns:1fr;gap:6px;padding:18px}.graphic-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.graphic-dialog-header{padding:12px}.graphic-dialog-header strong{font-size:.875rem}}

/* The caption follows the full graphic, including its original footer. */
.demo-footer-caption{position:static;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.4em .65em;min-height:54px;padding:14px 18px;background:linear-gradient(#102331,#091720);border-top:1px solid #304e62;color:#bdced7;font-size:.875rem;line-height:1.5;letter-spacing:.025em;text-align:center}
/* Direct contacts for GSA's leadership and engineering team. */
.team-heading{max-width:760px;margin-bottom:42px}
.team-contact .team-heading>p:not(.eyebrow){max-width:680px;line-height:1.7}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.team-card{display:flex;flex-direction:column;min-width:0;padding:28px 22px 24px;background:#eff4ed;border:1px solid #8fad9c;border-radius:3px;box-shadow:0 8px 24px #18392b08}
.team-initials{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:26px;border:1px solid #aac0b0;border-radius:50%;background:#dce8dc;color:#355442;font:500 .9375rem var(--mono);letter-spacing:.04em}
.team-card h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em;color:var(--forest);font-weight:500}
.team-contact .team-role{margin:12px 0 26px;min-height:3.4em;font-size:.9375rem;line-height:1.65;color:#45624e}
.team-role>span{display:block}
.team-email{display:block;margin-top:auto;padding-top:20px;border-top:1px solid #b9cbbd;color:#294d36;border-radius:1px}
.team-email-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:1rem;font-weight:600}
.team-email-label>span{font-size:1.4rem;line-height:1}
.team-email-address{display:block;font-size:.875rem;line-height:1.6;margin-top:9px;overflow-wrap:anywhere;color:#42604b}
.team-email:hover .team-email-label{text-decoration:underline;text-underline-offset:4px}
.team-email:focus-visible{outline:3px solid #365c46;outline-offset:7px}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.team-card{padding:28px}.team-initials{margin-bottom:20px}}
@media(max-width:600px){.team-grid{grid-template-columns:minmax(0,1fr);gap:16px}.team-heading{margin-bottom:28px}.team-card{padding:25px}.team-contact .team-role{min-height:0;margin-bottom:22px}.team-card h3{font-size:1.6rem}.team-contact .team-heading h2{font-size:2.65rem}}

/* Center the two service specialists below the four leadership cards. */
@media(min-width:1101px){.team-grid>.team-card:nth-child(5){grid-column:2}.team-grid>.team-card:nth-child(6){grid-column:3}}

/* Keep names, roles, and contact dividers aligned across team cards. */
.team-card h3{overflow-wrap:anywhere}
@media(min-width:601px){.team-grid{grid-auto-rows:1fr}.team-card h3{min-height:2.5em}.team-email-address{min-height:3.2em}}

/* Working copy: consistent platform names and clear inquiry routes. */
.desktop-nav{gap:24px}
.hero-intro{max-width:550px}
.platform-inner{display:grid;grid-template-columns:1.05fr 1.55fr repeat(4,1fr) .5fr;gap:24px}

/* Section 02: GSA's capabilities and ongoing support. */
.benefits-section{background:#e6ece3;color:var(--ink);border-top:1px solid #cad5c8}
.benefits-heading{max-width:880px;margin-bottom:42px}
.benefits-heading h2{font-size:clamp(2.3rem,3.7vw,3.5rem);line-height:1.12}
.benefits-heading h2 em{color:var(--sage-dark)}
.benefit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.benefit-card{min-width:0;padding:32px;background:#f3f5ee;border:1px solid #b8c8b5;border-bottom:3px solid #688774}
.benefit-card h3{max-width:390px;font-size:1.6rem;line-height:1.2;letter-spacing:-.03em;color:var(--forest)}
.benefit-card p{margin-top:18px;color:#506352;font-size:1rem;line-height:1.7;max-width:710px}
.benefit-support{grid-column:span 2}

.region-label{display:flex;align-items:center;line-height:1.7;white-space:normal}
.region-label .tiny-rule{flex-shrink:0}
.contact-heading{max-width:850px;margin-bottom:40px}
.team-contact .contact-heading>p:not(.eyebrow){max-width:650px;font-size:1.0625rem;line-height:1.7}
.inquiry-banner{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);align-items:center;gap:50px;padding:36px;border:1px solid #8ba894;background:#d7e5d9}
.inquiry-copy h3{font-size:1.8rem;line-height:1.2;letter-spacing:-.03em}
.contact .inquiry-copy>p{margin:18px 0 0;max-width:680px;color:#3e5c48;font-size:1rem;line-height:1.7}
.inquiry-actions{display:flex;flex-direction:column;gap:22px}
.inquiry-action{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:52px;padding:13px 17px;background:#244b37;color:#f5faf2;font-size:1rem;font-weight:600;border:1px solid #244b37;transition:background .2s}
.inquiry-action:hover{background:#173b28}
.inquiry-action>span{font-size:1.3rem;font-weight:400}
.inquiry-action:focus-visible{outline:3px solid #1e5035;outline-offset:5px}
.inquiry-phone{display:flex;flex-direction:column;gap:5px;color:#38563f}
.inquiry-phone>span{font-size:.875rem}
.inquiry-phone a{font-size:1.6rem;line-height:1.4;font-weight:500;letter-spacing:-.025em;color:#173d27;white-space:nowrap;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.inquiry-phone a:hover{color:#0b2617}
.team-contact .team-heading{padding-top:70px;margin-top:70px;border-top:1px solid #8fad99}
.team-contact .team-role{margin-bottom:16px}
.team-contact .team-card .team-bio{font-size:1rem;line-height:1.6;color:#45624e;margin:0 0 27px;max-width:none}
.team-card .team-email-label{font-size:1rem}
.footer-phone{display:block;margin:3px 0;font-size:1rem;line-height:1.5;color:#d8e7dc}
.footer-phone:hover{text-decoration:underline;text-underline-offset:4px}
.footer-top>div>span{display:block}
.graphic-stage{aspect-ratio:2159/1212}
.demo-label-overlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}

@media(max-width:1190px){
  .platform-inner{grid-template-columns:1.55fr repeat(4,1fr) .5fr;gap:20px}
  .platform-label{display:none}

}
@media(max-width:960px){
  .desktop-nav{gap:19px}
  .platform-inner{gap:18px}
  .benefit-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .benefit-card{padding:27px}

  .inquiry-banner{padding:29px;gap:30px}
}
@media(max-width:760px){
  .hero-intro{max-width:430px}
  .benefits-heading{margin-bottom:30px}
  .benefits-heading h2{font-size:clamp(2.45rem,6vw,3.3rem)}
  .platform-inner{grid-template-columns:minmax(max-content,1.4fr) minmax(max-content,1fr);gap:21px 20px;padding-block:28px}
  .platform-name{font-size:1.45rem}

  .inquiry-banner{grid-template-columns:minmax(0,1fr);gap:28px}

  .contact-heading{margin-bottom:30px}
  .team-contact .team-heading{padding-top:54px;margin-top:54px}
}
@media(max-width:400px){
  .site-header{gap:8px}
  .brand{width:160px}
  .header-contact{padding:8px;font-size:.75rem;gap:8px}
  .hero{min-height:800px}
  .hero-intro{max-width:100%}
  .inquiry-banner{padding:23px}

  .region-label{font-size:.75rem;letter-spacing:0}
}
@media(max-width:600px){
  .benefit-grid{grid-template-columns:minmax(0,1fr)}
  .benefit-support{grid-column:auto}
  .benefit-card{padding:25px}
}
@media(max-width:360px){
  .brand{width:145px}
  .header-contact span{display:none}
}

/* Working copy v1.4: platforms and protocols on a single row. */
.platform-strip{overflow-x:auto}
.platform-inner{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:24px}
.platform-inner>span{flex:0 0 auto;white-space:nowrap}
.platform-inner .platform-label{display:inline-block}

/* Working copy v1.6: a compact slogan beneath the banner label. */
.platform-tagline{display:block;margin-top:6px;font-size:.75rem;line-height:1.5;letter-spacing:0}

.footer-address:hover,
.footer-address:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.footer-top > div {
  text-align: center;
}