@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,ital,wght@6..96,400;6..96,500;6..96,600&family=IBM+Plex+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&display=swap');
:root{
  --ink:#172630;--deep:#0c171e;--slate:#253945;--frost:#dce9ec;--paper:#f2efe7;--apricot:#f0a679;--copper:#c96f4d;--blue:#9bbdcd;--line:rgba(23,38,48,.22);
  --serif:'Bodoni Moda',serif;--sans:'Manrope',sans-serif;--mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--deep);color:white;font-family:var(--sans);overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.skip{position:fixed;z-index:100;left:12px;top:-80px;background:#fff;color:#000;padding:12px 18px}.skip:focus{top:12px}
.header{position:fixed;z-index:50;top:0;left:0;right:0;height:82px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(16,27,34,.62);backdrop-filter:blur(22px);transition:.3s}.header.scrolled{height:66px;background:rgba(16,27,34,.9)}.brand{display:flex;align-items:center;gap:12px;font:500 .56rem/1.35 var(--mono);letter-spacing:.12em}.brand b{color:var(--apricot)}.brand-mark{width:42px;height:42px;border:1px solid rgba(240,166,121,.58);display:grid;place-items:center}.brand-mark i{position:relative;width:19px;height:19px;border:1px solid var(--apricot);border-radius:50%}.brand-mark i:after{content:'';position:absolute;left:8px;top:-8px;width:1px;height:35px;background:var(--apricot);transform:rotate(32deg)}.header nav{display:flex;gap:2.2vw;font:500 .54rem var(--mono);text-transform:uppercase;letter-spacing:.08em}.header nav a{color:#ced8dc}.header nav a:hover{color:var(--apricot)}.header-actions{display:flex;align-items:center;gap:22px}.header-phone small,.header-phone b{display:block}.header-phone small{font:500 .46rem var(--mono);color:var(--apricot)}.header-phone b{font-size:.77rem}.header-cta{padding:14px 18px;background:var(--apricot);color:var(--ink);font:600 .54rem var(--mono);text-transform:uppercase}
.hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:#14222b}.hero-image{position:absolute;z-index:-3;inset:0;background-image:linear-gradient(90deg,rgba(13,24,31,.95) 0%,rgba(13,24,31,.74) 38%,rgba(13,24,31,.08) 68%),linear-gradient(0deg,rgba(13,24,31,.72),transparent 46%),url('./hero-2880.webp');background-size:cover;background-position:center;transform:scale(1.02)}.weather-lines{position:absolute;z-index:-2;inset:0;background:repeating-radial-gradient(ellipse at 75% 28%,transparent 0 73px,rgba(220,233,236,.1) 74px 75px);mask-image:linear-gradient(90deg,transparent 35%,#000)}.hero-copy{position:absolute;left:7vw;top:49%;width:min(820px,57vw);transform:translateY(-44%)}.eyebrow,.label{font:500 .52rem var(--mono);letter-spacing:.13em;text-transform:uppercase}.eyebrow{color:#e9c0a4}.eyebrow i{display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:var(--apricot);box-shadow:0 0 16px var(--apricot)}.hero h1{font:500 clamp(4.2rem,7vw,8rem)/.86 var(--serif);letter-spacing:-.065em;margin:.28em 0 .22em}.hero h1 span{font-style:normal}.hero h1 em{color:var(--apricot);font-weight:400}.hero-lede{max-width:650px;color:#d0dadd;font-size:clamp(.9rem,1.05vw,1.06rem);line-height:1.7}.hero-actions{display:flex;gap:10px;margin-top:28px}.button{min-height:55px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:20px;border:1px solid transparent;font:600 .55rem var(--mono);text-transform:uppercase;transition:.25s}.button:hover{transform:translateY(-3px);box-shadow:0 18px 45px rgba(0,0,0,.18)}.button.apricot{background:var(--apricot);color:var(--ink)}.button.frost{border-color:rgba(255,255,255,.35);background:rgba(19,34,44,.42);backdrop-filter:blur(12px)}.button small{font:500 .48rem var(--mono);color:var(--apricot)}.winter-card{position:absolute;right:4vw;bottom:9vh;width:330px;background:rgba(232,238,238,.92);color:var(--ink);backdrop-filter:blur(18px);box-shadow:0 24px 70px rgba(0,0,0,.23)}.winter-card header,.winter-card footer{display:flex;justify-content:space-between;padding:14px 17px;font:500 .46rem var(--mono);letter-spacing:.08em}.winter-card header{border-bottom:1px solid var(--line)}.winter-card header b{color:var(--copper)}.winter-gauge{display:flex;align-items:center;gap:12px;padding:24px 20px 4px;font:500 .44rem var(--mono)}.winter-gauge i{position:relative;display:block;flex:1;height:4px;background:linear-gradient(90deg,var(--apricot),var(--blue))}.winter-gauge i:after{content:'';position:absolute;left:58%;top:-7px;width:16px;height:16px;border:2px solid var(--ink);border-radius:50%;background:var(--paper)}.winter-card h2{font:500 2rem/1 var(--serif);letter-spacing:-.04em;margin:20px}.winter-card p{font-size:.69rem;line-height:1.6;color:#55656d;margin:20px}.winter-card footer{border-top:1px solid var(--line);color:#6e7d84}.winter-card footer b{color:var(--copper)}.hero-coordinates{position:absolute;left:7vw;right:4vw;bottom:30px;display:flex;justify-content:space-between;font:500 .45rem var(--mono);letter-spacing:.1em;color:#c7d3d8}
.equation{min-height:82px;padding:0 7vw;display:flex;justify-content:space-between;align-items:center;gap:25px;background:var(--apricot);color:var(--ink);font:600 .52rem var(--mono);letter-spacing:.1em}.equation i{font-style:normal;color:#855039}.opening{padding:140px 7vw;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:1.2fr .65fr;gap:9vw}.label{display:block;color:#a4553a;margin-bottom:20px}.label.light{color:#e8b795}.opening h2,.profile h2,.winter h2,.systems h2,.site-study h2,.program h2,.proposal h2,.faq h2,.contact h2{font:500 clamp(3.6rem,6.2vw,7rem)/.89 var(--serif);letter-spacing:-.065em;margin:.16em 0}.opening h2 em,.systems h2 em,.program h2 em,.faq h2 em,.contact h2 em{font-weight:400;color:var(--copper)}.opening>div:last-child{align-self:end}.opening p,.systems-head>p{color:#52636b;line-height:1.8}.opening a{display:flex;justify-content:space-between;margin-top:25px;padding:18px 0;border-top:1px solid #9aa8ad;font:600 .53rem var(--mono);text-transform:uppercase}
.profile{min-height:900px;display:grid;grid-template-columns:.72fr 1.28fr;background:#172630}.profile-copy{padding:110px 5vw 80px 7vw}.profile-copy>p{color:#a9bbc3;line-height:1.7}.room-readout{margin-top:45px;padding:24px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035)}.room-readout small,.room-readout>span{display:block;font:500 .46rem var(--mono);color:var(--room);text-transform:uppercase}.room-readout b{display:block;margin:12px 0;font:500 2.2rem/1 var(--serif)}.room-readout p{color:#b8c5ca;font-size:.76rem;line-height:1.65}.room-readout>span{padding-top:16px;border-top:1px solid rgba(255,255,255,.12)}.floorplate{position:relative;overflow:hidden;background:#dce5e6}.contours{position:absolute;inset:0;background:repeating-radial-gradient(ellipse at 65% 35%,transparent 0 62px,rgba(23,38,48,.08) 63px 64px)}.floorplate svg{position:absolute;inset:7%;width:86%;height:80%;fill:none;stroke:#516771;stroke-width:2}.floorplate svg .air{stroke:var(--room);stroke-width:4;stroke-dasharray:12 10;filter:drop-shadow(0 0 6px var(--room));transition:.3s}.room{position:absolute;z-index:2;border:1px solid rgba(23,38,48,.25);background:rgba(242,239,231,.8);color:var(--ink);text-align:left;padding:15px;cursor:pointer;backdrop-filter:blur(8px);transition:.25s}.room:hover,.room.active{border-color:var(--room);box-shadow:0 0 0 3px var(--room),0 15px 40px rgba(23,38,48,.13)}.room span{display:block;font:500 .45rem var(--mono);color:#a4553a}.room b{font-size:.72rem}.room.living{left:14%;top:17%;width:30%;height:27%}.room.bedrooms{right:13%;top:17%;width:28%;height:27%}.room.lower{left:14%;bottom:19%;width:30%;height:22%}.room.service{right:13%;bottom:19%;width:28%;height:22%}.legend{position:absolute;left:7%;right:7%;bottom:5%;display:flex;justify-content:space-between;font:500 .44rem var(--mono);color:#526770}.legend span{display:flex;align-items:center;gap:8px}.legend i{display:block;width:24px;height:2px;background:var(--room)}
.winter{position:relative;min-height:920px;padding:120px 7vw;background:linear-gradient(145deg,#12212a,#203642);overflow:hidden}.winter:before{content:'';position:absolute;right:-15%;top:-25%;width:850px;height:850px;border-radius:50%;border:1px solid rgba(220,233,236,.12);box-shadow:0 0 0 80px rgba(220,233,236,.025),0 0 0 160px rgba(220,233,236,.018)}.winter-title{position:relative;max-width:870px}.winter h2 em{font-weight:400;color:var(--blue)}.winter-title>p{max-width:630px;color:#aabac1;line-height:1.7}.winter-lens{position:relative;display:grid;grid-template-columns:360px 1fr;gap:60px;align-items:center;min-height:410px;margin:60px 0 0;padding:45px;background:rgba(7,20,28,.55);border:1px solid rgba(255,255,255,.15);backdrop-filter:blur(15px)}.temperature-orbit{position:relative;width:310px;height:310px;border:1px solid rgba(255,255,255,.22);border-radius:50%;display:grid;place-items:center}.temperature-orbit:before,.temperature-orbit:after{content:'';position:absolute;inset:35px;border:1px solid rgba(155,189,205,.2);border-radius:50%}.temperature-orbit:after{inset:72px}.temperature-orbit i{position:absolute;top:50%;left:50%;width:43%;height:1px;background:var(--apricot);transform-origin:left;transform:rotate(-55deg);transition:.45s}.temperature-orbit i:after{content:'';position:absolute;right:-7px;top:-7px;width:14px;height:14px;border-radius:50%;background:var(--apricot);box-shadow:0 0 18px var(--apricot)}.temperature-orbit span{font:500 4.5rem var(--serif);color:#d9e4e7}.lens-copy small,.lens-copy b{font:500 .5rem var(--mono);color:var(--apricot);text-transform:uppercase}.lens-copy h3{font:500 clamp(2.5rem,4vw,4.8rem)/.95 var(--serif);letter-spacing:-.05em;margin:.25em 0}.lens-copy p{max-width:650px;color:#b6c4ca;line-height:1.7}.lens-copy b{display:block;padding-top:18px;border-top:1px solid rgba(255,255,255,.13)}.winter-range{grid-column:1/-1;display:grid;grid-template-columns:80px 1fr 95px;gap:14px;align-items:center;font:500 .46rem var(--mono);color:#96a9b2}.winter-range input{width:100%;accent-color:var(--apricot);cursor:ew-resize}.stage-dots{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stage-dots i{height:3px;background:rgba(255,255,255,.15)}.stage-dots i.active{background:var(--apricot);box-shadow:0 0 10px var(--apricot)}.boundary{position:absolute;right:7vw;bottom:35px;max-width:520px;display:grid;grid-template-columns:130px 1fr;gap:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.17)}.boundary span{font:500 .46rem var(--mono);color:var(--apricot)}.boundary p{margin:0;color:#8298a2;font-size:.65rem;line-height:1.55}
.systems{padding:140px 7vw;background:var(--paper);color:var(--ink)}.systems-head{max-width:950px}.system-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:60px}.system-card{min-height:610px;padding:30px;display:flex;flex-direction:column;border:1px solid #aeb9bd;background:#f9f8f3;transition:.3s}.system-card:hover{transform:translateY(-8px);box-shadow:0 28px 70px rgba(26,43,52,.14)}.system-card>span,.system-card>a{font:600 .5rem var(--mono);color:#a4553a}.system-card h3{font:500 2.2rem/1.04 var(--serif);letter-spacing:-.04em}.system-card ul{list-style:none;padding:0;margin:auto 0 24px}.system-card li{padding:11px 0;border-bottom:1px solid #c8d0d2;font-size:.72rem}.system-card a{display:flex;justify-content:space-between;padding-top:18px;border-top:1px solid #aeb9bd;text-transform:uppercase}.system-diagram,.head-diagram,.hybrid-diagram{height:180px;position:relative;margin:30px 0}.system-diagram i{position:absolute;background:#8aa9b7}.system-diagram i:nth-child(1){left:50%;top:10%;bottom:5%;width:3px}.system-diagram i:nth-child(2){left:20%;right:20%;top:35%;height:3px}.system-diagram i:nth-child(3){left:20%;right:20%;top:70%;height:3px}.system-diagram i:nth-child(4){left:18%;top:25%;width:64%;height:60%;border:1px solid #8aa9b7;background:transparent}.head-diagram{display:grid;grid-template-columns:1fr 1fr;gap:16px}.head-diagram i{border:1px solid #cf8c66;background:radial-gradient(circle,#cf8c66 0 5px,transparent 6px)}.hybrid-diagram i{position:absolute;border:1px solid #809ca9}.hybrid-diagram i:nth-child(1){left:10%;top:15%;width:46%;height:70%}.hybrid-diagram i:nth-child(2){right:8%;top:20%;width:28%;height:28%;border-color:#cf8c66}.hybrid-diagram i:nth-child(3){right:8%;bottom:15%;width:28%;height:28%;border-color:#cf8c66}
.site-study{min-height:850px;display:grid;grid-template-columns:1.15fr .85fr;background:#132530}.site-photo{position:relative;background:linear-gradient(90deg,rgba(15,29,37,.08),rgba(15,29,37,.48)),url('./hero-2880.webp') center/cover}.site-photo span{position:absolute;left:30px;bottom:30px;padding:10px 12px;background:rgba(16,30,39,.7);font:500 .45rem var(--mono);letter-spacing:.09em}.site-copy{padding:100px 6vw}.site-copy>p{color:#adbec5;line-height:1.75}.site-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12);margin:35px 0}.site-grid span{padding:22px;background:#172d39;font-size:.7rem}.site-grid b{display:block;color:var(--apricot);font:500 .46rem var(--mono);margin-bottom:9px}.site-copy>a{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid var(--apricot);border-bottom:1px solid var(--apricot);font:600 .52rem var(--mono);text-transform:uppercase}
.program{padding:140px 7vw;background:#d9e4e5;color:var(--ink);display:grid;grid-template-columns:.85fr 1fr;gap:9vw}.program-title h2{font-size:clamp(3.5rem,5.5vw,6.2rem)}.program-copy>p{line-height:1.8;color:#51646c}.program ol{list-style:none;padding:0;margin:35px 0}.program li{display:grid;grid-template-columns:44px 1fr;padding:18px 0;border-bottom:1px solid #9eafb5}.program li span{font:500 .48rem var(--mono);color:#a4553a}.program li b{font-size:.78rem}.program-copy>a{display:flex;justify-content:space-between;padding:20px 0;border-top:1px solid var(--copper);border-bottom:1px solid var(--copper);font:600 .53rem var(--mono);text-transform:uppercase}.program-copy small{display:block;margin-top:13px;color:#72838a;font-size:.62rem}.proposal{padding:130px 7vw;background:var(--copper)}.proposal h2{max-width:900px}.proposal-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:50px;border-top:1px solid rgba(255,255,255,.4)}.proposal-grid article{min-height:300px;padding:28px 24px;border-right:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column}.proposal-grid article:last-child{border-right:0}.proposal-grid span{font:500 .5rem var(--mono);color:#572c20}.proposal-grid h3{margin:auto 0 12px;font:500 2rem/1 var(--serif)}.proposal-grid p{font-size:.72rem;line-height:1.6;color:#512e24}
.faq{padding:140px 7vw;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:.85fr 1fr;gap:9vw}.faq h2{font-size:clamp(3.5rem,5.5vw,6.2rem)}.faq-list details{border-top:1px solid #a4b0b4}.faq-list details:last-child{border-bottom:1px solid #a4b0b4}.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;padding:24px 0;font-weight:600}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--copper)}.faq-list p{margin:0 0 24px;color:#52636a;font-size:.8rem;line-height:1.7}
.contact{min-height:850px;display:grid;grid-template-columns:1fr 1fr;background:#172630}.contact-copy{padding:110px 7vw;background:linear-gradient(90deg,rgba(18,34,43,.95),rgba(18,34,43,.62)),url('./hero-2880.webp') center/cover}.contact-copy>p{max-width:600px;color:#afbec4;line-height:1.75}.contact-copy>a{display:flex;flex-direction:column;margin-top:55px}.contact-copy>a small{font:500 .5rem var(--mono);color:var(--apricot);text-transform:uppercase}.contact-copy>a b{font:500 clamp(2.2rem,3.5vw,4rem)/1 var(--serif);letter-spacing:-.04em}.contact-copy>a span{font:500 .52rem var(--mono);color:#9eafb7}.lead-form{align-self:center;margin:60px 7vw;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:18px;background:var(--paper);color:var(--ink);box-shadow:0 35px 100px rgba(0,0,0,.24)}.field{display:flex;flex-direction:column;gap:8px}.field.full,.consent,.lead-form button,.form-status{grid-column:1/-1}.field label{font:600 .5rem var(--mono);text-transform:uppercase}.field label small{font-weight:400;color:#66777e}.field input,.field textarea{width:100%;padding:14px;border:1px solid #a8b4b8;background:#fff;border-radius:0}.field input:focus,.field textarea:focus{outline:2px solid var(--copper);outline-offset:2px}.honeypot{position:absolute;left:-9999px}.consent{display:grid;grid-template-columns:18px 1fr;gap:10px;color:#57676e;font-size:.64rem;line-height:1.55}.consent input{width:18px;height:18px}.lead-form button{min-height:58px;border:0;background:var(--apricot);color:var(--ink);font:700 .56rem var(--mono);text-transform:uppercase;cursor:pointer}.lead-form button:hover{background:#f5bc98}.form-status{min-height:18px;margin:0;font-size:.7rem}.form-status.error{color:#a02c25}
footer{min-height:170px;padding:40px 5vw 95px;display:grid;grid-template-columns:1fr 1.3fr .8fr;gap:40px;background:#081218;color:#80939c;border-top:1px solid rgba(255,255,255,.1)}footer p{margin:0;font-size:.72rem;line-height:1.6}footer>div{display:flex;flex-direction:column;gap:8px;font-size:.7rem}footer>small{grid-column:1/-1;font:400 .44rem var(--mono);color:#4c616b}.mobile-bar{display:none}.reveal{opacity:0;transform:translateY(35px)}
@media(max-width:1100px){.header nav{display:none}.hero-copy{width:64vw}.winter-card{width:290px}.profile{grid-template-columns:1fr}.profile-copy{min-height:600px}.floorplate{min-height:720px}.system-cards{grid-template-columns:1fr 1fr}.system-card:last-child{grid-column:1/-1}.site-study{grid-template-columns:1fr}.site-photo{min-height:700px}.contact{grid-template-columns:1fr}.contact-copy{min-height:700px}.lead-form{margin:70px auto;width:min(760px,86vw)}}
@media(max-width:700px){.header{height:64px;padding:0 16px}.brand-mark{width:36px;height:36px}.header-actions .header-phone{display:none}.header-cta{padding:12px;font-size:.46rem}.hero{min-height:960px}.hero-image{background-image:linear-gradient(0deg,rgba(13,24,31,.98) 0%,rgba(13,24,31,.72) 64%,rgba(13,24,31,.08)),url('./hero-mobile-1200.webp');background-position:center top}.weather-lines{opacity:.35}.hero-copy{left:20px;right:20px;top:430px;width:auto;transform:none}.hero h1{font-size:2.8rem;line-height:.88}.hero-lede{font-size:.8rem}.hero-actions{flex-direction:column}.button{width:100%}.winter-card,.hero-coordinates{display:none}.equation{max-width:100vw;overflow:auto;justify-content:flex-start;padding:0 20px;white-space:nowrap}.opening,.program,.faq{grid-template-columns:1fr;padding:80px 20px;gap:35px}.opening h2,.winter h2,.systems h2,.site-study h2,.program h2,.proposal h2,.faq h2,.contact h2{font-size:3.2rem}.profile-copy{padding:80px 20px;min-height:auto}.floorplate{min-height:650px}.room{padding:10px}.room.living,.room.lower{left:8%;width:37%}.room.bedrooms,.room.service{right:8%;width:36%}.floorplate svg{inset:4%;width:92%}.winter{min-height:1120px;padding:85px 20px}.winter-lens{grid-template-columns:1fr;margin-top:40px;padding:24px 18px;gap:25px}.temperature-orbit{width:260px;height:260px;margin:auto}.lens-copy h3{font-size:2.65rem}.winter-range{grid-template-columns:55px 1fr 75px}.boundary{left:20px;right:20px;bottom:30px;grid-template-columns:1fr}.systems{padding:85px 20px}.system-cards{grid-template-columns:1fr}.system-card:last-child{grid-column:auto}.site-photo{min-height:570px;background-position:62% center}.site-copy{padding:80px 20px}.site-grid{grid-template-columns:1fr}.proposal{padding:85px 20px}.proposal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.proposal-grid article{min-width:0;min-height:250px;padding:22px 14px;border-bottom:1px solid rgba(255,255,255,.35);overflow-wrap:anywhere}.contact-copy{min-height:650px;padding:85px 20px}.contact-copy>a b{font-size:2.4rem}.lead-form{width:auto;margin:0;padding:25px 20px;grid-template-columns:1fr}.field,.field.full,.consent,.lead-form button,.form-status{grid-column:1}footer{grid-template-columns:1fr;padding:40px 20px 110px}.mobile-bar{position:fixed;z-index:60;left:0;right:0;bottom:0;height:70px;display:grid;grid-template-columns:40% 60%;background:#0c171e;border-top:1px solid rgba(255,255,255,.16)}.mobile-bar a{display:flex;align-items:center;justify-content:center;gap:8px;font:600 .52rem var(--mono);text-transform:uppercase}.mobile-bar a:first-child{flex-direction:column;gap:0;border-right:1px solid rgba(255,255,255,.16)}.mobile-bar a:first-child b{color:var(--apricot)}.mobile-bar a:last-child{background:var(--apricot);color:var(--ink)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none}*{transition:none!important}}
