:root{--paper:#eeece7;--ink:#262622;--muted:#65635d;--line:#cfcdc6;--dark:#30312c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #997047;outline-offset:6px}img{display:block;width:100%;height:100%;object-fit:cover;background:#c3bdb2}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}em{font-family:Georgia,'Times New Roman',serif;font-weight:400}header,.hero,.section,footer{padding-left:5%;padding-right:5%}.header{height:102px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{font-size:43px;font-weight:600;letter-spacing:-3px;line-height:1}.logo span{font-size:12px;letter-spacing:0;vertical-align:top;display:inline-block;margin:6px 0 0 5px}nav{display:flex;align-items:center;gap:34px;font-size:14px}nav a:hover{opacity:.6}.nav-contact{margin-left:30px;border-bottom:1px solid;padding:12px 0}.nav-contact span{margin-left:24px}.menu-toggle{display:none}.hero{padding-top:39px}.hero-top{display:flex;justify-content:space-between;align-items:flex-start}.eyebrow{font-size:12px;letter-spacing:1.6px;line-height:1.7}.hero-note{font-size:14px;line-height:1.5;margin-right:2%}h1{font-size:clamp(60px,8.9vw,152px);letter-spacing:-.06em;line-height:1.1;margin:18px 0 36px}h1 em{letter-spacing:-.065em}.hero-image{height:clamp(340px,43vw,660px);position:relative;overflow:hidden}.hero-image img{object-position:center 56%}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0007);pointer-events:none}.image-caption{position:absolute;bottom:30px;left:32px;right:32px;display:flex;justify-content:space-between;color:white;z-index:1;font-size:15px}.image-caption>a span{margin-left:25px}.hero-bottom{display:flex;justify-content:space-between;padding:22px 0;font-size:11px;letter-spacing:1.1px;border-bottom:1px solid var(--line)}.section{padding-top:110px;padding-bottom:110px}.about{display:grid;grid-template-columns:1fr 2fr;gap:40px}h2{font-size:clamp(42px,4.8vw,76px);letter-spacing:-.05em;line-height:1.08}.about-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:36px 0 30px;max-width:760px}.about-copy p,.service-list p,.steps p,.showroom-copy>p:not(.eyebrow){font-size:16px;line-height:1.75;color:var(--muted)}.text-link{display:inline-flex;gap:55px;border-bottom:1px solid var(--ink);padding:12px 0;font-size:14px}.services{background:#e4e1da;display:grid;grid-template-columns:1fr 1.25fr;gap:8%;}.section-heading h2{margin-top:26px}.service-list details{border-top:1px solid #bdbab2}.service-list details:last-child{border-bottom:1px solid #bdbab2}.service-list summary{display:flex;gap:24px;align-items:center;cursor:pointer;list-style:none;padding:27px 0}.service-list summary::-webkit-details-marker{display:none}.number{font-size:12px;color:var(--muted)}.service-list h3{font-size:clamp(23px,2.4vw,34px);letter-spacing:-1px}.expand{margin-left:auto;font-size:25px;font-weight:300}.service-list details[open] .expand{transform:rotate(45deg)}.service-list p{padding:0 25px 28px 39px;max-width:540px}.project-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.project-heading h2{margin-top:22px}.small-copy{font-size:14px;line-height:1.65;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:5%}.project-image{height:550px;overflow:hidden}.project-image img{transition:transform .7s}.project-image:hover img{transform:scale(1.025)}.project-secondary{padding-top:115px}.project-secondary .project-image{height:440px}.project-label{display:flex;justify-content:space-between;gap:15px;margin-top:22px;align-items:center}.project-label h3{font-size:22px;letter-spacing:-.5px}.project-label span{font-size:10px;letter-spacing:1px;color:var(--muted)}.project-grid article>p{font-size:14px;color:var(--muted);margin-top:11px}.process{border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:66px}.steps article{border-top:1px solid #aaa69c;padding-top:23px}.steps span{font-size:11px;letter-spacing:1.1px}.steps h3{font-size:27px;letter-spacing:-.7px;margin:40px 0 15px}.steps p{font-size:15px}.showroom{display:grid;grid-template-columns:1fr 1fr;min-height:600px;background:var(--dark);color:var(--paper)}.showroom-image{min-height:600px}.showroom-image img{object-position:30% center}.showroom-copy{padding:70px 14%}.showroom-copy h2{margin:33px 0}.showroom-copy>p:not(.eyebrow){color:#cccac1}.showroom-copy .showroom-meta{font-size:11px!important;letter-spacing:1px;margin-top:34px}.showroom-meta span{font-size:14px;letter-spacing:0}.light-link{display:flex;justify-content:space-between;width:100%;margin-top:32px;padding:17px 0;border:0;border-bottom:1px solid #919288;background:none;font-size:14px}.contact .eyebrow{margin-bottom:30px}.contact-row{display:flex;justify-content:space-between;align-items:end;gap:40px}.contact-button{background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:23px 29px;font-size:14px;display:inline-flex;align-items:center;gap:45px;min-height:56px}.contact-button:hover{background:#494b40}footer{border-top:1px solid var(--line);padding-top:55px;padding-bottom:26px}.footer-top{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:35px;padding-bottom:65px}.footer-top p,.footer-top>div{font-size:14px;line-height:1.8;color:var(--muted)}.footer-top>div{display:flex;flex-direction:column}.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:22px;font-size:10px;letter-spacing:.5px;color:var(--muted)}.skip{position:fixed;top:-80px;left:20px;background:var(--ink);color:white;padding:15px;z-index:20}.skip:focus{top:15px}dialog{background:var(--paper);color:var(--ink);border:0;padding:55px;max-width:550px;width:calc(100% - 32px)}dialog::backdrop{background:#171713a8}dialog h2{font-size:45px;margin:23px 0}dialog>p:not(.eyebrow){font-size:16px;line-height:1.7;margin-bottom:28px}.dialog-close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:30px}.dialog-done{padding:15px 25px}@media(min-width:1700px){body{max-width:1920px;margin:auto}}@media(max-width:1000px){nav{gap:20px}.nav-contact{margin-left:0}.project-image{height:420px}.project-secondary .project-image{height:350px}.project-label{align-items:start;flex-direction:column;gap:8px}.showroom-copy{padding:55px 10%}.steps{gap:22px}.footer-bottom>span:nth-child(2){display:none}}@media(max-width:700px){html{scroll-padding-top:20px}.header{height:80px}.logo{font-size:37px}.menu-toggle{display:flex;gap:18px;align-items:center;border:0;background:none;padding:12px 0;font-size:14px}.menu-toggle span{font-size:22px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:25px 5%;z-index:10;box-shadow:0 20px 20px #0001}nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:0}nav a{padding:16px 0;border-bottom:1px solid var(--line)}.hero{padding-top:25px}.hero-note{font-size:12px}.eyebrow{font-size:10px;letter-spacing:1.2px}h1{font-size:clamp(53px,11.4vw,80px);margin:30px 0;letter-spacing:-.06em}.hero-image{height:440px}.image-caption{left:18px;right:18px;bottom:22px;font-size:12px}.image-caption>a span{margin-left:10px}.hero-bottom{font-size:9px;gap:15px;line-height:1.6}.hero-bottom>span:last-child{display:none}.section{padding-top:70px;padding-bottom:70px}.about,.services{grid-template-columns:1fr;gap:30px}h2{font-size:46px}.about-copy{grid-template-columns:1fr;gap:20px;margin-top:26px}.about-copy p,.service-list p{font-size:16px}.services{gap:40px}.section-heading h2{margin-top:22px}.service-list summary{padding:23px 0}.service-list h3{font-size:27px}.project-heading{display:block;margin-bottom:30px}.small-copy{margin-top:25px;font-size:13px}.project-grid{grid-template-columns:1fr;gap:42px}.project-image{height:440px}.project-secondary{padding:0}.project-secondary .project-image{height:390px}.project-label{flex-direction:row;align-items:center}.project-label h3{font-size:21px}.project-label span{font-size:9px}.steps{grid-template-columns:1fr 1fr;gap:35px 25px;margin-top:38px}.steps h3{margin-top:26px;font-size:25px}.steps p{font-size:14px}.showroom{grid-template-columns:1fr}.showroom-image{min-height:0;height:370px}.showroom-copy{padding:50px 7% 60px}.contact-row{display:block}.contact-button{margin-top:30px;width:100%;justify-content:space-between}.footer-top{grid-template-columns:1fr 1fr;gap:35px;padding-bottom:38px}.footer-bottom{font-size:10px;line-height:1.6}dialog{padding:40px 28px}dialog h2{font-size:40px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Scroll-led art direction. The normal document remains intact without JS. */
.hero-next,.scene-progress,.scene-caption>span+span{display:none}
.hero-stage{position:relative}.hero-next{position:absolute;inset:0;opacity:0}
.showroom-image{overflow:hidden}
.motion-ready .hero-story{height:260svh}
.motion-ready .hero-stage{position:sticky;top:0;height:100svh;width:111.111%;margin-left:-5.5555%;overflow:hidden}
.motion-ready .hero-image{height:100%;width:100%;clip-path:inset(0 var(--frame-inset,5%) 0);background:var(--dark)}
.motion-ready #hero-photo{transform:scale(var(--hero-scale,1));will-change:transform}
.motion-ready .hero-next{display:block;opacity:var(--scene-blend,0);transform:scale(var(--next-scale,1.14));will-change:transform,opacity}
.motion-ready .image-caption{left:calc(5% + 24px);right:calc(5% + 24px);bottom:75px;font-size:16px}
.motion-ready .scene-caption{display:grid}
.motion-ready .scene-caption>span{grid-area:1/1;opacity:var(--caption-out,1);transform:translateY(calc(var(--scene-blend,0)*-18px))}
.motion-ready .scene-caption>span+span{display:block;opacity:var(--caption-in,0);transform:translateY(calc((1 - var(--scene-blend,0))*18px))}
.motion-ready .scene-progress{position:absolute;left:calc(5% + 24px);right:calc(5% + 24px);bottom:32px;display:flex;gap:16px;align-items:center;color:#fff;font-size:11px;letter-spacing:1px}
.scene-progress i{height:1px;flex:1;background:#ffffff55;position:relative}
.scene-progress i:after{content:'';position:absolute;inset:0;background:#fff;transform:scaleX(var(--story-progress,0));transform-origin:left}
.motion-ready .project-image img,.motion-ready .showroom-image img{transform:translate3d(0,var(--image-shift,0px),0) scale(1.12);transition:none}
.motion-ready .project-image{clip-path:inset(var(--reveal-inset,0%) 0 0)}
@media(max-width:700px){.motion-ready .hero-story{height:200svh}.motion-ready .image-caption{left:7%;right:7%;bottom:70px;display:block;font-size:15px}.motion-ready .image-caption>a{display:inline-block;margin-top:17px;font-size:13px}.motion-ready .scene-progress{left:7%;right:7%}.motion-ready #hero-photo{object-position:55% center}.motion-ready .hero-next{object-position:50% center}}
@media(prefers-reduced-motion:reduce){.motion-ready .hero-story{height:auto}.motion-ready .hero-stage{position:relative;height:clamp(340px,43vw,660px);width:100%;margin:0}.motion-ready .hero-image{clip-path:none}.motion-ready .hero-next,.motion-ready .scene-progress{display:none}.motion-ready #hero-photo,.motion-ready .project-image img,.motion-ready .showroom-image img{transform:none}.motion-ready .project-image{clip-path:none}.motion-ready .scene-caption>span:first-child{opacity:1;transform:none}.motion-ready .scene-caption>span+span{display:none}}

/* Replace each configured source to turn its reserved film panel into a player. */
.film-section{border-top:1px solid var(--line)}
.film-heading{display:grid;grid-template-columns:1fr 2fr;gap:40px;margin-bottom:44px}
.film-heading h2{font-size:clamp(38px,4.2vw,64px)}
.film-heading p:not(.eyebrow){font-size:15px;line-height:1.7;color:var(--muted);margin-top:22px}
.video-slot{position:relative;aspect-ratio:16/8;overflow:hidden;background:#272823;color:var(--paper)}
.video-placeholder{height:100%;position:relative}.video-placeholder>img{height:100%;filter:brightness(.6)}
.video-coming{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:22px;font-size:20px;line-height:1.65}
.film-symbol{font-family:Arial,sans-serif;font-size:40px;width:80px;height:80px;border:1px solid #ffffff77;border-radius:50%;display:grid;place-items:center;padding-left:4px}
.video-coming small{font-size:12px;letter-spacing:1px;text-transform:uppercase}
.video-slot video{width:100%;height:100%;object-fit:contain;background:#181915}
.video-error{position:absolute;left:20px;bottom:20px;right:20px;font-size:14px;background:#222d;padding:15px;line-height:1.5}
[hidden]{display:none!important}.film-furniture{background:#e4e1da}.film-showroom{background:var(--dark);color:var(--paper);border-color:#505149}.film-showroom .film-heading p:not(.eyebrow){color:#cccac1}
@media(max-width:700px){.film-heading{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.film-heading h2{font-size:42px}.video-slot{aspect-ratio:4/3}.video-coming{gap:16px;font-size:18px}.film-symbol{width:60px;height:60px;font-size:30px}}

/* Preserve the supplied artwork exactly; crop to its white-background lockup. */
.brand-crop{--logo-width:90px;display:block;position:relative;width:var(--logo-width);height:calc(var(--logo-width)*122/126);overflow:hidden;background:#fff;flex:none}
.brand-crop img{position:absolute;display:block;width:calc(var(--logo-width)*446/126);height:auto;max-width:none;left:calc(var(--logo-width)*-275/126);top:calc(var(--logo-width)*-88/126);background:white;object-fit:initial}
.header{height:116px;background:#fff}.header .logo{line-height:0;flex:none}.footer-top .logo{align-self:start;justify-self:start;padding:10px;background:white}.footer-top .brand-crop{--logo-width:108px}
.chapter-story{position:relative}.chapter-next{display:none}
.motion-ready .chapter-story:not(.has-video){height:185svh}
.motion-ready .chapter-story:not(.has-video) .chapter-stage{position:sticky;top:0;height:100svh;aspect-ratio:auto;width:111.111%;margin-left:-5.5555%;clip-path:inset(0 var(--frame-inset,5%) 0)}
.motion-ready .chapter-story:not(.has-video) .video-placeholder{position:relative;overflow:hidden}
.motion-ready .chapter-story:not(.has-video) .video-placeholder:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#0009);pointer-events:none}
.motion-ready .chapter-story:not(.has-video) .chapter-first{filter:none;transform:scale(var(--hero-scale,1))}
.motion-ready .chapter-story:not(.has-video) .chapter-next{display:block;position:absolute;inset:0;width:100%;height:100%;filter:none;opacity:var(--scene-blend,0);transform:scale(var(--next-scale,1.14))}
.motion-ready .chapter-caption{z-index:1;inset:auto 7% 52px;justify-content:flex-start;padding:0;font-size:20px;gap:18px}
.motion-ready .chapter-caption .film-symbol{width:52px;height:52px;font-size:26px}
.chapter-story.has-video{height:auto}.chapter-story.has-video .chapter-stage{height:auto;width:100%;margin:0;position:relative;clip-path:none;aspect-ratio:16/9}
@media(max-width:700px){.header{height:100px}.header .brand-crop{--logo-width:76px}nav{top:100px}.footer-top .brand-crop{--logo-width:92px}.motion-ready .chapter-story:not(.has-video){height:170svh}.motion-ready .chapter-caption{bottom:35px;font-size:18px;gap:14px}}
@media(prefers-reduced-motion:reduce){.chapter-story,.motion-ready .chapter-story:not(.has-video){height:auto}.motion-ready .chapter-story:not(.has-video) .chapter-stage{height:auto;position:relative;aspect-ratio:16/8;width:100%;margin:0;clip-path:none}.chapter-next,.motion-ready .chapter-story:not(.has-video) .chapter-next{display:none}.motion-ready .chapter-story:not(.has-video) .chapter-first{transform:none}}
.video-playback{position:relative;aspect-ratio:16/9;background:#181915;margin-top:32px;scroll-margin-top:30px}
.video-playback video{display:block;width:100%;height:100%;object-fit:contain}
.chapter-watch{border-bottom:1px solid #fff8;padding:12px 0;font-size:16px;letter-spacing:.2px}
@media(max-width:700px){.video-playback{margin-top:22px}.chapter-watch{font-size:14px}}

/* Showroom opening hours and location. */
.location-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);gap:7%;align-items:center;border-top:1px solid var(--line)}
.location-copy h2{margin:20px 0 28px}.location-copy address{font-style:normal;font-size:15px;line-height:1.8;max-width:290px;color:var(--muted)}
.location-hours{font-size:16px;line-height:1.8;margin:24px 0 14px}.location-hours small{font-size:12px;color:var(--muted)}
.location-map{min-width:0}.location-map iframe{display:block;width:100%;height:440px;border:1px solid var(--line);background:#e4e1da}
.map-link{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;color:var(--muted);padding:14px 0}.map-link:hover{text-decoration:underline}
@media(max-width:700px){.location-section{grid-template-columns:1fr;gap:35px}.location-map iframe{height:340px}.location-copy address{max-width:100%}}

.onsite-films{margin-top:48px}.onsite-films h3{font-size:clamp(28px,3.2vw,46px);letter-spacing:-.04em;margin-bottom:30px}
.onsite-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.onsite-grid article{min-width:0}
.onsite-grid .video-playback{margin-top:12px;aspect-ratio:4/3}.onsite-grid video{object-fit:contain}
@media(max-width:700px){.onsite-grid{grid-template-columns:1fr;gap:32px}.onsite-grid #play-site-progress{aspect-ratio:9/16;max-height:75svh}.onsite-films{margin-top:32px}}

.onsite-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.onsite-heading h3{margin:0}.film-carousel-controls{display:flex;align-items:center;gap:12px}.film-carousel-controls span{font-size:12px;white-space:nowrap;margin-right:8px}.film-carousel-controls button{width:44px;height:44px;background:transparent;border:1px solid currentColor;border-radius:50%;color:inherit;font-size:22px;cursor:pointer}.film-carousel-controls button:hover{background:#ffffff18}
.onsite-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;gap:28px;padding-bottom:4px}.onsite-grid::-webkit-scrollbar{display:none}.onsite-grid article{flex:0 0 64%;scroll-snap-align:start}.onsite-grid:after{content:'';flex:0 0 calc(36% - 28px)}
@media(max-width:700px){.onsite-heading{align-items:flex-start;flex-direction:column;gap:18px}.onsite-grid{gap:18px}.onsite-grid article{flex-basis:90%}.onsite-grid:after{flex-basis:calc(10% - 18px)}.onsite-grid #play-site-progress{aspect-ratio:4/3;max-height:none}}
@media(prefers-reduced-motion:reduce){.onsite-grid{scroll-behavior:auto}}

/* A centered reel with a quiet, receding preview on either side. */
.onsite-grid{position:relative;gap:24px;padding:14px 0 30px;scroll-behavior:auto;overscroll-behavior-x:contain;align-items:center}
.onsite-grid article{flex:0 0 72%;scroll-snap-align:center;--film-focus:0}
.onsite-grid:before,.onsite-grid:after{content:'';display:block;flex:0 0 calc(14% - 24px)}
.onsite-grid.is-sliding{scroll-snap-type:none}
.onsite-grid .video-playback{aspect-ratio:16/10;transform:scale(calc(.9 + .1 * var(--film-focus)));opacity:calc(.42 + .58 * var(--film-focus));transform-origin:center;box-shadow:0 16px 38px #00000016;will-change:transform,opacity}
.onsite-grid article>.eyebrow{opacity:calc(.4 + .6 * var(--film-focus));transform:translateY(calc(8px - 8px * var(--film-focus)));margin-left:2px}
.film-carousel-controls button{transition:background .25s,color .25s,transform .25s}.film-carousel-controls button:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}
@media(max-width:700px){.onsite-grid{gap:18px;padding-bottom:22px}.onsite-grid article{flex-basis:86%}.onsite-grid:before,.onsite-grid:after{flex-basis:calc(7% - 18px)}.onsite-grid .video-playback,.onsite-grid #play-site-progress{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){.onsite-grid .video-playback,.onsite-grid article>.eyebrow{transform:none;opacity:1;will-change:auto}.film-carousel-controls button{transition:none}}
