/* Typography selected from the Fonts Ninja catalogue: Libre Caslon Display / HK Grotesk. */
:root{--serif:'Libre Caslon Display',Georgia,serif;--sans:'HK Grotesk',Arial,sans-serif;--motion-ease:cubic-bezier(.22,1,.36,1)}
body{font-size:16px;line-height:1.6}h1,h2,h3,h4{letter-spacing:-.035em;line-height:1.08}h1{font-size:clamp(60px,7vw,112px)}h2{font-size:clamp(45px,5.1vw,80px)}em{font-style:normal;color:#726247;font-weight:400}.site-footer em,.trade-banner em,.overlay-menu em{color:#d6c5a2}.label{font-weight:500}.page-head h1{padding-bottom:.08em}.menu-links>a{line-height:1.28}.consult-copy h1{font-size:clamp(58px,5.5vw,88px)}
/* Furniture: a collection, a loose composition, then a staggered typographic arrangement. */
.furniture-scroll{height:310svh}.furniture-intro{top:17%}.furniture-intro h1{font-size:clamp(75px,8vw,121px);line-height:1.04;letter-spacing:-.04em}.furniture-intro h1 em{color:#726247}.furniture-intro p{margin-top:20px;font-size:13px}.furniture-intro .text-link{font-size:12px}.furniture-bottom{top:63%}.furniture-render{filter:drop-shadow(0 var(--shadow-y,12px) var(--shadow-blur,10px) #33291c18);transition:none}.furniture-piece{will-change:transform;transition:opacity .25s}.furniture-sentence{top:52%;left:5vw;right:5vw}.furniture-sentence h2{font-size:clamp(40px,4.85vw,75px);line-height:1.16;letter-spacing:-.03em}.sentence-line{min-height:1.25em;will-change:transform,opacity}.furniture-slot{border-radius:0;overflow:visible}.furniture-slot:after{content:'';position:absolute;inset:11%;border:1px solid #a68b5833;opacity:calc(var(--slot-reveal,0)*.65);transform:scale(calc(.7 + var(--slot-reveal,0)*.3));transition:none;z-index:-1}.furniture-chapter{position:absolute;bottom:31px;left:var(--pad);right:var(--pad);z-index:6;display:flex;align-items:center;gap:18px;opacity:0;font-size:9px;letter-spacing:.16em}.chapter-number{color:var(--gold);min-width:18px}.chapter-dots{display:flex;gap:7px;margin-left:auto}.chapter-dots i{height:3px;width:20px;background:var(--line);transition:background .35s}.chapter-dots i.active{background:var(--gold)}.composition-guides{position:absolute;inset:16% 9% 16%;z-index:0;opacity:0;pointer-events:none}.composition-guides i{position:absolute;inset:0;border:1px solid #a68b5824}.composition-guides i:before,.composition-guides i:after{content:'';position:absolute;width:13px;height:13px;border-color:#a68b5870}.composition-guides i:before{top:-1px;left:-1px;border-left:1px solid;border-top:1px solid}.composition-guides i:after{bottom:-1px;right:-1px;border-right:1px solid;border-bottom:1px solid}.composition-guides i:nth-child(2){inset:13% 15%;border:0;border-top:1px solid #a68b5817;border-bottom:1px solid #a68b5817}.composition-caption{position:absolute;top:46%;left:0;right:0;text-align:center;color:#847961;font-size:9px;background:var(--paper);width:max-content;margin:auto;padding:8px 15px}
@media(max-width:767px){.furniture-scroll{height:310svh}.furniture-intro{top:18%}.furniture-intro h1{font-size:clamp(53px,13.2vw,85px);line-height:1.09}.furniture-intro p{font-size:12px;margin-top:18px}.furniture-intro .pill-label{margin-bottom:22px}.furniture-bottom{top:61%}.furniture-sentence{top:51%;left:3vw;right:3vw}.furniture-sentence h2{font-size:clamp(26px,6.8vw,43px);line-height:1.18}.sentence-line{min-height:1.54em}.furniture-sentence>.label{margin-bottom:24px}.furniture-slot{height:1.3em;flex-basis:1.17em}.furniture-chapter{bottom:24px;font-size:7px;gap:10px}.chapter-dots i{width:13px}.composition-guides{inset:22% 8% 19%}.composition-caption{font-size:7px;top:44%;letter-spacing:.12em}.page-head h1{font-size:clamp(54px,12vw,76px)}.consult-copy h1{font-size:61px}.menu-links>a{font-size:39px}}
/* Flat, quick and opaque. Visibility changes only after the counter reaches 100. */
.loader,.transition-curtain{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;z-index:2147483647!important;background:#f4f1ec!important;background-image:none!important;opacity:1!important;visibility:visible!important;clip-path:none;transform:none!important;filter:none!important;backdrop-filter:none!important;mix-blend-mode:normal!important;isolation:isolate;perspective:none!important;box-shadow:none!important;border:0;overflow:hidden;transition:none!important;animation:none!important;color:#253a30;display:grid;place-items:center;pointer-events:auto!important}.loader:before,.loader:after{display:none!important}.loaded .loader{display:none!important}.transition-curtain{display:none}.navigating .transition-curtain,.motion-enter .transition-curtain{display:grid}.opening,.navigating,.motion-enter body{overflow:hidden}.opening main,.opening .site-header{pointer-events:none}.motion-logo{position:absolute;left:5vw;top:35px;width:200px;line-height:0}.motion-logo img{width:100%;height:auto;object-fit:contain}.motion-meter{width:min(80vw,980px);display:grid;justify-items:center;gap:24px;position:relative}.motion-caption{position:static;font-size:9px;letter-spacing:.2em;color:#7c796b;text-align:center}.motion-drawing{display:block;width:100%;height:auto;max-height:30svh;overflow:visible;color:#253a30}.motion-drawing path{stroke-dasharray:none;stroke-dashoffset:0;vector-effect:non-scaling-stroke}.motion-drawing .motion-detail{stroke:#a68b58}.meter-piece{transform:translateY(calc((1 - var(--progress,0))*8px))}.motion-numeral{display:flex;align-items:baseline;gap:6px;line-height:1;color:#253a30;font-family:var(--sans);font-weight:400;font-variant-numeric:tabular-nums}.motion-count{font-size:clamp(58px,7vw,96px);letter-spacing:-.07em;min-width:3ch;text-align:right}.motion-percent{font-size:14px;letter-spacing:0;color:#8c8068}.motion-track{width:100%;height:1px;background:#d7d1c6;margin-top:5px}.motion-track span{display:block;width:100%;height:100%;background:#a68b58;transform:scaleX(var(--progress,0));transform-origin:left}.motion-bottom{position:absolute;bottom:30px;left:5vw;right:5vw;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.14em;color:#7c796b}
@media(max-width:767px){.motion-logo{width:155px;top:26px;left:6vw}.motion-meter{width:86vw;gap:30px}.motion-drawing{width:100%;max-height:none}.motion-caption{font-size:7px;letter-spacing:.16em}.motion-count{font-size:72px}.motion-percent{font-size:11px}.motion-bottom{left:6vw;right:6vw;bottom:25px;font-size:6px;letter-spacing:.1em}.motion-bottom span:last-child{max-width:13ch;text-align:right}.motion-track{margin-top:0}}
@media(max-height:650px){.motion-meter{gap:14px}.motion-drawing{max-height:30svh}.motion-count{font-size:55px}.motion-logo{top:20px;width:150px}.motion-bottom{bottom:18px}}
.no-motion .loader,.no-motion .transition-curtain{display:none!important}.no-motion .furniture-scroll{height:auto}.no-motion .furniture-chapter,.no-motion .composition-guides{display:none}.no-motion .sentence-line{opacity:1!important;transform:none!important}.no-motion .furniture-slot:after{display:none}.no-motion .furniture-piece{filter:none}.no-motion .furniture-intro h1{font-size:clamp(53px,8vw,120px)}
@media(max-height:720px){.furniture-intro{top:17%}.furniture-intro h1{font-size:min(8vw,14svh)}.furniture-intro p{margin-top:10px}.furniture-intro .pill-label{margin-bottom:15px}.furniture-sentence h2{font-size:min(4.85vw,8.2svh)}}
@media(prefers-reduced-motion:reduce){.loader,.transition-curtain{display:none!important}.furniture-scroll{height:auto}.sentence-line{opacity:1!important;transform:none!important}}
/* The atelier: material samples resolve into a flat cabinetry elevation. */
.atelier-meter{width:min(86vw,1120px);grid-template-columns:.95fr 1.05fr;column-gap:5vw;row-gap:24px;align-items:center;justify-items:stretch}.atelier-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}.atelier-copy .motion-caption{text-align:left;letter-spacing:.16em;font-size:9px}.atelier-title{font:clamp(42px,4.7vw,72px)/1.07 var(--serif);letter-spacing:-.035em;color:#282921;max-width:none}.atelier-title em{color:#726247;font-style:normal}.atelier-stages{display:flex;gap:20px;font-size:8px;letter-spacing:.09em;color:#aaa396;white-space:nowrap}.atelier-stages span{position:relative;padding-bottom:7px}.atelier-stages span:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:#a68b58;transform:scaleX(0);transform-origin:left}.loader[data-step="0"] .atelier-stages span:nth-child(1),.transition-curtain[data-step="0"] .atelier-stages span:nth-child(1),.loader[data-step="1"] .atelier-stages span:nth-child(2),.transition-curtain[data-step="1"] .atelier-stages span:nth-child(2),.loader[data-step="2"] .atelier-stages span:nth-child(3),.transition-curtain[data-step="2"] .atelier-stages span:nth-child(3){color:#253a30}.loader[data-step="0"] .atelier-stages span:nth-child(1):after,.transition-curtain[data-step="0"] .atelier-stages span:nth-child(1):after,.loader[data-step="1"] .atelier-stages span:nth-child(2):after,.transition-curtain[data-step="1"] .atelier-stages span:nth-child(2):after,.loader[data-step="2"] .atelier-stages span:nth-child(3):after,.transition-curtain[data-step="2"] .atelier-stages span:nth-child(3):after{transform:scaleX(1)}.atelier-copy .motion-numeral{margin-left:-.12em}.atelier-copy .motion-count{font-size:clamp(46px,4.5vw,68px);min-width:3ch}.atelier-copy .motion-percent{font-size:11px}.atelier-meter>.motion-track{grid-column:1/-1;margin:6px 0 0}.atelier-composition{position:relative;height:350px;min-width:0;isolation:isolate}.atelier-materials{position:absolute;top:10px;left:50%;width:300px;height:150px;transform:translateX(-50%);z-index:1}.atelier-sample{position:absolute;top:0;width:105px;height:145px;border:1px solid #58462e30;box-shadow:0 5px 8px #3a2d1a0c;transform-origin:50% 100%;will-change:transform}.atelier-sample>span{position:absolute;top:11px;left:12px;font:8px var(--sans);letter-spacing:.08em;color:#f4f1ecb0}.sample-walnut{left:0;background:#755239 url('assets/wood-texture.webp') center/cover;transform:translateY(calc((1 - var(--material,0))*14px)) rotate(calc(-12deg + var(--material,0)*5deg))}.sample-stone{left:95px;background:linear-gradient(112deg,transparent 0 38%,#c8bba65c 38.5% 39%,transparent 39.5% 70%,#b5a88f30 70.5% 71%,transparent 72%),#ded3bf;transform:translateY(calc((1 - var(--material,0))*-15px)) rotate(calc(-3deg + var(--material,0)*2deg));z-index:2}.sample-stone>span{color:#7e7057}.sample-forest{right:0;background:#34473b;transform:translateY(calc((1 - var(--material,0))*12px)) rotate(calc(10deg - var(--material,0)*4deg));z-index:3}.atelier-material-caption{position:absolute;left:-25px;right:-25px;top:-28px;text-align:center;font-size:7px;letter-spacing:.14em;color:#8a806d}.atelier-cabinet{display:block;position:absolute;bottom:0;left:0;width:100%;height:auto;max-height:280px;overflow:visible;z-index:4}.elevation-body{transform:translateY(calc((1 - var(--build,0))*12px));transform-origin:center;will-change:transform}.elevation-guide{opacity:calc(.25 + var(--fit,0)*.45)}.elevation-note{font-family:var(--sans)}
@media(max-width:1024px) and (min-width:768px){.atelier-meter{column-gap:3vw;width:88vw;grid-template-columns:1fr 1fr}.atelier-title{font-size:46px}.atelier-composition{height:310px}.atelier-materials{width:250px;height:135px}.atelier-sample{width:90px;height:130px}.sample-stone{left:80px}.atelier-stages{font-size:7px;gap:12px}.atelier-copy{gap:21px}}
@media(max-width:767px){.atelier-meter{width:86vw;grid-template-columns:1fr;gap:20px}.atelier-copy{display:grid;grid-template-columns:1fr auto;column-gap:8px;row-gap:18px;align-items:center}.atelier-copy .motion-caption{grid-column:1/-1;font-size:7px}.atelier-title{font-size:clamp(30px,8.7vw,44px);grid-column:1;grid-row:2;line-height:1.09}.atelier-copy .motion-numeral{grid-column:2;grid-row:2;margin:0;align-self:end;padding-bottom:3px;gap:3px}.atelier-copy .motion-count{font-size:41px;letter-spacing:-.05em}.atelier-copy .motion-percent{font-size:8px}.atelier-stages{grid-column:1/-1;grid-row:3;gap:0;justify-content:space-between;font-size:7px}.atelier-composition{height:235px}.atelier-materials{width:200px;height:100px;top:16px}.atelier-sample{width:70px;height:100px}.sample-stone{left:65px}.atelier-material-caption{font-size:6px;top:-20px;letter-spacing:.12em}.atelier-sample>span{top:8px;left:8px;font-size:6px}.atelier-cabinet{max-height:none;width:100%}.atelier-meter>.motion-track{margin:0}.motion-bottom span:last-child{max-width:22ch}}
@media(max-height:650px){.atelier-copy{gap:16px}.atelier-title{font-size:42px}.atelier-composition{height:270px}.atelier-materials{height:120px;width:250px;top:15px}.atelier-sample{width:88px;height:115px}.sample-stone{left:80px}.atelier-copy .motion-count{font-size:46px}.atelier-meter{row-gap:14px}.atelier-cabinet{max-height:210px}}
@media(max-height:650px) and (max-width:767px){.atelier-copy{row-gap:12px;column-gap:8px}.atelier-title{font-size:32px}.atelier-composition{height:180px}.atelier-materials{height:85px;width:175px;top:10px}.atelier-sample{width:62px;height:80px}.sample-stone{left:56px}.atelier-cabinet{max-height:160px}.atelier-copy .motion-count{font-size:36px}}
/* At 100, an opaque paper curtain lifts as a viewport-sized blur clears underneath. */
.loader,.transition-curtain{clip-path:inset(0 0 0 0)}
.loader.sequence-exit,.transition-curtain.sequence-exit{pointer-events:none!important}
.sequence-exit .motion-meter{transform:translateY(-18px);transition:transform .52s cubic-bezier(.76,0,.24,1)}
.page-reveal-veil{display:none;position:fixed;inset:0;z-index:2147483646;pointer-events:none}
.sequence-revealing .page-reveal-veil{display:block;animation:page-comes-into-focus .66s cubic-bezier(.22,1,.36,1) both}
@keyframes page-comes-into-focus{from{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#f4f1ec30}to{-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);background-color:#f4f1ec00}}
/* The outgoing cover has no visible counter; the incoming counter runs without a handoff. */
.navigating .transition-curtain .motion-numeral{visibility:hidden}
.no-motion .page-reveal-veil{display:none!important}
@media(max-width:767px){@keyframes page-comes-into-focus{from{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#f4f1ec24}to{-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);background-color:#f4f1ec00}}}
@media(prefers-reduced-motion:reduce){.page-reveal-veil{display:none!important}.loader.sequence-exit,.transition-curtain.sequence-exit{transition:none!important}}
html{scrollbar-gutter:stable}
/* Furniture, logo and a fitted wood rail are the entire loading composition. */
.atelier-meter{width:min(78vw,700px);grid-template-columns:1fr;justify-items:center;gap:36px;--card-scale:1}.atelier-composition{width:100%;height:400px}.atelier-materials{top:35px}.atelier-cabinet{max-height:300px}.sample-walnut{transform:translate(calc(var(--c0x,0px)*var(--card-scale,1)),calc(var(--c0y,80px)*var(--card-scale,1))) rotate(var(--c0r,-3deg))}.sample-stone{transform:translate(calc(var(--c1x,0px)*var(--card-scale,1)),calc(var(--c1y,100px)*var(--card-scale,1))) rotate(var(--c1r,0deg))}.sample-forest{transform:translate(calc(var(--c2x,0px)*var(--card-scale,1)),calc(var(--c2y,90px)*var(--card-scale,1))) rotate(var(--c2r,3deg))}
.joinery-progress{position:relative;width:min(74%,480px);height:22px;border:1px solid #9e8965;background:#e1d7c5;padding:4px}.joinery-progress:before,.joinery-progress:after{content:'';position:absolute;top:-4px;bottom:-4px;width:5px;background:#baa482;border:1px solid #927b55}.joinery-progress:before{left:-6px}.joinery-progress:after{right:-6px}.joinery-channel{position:relative;width:100%;height:100%;overflow:hidden;background:#d4c7ad;box-shadow:inset 0 1px 2px #5a472926}.joinery-fill{display:block;height:100%;width:100%;background:#74583b url('assets/wood-texture.webp') center/cover;transform:scaleX(var(--progress,0));transform-origin:left;will-change:transform}.joinery-tenon{position:absolute;left:calc(var(--progress,0)*100%);top:0;bottom:0;width:10px;transform:translateX(-100%);background:#a68b58;border-right:2px solid #6f5737;box-shadow:inset 1px 0 0 #dac9a8}
@media(max-width:1024px) and (min-width:768px){.atelier-meter{width:76vw;grid-template-columns:1fr}.atelier-composition{height:360px}.atelier-materials{top:45px}.atelier-cabinet{max-height:270px}}
@media(max-width:767px){.atelier-meter{width:86vw;grid-template-columns:1fr;gap:30px;--card-scale:.72}.atelier-composition{height:300px}.atelier-materials{top:72px}.atelier-cabinet{max-height:none}.joinery-progress{width:76%;height:18px;padding:3px}.joinery-progress:before,.joinery-progress:after{top:-3px;bottom:-3px;width:4px}.joinery-progress:before{left:-5px}.joinery-progress:after{right:-5px}}
@media(max-height:650px){.atelier-meter{gap:22px}.atelier-composition{height:290px}.atelier-materials{top:35px}.atelier-cabinet{max-height:210px}}
@media(max-height:650px) and (max-width:767px){.atelier-composition{height:230px}.atelier-materials{top:70px}.atelier-cabinet{max-height:160px}.atelier-meter{--card-scale:.6}}
.furniture-intro .text-link{margin-top:28px}.intro-detail{margin-top:32px}.intro-detail p{max-width:42ch}.materials-top p{max-width:34ch}
