.product-page{--product-gap:clamp(.75rem,.6648rem + .4261vw,1.125rem);--reveal-ease:cubic-bezier(.16,1,.3,1);background:var(--paper);color:var(--brown);font-weight:500}
.product-page ::selection{background:var(--brown);color:var(--paper)}
.product-page .site-header{color:var(--paper);transition:background-color 200ms,color 200ms}
.product-page .site-header.is-solid{background:var(--paper);color:var(--brown)}
.product-page .site-header.is-solid:before{display:none}
.product-page .site-header.is-solid:after{content:'';position:absolute;bottom:0;left:var(--pad);right:var(--pad);border-bottom:1px solid currentColor;opacity:.55}
.product-page .nav [aria-current=page]{font-weight:600}
.product-page .site-header.is-solid a:focus-visible,.product-page .site-header.is-solid button:focus-visible,.product-content a:focus-visible,.product-content button:focus-visible{outline-color:var(--brown)}
.product-hero{height:100svh;position:relative;overflow:hidden;background:var(--brown);margin-bottom:calc(-111px - var(--pad)*2)}
.product-hero-media{position:absolute;inset:0;will-change:transform}
.product-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.product-hero-media:after{content:'';position:absolute;inset:0;background:rgb(23 17 14 / 12%)}
.product-title{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);color:var(--paper);will-change:transform}
.product-title span{display:block;margin:0 auto calc(111px + var(--pad));max-width:100%;text-wrap:balance;overflow-wrap:anywhere}
.product-content{position:relative;background:var(--paper)}
.product-information{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--product-gap);padding:var(--pad);align-items:start;scroll-margin-top:80px}
.product-specs{grid-column:span 3;position:sticky;top:90px;margin:7px 0 0;font-size:17px;line-height:1.3;font-weight:400}
.product-specs>div{display:grid;grid-template-columns:32% 1fr;gap:10px;border-top:1px solid rgb(89 64 55 / 55%);padding:6px 0}
.product-specs>div:last-child{border-bottom:1px solid rgb(89 64 55 / 55%)}
.product-specs dt,.product-specs dd{margin:0;overflow-wrap:anywhere}
.product-editorial{grid-column:5/-1;min-width:0}
.product-introduction{font-size:24px;line-height:1.2;font-weight:500;overflow:hidden;min-height:0}
.product-introduction p{margin:0}
.product-readmore{display:none;font-size:17px;line-height:1.3;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;justify-self:start;align-self:start}
.product-story{font-size:17px;line-height:1.3;font-weight:500;padding-top:34px;min-height:0}
.product-story-inner{columns:2;column-gap:var(--product-gap)}
.product-story-inner p{margin:0 0 1.3em;break-inside:avoid}
.product-story-inner p:last-child{margin-bottom:0}
.product-editorial.is-enhanced{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:var(--intro-collapsed) 0fr 27px;transition:grid-template-rows 1s var(--reveal-ease);overflow-anchor:none}
.product-editorial.is-enhanced .product-introduction{grid-row:1}
.product-editorial.is-enhanced .product-readmore{display:block;grid-row:3;overflow:hidden}
.product-editorial.is-enhanced .product-story{grid-row:2;overflow:hidden;opacity:0;padding-top:0;transition:opacity .6s .3s ease-out,padding-top .6s ease-out}
.product-editorial.is-expanded{grid-template-rows:var(--intro-expanded) 1fr 0px}
.product-editorial.is-expanded .product-readmore{opacity:0;pointer-events:none}
.product-editorial.is-expanded .product-story{opacity:1;padding-top:34px}
.intro-line{display:block}
.product-editorial.is-enhanced .intro-line:nth-child(n+4){opacity:0;transition:opacity .3s calc(.05s * var(--line) - .15s) ease-out}
.product-editorial.is-expanded .intro-line:nth-child(n+4){opacity:1}
.product-editorial.is-measuring{transition:none}
.product-editorial.is-measuring .product-introduction{overflow:visible}
html.lenis:has(.product-page),html.lenis .product-page{height:auto}
html.lenis.lenis-smooth:has(.product-page){scroll-behavior:auto!important}
html.lenis.lenis-stopped:has(.product-page){overflow:clip}
/* Gallery frames: portrait 3:4, wide portrait 4:5, landscape 3:2, wide landscape 16:9.
   Six-column desktop rows follow the reference; mobile preserves image order. */
.product-image-grid{display:grid;gap:var(--product-gap);padding:var(--product-gap) var(--pad);overflow:hidden}
.product-gallery-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--product-gap);min-width:0}
.product-photo{position:relative;grid-column:span 2;min-width:0;margin:0;overflow:hidden;background:var(--brown)}
.product-photo.photo-portrait{aspect-ratio:3/4}
.product-photo.photo-landscape{grid-column:span 4;aspect-ratio:3/2}
.product-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:var(--photo-position,50% 50%);transform:scale(1.05);will-change:transform}
.gallery-mixed .photo-portrait{aspect-ratio:auto}
.gallery-pair .product-photo{grid-column:span 3}
.gallery-wide-portraits .photo-portrait{aspect-ratio:4/5}
.gallery-wide-portraits.gallery-mixed .photo-landscape{aspect-ratio:auto}
.gallery-landscape .product-photo{grid-column:1/-1;aspect-ratio:16/9;max-height:calc(100svh - 66px)}
.gallery-portrait-single{grid-template-columns:repeat(4,minmax(0,1fr))}
.gallery-portrait-single .product-photo{grid-column:2/span 2}
.product-related{margin:0 var(--pad);padding:var(--pad) 0;border-top:1px solid currentColor}
.product-related h2{font-size:clamp(2.25rem,1.8523rem + 1.9886vw,4rem);font-weight:500;line-height:1.1;margin:.125em 0 .475em;letter-spacing:var(--tracking)}
.related-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}
.related-heading h2{margin:0;min-width:0}
.related-controls{display:none;flex-shrink:0;gap:8px}
.product-related.is-scrollable .related-controls{display:flex}
.related-grid{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * var(--product-gap))/4);gap:var(--product-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;padding:0 0 8px}
.related-grid::-webkit-scrollbar{display:none}
.related-grid:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.related-door{display:block;min-width:0;scroll-snap-align:start}
.related-image{aspect-ratio:3/4;overflow:hidden;background:var(--brown)}
.related-image img{display:block;width:100%;height:100%;object-fit:cover;filter:none}
.related-door h3{font-size:24px;font-weight:500;line-height:1.1;letter-spacing:var(--tracking);margin:10px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.product-page .collection-footer{margin-top:var(--pad)}
@media(min-width:768px) and (max-width:1151px){.product-information{grid-template-columns:1fr 2fr}.product-specs,.product-editorial{grid-column:auto}.product-story-inner{columns:1}}
@media(max-width:1336px){.related-grid{grid-auto-columns:calc((100% - 2 * var(--product-gap))/3)}}
@media(max-width:893px){.related-grid{grid-auto-columns:calc((100% - var(--product-gap))/2)}}
@media(max-width:767px){.product-information{grid-template-columns:1fr;gap:calc(var(--pad)*1.25)}.product-specs,.product-editorial{grid-column:auto}.product-specs{position:static}.product-story-inner{columns:1}.product-editorial.is-enhanced .product-story{transition-delay:.15s,0s}}
@media(max-width:539px){.product-gallery-row{grid-template-columns:minmax(0,1fr)}.product-gallery-row .product-photo{grid-column:1;max-height:none}.product-gallery-row .photo-portrait{aspect-ratio:3/4}.product-gallery-row .photo-landscape,.gallery-wide-portraits.gallery-mixed .photo-landscape{aspect-ratio:3/2}.gallery-wide-portraits .photo-portrait{aspect-ratio:4/5}.product-page .site-header.menu-open{background:var(--paper);color:var(--brown)}.product-page .site-header.menu-open:before{display:none}.related-door h3{font-size:20px}}
@media(prefers-reduced-motion:no-preference){
 .product-content{animation:product-uncover 500ms var(--reveal-ease) both}
 .product-title span{animation:product-title-in 600ms 100ms cubic-bezier(.22,1,.36,1) both}
 .product-information>*{animation:product-detail-in 600ms 500ms cubic-bezier(.22,1,.36,1) both}
 @keyframes product-uncover{from{transform:translateY(-100svh)}to{transform:translateY(0)}}
 @keyframes product-title-in{from{opacity:0;transform:translateY(-15%)}to{opacity:1;transform:translateY(0)}}
 @keyframes product-detail-in{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){.product-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.product-hero-media,.product-title,.product-photo img{transform:none!important;will-change:auto}}

/* Curated collection details */
.curated-product .product-options { break-inside: avoid; margin-top: 1.75rem; }
.curated-product .product-options h2 { margin: 0 0 .5rem; font-size: inherit; font-weight: 500; line-height: 1.3; }
.curated-product .product-option-note { font-size: .875em; }
.curated-product .product-hero-media img { object-position: var(--hero-position, 50% 50%); }
.curated-product .product-specs dd { overflow-wrap: anywhere; }

/* Finish swatch trial: empty image slots, shared wood palette on CL and Doga Hori. */
.product-editorial-column{grid-column:5/-1;min-width:0}
.product-finishes{margin:2rem 0 1rem;scroll-margin-top:90px}
.product-finishes h2{margin:0;font-size:24px;line-height:1.2;font-weight:500;letter-spacing:inherit}
.finish-introduction{margin:0 0 1.25rem;font-size:17px;line-height:1.3;font-weight:400}
/* Each square is half the previous responsive grid-column width. */
.finish-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}
.finish-heading h2{margin:0}
.finish-controls{display:none;gap:.5rem;flex-shrink:0}
.product-finishes.is-scrollable .finish-controls{display:flex}
.finish-arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgb(89 64 55 / 18%);border-radius:50%;background:rgb(89 64 55 / 6%);color:var(--brown);cursor:pointer;transition:background-color .2s,opacity .2s}
.finish-arrow[data-finish-direction="1"] svg{transform:rotate(180deg)}
.finish-arrow:hover:not(:disabled){background:rgb(89 64 55 / 14%)}
.finish-arrow:disabled{opacity:.25;cursor:default}
.finish-arrow:focus-visible,.finish-swatches:focus-visible{outline:2px solid var(--brown);outline-offset:4px}
.finish-swatches{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100vw - 2 * var(--pad) - 5 * var(--product-gap))/12);gap:var(--product-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin:0;padding:0 0 .25rem;list-style:none}
.finish-swatches::-webkit-scrollbar{display:none}
.finish-swatches li{min-width:0;scroll-snap-align:start}
.finish-swatch{margin:0}
.finish-swatch-square{width:100%;aspect-ratio:1;border:1px solid rgb(89 64 55 / 22%);background:transparent}
.finish-swatch figcaption{margin-top:.625rem;font-size:17px;line-height:1.3;font-weight:400;overflow-wrap:break-word}
@media(max-width:1151px){.product-editorial-column{grid-column:auto}.finish-swatches{grid-auto-columns:calc((100vw - 2 * var(--pad) - 3 * var(--product-gap))/8)}}
@media(max-width:767px){.finish-swatches{grid-auto-columns:88px;gap:14px}.finish-swatch-square{width:100%}.finish-swatch figcaption{margin-top:.5rem;font-size:15px;line-height:1.3}.product-finishes{margin-top:1.5rem}.finish-introduction{margin-bottom:1rem}}

/* Related-door carousel mobile framing. */
@media(max-width:539px){
 .related-heading{gap:16px;align-items:flex-end}
 .related-grid{grid-auto-columns:calc((100% - var(--product-gap))/1.5)}
}

.finish-swatch-square{overflow:hidden}
.finish-swatch-square img{display:block;width:100%;height:100%;object-fit:cover}
