@font-face{font-family:Editorial;src:url('assets/editorial.otf') format('opentype');font-display:swap}
@font-face{font-family:Interface;src:url('assets/interface.otf') format('opentype');font-display:swap}
:root{color-scheme:dark;--bg:#101110;--fg:#f6f0e8;--muted:#c0beb7;--sage:#afcfb2;--border:rgba(246,240,232,.24);--gutter:18px;--sheet:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Interface,Arial,sans-serif;-webkit-font-smoothing:antialiased;padding-bottom:calc(100px + env(safe-area-inset-bottom));overflow-x:clip}button,a,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--sage);outline-offset:5px}a{color:inherit}button{touch-action:manipulation}button:disabled{opacity:.5;cursor:default}h1,h2,h3,p{margin:0}h1,h2,.wordmark,.card h3{font-family:Editorial,Georgia,serif;font-weight:400;letter-spacing:-.025em}.skip-link{position:fixed;z-index:100;top:-100px;padding:12px;background:var(--fg);color:var(--bg)}.skip-link:focus{top:8px}.header{position:absolute;inset:0 0 auto;z-index:5;padding:calc(12px + env(safe-area-inset-top)) var(--gutter) 0;display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px}.wordmark{font-size:23px;line-height:1.2;text-decoration:none;margin-right:auto;white-space:nowrap}.icon-button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;padding:10px}.icon-button svg{width:24px;height:24px}.search-trigger{width:38px;height:38px;padding:8px}.category-nav{display:flex;gap:22px;width:100%;align-items:center}.category-nav button{position:relative;min-height:44px;padding:4px 0 10px;font-size:15px;color:var(--muted)}.category-nav button.active{color:var(--fg)}.category-nav button.active:after{position:absolute;content:'';bottom:3px;left:0;right:0;height:2px;background:var(--sage);border-radius:4px}.hero{height:clamp(432px,112vw,590px);position:relative;isolation:isolate}.photo{background-image:var(--sheet);background-size:300% auto;background-repeat:no-repeat}.panel-0{background-position:0% center}.panel-1{background-position:50% center}.panel-2{background-position:100% center}.hero-photo{position:absolute;inset:0;z-index:-3;background-size:300% auto;background-position-y:bottom}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(11,13,10,.57),transparent 22%,transparent 42%,rgba(10,12,9,.25) 66%,#101110 100%),linear-gradient(90deg,rgba(0,0,0,.22),transparent 70%)}.hero-content{position:absolute;left:20px;right:20px;bottom:29px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:10px;line-height:1.4;margin-bottom:3px}.hero h1{font-size:clamp(40px,10.6vw,59px);line-height:1.05;letter-spacing:-.04em;white-space:nowrap;text-shadow:0 2px 18px #0003}.hero-subtitle{font-size:15px;margin-top:7px;letter-spacing:.015em}.hero-subtitle span{padding:0 5px}.photo-peeks{display:flex;gap:7px;margin-top:13px}.peek{width:49px;height:49px;border-radius:50%;border:1px solid #f6f0e8;overflow:hidden;transition:transform .2s}.peek:hover{transform:scale(1.06)}.peek.texture{background-size:1100% auto;background-position:18% 62%}.peek.spool{background-size:600% auto;background-position:0% 54%}.hero-actions{display:flex;align-items:center;gap:9px;margin-top:12px}.primary{height:44px;min-width:150px;display:flex;align-items:center;justify-content:center;gap:24px;padding:0 20px;background:#f1e7da;color:#121310;border-radius:40px;font-size:15px}.primary svg{width:21px;height:21px}.hero-save{width:42px;height:42px}.hero-pagination{position:absolute;bottom:28px;right:21px;display:flex;gap:2px}.hero-pagination button{position:relative;display:grid;place-items:center;width:17px;height:44px}.hero-pagination button:after{content:'';width:6px;height:6px;border-radius:50%;background:#979890}.hero-pagination button.active:after{background:var(--fg)}.collections{padding-top:1px}.collection{margin-bottom:24px}.section-top{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:0 16px 11px 20px}.section-top h2{font-size:25px;line-height:1.2}.all-link{height:32px;border:1px solid var(--border);border-radius:25px;padding:0 12px;display:flex;align-items:center;gap:9px;font-size:13px}.all-link svg{width:13px;height:13px}.shelf{display:flex;gap:6px;padding:0 12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:12px;scrollbar-width:none;overscroll-behavior-inline:contain}.shelf::-webkit-scrollbar{display:none}.card{position:relative;flex:0 0 66%;height:auto;aspect-ratio:1.1;max-width:350px;border-radius:13px;overflow:hidden;scroll-snap-align:start;background-color:#292720;isolation:isolate}.card .card-open{position:absolute;inset:0;width:100%;height:100%;padding:0;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;z-index:1}.card .card-photo{position:absolute;inset:0;z-index:-2}.card-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.05) 52%,rgba(0,0,0,.66))}.card-copy{padding:17px 14px 13px}.card h3{font-size:25px;line-height:1.1}.card p{font-size:13px;color:#eee7dd;margin-top:4px}.card .swatch{position:absolute;top:11px;right:11px;width:18px;height:18px;border-radius:50%;border:1px solid #f7efe3;z-index:2;background:var(--swatch)}.bottom-dock{position:fixed;z-index:20;bottom:calc(14px + env(safe-area-inset-bottom));left:10px;right:10px;border:1px solid var(--border);border-radius:36px;padding:9px 8px 6px;display:flex;align-items:center;justify-content:space-around;background:rgba(24,24,23,.82);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 3px 24px #0002}.bottom-dock button{position:relative;display:flex;align-items:center;flex-direction:column;gap:5px;min-width:64px;min-height:48px;font-size:12px;color:#bebbb6;padding:0 4px 8px}.nav-icon{height:22px;display:flex;align-items:center}.nav-icon svg{width:23px;height:23px}.bottom-dock button.active{color:var(--fg)}.bottom-dock button.active i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--sage);bottom:0}.bottom-dock button.active [data-icon=home] svg{fill:var(--fg);stroke:var(--fg)}.workspace{padding:112px 18px 30px;min-height:100svh}.workspace h1{font-family:Editorial;font-size:38px;margin-bottom:18px}.workspace .intro{color:var(--muted);font-size:15px;line-height:1.6;max-width:560px}.search-box{display:flex;align-items:center;gap:10px;border:1px solid var(--border);padding:0 15px;border-radius:28px;height:48px;margin-bottom:12px}.search-box svg{width:21px;height:21px;flex-shrink:0}.search-box input{width:100%;background:none;color:var(--fg);border:0;min-width:0;height:100%;outline:none}.filters{display:flex;gap:8px;margin-bottom:21px}.filters select{max-width:50%;border:1px solid var(--border);background:#1c1d1a;color:var(--fg);padding:12px 14px;border-radius:24px}.results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.results-grid .card{max-width:none;aspect-ratio:.8}.results-grid .card h3{font-size:23px}.empty-state{padding:40px 10px;line-height:1.7;color:var(--muted)}.empty-state button{margin-top:18px}.compare-action{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.secondary{min-height:44px;border:1px solid var(--border);border-radius:26px;padding:10px 17px;font-size:14px}.secondary.active{border-color:var(--sage);color:var(--sage)}.comparison{overflow-x:auto;margin-top:24px;scrollbar-width:thin}table{border-collapse:collapse;min-width:100%;font-size:14px}th,td{text-align:left;min-width:125px;padding:15px 12px;border-bottom:1px solid var(--border);vertical-align:top}th{font-weight:400;color:var(--muted)}td:first-child{min-width:110px;color:var(--muted)}.table-title{font-family:Editorial;font-size:23px;color:var(--fg)}.table-photo{height:130px;border-radius:9px;margin-bottom:12px}.remove-compare{margin-top:12px;font-size:12px;color:var(--muted);text-decoration:underline;min-height:32px}.demo-note{margin:22px 20px 0;font-size:12px;line-height:1.5;color:#92958d}dialog{background:var(--bg);color:var(--fg);border:1px solid var(--border);padding:0;max-width:540px;width:100%;max-height:100dvh;height:100dvh;margin:0 auto;border-radius:0;overscroll-behavior:contain}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}body:has(dialog[open]){overflow:hidden}.detail-top{position:absolute;z-index:5;top:calc(12px + env(safe-area-inset-top));left:15px;right:15px;display:flex;justify-content:space-between}.detail-top button{background:#15161088;backdrop-filter:blur(10px)}.detail-photo{height:46svh;min-height:280px;position:relative;background-size:300% auto}.detail-photo:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,var(--bg))}.detail-main{position:relative;margin-top:-5px;padding:0 22px 25px}.detail-main h1{font-size:43px;line-height:1.1}.detail-type{color:var(--muted);font-size:15px;margin:9px 0 20px}.detail-tabs{display:flex;gap:8px;padding:0 22px 20px}.detail-tabs button{padding:10px 14px;border:1px solid var(--border);border-radius:25px;font-size:13px}.detail-tabs button.active{background:var(--fg);color:var(--bg)}.detail-main h2{font-size:26px;margin-bottom:12px}.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.spec-grid div{padding:15px 0;border-bottom:1px solid var(--border)}dt{font-size:12px;color:var(--muted);margin-bottom:5px}dd{margin:0;font-size:17px}.detail-copy{font-size:15px;line-height:1.7;color:var(--muted)}.detail-footer{position:sticky;bottom:0;background:linear-gradient(#101110ee,#101110);padding:16px 22px calc(18px + env(safe-area-inset-bottom));display:flex;gap:10px}.detail-footer button{flex:1;min-width:0;gap:8px}.detail-main .demo-note{margin:19px 0 0}.shop-empty{border:1px solid var(--border);border-radius:14px;padding:18px;line-height:1.6;color:var(--muted)}#toast{position:fixed;left:50%;transform:translate(-50%,10px);bottom:calc(105px + env(safe-area-inset-bottom));background:#eee7da;color:#161915;border-radius:30px;padding:12px 20px;font-size:14px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;white-space:nowrap;max-width:90vw}#toast.visible{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:540px){:root{--gutter:30px}.hero{height:620px}.hero-photo{background-size:300% auto}.header{padding-top:18px}.wordmark{font-size:28px}.hero-content{left:32px;bottom:45px}.hero h1{font-size:66px}.hero-subtitle{font-size:18px}.hero-pagination{right:30px;bottom:46px}.section-top{padding-left:30px;padding-right:30px}.section-top h2{font-size:32px}.shelf{padding:0 24px;gap:12px;scroll-padding-left:24px}.card{flex-basis:43%;max-width:440px}.card h3{font-size:31px}.card p{font-size:15px}.bottom-dock{max-width:480px;left:50%;right:auto;width:calc(100% - 32px);transform:translateX(-50%)}.workspace{padding:125px 30px 50px}.results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:960px){.header{padding:22px 48px 0}.wordmark{font-size:30px}.category-nav{gap:36px}.hero{height:760px}.hero-photo{background-size:300% auto;background-position-y:48%}.hero-shade{background:linear-gradient(180deg,#1116,transparent 25%,transparent 45%,#101110),linear-gradient(90deg,#10111088,transparent 60%)}.hero-content{left:60px;bottom:70px}.hero h1{font-size:94px}.hero-subtitle{font-size:20px}.eyebrow{font-size:12px}.peek{width:65px;height:65px}.primary{height:50px;padding:0 25px;font-size:17px}.hero-save{width:50px;height:50px}.hero-pagination{right:60px;bottom:76px}.section-top{padding-left:60px;padding-right:60px;padding-bottom:18px}.section-top h2{font-size:38px}.shelf{padding:0 60px;gap:18px;scroll-padding-left:60px}.card{flex-basis:32%;max-width:480px;aspect-ratio:1.1;border-radius:18px}.collection{margin-bottom:40px}.card-copy{padding:25px 22px}.card h3{font-size:37px}.card .swatch{width:24px;height:24px;top:18px;right:18px}.workspace{max-width:1240px;margin:auto;padding-top:138px}.results-grid{grid-template-columns:repeat(4,minmax(0,1fr))}dialog{height:92dvh;max-height:92dvh;margin:auto;border-radius:22px}.detail-photo{height:440px}.demo-note{margin-left:60px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.photo.single-photo{background-size:cover;background-position:center}.peek.single-photo{background-size:cover;background-position:center}
.shop-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid var(--border);text-decoration:none}.shop-row strong{display:block;font-size:16px;font-weight:400}.shop-row small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.shop-price{white-space:nowrap;font-size:18px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-control{position:relative;display:flex;align-items:center;justify-content:center;gap:5px;flex-shrink:0;min-width:52px;height:44px;font-size:11px;letter-spacing:.08em;color:var(--fg)}.language-control select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.language-control:focus-within{outline:2px solid var(--sage);outline-offset:2px;border-radius:24px}.language-control svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.4}.language-control option{background:#1c1d1a;color:var(--fg)}
.hero{touch-action:pan-y;overflow:hidden}.hero:focus-visible{outline:2px solid var(--sage);outline-offset:-3px}.hero-photo{transform:translateX(var(--swipe-offset,0px));transition:transform .25s ease;user-select:none}.hero.is-dragging .hero-photo{transition:none}.hero.is-dragging{cursor:grabbing;user-select:none}.hero.is-changing .hero-content{animation:feature-reveal .3s ease}.hero.is-changing .hero-photo{animation:photo-reveal .35s ease}.swipe-hint{position:absolute;right:20px;top:119px;font-size:10px;letter-spacing:.04em;color:#f6f0e8a8}.hero-pagination{max-width:32%;overflow-x:auto;scrollbar-width:none}.hero-pagination button{flex-shrink:0}.hero-actions .primary{gap:20px}.bottom-dock button{min-width:0;flex:1;font-size:11px}.section-top h2{min-width:0}.all-link{flex-shrink:0}#toast{white-space:normal;text-align:center;min-width:180px}
@keyframes feature-reveal{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-reveal{from{opacity:.6}to{opacity:1}}
@media(min-width:540px){.swipe-hint{top:127px;right:30px}.bottom-dock button{font-size:12px}}
@media(min-width:960px){.swipe-hint{top:137px;right:60px}}

@media(max-width:539px){html{scrollbar-width:none}html::-webkit-scrollbar{display:none}.search-trigger{width:44px;height:44px;padding:10px}}

/* Manufacturer assets retain their original material colour and geometry. */
.photo.single-photo.photo-cutout{background-image:var(--sheet),var(--stage);background-size:contain,cover;background-position:center,center}
.hero-photo.single-photo.photo-cutout{background-size:auto 92%,cover;background-position:60% 45%,center}
.hero h1{white-space:normal;max-width:620px;font-size:clamp(37px,10vw,59px);text-wrap:balance}
.hero-subtitle{font-size:13px;max-width:360px;line-height:1.45}
.hero-shade{background:linear-gradient(180deg,#101110b8,transparent 32%,#10111012 44%,#101110aa 65%,#101110 100%)}
.card .card-photo.single-photo.photo-cutout{background-size:auto 110%,cover;background-position:65% 35%,center}
.card .card-photo.photo-studio{background-size:cover;background-position:center 38%;background-color:#f7f7f4}
.card-shade{background:linear-gradient(180deg,transparent 38%,#11111011 48%,#111110bb 74%,#111110f2 100%)}
.card-brand{display:block;letter-spacing:.13em;text-transform:uppercase;font-size:9px;color:#eee7dd;margin-bottom:5px}
.card h3{font-size:24px;line-height:1.06;text-wrap:balance}.card p{font-size:11px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.catalog-summary{padding:4px 20px 20px;font-size:11px;letter-spacing:.025em;color:var(--muted)}.catalog-summary span{color:#8f9288}
.peek.single-photo.photo-cutout{background-size:contain,cover;background-position:center,center}.peek.photo-studio{background-color:#fafafa}
.detail-photo.single-photo.photo-cutout{background-size:auto 95%,cover;background-position:center,center}.detail-photo.photo-studio{background-size:contain;background-color:#f9f9f6;background-position:center}
.material-description{margin-bottom:25px}.source-link{display:inline-block;margin-top:24px;font-size:13px;color:var(--sage);text-decoration:none;min-height:28px}.source-note{color:var(--muted);font-size:11px;line-height:1.5}
.detail-gallery{display:grid;gap:18px;margin-top:24px}.detail-gallery figure{margin:0}.gallery-photo{height:auto;aspect-ratio:1;border-radius:14px}.gallery-photo.photo-studio{background-size:contain;background-color:#fafafa}.detail-gallery figcaption{font-size:11px;color:var(--muted);margin-top:9px}
.filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filters select{max-width:100%;width:100%;min-width:0;font-size:13px;padding:12px}.filters #finish-filter{grid-column:1/-1}.shop-price{font-size:13px;white-space:normal;text-align:right}.shop-row small{max-width:220px;line-height:1.5}.spec-grid dd{font-size:15px;line-height:1.4;overflow-wrap:anywhere}.spec-grid div:nth-child(odd){padding-right:12px}
.results-grid .card h3{font-size:21px}.results-grid .card-brand{font-size:8px}
@media(min-width:540px){.hero-photo.single-photo.photo-cutout{background-size:auto 105%,cover;background-position:80% 40%,center}.hero h1{font-size:66px}.hero-subtitle{font-size:16px}.catalog-summary{padding-left:30px}.card h3{font-size:31px}.card p{font-size:13px}.card-brand{font-size:10px}.filters{grid-template-columns:repeat(3,minmax(0,1fr))}.filters #finish-filter{grid-column:auto}}
@media(min-width:960px){.hero-photo.single-photo.photo-cutout{background-position:85% 42%,center;background-size:auto 110%,cover}.hero h1{font-size:88px}.hero-subtitle{font-size:18px}.hero-shade{background:linear-gradient(180deg,#10111090,transparent 25%,#10111035 68%,#101110),linear-gradient(90deg,#101110cc,transparent 75%)}.catalog-summary{padding-left:60px;font-size:13px}.card h3{font-size:35px}}

.card-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center 38%}.card-photo.photo-cutout img{height:110%;object-position:65% 35%}.card-photo.photo-studio img{object-fit:contain}.hero-subtitle{padding-right:4px}
@media(max-width:539px){.hero-content{bottom:54px}.hero-pagination{bottom:0;left:50%;right:auto;transform:translateX(-50%);max-width:none;gap:0}.hero-pagination button{width:26px;height:44px}}

.card .card-photo.print-preview img{height:100%;object-fit:contain;object-position:center 25%}

.gallery-photo,.table-photo{position:relative}.swatch{position:absolute;top:11px;right:11px;width:18px;height:18px;border-radius:50%;border:1px solid #f7efe3;z-index:2;pointer-events:none}.card .swatch,.photo .swatch{background:var(--swatch-fill,var(--swatch))}.detail-photo .swatch{top:68px;right:22px;width:22px;height:22px}.gallery-photo .swatch{top:16px;right:16px;width:22px;height:22px}.hero-photo .swatch{top:148px;right:20px;width:22px;height:22px}.table-photo .swatch{top:10px;right:10px}.photo.single-photo.photo-studio{background-image:var(--sheet),var(--stage);background-size:contain,cover;background-position:center,center}.card .card-photo.photo-studio{background-image:var(--stage);background-size:cover;background-color:#292b26}
@media(min-width:960px){.hero-photo .swatch{top:155px;right:60px;width:28px;height:28px}.gallery-photo .swatch,.detail-photo .swatch{width:24px;height:24px}}

/* Compose the existing cutouts below the original, open header. */
.hero-photo.single-photo.photo-cutout,.hero-photo.single-photo.photo-studio{background-size:auto calc(100% - 110px),cover;background-position:60% bottom,center}

/* Equal columns and indicator slots keep all four controls aligned. */
.bottom-dock{left:50%;right:auto;width:calc(100% - 20px);max-width:480px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;justify-content:normal;padding:9px 8px}
.bottom-dock button{width:100%;min-width:0;min-height:53px;display:grid;grid-template-rows:22px 16px;justify-items:center;align-content:center;gap:5px;padding:0 2px;text-align:center}
.bottom-dock .nav-icon{width:24px;height:22px;justify-content:center;align-items:center}
.bottom-dock button>span[data-i18n]{width:100%;line-height:16px;white-space:nowrap}
.bottom-dock button i,.bottom-dock button.active i{position:absolute;left:50%;bottom:0;width:5px;height:5px;margin:0;border-radius:50%;transform:translateX(-50%);background:var(--sage);opacity:0}
.bottom-dock button i,.bottom-dock button.active i{display:none}
@media(min-width:540px){.bottom-dock{width:calc(100% - 32px)}.hero-photo.single-photo.photo-cutout,.hero-photo.single-photo.photo-studio{background-position:80% bottom,center}}
@media(min-width:960px){.hero-photo.single-photo.photo-cutout,.hero-photo.single-photo.photo-studio{background-size:auto calc(100% - 138px),cover;background-position:85% bottom,center}}
