@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600&display=swap');
:root{--ink:#253b32;--paper:#f5f3ed;--muted:#6f766c;--line:#d8dcd1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #b59551;outline-offset:5px}header{height:94px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:13px;font-family:Georgia,serif;font-size:23px;line-height:1.1;letter-spacing:2px}.brand small{font:10px Arial,sans-serif;display:block;letter-spacing:4px;margin-top:7px}.monogram{font:43px Georgia;letter-spacing:-13px;width:48px}.monogram span{font-size:31px}nav{display:flex;align-items:center;gap:30px;font-size:13px}.nav-cta{border-bottom:1px solid;padding:9px 0}.menu{display:none}.hero{position:relative;min-height:690px;height:calc(100svh - 94px);max-height:1000px;color:white}.hero>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,27,21,.78),rgba(13,27,21,.05) 85%),linear-gradient(0deg,rgba(13,27,21,.55),transparent 40%)}.hero-copy{position:relative;padding:95px 7%;max-width:860px}.eyebrow{font-size:10px;letter-spacing:2.7px;font-weight:600;margin:0 0 27px}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.06;margin:0}h1{font-size:clamp(70px,7.7vw,123px);letter-spacing:-4px}em{font-weight:400}h2{font-size:clamp(44px,4.3vw,70px);letter-spacing:-2px}h3{font-size:31px;letter-spacing:-.5px}.hero-copy>p:not(.eyebrow){font-size:16px;max-width:420px;line-height:1.8;margin:29px 0 35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:50px;padding:17px 23px;font-size:13px}.light{background:var(--paper);color:var(--ink)}.button span{font-size:22px}.hero-bottom{position:absolute;bottom:29px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.7px}.render-label{position:absolute;right:23px;top:25px;font-size:8px;letter-spacing:1.5px;background:#22392e88;padding:7px 10px}.wrap{max-width:1400px;margin:auto;padding:110px 7%}.intro{display:grid;grid-template-columns:1fr 2fr;gap:70px}.intro>div{max-width:770px}.intro p:not(.eyebrow){max-width:620px;color:var(--muted)}.intro h2{margin-bottom:32px}.text-link{display:inline-block;border-bottom:1px solid #9ca697;font-size:13px;padding-bottom:8px;margin-top:15px}.section-top{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:47px}.section-top>p{font-size:14px;color:var(--muted);max-width:340px}.work{padding-top:20px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}.filters button{background:transparent;border:1px solid var(--line);border-radius:30px;padding:9px 19px;font-size:12px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:45px 25px}.project{border:0;padding:0;background:transparent;text-align:left;position:relative;min-width:0}.project img{width:100%;height:340px;object-fit:cover;transition:filter .3s}.project:hover img{filter:brightness(.88)}.project:nth-child(3n+1) img{height:410px}.project>span{display:block;padding-top:17px}.project strong{font:27px Georgia}.project small{display:block;font-size:9px;letter-spacing:1.7px;margin-top:7px;color:var(--muted)}.project b{position:absolute;right:0;bottom:16px;font-weight:400;font-size:23px}.project[hidden]{display:none}.process{background:#e7eadd}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin:60px 0 80px}.steps article{border-top:1px solid #a8b09e;padding-top:20px}.steps span{font-size:10px;letter-spacing:1.5px}.steps h3{font-size:26px;margin:30px 0 17px}.steps p{font-size:13px;color:#626d5e}.design-story{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.design-story>img{height:450px;width:100%;object-fit:cover}.design-story h3{font-size:49px}.design-story p:not(.eyebrow){color:#626d5e;font-size:14px}.tags{display:flex;gap:8px;flex-wrap:wrap}.tags span{border:1px solid #bcc3b2;padding:5px 12px;border-radius:20px;font-size:10px}#panorama{height:530px;background:#23392e;position:relative;overflow:hidden;cursor:grab;color:white;touch-action:pan-y}#panorama:active{cursor:grabbing}#panorama canvas{width:100%;height:100%;display:block}.pano-overlay{position:absolute;top:22px;left:25px;right:25px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;pointer-events:none}.pano-overlay button{pointer-events:auto;background:#18392b99;border:1px solid #ffffff66;color:white;padding:7px 13px;font-size:11px}.pano-hint{pointer-events:none;position:absolute;bottom:25px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:2px;text-shadow:0 1px 4px black}.pano-hint strong{font:45px Georgia}.pano-scenes{display:flex;gap:13px;margin-top:17px;flex-wrap:wrap}.pano-scenes button{border:1px solid var(--line);background:transparent;padding:10px 17px;font-size:12px}.pano-scenes button.active{background:var(--ink);color:white}.caption{font-size:11px;color:var(--muted)}.transformation{padding-top:0;display:grid;grid-template-columns:1fr 1.2fr;gap:70px;align-items:center}.transformation p{font-size:14px;color:var(--muted);max-width:390px}.draft-note{border-left:2px solid #a6b197;padding-left:15px;font-size:12px!important}.comparison{position:relative}.comparison img{width:100%;height:470px;object-fit:cover}.comparison span{position:absolute;bottom:20px;left:20px;background:var(--paper);padding:8px 13px;font-size:9px;letter-spacing:1.5px}.faq{padding-top:20px;max-width:1050px}.faq h2{margin-bottom:40px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq summary:after{content:'+'}.faq details[open] summary:after{content:'−'}.faq details p{font-size:14px;color:var(--muted);max-width:700px}.contact{background:#203c2e;color:#f4f1e7;text-align:center}.contact .wrap{padding:100px 7%}.contact h2{font-size:clamp(49px,6vw,86px)}.contact p:not(.eyebrow){color:#c4cdbf;margin:30px 0}.email{display:block;font-size:13px;margin-top:22px;color:#c4cdbf}footer{display:flex;gap:25px;justify-content:space-between;align-items:center;padding:45px 5%;flex-wrap:wrap}footer p,footer>span{font-size:11px;color:var(--muted)}.preview-note{width:100%;text-align:center;font-size:10px;color:var(--muted)}dialog{width:min(1100px,95vw);max-height:94svh;border:0;background:var(--paper);padding:25px;color:var(--ink)}dialog::backdrop{background:#10231dec}dialog img{width:100%;max-height:72svh;object-fit:contain}dialog h3{font-size:25px;margin-top:17px}dialog p{font-size:11px}.close{float:right;border:0;background:transparent;font-size:22px;margin-bottom:10px}#pano-error{position:absolute;top:45%;left:10%;right:10%;text-align:center}.reveal{animation:rise .8s both}@keyframes rise{from{opacity:.3;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:800px){header{height:78px}.brand{font-size:18px}.monogram{font-size:35px}.menu{display:block;background:transparent;border:0;font-size:12px}nav{display:none;position:absolute;top:78px;left:0;right:0;background:var(--paper);padding:30px;flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{height:740px;min-height:0}.hero-copy{padding-top:115px}h1{font-size:80px}.hero-bottom>span{display:none}.hero-bottom{justify-content:flex-end}.render-label{font-size:7px}.wrap{padding:75px 6%}.intro{grid-template-columns:1fr;gap:12px}.section-top{display:block}.section-top>p{margin-top:25px}.gallery{gap:30px 15px}.project img,.project:nth-child(3n+1) img{height:260px}.project strong{font-size:22px}.project small{font-size:8px}.steps{grid-template-columns:1fr 1fr;gap:30px}.design-story{grid-template-columns:1fr;gap:30px}.design-story>img{height:350px}#panorama{height:400px}.transformation{grid-template-columns:1fr;gap:30px}.comparison img{height:360px}.faq{padding-top:20px}footer{justify-content:center;text-align:center}.transformation{padding-top:0}}@media(max-width:480px){.gallery{grid-template-columns:1fr}.project img,.project:nth-child(3n+1) img{height:290px}.steps{grid-template-columns:1fr}.steps h3{margin-top:18px}.hero-copy>p:not(.eyebrow){max-width:290px}.hero-copy{padding-top:100px}.eyebrow{font-size:9px}h1{font-size:74px}.hero{height:700px}.pano-overlay{left:15px;right:15px}.pano-overlay>span{font-size:8px}.filters{gap:7px}.filters button{padding:8px 12px;font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.material-compare{position:relative;height:420px;overflow:hidden}.material-compare>img,.material-before img{width:100%;height:420px;object-fit:cover;max-width:none}.material-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.material-compare>span{position:absolute;top:17px;background:var(--paper);padding:7px 9px;font-size:9px;letter-spacing:1px}.mat-left{left:15px}.mat-right{right:15px}.compare-line{position:absolute;left:var(--split);top:0;bottom:0;width:2px;background:white;pointer-events:none}.compare-line:after{content:"↔";position:absolute;top:48%;left:-20px;border-radius:50%;background:white;color:#253b32;width:42px;height:42px;text-align:center;line-height:42px}.material-compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.material-compare:focus-within{outline:3px solid #b59551;outline-offset:4px}
.hero-copy{max-width:none}.hero-copy h1{font-size:clamp(70px,7vw,110px)}@media(min-width:801px){.hero-copy{padding-top:80px}.hero{min-height:730px}}
.portal-invite{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;border-top:1px solid var(--line)}.portal-invite p:not(.eyebrow){max-width:450px}.portal-preview{background:#e7eadd;padding:22px}.portal-preview img{height:300px;width:100%;object-fit:cover}.portal-preview>span{display:block;letter-spacing:2px;font-size:12px;margin-top:20px}.portal-preview small{letter-spacing:0;color:var(--muted)}@media(max-width:800px){.portal-invite{grid-template-columns:1fr;gap:25px}nav{gap:18px}}
