
:root{--ink:#142825;--muted:#67716a;--paper:#f7f7f0;--line:#d9ddd3;--orange:#ec673b;--lime:#d4e8b3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:5px}::selection{background:var(--lime)}.wrap{max-width:1320px;margin:auto;padding:0 5%}.skip{position:absolute;top:-60px}.skip:focus{top:10px;z-index:100;background:white;padding:15px}.top{border-bottom:1px solid var(--line);height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:26px;font-weight:800;letter-spacing:-1.3px;display:flex;align-items:center;gap:10px}.logo{width:31px;height:31px;display:inline-block;background:var(--orange);clip-path:polygon(0 0,100% 0,100% 100%,70% 100%,70% 30%,30% 30%,30% 100%,0 100%)}.brand small{font-weight:400}.nav{display:flex;align-items:center;gap:28px;font-size:13px}.nav a.active{color:#ac3e1c}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--ink);color:white;padding:17px 23px;font-weight:600;font-size:13px;border:1px solid var(--ink);cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#2e4b40;transform:translateY(-2px)}.button.orange{background:var(--orange);border-color:var(--orange);color:#172723}.button.light{background:transparent;color:var(--ink);border-color:var(--line)}.arrow{font-size:21px;font-weight:400}.menu{display:none;background:none;border:1px solid var(--line);padding:10px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:10px;font-weight:700;display:flex;align-items:center;gap:9px}.dot{width:7px;height:7px;background:var(--orange);border-radius:50%}.hero{display:grid;grid-template-columns:1fr 1.03fr;gap:5%;padding-top:77px;padding-bottom:75px;align-items:center}h1{font-size:clamp(46px,5.2vw,75px);line-height:1.04;letter-spacing:-4px;margin:26px 0}h1 em{font-style:normal;color:var(--orange)}p{font-size:16px;line-height:1.8;color:var(--muted)}.hero p{max-width:440px}.actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.micro{font-size:11px;line-height:1.7;margin-top:23px;color:var(--muted)}.visual{background:#1b302c;min-height:470px;position:relative;padding:22px;color:#eff5e7;overflow:hidden;border-radius:3px;box-shadow:0 24px 65px #193a2512}.visual:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#b9d9b509 1px,transparent 1px),linear-gradient(90deg,#b9d9b509 1px,transparent 1px);background-size:25px 25px}.visual-head{position:relative;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.2px}.status{color:#ccdfb5}.plan{width:100%;height:310px;position:relative}.plan .duct{stroke-dasharray:900;stroke-dashoffset:900;animation:draw 3s ease forwards}.result{position:absolute;right:22px;bottom:35px;width:225px;background:#f7f7f0;color:var(--ink);padding:17px;box-shadow:0 14px 35px #0003}.result strong{font-size:11px}.result div{display:flex;justify-content:space-between;padding-top:13px;font-size:10px}.result div span{color:var(--muted)}.result .total{border-top:1px solid var(--line);margin-top:13px;color:#23794e}.visual-foot{position:absolute;bottom:17px;font-size:9px;color:#acbeb1}.orbit-label{position:absolute;left:23px;bottom:100px;font-size:9px;color:#bdd1bf;writing-mode:vertical-rl}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1.3fr repeat(3,1fr);padding:25px 0;gap:24px;align-items:center;font-size:13px}.strip .label{font-size:10px;letter-spacing:1.4px;color:var(--muted)}.strip strong{font-weight:500}.section{padding:95px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-head p{max-width:350px;margin:0}h2{font-size:clamp(32px,3.5vw,48px);font-weight:500;letter-spacing:-2px;line-height:1.13;margin:18px 0 0}h3{font-size:24px;font-weight:500;letter-spacing:-.7px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);padding:30px;position:relative;min-height:290px;background:#ffffff38;transition:background .3s,transform .3s}.card:hover{background:#fff;transform:translateY(-5px)}.card .number{font-size:10px;color:var(--muted)}.card svg{width:64px;height:64px;display:block;margin:28px 0 35px;stroke:var(--ink);fill:none;stroke-width:1.4}.card p{font-size:13px;line-height:1.75}.card .link{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:25px;font-size:12px}.future{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:24px 5px;font-size:13px}.tag{border:1px solid var(--line);border-radius:30px;padding:7px 12px;font-size:10px;white-space:nowrap}.dark{background:var(--ink);color:var(--paper)}.dark p{color:#b7c4b8}.split{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.bigmark{font-size:140px;line-height:1;color:var(--lime);letter-spacing:-12px}.quote{font-size:28px;line-height:1.5;letter-spacing:-.8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:55px}.step{border-top:1px solid #ffffff38;padding-top:20px}.step b{font-size:11px;color:var(--lime);font-weight:400}.step h3{font-size:21px}.step p{font-size:13px}.cta{background:var(--lime);padding:60px;display:flex;justify-content:space-between;align-items:center;gap:30px}.cta h2{margin-top:0;max-width:650px}.cta p{margin-bottom:0}.footer{padding:50px 0 25px}.footer-top{display:flex;justify-content:space-between;gap:30px;padding-bottom:45px}.footer p{font-size:12px}.footer-links{display:flex;gap:60px;font-size:12px}.footer-links div{display:grid;gap:14px;align-content:start}.footer-links b{margin-bottom:10px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;font-size:10px;color:var(--muted)}.page-hero{padding:65px 0 60px}.page-hero h1{max-width:950px}.page-hero p{max-width:670px;font-size:18px}.crumb{font-size:11px;color:var(--muted);margin-bottom:38px}.detail-layout{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.list{padding:0;list-style:none}.list li{border-top:1px solid var(--line);padding:22px 0;display:flex;gap:25px;font-size:14px;line-height:1.6}.list li span{color:var(--orange);font-size:11px}.note{border-left:2px solid var(--orange);padding:12px 20px;font-size:12px}.faq{max-width:850px;margin:0 auto}details{border-bottom:1px solid var(--line);padding:23px 0}summary{cursor:pointer;font-size:17px}details p{font-size:14px}.form{background:white;padding:36px;border:1px solid var(--line)}.field{margin-bottom:22px}.field label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}input,select,textarea{width:100%;border:1px solid var(--line);background:#fafbf7;padding:13px;color:var(--ink);border-radius:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--orange);outline-offset:1px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;align-items:flex-start;gap:10px;font-size:11px;line-height:1.7;margin-bottom:24px}.check input{width:auto;margin-top:4px}.check a{text-decoration:underline}.form-status{font-size:13px;line-height:1.7;margin-top:15px}.hp{position:absolute;left:-9999px}.contact-data{margin:40px 0;font-size:14px;line-height:2}.legal{max-width:800px;padding-bottom:70px}.legal h2{font-size:25px;letter-spacing:-.5px}.legal p{font-size:14px}.banner{background:var(--lime);padding:24px;margin-top:35px;font-size:13px;line-height:1.7}@keyframes draw{to{stroke-dashoffset:0}}@media(min-width:1500px){.hero{padding-top:100px;padding-bottom:100px}}@media(max-width:1000px){.nav{gap:16px}.hero{gap:30px}h1{letter-spacing:-2.5px}.visual{min-height:430px}.result{width:190px}.section{padding:70px 0}.card{padding:22px}.cta{padding:35px}}@media(max-width:760px){.wrap{padding:0 6%}.top{height:78px}.menu{display:block}.nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:25px 6%;z-index:20;box-shadow:0 20px 20px #0001;align-items:stretch}.nav.open{display:flex;flex-direction:column}.brand{font-size:24px}.hero{grid-template-columns:1fr;padding-top:42px;padding-bottom:42px;gap:38px}h1{font-size:53px}.hero p{font-size:15px}.visual{min-height:430px}.strip{grid-template-columns:1fr 1fr;gap:22px}.strip .label{line-height:1.6}.section-head{display:block}.section-head p{margin-top:22px}.cards,.steps,.split,.detail-layout{grid-template-columns:1fr}.cards{gap:15px}.card{min-height:0}.card svg{margin:20px 0}.steps{gap:20px}.split{gap:35px}.cta{display:block;padding:32px 24px}.cta .button{margin-top:28px}.footer-top{display:block}.footer-links{margin-top:35px;gap:50px}.footer-bottom{flex-wrap:wrap;line-height:1.7}.page-hero{padding-top:38px}.page-hero h1{font-size:47px}.form{padding:23px}.form-grid{grid-template-columns:1fr;gap:0}.future{align-items:flex-start;font-size:12px;line-height:1.7}.quote{font-size:24px}.bigmark{font-size:100px}.section{padding:55px 0}.detail-layout{gap:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.plan .duct{stroke-dashoffset:0}}

/* Discipline-specific schematic animations */
.discipline-plan .diagram-text{fill:#b6cbbb;font:9px Arial,sans-serif;letter-spacing:1px}
.air-flow{animation:air-travel 2s linear infinite}
.fan-rotor{transform-origin:77px 142px;animation:fan-spin 4s linear infinite}
.water-flow{animation:water-travel 1.7s linear infinite}
.water-return{animation:water-travel 2.2s linear infinite reverse}
.electric-flow{animation:current-travel 1.4s linear infinite}
.electric-flow.secondary{animation-duration:2.1s}
.lamp-glow{animation:lamp-breathe 2.8s ease-in-out infinite}
@keyframes air-travel{to{stroke-dashoffset:-44}}
@keyframes fan-spin{to{transform:rotate(360deg)}}
@keyframes water-travel{to{stroke-dashoffset:-40}}
@keyframes current-travel{to{stroke-dashoffset:-68}}
@keyframes lamp-breathe{0%,100%{fill-opacity:.4;stroke-opacity:.65}50%{fill-opacity:1;stroke-opacity:1}}
@media(prefers-reduced-motion:reduce){.discipline-plan *{animation:none!important}}
