:root{--paper:#f6f5f4;--brown:#594037;--pad:clamp(1.125rem,.9261rem + .9943vw,2rem);--display:clamp(3.75rem,2.6136rem + 5.6818vw,8.75rem);--nav:1.5rem;--tracking:calc(-.0375em + .01875rem);color:var(--paper);background:var(--brown);font-family:"neue-haas-grotesk-display",Arial,sans-serif;letter-spacing:var(--tracking);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0}html{scrollbar-gutter:stable;scrollbar-color:#ad9e96 var(--brown);scrollbar-width:thin}body{overflow-x:clip}::selection{background:var(--paper);color:var(--brown)}a,button{-webkit-tap-highlight-color:transparent;color:inherit}a{text-decoration:none}button{font:inherit;background:none;border:0;padding:0;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--paper);outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}.skip-link{position:fixed;z-index:200;top:-100px;left:var(--pad);padding:12px;background:var(--brown)}.skip-link:focus{top:12px}.site-header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px var(--pad);min-height:66px;gap:24px;line-height:1;font-weight:500;pointer-events:none}.site-header a,.site-header button{pointer-events:auto}.brand{font-size:var(--nav);line-height:calc(.875em + .25rem);letter-spacing:var(--tracking);white-space:nowrap}.brand strong{font-weight:700}.brand span{font-weight:400}.nav{display:flex;align-items:center;gap:clamp(20px,2.5vw,40px);font-size:var(--nav);line-height:calc(.875em + .25rem);letter-spacing:var(--tracking)}.nav .language{font-size:1.125rem;letter-spacing:var(--tracking)}.scene{position:relative;height:100svh;overflow:hidden;isolation:isolate;background:var(--brown)}.scene-media{position:absolute;inset:0;will-change:transform}.scene-media img{height:100%;width:100%;display:block;object-fit:cover;object-position:var(--focus,50%) center}.scene-media:after{content:'';position:absolute;inset:0;background:rgba(23,17,14,.12)}.scene-title{font-family:"neue-haas-grotesk-display",Arial,sans-serif;position:absolute;inset:0;margin:0;padding:var(--pad);display:grid;align-content:center;text-align:center;font-size:var(--display);font-weight:500;line-height:calc(.875em + .25rem);letter-spacing:var(--tracking);will-change:transform;pointer-events:none}.scene-title span{display:block;will-change:transform}.site-footer{position:fixed;z-index:20;bottom:0;left:0;right:0;display:grid;grid-template-columns:auto 1fr auto;align-items:end;gap:34px;padding:var(--pad);font-size:1.0625rem;font-weight:500;line-height:calc(.875em + .25rem);letter-spacing:var(--tracking);pointer-events:none}.site-footer a,.site-footer button{pointer-events:auto}.site-footer p{margin:0}.scroll-cue{letter-spacing:inherit;display:flex;gap:11px;align-items:center;min-height:44px;white-space:nowrap}.mouse{width:17px;height:26px;border:1px solid currentColor;border-radius:12px;position:relative;opacity:.8}.mouse:after{content:'';position:absolute;left:6px;top:6px;width:4px;height:5px;border-radius:50%;background:currentColor;animation:scroll-dot 1.6s cubic-bezier(.22,1,.36,1) infinite}@keyframes scroll-dot{0%{transform:translateY(-1px);opacity:0}30%{opacity:1}85%,100%{transform:translateY(9px);opacity:0}}.scroll-cue:hover .cue-label{text-decoration:underline;text-underline-offset:.2em}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}.lenis.lenis-smooth iframe{pointer-events:none}

@media(prefers-reduced-motion:reduce){.mouse:after{animation:none}.scene-media,.scene-title,.scene-title span{transform:none!important;will-change:auto}}
/* Local scrims protect the white lettering while leaving the photographs open. */
.site-header:before,.site-footer:before{content:'';position:absolute;left:0;right:0;z-index:-1;pointer-events:none}
.site-header:before{top:0;height:calc(100% + 160px);background:linear-gradient(to bottom,rgba(23,17,14,.14),rgba(23,17,14,0))}
.site-footer:before{bottom:0;height:calc(100% + 160px);background:linear-gradient(to top,rgba(23,17,14,.14),rgba(23,17,14,0))}
.menu-toggle{display:none;font-size:1.5rem;font-weight:500;line-height:calc(.875em + .25rem);letter-spacing:var(--tracking);pointer-events:auto}
@media(max-width:539px){
 .site-header{padding-top:18px;padding-bottom:18px;min-height:61px}.menu-toggle{display:block}.nav{display:none}.site-header.menu-open{background:var(--brown);flex-wrap:wrap}.site-header.menu-open .nav{display:flex;flex:0 0 100%;flex-direction:column;align-items:flex-start;gap:18px;padding:28px 0 16px;font-size:3.375rem}.nav .language{display:none}
 .site-footer{grid-template-columns:1fr auto;gap:12px}.collection-info{display:none}.scroll-cue{gap:8px}.scene-title{overflow-wrap:break-word}
}

/* Match the reference: portrait uses a vertical Swiper, landscape uses Lenis. */
html.portrait-paging,html.portrait-paging body{height:100%;overflow:hidden}
.portrait-paging #gallery{height:100svh;overflow:hidden}
.portrait-paging .scene{height:100%;flex-shrink:0}
.portrait-paging .swiper-wrapper{transition-timing-function:ease}

/* Centre the hero door behind the fixed headline on wide screens. */
@media (min-aspect-ratio: 4/5){
 #hero .scene-media img{transform:scale(1.1) translateX(-4%)}
}

/* Reserve the active label width so navigation never shifts between pages. */
.nav [data-nav-label]{display:inline-grid}.nav [data-nav-label]>span,.nav [data-nav-label]:after{grid-area:1/1}.nav [data-nav-label]:after{content:attr(data-nav-label);font-weight:600;visibility:hidden}

/* Reference page change: paper rises from below, beneath the fixed navigation. */
.page-transition-cover{position:fixed;z-index:30;inset:0 0 auto;height:calc(100svh + 7rem);background:var(--paper);transform:translate3d(0,100%,0);will-change:transform;pointer-events:auto}
.page-entering .site-header,.page-leaving .site-header{z-index:40}.page-leaving .site-header{pointer-events:none}.page-leaving .site-header a,.page-leaving .site-header button{pointer-events:none}
.page-arriving{background:var(--paper)}.page-arriving main,.page-arriving .site-footer,.page-arriving .collection-footer{visibility:hidden}
.page-arriving[data-page-arrival="product-to-home"],.page-leaving[data-page-transition="product-to-home"] body{background:var(--brown)}
.scene-link{position:absolute;inset:0;z-index:2;display:block}.scene-link:focus-visible{outline-offset:-8px}
@media(prefers-reduced-motion:reduce){.page-transition-cover{display:none}.page-arriving main,.page-arriving .site-footer,.page-arriving .collection-footer{visibility:visible}}

main[tabindex="-1"]:focus{outline:none}

/* Four navigation labels need the compact menu on smaller tablets. */
.nav [aria-disabled="true"]{cursor:default;text-decoration:none}
@media(min-width:540px) and (max-width:820px){.menu-toggle{display:block}.nav{display:none}.site-header.menu-open{background:var(--brown);flex-wrap:wrap}.site-header.menu-open .nav{display:flex;flex:0 0 100%;flex-direction:column;align-items:flex-start;gap:18px;padding:28px 0 16px;font-size:3.375rem}.collections-page .site-header.menu-open{background:var(--paper)}}

/* Responsive art direction and subject-centred crops. */
.scene-media picture{display:block;width:100%;height:100%}
@media(max-width:820px){
 #designer .scene-media img{object-position:min(0px,max(calc(100vw - 74.743svh),calc(50vw - 45.44svh))) center}
 /* Laminate door centre is at 38.7% of its 3200:2691 source. */
 #laminate .scene-media img{object-position:min(0px,calc(50vw - 46.02svh)) center}
}
@media(max-aspect-ratio:4/3){
 /* Centre the left Lacquered door; stop at the photograph edge. */
 #lacquered .scene-media img{object-position:min(0px,calc(50vw - 28.667svh)) center}
}

/* Keep the Veneer door at the heading's centre as portrait crops vary. */
@media(max-aspect-ratio:5432/7016){
 #veneer .scene-media img{object-position:max(calc(100vw - 77.423svh),calc(50vw - 41.34svh)) center}
}
