@font-face{font-family:Manrope;src:url('fonts/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}
:root{--surface:#e9eddf;--ease:cubic-bezier(.16,1,.3,1)}
body{font-family:Manrope,Arial,sans-serif}::selection{background:var(--lime);color:var(--ink)}html{scrollbar-color:#728875 var(--paper);scroll-padding-top:110px}[hidden]{display:none!important}button,a,input,select,textarea,summary{touch-action:manipulation}input,textarea{caret-color:var(--ink)}.wrap{width:min(1280px,calc(100% - 96px))}h1,h2,h3{text-wrap:balance;letter-spacing:-.035em}h1{font-size:clamp(64px,7vw,96px);line-height:1.02;font-weight:550;margin:0}h2{font-size:clamp(36px,4.2vw,58px);font-weight:550}h3{font-weight:600}
.demo-banner{font-size:12px;letter-spacing:0;min-height:40px}.demo-banner button{font-size:12px;min-height:36px;padding:6px}.demo-banner #toggle-motion{margin-left:auto}.demo-banner #about-demo{margin-left:0}.header{position:sticky;top:0;z-index:20;width:100%;min-height:94px;padding-inline:max(32px,calc((100vw - 1280px)/2));background:var(--paper)}.brand>span{letter-spacing:-.04em}.header nav a{position:relative;padding-block:12px}.header nav a::after{content:'';position:absolute;left:0;bottom:5px;width:100%;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease)}.header nav a[aria-current]::after,.header nav a:hover::after{transform:scaleX(1)}.button{border:0;border-radius:8px;min-height:52px;padding:18px 24px;transition:background .2s,transform .16s var(--ease)}.button span{transition:transform .25s var(--ease)}.button:active{transform:scale(.97)}.button.small{min-height:46px}.text-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px}
.hero{display:block;padding:42px 0 36px}.hero-copy{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:40px}.hero-intro{width:390px;max-width:44%;padding-bottom:6px}.hero-description{font-size:17px;color:var(--ink);line-height:1.65;margin:0 0 22px}.hero-footnote{font-size:13px;margin:15px 0 0}.hero-art{isolation:isolate;margin:0}.room-window{height:clamp(360px,43vw,580px);overflow:hidden;border-radius:16px;background:var(--surface);position:relative}.room{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center 47%;border-radius:0}.climate-wash{position:absolute;inset:0;background:#356a79;opacity:0;mix-blend-mode:color;pointer-events:none;transition:opacity .5s ease,background-color .5s ease}.hero-art[data-climate=cool] .climate-wash{opacity:.3}.hero-art[data-climate=warm] .climate-wash{background:#c48d49;opacity:.26}.airflow{position:absolute;top:17%;left:29%;width:42%;height:48%;pointer-events:none;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;opacity:.45}.airflow path{stroke-dasharray:25 18}.climate-control{position:absolute;right:28px;bottom:26px;width:355px;background:var(--paper);padding:22px 24px;border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:8px 18px}.control-label{font-size:13px;color:var(--muted)}#climate-caption{font-size:18px;font-weight:650;margin:3px 0 0}.temperature-control{display:flex;align-items:center;gap:10px}.temperature-control button{border:0;background:var(--surface);color:var(--ink);width:40px;height:44px;border-radius:7px;font-size:23px;transition:transform .16s var(--ease),background .2s}.temperature-control button:active{transform:scale(.94)}.temperature-control button:disabled{opacity:.35;cursor:default}#temperature{font-size:29px;font-weight:550;line-height:1;font-variant-numeric:tabular-nums;min-width:52px;text-align:center}.control-note{grid-column:1/-1;font-size:11px;color:var(--muted)}.art-caption{font-size:12px;text-align:left;margin:12px 0 0}.service-strip{background:var(--surface);border:0}.strip-content{padding-block:27px;font-size:15px}.strip-content>span:first-child{font-size:13px;letter-spacing:0}.strip-content a{padding-block:8px}
.section{padding-block:110px}.section-heading{margin-bottom:45px}.section-heading>p{font-size:16px;max-width:370px}.service-grid{display:flex;flex-direction:column;gap:10px}.service-card{display:grid;grid-template-columns:1fr 1.1fr .8fr;align-items:center;gap:40px;padding:36px;background:var(--surface);border:0;border-radius:12px;transition:background .2s}.service-card:nth-child(2){background:#edf0e5}.service-card h3{margin:0;font-size:clamp(23px,2.5vw,32px)}.service-card p{margin:0;font-size:15px;min-height:0}.service-link{margin:0;padding:4px 0;border:0;min-height:48px;font-size:13px;font-weight:650}.service-link span{display:grid;place-items:center;flex:none;background:var(--paper);height:44px;width:44px;border-radius:50%;font-size:22px;transition:transform .25s var(--ease),background .2s}
.process{background:var(--ink);color:var(--paper)}.process-grid>div>p:not(.eyebrow),.steps p{color:#cedbcf;font-size:15px}.process .text-link{color:var(--lime)}.steps li{border:0}.steps li>span{background:#31564c;border:0;color:var(--lime);width:38px;height:38px}.steps h3{font-size:22px}.zones>div>p:not(.eyebrow){font-size:16px}.zone-tags button{border:0;background:var(--surface);color:var(--ink);border-radius:6px;padding:11px 15px;font-size:13px;min-height:44px;transition:background .18s,transform .16s var(--ease)}.zone-tags button:active{transform:scale(.96)}.zone-art{overflow:hidden;border:0;padding:0;border-radius:12px;background:var(--surface)}.zone-art>span{font-size:11px;padding:12px;margin:0}.faq{border:0;padding-top:20px}.faq h2{font-size:clamp(36px,4.2vw,58px)}.faq details,.faq details:first-child{background:var(--surface);border:0;border-radius:8px;margin-bottom:10px;padding:23px 25px}.faq summary{font-size:16px;font-weight:550;align-items:center;min-height:28px}.faq summary:after{transition:transform .2s var(--ease)}.faq details[open] summary:after{content:'+';transform:rotate(45deg)}.faq details p{font-size:15px;margin:18px 25px 0 0}
.contact-section{background:var(--lime);color:var(--ink);padding-block:90px}.contact-grid{align-items:start}.contact-grid h2{font-size:clamp(38px,4.5vw,61px);letter-spacing:-.035em}.contact-grid>div>p:not(.eyebrow){color:var(--ink);font-size:16px}.demo-note{color:var(--ink);font-size:13px;border:0;padding:0}.contact-grid form{border-radius:12px;padding:36px}.contact-grid form h3{font-size:26px}.contact-grid label{font-size:13px}.contact-grid label span{font-size:12px}.contact-grid input,.contact-grid select,.contact-grid textarea{font-size:16px;min-height:48px;padding:13px;border-color:#b3c1b3;border-radius:6px}.contact-grid ::placeholder{color:#5c6e64;opacity:1}.contact-grid form .button{background:var(--ink);color:var(--paper)}.contact-grid form .button:hover{background:#2c584a}.form-note{font-size:12px}footer{padding-block:44px}.footer-brand{font-size:60px;font-weight:650;letter-spacing:-.04em}footer p{font-size:13px}footer>span{font-size:12px;letter-spacing:0}.mobile-contact{display:none}dialog{border:0;border-radius:16px;box-shadow:0 24px 70px #102c2933;max-height:85dvh}dialog::backdrop{backdrop-filter:none}dialog p{font-size:14px}pre{font-family:Manrope,Arial,sans-serif}.dialog-close{width:44px;height:44px}
@media(hover:hover){.button:hover span{transform:translate(3px,-3px)}.service-card:hover{background:#e0e7d4}.service-link:hover span{transform:rotate(45deg);background:var(--lime)}.temperature-control button:hover,.zone-tags button:hover{background:var(--lime)}.strip-content a:hover{text-decoration:underline;text-underline-offset:6px}}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}.hero-intro{max-width:45%;width:340px}.hero-copy{gap:28px}.service-card{gap:22px;padding:28px;grid-template-columns:1fr 1fr}.service-card .service-link{grid-column:2}.service-card h3{grid-row:1/3}.process-grid,.zones,.faq,.contact-grid{gap:40px}.contact-grid form{padding:28px}.strip-content{gap:18px;font-size:13px}.strip-content>span{max-width:160px}.section{padding-block:80px}.faq{padding-top:15px}}
@media(max-width:760px){html{scroll-padding-top:96px}.wrap{width:calc(100% - 36px)}.demo-banner{padding:8px 14px;gap:5px;font-size:10px}.demo-description{flex:1}.demo-banner button{font-size:11px;min-height:32px;padding:4px}.demo-banner #toggle-motion{margin-left:0}.demo-banner #about-demo{margin-left:auto}.header{padding-inline:18px;min-height:80px;gap:12px}.header .button{font-size:12px;gap:14px}.hero{padding-top:24px;padding-bottom:24px}.hero-copy{display:block;margin-bottom:28px}h1{font-size:clamp(60px,16vw,90px);letter-spacing:-.04em;line-height:1.02;margin:0}.hero-intro{max-width:100%;width:auto;margin-top:24px}.hero-description{font-size:16px;max-width:400px;margin-bottom:20px}.hero-footnote{font-size:12px}.room-window{height:400px;border-radius:12px}.room{object-position:54% center}.hero-art{margin:0}.climate-control{left:14px;right:14px;bottom:14px;width:auto;padding:17px 18px;gap:8px 12px}.control-label{font-size:12px}#climate-caption{font-size:16px}.temperature-control{gap:8px}#temperature{font-size:27px;min-width:44px}.control-note{font-size:10px}.art-caption{font-size:10px;max-width:350px}.airflow{left:18%;width:65%;top:13%}.strip-content{justify-content:flex-start;gap:6px 22px;padding-block:18px}.strip-content>span:first-child{max-width:none;width:100%;font-size:12px}.strip-content a{font-size:13px}.section{padding-block:60px}h2,.faq h2{font-size:38px}.section-heading>p{font-size:15px}.service-card{grid-template-columns:1fr;gap:14px;padding:25px}.service-card h3{grid-row:auto;font-size:27px}.service-card p{font-size:15px}.service-card .service-link{grid-column:auto;font-size:13px}.process-grid,.zones,.faq,.contact-grid{gap:32px}.steps h3{font-size:21px}.zone-tags button{font-size:12px;padding:10px 13px}.faq{padding-top:0}.faq details,.faq details:first-child{padding:21px}.faq summary{font-size:15px}.faq details p{margin-right:0}.contact-section{padding-block:60px}.contact-grid h2{font-size:40px}.contact-grid form{padding:24px}.contact-grid form h3{font-size:24px}footer{padding-block:34px 110px;gap:20px}.footer-brand{font-size:48px}footer p{font-size:12px}.mobile-contact{display:flex;position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:18px;right:18px;z-index:25;box-shadow:0 8px 26px #173e3925;visibility:hidden;opacity:0;transform:translateY(18px);transition:opacity .2s,transform .25s var(--ease),visibility .25s}.mobile-contact.is-visible{opacity:1;visibility:visible;transform:none}}
html[data-motion=off]{scroll-behavior:auto}html[data-motion=off] *,html[data-motion=off] *::after{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::after{transition:none!important;animation:none!important}}

/* Client direction: quiet, precise, product-led. */
:root{--ink:#1d1d1f;--muted:#626269;--paper:#fff;--surface:#f5f5f7;--line:#d5d5dc;--lime:#dceaff;--accent:#0066cc}
body{background:var(--paper)}.demo-banner{background:var(--surface);color:#55555c}.demo-dot{background:var(--accent)}.header{min-height:80px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px)}.brand-dot{color:var(--accent)}.brand svg{stroke:var(--ink)}.brand small{font-size:8px;letter-spacing:.12em}.header nav a:hover,.header nav a[aria-current],.text-link{color:var(--accent)}.header nav a::after{background:var(--accent)}.button,.contact-grid form .button{background:var(--accent);color:#fff;border-radius:30px;font-weight:550}.button:hover,.contact-grid form .button:hover{background:#0058b0}.button span{font-size:20px}.button.small{min-height:40px;padding:10px 19px}.hero{padding-top:48px}.hero-copy{display:block;text-align:center;margin-bottom:42px}.hero h1{font-size:clamp(58px,6.7vw,92px);font-weight:650;letter-spacing:-.04em;line-height:1.03}.hero-intro{width:530px;max-width:100%;margin:22px auto 0;padding:0}.hero-description{max-width:none;font-size:18px;color:var(--muted);line-height:1.55;margin-bottom:22px}.hero-footnote{display:none}.hero .button{font-size:15px;padding:14px 22px;min-height:48px}.room-window{height:clamp(390px,45vw,600px);border-radius:24px}.room{object-position:center 25%}.art-caption{color:var(--muted)}.climate-control{border-radius:18px;background:#ffffffed;box-shadow:0 12px 35px #00000014}.temperature-control button{background:#f0f1f5;border-radius:50%;width:40px;height:40px;min-height:40px}.temperature-control button:hover{background:#dceaff}.control-label{font-size:12px}.control-note{color:#626269}.airflow{stroke:#fff;opacity:.6}.service-strip{background:#f5f5f7}.service-card,.service-card:nth-child(2){background:var(--surface)}.service-card:hover{background:#eeeef2}.service-link:hover,.service-link:hover span{color:var(--accent)}.service-link span{background:#e5e5ea}.service-link:hover span{background:#dceaff}.process{background:#111113}.process-grid>div>p:not(.eyebrow),.steps p{color:#b6b6be}.steps li>span{background:#29292d;color:#9ccaff}.process .text-link{color:#8ec5ff}.zone-tags button:hover{background:#dceaff}.zone-art{filter:grayscale(1)}.zone-art svg{background:#f5f5f7}.contact-section{background:#f5f5f7}.contact-grid form{background:#fff}.contact-grid input,.contact-grid select,.contact-grid textarea{border-color:#b7b7c0}.contact-grid ::placeholder{color:#6a6a72}.contact-grid>div>p:not(.eyebrow),.demo-note{color:#55555c}.footer-brand{color:#1d1d1f}input:focus,select:focus,textarea:focus{outline-color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:var(--accent)}pre{background:#f0f1f5}.mobile-contact{box-shadow:0 8px 26px #00000020}
@media(max-width:760px){.header{min-height:72px}.hero{padding-top:34px}.hero h1{font-size:clamp(51px,13.8vw,76px)}.hero-intro{margin-top:22px}.hero-description{font-size:16px;max-width:360px;margin-inline:auto}.hero-copy{margin-bottom:30px}.room-window{height:400px;border-radius:18px}.room{object-position:52% 25%}.climate-control{padding:16px;gap:8px;left:12px;right:12px;bottom:12px}.control-label{font-size:11px}#climate-caption{font-size:14px}.temperature-control{gap:7px}#temperature{min-width:40px;font-size:26px}.temperature-control button{width:36px;height:40px}.control-note{font-size:10px}.art-caption{font-size:11px}.demo-description{font-size:10px}.demo-banner{font-size:10px}.contact-grid h2{font-size:37px}}
.brand small{font-size:11px;letter-spacing:.06em}.demo-banner,.demo-description,.control-note{font-size:12px}.temperature-control button{min-width:44px;min-height:44px}.climate-control{width:380px}.zone-art>span{font-size:12px}.brand>span{font-size:34px}
@media(max-width:760px){.climate-control{width:auto;grid-template-columns:1fr auto;padding:15px 12px;gap:7px}.temperature-control{gap:2px}.brand>span{font-size:29px}.brand svg{width:29px;height:29px}.brand small{font-size:9px}.demo-banner,.demo-description,.control-note{font-size:11px}.hero-description{font-size:16px}.control-label{font-size:11px}#climate-caption{font-size:13px}.control-note{grid-column:1/-1}}
