@import url('./assets/fonts.css');
:root{--paper:#f4f1ec;--ink:#282921;--muted:#74756a;--line:#d4d0c6;--gold:#a68b58;--green:#253a30;--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--pad:5vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0;background:none}img{display:block;width:100%;height:100%;object-fit:cover}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:6px}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.035em}h1{font-size:clamp(64px,7.7vw,122px)}h2{font-size:clamp(48px,5.4vw,86px)}h3{font-size:clamp(36px,3.5vw,58px)}h4{font-size:32px}em{font-weight:300}p{max-width:57ch}::selection{background:#b3ad91;color:#fff}.label{font-size:10px;line-height:1.5;letter-spacing:.19em;text-transform:uppercase;font-weight:500}.muted{color:var(--muted)}.section{padding:130px var(--pad)}.text-link{display:inline-flex;gap:34px;align-items:center;padding:14px 0;border-bottom:1px solid currentColor;font-size:12px;letter-spacing:.03em;position:relative}.text-link span:last-child{font-size:22px;transition:transform .4s}.text-link:hover span:last-child{transform:translate(5px,-3px)}.text-link:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .5s}.text-link:hover:after{transform:scaleX(1)}.pill-label{display:flex;align-items:center;gap:12px}.pill-label:before{content:'';height:5px;width:5px;border-radius:50%;background:var(--gold)}.site-header{position:fixed;left:0;right:0;top:0;height:110px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;z-index:90;transition:background .4s,height .4s,color .4s}.site-header.scrolled{height:80px;background:rgba(244,241,236,.94);backdrop-filter:blur(16px)}.brand{width:225px;height:auto;display:block}.brand img{height:auto;mix-blend-mode:multiply}.menu-toggle{display:flex;align-items:center;gap:20px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:16px 0}.menu-lines{width:30px;display:grid;gap:5px}.menu-lines i{display:block;width:30px;height:1px;background:currentColor;transition:transform .5s}.menu-toggle[aria-expanded=true] .menu-lines i:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-lines i:last-child{transform:translateY(-3px) rotate(-45deg)}.menu-open .site-header{background:transparent;color:var(--paper)}.menu-open .brand{filter:brightness(0) invert(1)}.overlay-menu{position:fixed;inset:0;z-index:80;background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1.2fr;gap:8vw;padding:155px var(--pad) 60px;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .8s cubic-bezier(.76,0,.24,1),visibility .8s}.menu-open .overlay-menu{visibility:visible;clip-path:inset(0 0 0 0)}.menu-visual{position:relative;overflow:hidden;max-height:65vh}.menu-visual img{opacity:.8;transition:transform 1.2s}.menu-visual small{position:absolute;bottom:24px;left:24px}.menu-links{display:flex;flex-direction:column;justify-content:center}.menu-links>a{font:clamp(33px,4.5vw,68px)/1.23 var(--serif);letter-spacing:-.03em;border-bottom:1px solid #ffffff20;transition:padding .5s,color .5s;display:flex;gap:20px;align-items:baseline}.menu-links>a:hover{padding-left:15px;color:#c3b48f}.menu-links sup{font:10px var(--sans);letter-spacing:0;opacity:.6}.menu-meta{display:flex;justify-content:space-between;gap:20px;margin-top:32px;font-size:12px}.loader{position:fixed;inset:0;z-index:200;background:var(--green);color:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:25px;transition:clip-path 1.05s cubic-bezier(.76,0,.24,1);clip-path:inset(0)}.loader-word{font:clamp(28px,4vw,60px) var(--sans);letter-spacing:.35em;padding-left:.35em;overflow:hidden}.loader small{animation:breathe 1.2s infinite alternate}.loaded .loader{clip-path:inset(0 0 100% 0);pointer-events:none}.transition-curtain{position:fixed;inset:0;background:var(--green);z-index:190;transform:translateY(100%);transition:transform .55s cubic-bezier(.76,0,.24,1)}.navigating .transition-curtain{transform:translateY(0)}@keyframes breathe{to{opacity:.35}}
/* The cabinet becomes the room */
.hero-scroll{height:280svh;position:relative}.hero-stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;background:var(--paper)}.hero-copy{position:absolute;left:var(--pad);top:27%;width:52%;z-index:4;will-change:transform,opacity}.hero-copy .label{margin-bottom:28px}.hero-copy h1{font-size:clamp(67px,7.5vw,116px);line-height:.99;max-width:8.5em}.hero-copy .text-link{margin-top:30px}.hero-3d{position:absolute;width:58%;height:84%;right:-1%;top:7%;z-index:3;will-change:transform,opacity}.hero-3d canvas{display:block;width:100%;height:100%;cursor:grab}.hero-3d:active canvas{cursor:grabbing}.model-note{position:absolute;right:7%;top:76%;z-index:4;display:flex;align-items:center;gap:14px;pointer-events:none}.model-note:before{content:'';width:42px;height:1px;background:var(--gold)}.hero-bottom{position:absolute;bottom:44px;left:var(--pad);right:var(--pad);display:flex;align-items:flex-end;justify-content:space-between;z-index:5}.hero-bottom .scroll-link{display:flex;align-items:center;gap:16px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.scroll-icon{width:23px;height:36px;border:1px solid var(--gold);border-radius:20px;position:relative}.scroll-icon:after{content:'';position:absolute;left:10px;top:8px;width:1px;height:8px;background:var(--ink);animation:scrollHint 1.6s infinite}@keyframes scrollHint{70%{transform:translateY(10px);opacity:0}}.hero-caption{position:absolute;inset:0;z-index:2;clip-path:inset(90% 5% 0% 67%);will-change:clip-path}.hero-caption>img{object-position:center;transform:scale(1.05)}.hero-caption:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,#14201890)}.hero-room-title{position:absolute;left:var(--pad);bottom:12%;z-index:6;color:var(--paper);opacity:0}.hero-room-title h2{max-width:11em;font-size:clamp(55px,7vw,110px)}.hero-room-title .label{margin-bottom:22px}.hero-room-title .text-link{margin-top:25px}.hero-caption-tag{position:absolute;bottom:46px;right:var(--pad);z-index:7;color:var(--paper);opacity:0}.hero-outline{position:absolute;right:6%;top:22%;width:37%;height:48%;border:1px solid #b2aa993d;transform:rotate(-8deg);z-index:1}.hero-outline:before,.hero-outline:after{content:'';position:absolute;background:var(--paper);width:25%;height:110%;top:-5%;left:20%}.hero-outline:after{left:70%}.scene-progress{position:absolute;left:var(--pad);bottom:0;height:2px;background:var(--gold);z-index:7;width:0}.intro-grid{display:grid;grid-template-columns:1fr 3fr;gap:6vw}.intro-statement{font:clamp(38px,4.6vw,72px)/1.14 var(--serif);letter-spacing:-.027em;max-width:21ch}.word-reveal span{color:#ccc8bc;transition:color .15s}.intro-detail{display:grid;grid-template-columns:1fr 1fr;gap:8vw;margin:50px 0 0 26%;font-size:14px}.intro-detail .text-link{align-self:end;justify-self:start}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:55px}.section-heading .label{margin-bottom:23px}.works{padding-top:30px}.project-layout{display:grid;grid-template-columns:1.25fr 1fr;column-gap:7vw;row-gap:100px;align-items:start}.project-card:nth-child(2n){padding-top:150px}.project-image{display:block;position:relative;overflow:hidden;aspect-ratio:1.21;background:#dcd6ca}.project-card:nth-child(2n) .project-image{aspect-ratio:.86}.project-image img{transition:transform 1.2s cubic-bezier(.2,.7,.1,1)}.project-image:hover img{transform:scale(1.055)}.image-arrow{position:absolute;bottom:20px;right:20px;width:48px;height:48px;background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:24px;transform:translateY(80px) rotate(-30deg);transition:transform .5s}.project-image:hover .image-arrow{transform:translateY(0) rotate(0)}.project-info{display:flex;justify-content:space-between;gap:15px;align-items:baseline;padding-top:22px}.project-info h3{font-size:38px}.project-info .label{font-size:9px;color:var(--muted)}.project-index{font:12px var(--sans);margin-top:8px}.image-wrap{overflow:hidden}.image-wrap img{transition:transform 1.4s}.image-wrap:hover img{transform:scale(1.04)}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1s,transform 1s cubic-bezier(.2,.7,.1,1)}.reveal.visible{opacity:1;transform:translateY(0)}.craft-scroll{height:250svh;background:var(--green);color:var(--paper);position:relative}.craft-stage{position:sticky;top:0;height:100svh;min-height:660px;display:grid;grid-template-columns:1.12fr 1fr}.craft-photo{position:relative;overflow:hidden}.craft-photo img{position:absolute;inset:0;opacity:0;transition:opacity .8s,transform 1.8s;transform:scale(1.08)}.craft-photo img.active{opacity:1;transform:scale(1)}.craft-photo .label{position:absolute;bottom:35px;left:var(--pad);z-index:2;color:white}.craft-content{padding:100px 6vw 60px;display:flex;flex-direction:column;justify-content:center}.craft-content>.label{color:#bcb89e;margin-bottom:23px}.craft-content h2{font-size:clamp(42px,4.5vw,70px);margin-bottom:38px}.craft-step{padding:18px 0;border-top:1px solid #ffffff25;opacity:.35;transition:opacity .5s;display:grid;grid-template-columns:30px 1fr;gap:18px}.craft-step.active{opacity:1}.craft-step .num{font-size:10px;padding-top:8px}.craft-step h3{font-size:32px;letter-spacing:-.02em}.craft-step p{font-size:13px;max-height:0;opacity:0;overflow:hidden;transition:max-height .7s,opacity .5s,margin .5s}.craft-step.active p{max-height:100px;opacity:.7;margin-top:14px}.craft-content>.text-link{align-self:start;margin-top:26px}.materials-home{background:#ded8cb;overflow:hidden}.materials-top{display:grid;grid-template-columns:1.4fr 1fr;gap:10vw;align-items:end}.materials-top p{font-size:14px;margin-top:25px}.material-stage{display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:8vw;min-height:550px;margin-top:40px}.swatch-fan{height:450px;position:relative;perspective:1200px}.swatch-board{position:absolute;width:34%;height:340px;top:50px;left:33%;transform-style:preserve-3d;box-shadow:15px 20px 35px #322c2633;border-left:7px solid #a38a67;transition:transform .7s cubic-bezier(.2,.7,.1,1),filter .7s;overflow:hidden;padding:0}.swatch-board img{opacity:.85;object-position:30% 50%;mix-blend-mode:multiply}.swatch-board:nth-child(1){transform:translateX(-70%) rotate(-16deg) rotateY(-14deg);background:#7d624c}.swatch-board:nth-child(2){transform:translateX(0%) rotate(1deg) rotateY(-14deg);background:#bca788}.swatch-board:nth-child(3){transform:translateX(70%) rotate(16deg) rotateY(-14deg);background:#455043}.swatch-board:hover,.swatch-board.active{z-index:3;transform:translateY(-30px) rotate(0) rotateY(-5deg);filter:brightness(1.09)}.swatch-board:nth-child(1):hover,.swatch-board:nth-child(1).active{transform:translate(-70%,-30px) rotate(-8deg)}.swatch-board:nth-child(3):hover,.swatch-board:nth-child(3).active{transform:translate(70%,-30px) rotate(8deg)}.swatch-board .label{position:absolute;bottom:20px;left:18px;right:18px;text-align:left;color:#fff;font-size:9px;text-shadow:0 1px 4px #000}.material-description .label{color:#72654e;margin-bottom:20px}.material-description h3{font-size:52px}.material-description p{font-size:14px;margin:22px 0}.swatch-tabs{display:flex;gap:9px;margin:28px 0}.swatch-tabs button{height:30px;width:30px;padding:4px;border:1px solid transparent;background-clip:content-box}.swatch-tabs button.active{border-color:var(--ink)}.material-count{font-size:10px;margin-top:24px}.quote-section{display:grid;grid-template-columns:1fr 3fr;gap:6vw}.quote-section blockquote{margin:0}.quote-section blockquote p{font:clamp(35px,4vw,62px)/1.15 var(--serif);max-width:24ch;letter-spacing:-.02em}.quote-section figcaption{margin-top:32px}.quote-section .label{color:var(--muted)}.trade-banner{margin:0 var(--pad) 130px;background:var(--green);color:var(--paper);display:grid;grid-template-columns:1fr 1.1fr;min-height:500px}.trade-banner .image-wrap{min-height:400px}.trade-banner article{padding:70px 5vw;display:flex;flex-direction:column;justify-content:center}.trade-banner .label{color:#c8c3b2;margin-bottom:25px}.trade-banner p{font-size:14px;margin:25px 0 10px;opacity:.75}.trade-banner .text-link{align-self:start}.showrooms-home{padding-top:0}.showrooms-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.location-link{border-top:1px solid var(--line);padding-top:28px}.location-link h3{display:flex;justify-content:space-between;margin-bottom:20px}.location-link h3 span{font:30px var(--sans);transition:transform .4s}.location-link:hover h3 span{transform:translate(8px,-5px)}.location-link p{font-size:13px;color:var(--muted);margin:15px 0}.location-link .label{font-size:9px}.site-footer{background:var(--green);color:var(--paper);padding:100px var(--pad) 30px;position:relative;overflow:hidden}.footer-top{display:flex;justify-content:space-between;align-items:end;gap:30px;border-bottom:1px solid #ffffff25;padding-bottom:70px}.footer-top h2{font-size:clamp(56px,6.4vw,100px);max-width:9ch}.footer-top .label{margin-bottom:24px;color:#bcb89e}.footer-middle{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;padding:55px 0 70px;font-size:12px}.footer-middle .label{color:#bcb89e;margin-bottom:20px}.footer-middle a{display:block;width:fit-content;padding:3px 0}.footer-middle a:hover{color:#c9b787}.footer-logo{height:auto;width:100%;filter:brightness(0) invert(1);opacity:.9;margin-bottom:45px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:25px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#c0c0ae}.footer-bottom button{color:inherit;font-size:10px}.a11y-toggle{position:fixed;bottom:20px;left:20px;width:42px;height:42px;background:var(--paper);border:1px solid var(--line);color:var(--ink);z-index:99;display:grid;place-items:center;border-radius:50%;box-shadow:0 2px 12px #00000010}.a11y-toggle svg{height:22px;width:22px;fill:none;stroke:currentColor;stroke-width:1.4}.a11y-panel{position:fixed;bottom:72px;left:20px;width:250px;background:var(--paper);padding:24px;z-index:100;box-shadow:0 10px 50px #0003;border:1px solid var(--line)}.a11y-panel[hidden]{display:none}.a11y-panel h4{font-size:27px;margin-bottom:14px}.a11y-panel button{display:flex;justify-content:space-between;width:100%;text-align:left;border-bottom:1px solid var(--line);padding:12px 0;font-size:12px}.a11y-panel button[aria-pressed=true]:after{content:'✓'}.high-contrast{--paper:#fff;--ink:#000;--muted:#333;--line:#555}.large-text p,.large-text .text-link{font-size:1.15em}.skip{position:fixed;left:20px;top:-100px;z-index:250;background:var(--paper);padding:15px}.skip:focus{top:10px}.cursor-badge{pointer-events:none;position:fixed;left:0;top:0;width:82px;height:82px;border-radius:50%;background:var(--paper);color:var(--ink);display:grid;place-items:center;z-index:110;opacity:0;font-size:9px;letter-spacing:.13em;transition:opacity .2s;transform:translate(-50%,-50%)}
/* Inner chapters */
.page-head{padding:180px var(--pad) 70px}.page-head>.label{margin-bottom:28px}.page-head h1{max-width:12ch}.page-intro{display:grid;grid-template-columns:1fr 1fr;gap:12vw;margin-top:45px;margin-left:30%}.page-intro p{font-size:15px}.page-intro .text-link{align-self:end;justify-self:start}.full-image{height:75svh;min-height:450px;overflow:hidden;position:relative}.full-image .label{position:absolute;bottom:30px;left:var(--pad);color:white}.filters{display:flex;gap:30px;flex-wrap:wrap;margin:0 0 50px;border-bottom:1px solid var(--line)}.filters button{font-size:11px;letter-spacing:.06em;padding:15px 0;color:var(--muted);position:relative}.filters button.active{color:var(--ink)}.filters button.active:after{content:'';height:1px;background:var(--ink);position:absolute;bottom:-1px;left:0;right:0}.project-card[hidden]{display:none}.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px;border-top:1px solid var(--line);padding-top:28px}.project-facts .label{display:block;margin-bottom:12px;color:var(--muted)}.project-facts p{font-size:13px}.gallery-story{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding-top:0}.gallery-story button{padding:0;overflow:hidden;position:relative}.gallery-story button:nth-child(3n+1){grid-column:1/-1;height:72svh}.gallery-story button{height:60svh}.gallery-story button img{transition:transform 1.2s}.gallery-story button:hover img{transform:scale(1.03)}.lightbox{position:fixed;inset:0;background:#111d;z-index:180;display:grid;place-items:center;padding:65px 5vw;backdrop-filter:blur(12px)}.lightbox[hidden]{display:none}.lightbox img{max-width:100%;max-height:calc(100svh - 140px);object-fit:contain}.lightbox .close{position:absolute;right:5vw;top:20px;color:white;padding:12px;font-size:11px;letter-spacing:.1em}.lightbox .lb-nav{position:absolute;bottom:14px;display:flex;gap:30px;align-items:center;color:white}.lightbox .lb-nav button{color:white;font-size:25px;padding:10px}.lightbox .lb-count{font-size:12px}.story-copy{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;align-items:center}.story-copy p{margin:22px 0;font-size:15px}.story-copy .label{margin-bottom:24px}.story-copy .image-wrap{height:700px}.process-list{border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:40px;padding:42px 0;border-bottom:1px solid var(--line)}.process-row p{font-size:14px;max-width:45ch}.process-row .label{padding-top:12px}.trade-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.trade-steps article{border-top:1px solid var(--line);padding-top:25px}.trade-steps h3{font-size:38px;margin:30px 0 20px}.trade-steps p{font-size:14px}.faq-list details{border-top:1px solid var(--line);padding:23px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{font:30px var(--serif);cursor:pointer;display:flex;justify-content:space-between;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font:23px var(--sans)}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:14px;max-width:65ch;margin:22px 0 0}.location-detail{display:grid;grid-template-columns:1fr 1.3fr;gap:10vw}.location-detail article .label{margin:35px 0 12px;color:var(--muted)}.location-detail article .label:first-child{margin-top:0}.location-detail article p{font-size:15px}.map-panel{background:#ded8cb;position:relative;min-height:450px;display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;background-image:repeating-linear-gradient(15deg,transparent 0,transparent 70px,#f4f1ec 71px,#f4f1ec 78px),repeating-linear-gradient(100deg,transparent 0,transparent 100px,#f4f1ec 101px,#f4f1ec 109px)}.map-panel:after{content:'';position:absolute;width:300px;height:50px;background:#aeb4a180;transform:rotate(-35deg);z-index:0;left:-40px;top:40px}.map-pin{width:70px;height:70px;border:1px solid var(--gold);border-radius:50%;background:var(--paper);display:grid;place-items:center;z-index:1}.map-pin svg{height:30px;fill:none;stroke:var(--green);stroke-width:1.3}.map-panel .map-city{font:40px var(--serif);z-index:1;margin-top:15px}.map-panel .text-link{background:var(--paper);padding:12px 20px;margin-top:20px;z-index:1}.consult-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:10vw;padding:170px var(--pad) 100px}.consult-copy .label{margin-bottom:30px}.consult-copy h1{font-size:clamp(60px,6vw,95px);max-width:9ch}.consult-copy p{font-size:14px;margin:30px 0;max-width:37ch}.consult-copy .image-wrap{height:300px;width:80%;margin-top:50px}.consult-form{padding-top:10px}.form-progress{display:flex;gap:6px;margin-bottom:40px}.form-progress span{height:2px;flex:1;background:var(--line)}.form-progress span.active{background:var(--green)}.form-step[hidden]{display:none}.form-step h2{font-size:46px;margin-bottom:8px}.form-step>.muted{font-size:12px;margin-bottom:35px}.field{display:block;margin-bottom:25px}.field>span{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:10px}.field input,.field select,.field textarea{width:100%;border:0;border-bottom:1px solid #aaa899;background:transparent;border-radius:0;padding:10px 0;outline-offset:2px;min-height:48px;font-size:15px}.field textarea{height:100px;resize:vertical}.field select{cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:35px}.solid-button{background:var(--green);color:var(--paper);padding:17px 28px;font-size:12px;display:inline-flex;gap:45px;justify-content:space-between;align-items:center;border:1px solid var(--green);transition:background .4s,color .4s}.solid-button:hover{background:transparent;color:var(--green)}.back-button{font-size:12px;border-bottom:1px solid var(--line);padding:10px 0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.choice{position:relative;cursor:pointer}.choice input{position:absolute;opacity:0}.choice>span{display:flex;flex-direction:column;border:1px solid var(--line);padding:25px 20px;font:27px var(--serif);transition:background .4s,border .4s}.choice input:checked+span{background:#e1dfd3;border-color:var(--green)}.choice input:focus-visible+span{outline:2px solid var(--gold)}.choice small{font:9px var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-top:15px;color:var(--muted)}.form-note{font-size:11px!important;line-height:1.6;color:var(--muted);margin-top:25px}.review-list{font-size:13px;margin:25px 0}.review-list>div{display:flex;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line);padding:12px 0}.review-list dt{color:var(--muted)}.review-list dd{margin:0;text-align:right}.materials-library{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.material-tile .image-wrap{height:480px;position:relative}.material-tile h3{font-size:38px;margin:25px 0 15px}.material-tile p{font-size:13px}.material-tile .label{margin-top:20px;color:var(--muted)}.material-tile:nth-child(2){padding-top:100px}.material-tile:nth-child(3){padding-top:200px}.model-fallback{position:absolute;inset:20% 10%;transform:rotate(-8deg);background:#5c4938;box-shadow:22px 22px 0 #302e25,45px 55px 80px #40362730;display:none}.model-fallback img{opacity:.85}.no-webgl .model-fallback{display:block}.no-webgl canvas{display:none}.no-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.no-motion .reveal{opacity:1;transform:none}.no-motion .hero-scroll{height:100svh}.no-motion .hero-caption{display:none}.no-motion .craft-scroll{height:auto}.no-motion .craft-stage{position:relative;height:auto;min-height:800px}.no-motion .craft-step{opacity:1}.no-motion .craft-step p{max-height:none;opacity:.75;margin-top:12px}
@media(min-width:1700px){:root{--pad:max(5vw,calc((100vw - 1600px)/2))}.hero-copy{width:47%}}@media(max-width:1024px){.brand{width:185px}.site-header{height:90px}.hero-copy{top:29%;width:55%}.hero-copy h1{font-size:7.7vw}.hero-3d{width:60%;right:-5%}.model-note{right:5%;top:77%;font-size:8px}.craft-content{padding:90px 5vw 45px}.craft-content h2{font-size:46px}.craft-step h3{font-size:28px}.section{padding-top:100px;padding-bottom:100px}.project-layout{gap:70px 5vw}.project-info{flex-direction:column;gap:7px}.project-info h3{font-size:34px}.materials-home .material-stage{gap:4vw}.swatch-board{height:290px;top:80px}.footer-middle{grid-template-columns:1.2fr 1fr 1fr;gap:30px}.footer-middle>div:last-child{display:none}.page-head{padding-top:150px}.page-intro{gap:5vw;margin-left:20%}.story-copy .image-wrap{height:600px}.consult-layout{gap:7vw}.process-row{grid-template-columns:50px 1fr 1fr}.materials-library{gap:25px}.material-tile .image-wrap{height:380px}}
@media(max-width:767px){:root{--pad:6vw}.site-header{height:80px}.site-header.scrolled{height:70px}.brand{width:158px}.menu-toggle{gap:13px;font-size:10px}.menu-lines{width:24px}.menu-lines i{width:24px}.hero-stage{min-height:680px}.hero-scroll{height:260svh}.hero-copy{top:17%;width:90%;left:var(--pad)}.hero-copy .label{font-size:8px;margin-bottom:20px}.hero-copy h1{font-size:clamp(56px,12vw,82px);line-height:1;max-width:10em}.hero-copy .text-link{margin-top:18px;font-size:11px;padding:10px 0}.hero-3d{width:105%;height:55%;top:40%;right:-14%}.hero-outline{top:51%;right:13%;width:65%;height:31%}.model-note{top:auto;bottom:12%;right:7%;font-size:7px}.model-note:before{width:20px}.hero-bottom{bottom:25px}.hero-bottom>.label{display:none}.hero-bottom .scroll-link{font-size:8px;gap:11px}.scroll-icon{width:18px;height:29px}.scroll-icon:after{left:8px;width:1px;height:6px}.hero-room-title{bottom:15%}.hero-room-title h2{font-size:13vw;max-width:10ch}.hero-caption-tag{bottom:35px;font-size:8px}.hero-caption{clip-path:inset(92% 6% 0% 57%)}.hero-caption>img{object-position:54% center}.intro-grid{grid-template-columns:1fr;gap:30px}.intro-statement{font-size:41px;max-width:22ch}.intro-detail{margin:30px 0 0;grid-template-columns:1fr;gap:25px}.intro-detail p{font-size:14px}.section{padding:85px var(--pad)}.section-heading{gap:25px;margin-bottom:35px;align-items:start}.section-heading h2{font-size:49px}.section-heading .label{margin-bottom:20px}.section-heading>.text-link{font-size:10px;gap:12px;white-space:nowrap;margin-top:45px}.works{padding-top:20px}.project-layout{grid-template-columns:1fr;gap:55px}.project-card:nth-child(2n){padding-top:0}.project-card:nth-child(2n) .project-image{aspect-ratio:1.05}.project-info{flex-direction:row;gap:10px}.project-info h3{font-size:31px}.project-info .label{font-size:7px}.image-arrow{width:38px;height:38px;bottom:15px;right:15px;transform:none;font-size:20px}.craft-scroll{height:275svh}.craft-stage{grid-template-columns:1fr;height:100svh;min-height:740px;grid-template-rows:38% 62%}.craft-photo .label{bottom:20px;font-size:8px}.craft-content{padding:25px var(--pad) 28px}.craft-content>.label{margin-bottom:14px;font-size:8px}.craft-content h2{font-size:41px;margin-bottom:20px;max-width:12ch}.craft-step{padding:11px 0;grid-template-columns:20px 1fr;gap:12px}.craft-step h3{font-size:25px}.craft-step p{font-size:12px;line-height:1.5}.craft-step.active p{margin-top:6px;max-height:65px}.craft-step .num{font-size:8px;padding-top:6px}.craft-content>.text-link{font-size:10px;padding:8px 0;margin-top:13px}.materials-top{grid-template-columns:1fr;gap:25px}.materials-top h2{font-size:53px}.materials-top p{margin-top:0}.material-stage{grid-template-columns:1fr!important;gap:0!important;min-height:0;margin-top:5px}.swatch-fan{height:350px;margin:0 10px}.swatch-board{height:235px;top:55px;width:31%;left:34%}.swatch-board .label{font-size:7px;bottom:15px;left:10px}.material-description h3{font-size:44px}.material-description .label{font-size:8px;margin-bottom:15px}.material-description p{margin:15px 0}.swatch-tabs{margin:20px 0}.material-count{display:none}.quote-section{grid-template-columns:1fr;gap:30px}.quote-section blockquote p{font-size:38px}.quote-section figcaption{margin-top:25px}.trade-banner{margin:0 var(--pad) 85px;grid-template-columns:1fr}.trade-banner .image-wrap{min-height:0;height:330px}.trade-banner article{padding:35px 7vw 45px}.trade-banner h2{font-size:45px}.trade-banner p{font-size:13px}.showrooms-home{padding-top:0}.showrooms-grid{grid-template-columns:1fr;gap:35px}.location-link h3{font-size:40px;margin-bottom:13px}.location-link p{margin:10px 0}.site-footer{padding:65px var(--pad) 25px}.footer-top{align-items:start;flex-direction:column;padding-bottom:40px;gap:25px}.footer-top h2{font-size:60px;max-width:10ch}.footer-middle{grid-template-columns:1fr 1fr;padding:40px 0;gap:35px 20px;font-size:11px}.footer-middle>div:nth-child(3){display:none}.footer-logo{margin-bottom:30px}.footer-bottom{font-size:8px;gap:20px;align-items:center}.footer-bottom span:nth-child(2){display:none}.overlay-menu{grid-template-columns:1fr;padding:100px var(--pad) 45px;gap:20px}.menu-visual{display:none}.menu-links>a{font-size:43px;padding:6px 0}.menu-links{justify-content:center}.menu-meta{font-size:11px;margin-top:25px}.cursor-badge{display:none}.a11y-toggle{width:36px;height:36px;bottom:13px;left:13px}.a11y-toggle svg{width:20px;height:20px}.a11y-panel{bottom:60px;left:13px}.page-head{padding:130px var(--pad) 45px}.page-head h1{font-size:65px}.page-head>.label{font-size:9px;margin-bottom:24px}.page-intro{margin:30px 0 0;grid-template-columns:1fr;gap:20px}.full-image{height:55svh;min-height:360px}.filters{gap:23px;margin-bottom:35px}.filters button{font-size:10px}.project-facts{grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.project-facts p{font-size:12px}.project-facts .label{font-size:8px}.gallery-story{gap:20px;padding-top:0}.gallery-story button{height:35svh}.gallery-story button:nth-child(3n+1){height:52svh}.story-copy{grid-template-columns:1fr;gap:40px}.story-copy .image-wrap{height:500px}.story-copy h2{font-size:47px}.process-row{grid-template-columns:25px 1fr;gap:20px;padding:30px 0}.process-row h3{font-size:35px}.process-row p{grid-column:2;font-size:13px}.trade-steps{grid-template-columns:1fr;gap:40px}.trade-steps h3{margin:20px 0 15px}.location-detail{grid-template-columns:1fr;gap:45px}.map-panel{min-height:380px}.faq-list summary{font-size:27px;gap:20px}.consult-layout{grid-template-columns:1fr;gap:45px;padding:130px var(--pad) 75px}.consult-copy h1{font-size:65px;max-width:10ch}.consult-copy .image-wrap{display:none}.consult-copy p{max-width:45ch;margin:25px 0 0}.form-progress{margin-bottom:30px}.form-step h2{font-size:38px}.form-grid{gap:20px}.field{margin-bottom:20px}.choice>span{font-size:25px;padding:22px 15px}.materials-library{grid-template-columns:1fr;gap:50px}.material-tile:nth-child(2),.material-tile:nth-child(3){padding-top:0}.material-tile .image-wrap{height:450px}.lightbox{padding:60px 3vw}.no-motion .craft-stage{min-height:1050px;grid-template-rows:350px auto}}@media(max-height:750px) and (min-width:768px){.hero-copy{top:25%}.hero-copy h1{font-size:6.8vw}.hero-copy .label{margin-bottom:20px}.craft-content{padding-top:75px;padding-bottom:30px}.craft-content h2{font-size:48px;margin-bottom:25px}.craft-step{padding:12px 0}.craft-step.active p{margin-top:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Opening composition: the same five studies travel from a fan into the typography. */
.furniture-scroll{position:relative;height:320svh;background:var(--paper)}.furniture-stage{height:100svh;min-height:720px;position:sticky;top:0;overflow:hidden;isolation:isolate}.furniture-intro{position:absolute;left:var(--pad);right:var(--pad);top:18%;z-index:2;text-align:center;will-change:transform,opacity}.furniture-intro .pill-label{justify-content:center;font-size:9px;letter-spacing:.18em;margin-bottom:25px}.furniture-intro h1{font-size:clamp(80px,8.7vw,136px);font-weight:400;line-height:.96;letter-spacing:-.025em;max-width:none;padding-bottom:.07em}.furniture-intro h1 em{font-weight:400}.furniture-intro p{font-size:13px;line-height:1.6;max-width:none;margin-top:22px;color:#6a6c61}.furniture-intro .text-link{margin-top:15px;padding:10px 0;font-size:11px;gap:30px}.furniture-layer{position:absolute;inset:0;z-index:5;pointer-events:none;perspective:1600px}.furniture-piece{position:absolute;left:0;top:0;aspect-ratio:1;width:320px;will-change:transform;pointer-events:auto;isolation:isolate;transform-origin:50% 50%;transition:filter .35s}.furniture-piece:hover{filter:brightness(1.04)}.furniture-render{position:absolute;inset:0;background-image:url('./assets/furniture-studies.webp');background-repeat:no-repeat;background-size:300% 200%;will-change:transform;backface-visibility:hidden;transition:filter .35s}.furniture-chair{background-position:0% 0%}.furniture-island{background-position:50% 0%}.furniture-sideboard{background-position:100% 0%}.furniture-shelving{background-position:0% 100%}.furniture-table{background-position:50% 100%}.furniture-bottom{position:absolute;bottom:30px;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between;align-items:center;z-index:8;will-change:opacity}.furniture-bottom .scroll-link{display:flex;gap:14px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.furniture-bottom>.label{font-size:9px}.furniture-progress{position:absolute;bottom:0;left:var(--pad);right:var(--pad);height:1px;background:#d8d2c640;z-index:8}.furniture-progress span{display:block;height:1px;width:100%;transform-origin:left;background:var(--gold);transform:scaleX(0);will-change:transform}.furniture-sentence{position:absolute;top:52%;left:8vw;right:8vw;transform:translateY(-50%);text-align:center;z-index:3;opacity:0;pointer-events:none;will-change:opacity,transform}.furniture-sentence>.label{font-size:9px;letter-spacing:.2em;color:var(--muted);margin-bottom:32px}.furniture-sentence h2{font-size:clamp(40px,5.45vw,86px);line-height:1.12;letter-spacing:-.025em;font-weight:400}.sentence-line{display:flex;justify-content:center;align-items:center;gap:.15em;white-space:nowrap;min-height:1.18em}.sentence-line:last-child{gap:.23em}.furniture-slot{display:inline-block;width:1.15em;height:1.15em;flex:0 0 1.15em;position:relative;vertical-align:middle}.furniture-sentence em{font-weight:400}.introduction-v2{padding-top:120px;border-top:1px solid var(--line)}.no-motion .furniture-scroll{height:auto}.no-motion .furniture-stage{height:auto;min-height:0;padding:150px var(--pad) 70px;overflow:visible}.no-motion .furniture-intro{position:relative;inset:auto;transform:none!important;opacity:1!important}.no-motion .furniture-layer{position:relative;inset:auto;display:flex;justify-content:center;margin-top:55px;min-height:180px;perspective:none}.no-motion .furniture-piece{position:relative;width:20%;transform:none!important;flex:0 0 20%}.no-motion .furniture-render{transform:none!important}.no-motion .furniture-sentence{position:relative;inset:auto;transform:none!important;opacity:1!important;margin-top:55px}.no-motion .furniture-slot{display:none}.no-motion .furniture-bottom,.no-motion .furniture-progress{display:none}.no-motion .furniture-sentence h2{font-size:clamp(30px,4.4vw,70px)}
@media(max-width:1024px) and (min-width:768px){.furniture-intro{top:22%}.furniture-intro h1{font-size:10.5vw}.furniture-sentence{left:5vw;right:5vw}.furniture-sentence h2{font-size:6.3vw}}
@media(max-width:767px){.furniture-scroll{height:310svh}.furniture-stage{min-height:680px}.furniture-intro{top:17%;left:5vw;right:5vw}.furniture-intro .pill-label{font-size:7px;letter-spacing:.13em;margin-bottom:25px;gap:9px}.furniture-intro h1{font-size:clamp(59px,15.1vw,94px);line-height:1.02;letter-spacing:-.025em}.furniture-intro p{font-size:11px;margin-top:20px;line-height:1.65}.furniture-intro .text-link{font-size:10px;margin-top:13px;gap:22px}.furniture-bottom{bottom:24px}.furniture-bottom .scroll-link{font-size:7px;gap:10px;letter-spacing:.12em}.furniture-bottom>.label{font-size:7px}.furniture-sentence{left:3vw;right:3vw;top:49.5%}.furniture-sentence>.label{font-size:7px;letter-spacing:.15em;margin-bottom:30px}.furniture-sentence h2{font-size:clamp(27px,7.1vw,43px);line-height:1.13;letter-spacing:-.018em}.sentence-line{min-height:1.47em;gap:.12em}.sentence-line:last-child{flex-wrap:wrap;gap:.22em;max-width:94%;margin:auto}.furniture-slot{width:1.18em;height:1.3em;flex-basis:1.18em}.sentence-line:last-child em{white-space:nowrap}.introduction-v2{padding-top:75px}.no-motion .furniture-stage{padding-top:130px}.no-motion .furniture-layer{min-height:90px;margin-top:30px}.no-motion .furniture-sentence{margin-top:35px}.no-motion .furniture-sentence h2{font-size:8vw}.no-motion .furniture-sentence .sentence-line{white-space:normal;min-height:1.2em}.no-motion .furniture-sentence .sentence-line:last-child{max-width:100%}}
@media(max-height:760px) and (min-width:768px){.furniture-intro{top:16%}.furniture-intro h1{font-size:7.3vw}.furniture-intro .pill-label{margin-bottom:20px}.furniture-intro p{margin-top:14px}.furniture-intro .text-link{margin-top:8px}.furniture-sentence{top:54%}.furniture-sentence h2{font-size:5vw}.furniture-sentence>.label{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.furniture-scroll{height:auto}.furniture-stage{position:relative}}

.furniture-bottom{top:62%;bottom:auto}.furniture-bottom .scroll-icon{display:none}.furniture-bottom .scroll-link:after{content:"↓";font-size:15px;letter-spacing:0;color:var(--gold)}
@media(max-width:767px){.furniture-bottom{top:58%;bottom:auto}.furniture-bottom>.label{display:none}.furniture-bottom{justify-content:center}}

.no-motion .furniture-sentence{filter:none!important}
/* Stable, bounded hero geometry. Each furniture study has its own image file. */
.furniture-scroll{height:245svh}.furniture-stage{min-height:0;height:100svh}.furniture-layer{perspective:none;isolation:auto}.furniture-piece{opacity:0;transition:opacity .2s;isolation:auto;transform-origin:center;pointer-events:none;aspect-ratio:auto}.furniture-ready .furniture-piece{opacity:1}.furniture-render{display:block;width:100%;height:100%;object-fit:contain;background:none!important;transform:none!important;will-change:auto;backface-visibility:visible}.furniture-piece:hover{filter:none}.furniture-sentence{pointer-events:none}.no-motion .furniture-piece{opacity:1;width:20%!important;height:auto!important;aspect-ratio:1}.no-motion .furniture-render{position:relative}.no-motion .furniture-stage{height:auto;min-height:0}.no-motion .furniture-layer{height:auto;min-height:0}.no-motion .furniture-sentence{filter:none!important}
@media(max-width:767px){.furniture-scroll{height:245svh}.furniture-intro h1{font-size:clamp(55px,14.5vw,84px)}.furniture-stage{min-height:0}.furniture-sentence{top:52%}.furniture-sentence h2{font-size:clamp(27px,7.1vw,40px)}}
@media(max-height:720px){.furniture-intro{top:16%}.furniture-intro h1{font-size:min(9vw,15svh)}.furniture-intro .pill-label{margin-bottom:14px}.furniture-intro p{margin-top:10px;font-size:11px}.furniture-intro .text-link{margin-top:7px}.furniture-bottom{top:61%}}
@media(prefers-reduced-motion:reduce){.furniture-scroll{height:auto}}
.brand{display:block;flex:0 0 auto;min-height:20px;line-height:0}.brand img{display:block;width:100%;height:auto;aspect-ratio:750/93;object-fit:contain;mix-blend-mode:normal}.footer-logo{display:block;width:100%;height:auto;aspect-ratio:750/93;object-fit:contain;mix-blend-mode:normal}.menu-open .brand{filter:none}.menu-open .brand img{filter:brightness(0) invert(1)}
