:root{--paper:#f7f3eb;--ink:#25221e;--muted:#655b51;--rule:#dcd3c6;--accent:#813f2d;--serif:"Instrument Serif",Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.55 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.wrap{width:min(1320px,calc(100% - 96px));margin-inline:auto}header{height:92px;border-bottom:1px solid var(--rule);display:flex;align-items:center;justify-content:space-between;gap:22px}.logo img,footer img{display:block;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:32px;font-weight:600}nav a:hover,footer a:hover{color:var(--accent)}.contact{border:1px solid #a29688;padding:9px 15px;white-space:nowrap}.contact:hover{border-color:var(--accent);color:var(--accent)}
.hero{display:grid;grid-template-columns:minmax(230px,.63fr) minmax(0,1.37fr);align-items:center;gap:clamp(24px,5vw,90px);padding-block:42px 58px;border-bottom:1px solid var(--rule)}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}h1{font-size:clamp(64px,7.6vw,120px);line-height:.83;letter-spacing:-.035em}h1 em{color:var(--accent)}.intro p{font-size:17px;max-width:26ch;color:var(--muted);margin:25px 0}.button{display:inline-flex;align-items:center;gap:26px;background:#292620;color:#fff8eb;padding:12px 18px;font-weight:600}.button:hover{background:var(--accent)}
.room{position:relative;margin:0;isolation:isolate;overflow:hidden;aspect-ratio:1.5;background:#bca68a}.room-image{width:100%;height:100%;display:block;object-fit:cover}.scene-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:9px;font-size:12px;color:var(--muted)}.scene-bar button{border:0;background:none;padding:5px 0;color:var(--accent);font-weight:700}.scene-bar button span{font-size:16px;margin-right:3px}
.room-finished,.decor{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.room-finished{object-fit:cover}
.decor{background:url(assets/room-styled.webp) center/100% 100%;opacity:0}
.building .decor{animation:reveal-decor .6s ease both;animation-delay:var(--delay)}
.building .room-finished{animation:reveal-decor .45s 2.45s ease both}
.rug{--delay:.3s;mask-image:linear-gradient(transparent 73%,#000 74%)}
.mirror{--delay:.8s;mask-image:radial-gradient(ellipse 32% 30% at 55% 23%,#000 82%,transparent 100%)}
.pillow{--delay:1.28s;mask-image:radial-gradient(ellipse 19% 17% at 76% 53%,#000 77%,transparent 100%)}
.tabletop{--delay:1.77s;mask-image:radial-gradient(ellipse 21% 24% at 46% 58%,#000 82%,transparent 100%)}
@keyframes reveal-decor{from{opacity:0}to{opacity:1}}
.collection{padding-block:62px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:23px}h2{font-size:clamp(45px,6vw,73px);line-height:.95}.section-head p,.reviews p{color:var(--muted);margin:0}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:29px 18px}.products article>img{width:100%;aspect-ratio:1.23;object-fit:cover;display:block;transition:filter .25s}.products article:hover img{filter:brightness(1.08)}.products article>div{padding:11px 0;border-bottom:1px solid var(--rule);position:relative}.products h3{font-size:clamp(21px,3.1vw,35px);line-height:1}.products p{margin:5px 0;color:var(--muted);font-size:13px}.products button{background:none;border:0;padding:3px 0;color:var(--accent);font-weight:700}.reviews{border-block:1px solid var(--rule);padding-block:32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.reviews h2{font-size:48px;margin-bottom:10px}.reviews a{color:var(--accent);text-decoration:underline;text-underline-offset:5px}footer{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:22px;color:var(--muted);font-size:13px}
dialog{border:0;background:var(--paper);color:var(--ink);padding:0;width:min(720px,calc(100% - 28px));max-height:90dvh}dialog::backdrop{background:#25221eb5;backdrop-filter:blur(4px)}.product-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative}.product-detail img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.product-detail>div{padding:24px}.product-detail h2{font-size:49px;margin-bottom:20px}.close{position:absolute;right:12px;top:12px;width:42px;height:42px;border:0;border-radius:50%;background:var(--paper);font-size:28px;line-height:1}
@media(max-width:850px){.wrap{width:calc(100% - 48px)}.hero{gap:26px}h1{font-size:clamp(55px,8vw,82px)}}
@media(max-width:640px){.wrap{width:calc(100% - 30px)}header{height:70px;gap:12px}nav{gap:10px;font-size:12px}.contact{padding:7px;font-size:12px}.logo img{width:61px;height:46px}.hero{display:flex;flex-direction:column;align-items:stretch;gap:22px;padding-block:24px 29px}.scene{order:-1}h1{font-size:clamp(62px,14vw,94px)}.intro p{margin:14px 0;font-size:15px}.collection{padding-block:40px}.section-head,.reviews{align-items:start;flex-direction:column}.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 11px}.product-detail{grid-template-columns:1fr}.product-detail img{max-height:42dvh}.product-detail>div{padding:18px}footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.category-nav{display:flex;flex-wrap:wrap;gap:8px;padding-block:0 20px;border-bottom:1px solid var(--rule)}.category-nav button{border:1px solid var(--rule);background:transparent;padding:8px 15px;font-weight:600}.category-nav button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff8eb}.category-title{font-size:35px;margin-block:18px 12px}.products article>div{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:64px}.products article button{font-size:24px;flex:none;width:44px;height:44px;padding:0;font-weight:400}.products article button:hover{background:#eadbd0}.inquiry{margin-top:32px;padding:clamp(20px,4vw,52px);background:#eee3d6;border:1px solid #dfcebf;display:grid;grid-template-columns:.75fr 1.25fr;gap:24px 52px}.inquiry-intro img{display:block;object-fit:contain;mix-blend-mode:multiply;margin-bottom:10px}.inquiry h3{font-size:clamp(38px,4vw,58px);line-height:.96;color:var(--accent)}.inquiry-intro p,.form-note{color:var(--muted)}.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.inquiry label{display:block;font-weight:600;min-width:0}.inquiry small{font-weight:400;color:var(--muted)}.inquiry input,.inquiry select,.inquiry textarea{display:block;width:100%;min-width:0;background:transparent;border:0;border-bottom:1px solid #9e8476;border-radius:0;padding:10px 0;color:var(--ink);font:inherit;font-size:16px}.inquiry input:focus,.inquiry select:focus,.inquiry textarea:focus{outline:2px solid var(--accent);outline-offset:2px}.inquiry textarea{resize:vertical}.full{grid-column:1/-1}.inquiry .button{border:0;background:var(--accent);color:#fff8eb}.inquiry .button:hover{background:#663223}.form-note{font-size:13px}.inquiry-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.inquiry-actions a{color:var(--accent);text-decoration:underline}#inquiry-result{grid-column:2}
@media(max-width:640px){.inquiry{grid-template-columns:1fr;gap:16px}#inquiry-result{grid-column:1}.inquiry-fields{gap:14px}.category-nav button{padding:7px 10px}.products article>div{min-height:65px}}
@media(max-width:380px){.inquiry-fields{grid-template-columns:1fr}}
.illustrative{display:block;margin-top:6px;color:var(--muted);font:12px/1.4 "DM Sans",sans-serif}
.catalog-panel + .catalog-panel{margin-top:22px}
.reviews{display:grid;align-items:start;grid-template-columns:1fr;gap:16px}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.review-grid figure{margin:0;padding:18px;background:#eee3d6}
.review-grid figcaption{font-weight:700;color:var(--accent)}
.review-grid blockquote{margin:8px 0 0;font:25px/1.14 var(--serif)}
@media(max-width:640px){.review-grid{grid-template-columns:1fr;gap:8px}}

.shop-tools{display:flex;gap:1rem;flex-wrap:wrap;margin:1.5rem 0 .7rem}
.shop-tools label{flex:1 1 220px}
.shop-tools input,.shop-tools select,.detail-copy select{display:block;width:100%;min-height:48px;margin:.35rem 0;padding:.6rem .75rem;background:transparent;color:inherit;border:1px solid #a49a8b;font:inherit}
.live-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:1.75rem 1.125rem}
@media(max-width:1050px){.live-products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.live-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem .75rem}}
.live-card{min-width:0}
.live-products:empty{display:none}
.live-products .live-card{animation:catalog-arrive .55s both;animation-delay:calc(var(--order) * 45ms)}
@keyframes catalog-arrive{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.live-card .product-open{display:block;text-align:left;width:100%;border:0;background:none;color:inherit;padding:0;font:inherit;cursor:pointer}
.card-media{display:block;position:relative;overflow:hidden;aspect-ratio:4/5;background:#e7ddce}
.card-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 68%;transition:transform .6s cubic-bezier(.2,.75,.25,1)}
.product-open:hover img{transform:scale(1.045)}
.no-photo{aspect-ratio:4/3;display:grid!important;place-items:center;background:linear-gradient(135deg,#e0cfb6,#f0e9dc);font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2rem,5vw,4rem);text-align:center;padding:1rem}
.card-info{position:relative;display:grid;gap:.25rem;padding:.8rem 1.75rem .9rem 0;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.card-info strong{font:clamp(1.45rem,3vw,2rem) "Instrument Serif",Georgia,serif}
.product-arrow{position:absolute;right:.35rem;top:1.6rem;transition:transform .25s}
.product-open:hover .product-arrow{transform:translateX(4px)}
.stock-label{position:absolute;top:.75rem;left:.75rem;background:#23211c;color:#fff;padding:.35rem .65rem}
.catalog-directory{margin:3.5rem 0}
#directories{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,205px),1fr));gap:1rem}
.directory-group{padding:1.2rem;background:#eee7db;border-top:1px solid #b7a894}
.directory-group h4{margin:0 0 .6rem;font:1.85rem "Instrument Serif",Georgia,serif}
.directory-group a{display:block;padding:.55rem 0;border-top:1px solid #d2c8b9;text-decoration:none}
.directory-group a:hover{color:#853e2b}
.detail-media img{width:100%;height:auto;display:block}
#product .detail-copy{display:block;padding:1.25rem}
#product[open]{animation:catalog-arrive .3s both}
#ask:disabled{opacity:.5;cursor:default}
@media(prefers-reduced-motion:reduce){.live-products .live-card,#product[open]{animation:none}.card-media img,.product-arrow{transition:none}}
.hero .intro{animation:kala-intro .8s cubic-bezier(.2,.7,.2,1) both}
.hero .scene{animation:kala-intro 1s .12s cubic-bezier(.2,.7,.2,1) both}
@keyframes kala-intro{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.directory-group{transition:transform .25s,background .25s}
.directory-group:hover{transform:translateY(-3px);background:#e9dece}
@media(prefers-reduced-motion:reduce){.hero .intro,.hero .scene{animation:none}.directory-group{transition:none}.directory-group:hover{transform:none}}
.gallery-controls{display:flex;gap:.5rem;padding:.7rem;flex-wrap:wrap}
.gallery-controls button{background:none;border:1px solid var(--rule);font:inherit;color:inherit;padding:.5rem .65rem;cursor:pointer}
.gallery-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}
#product .detail-media>img{aspect-ratio:4/5;object-fit:cover;max-height:64dvh}
.price-line{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.35em .55em}
.price-line del{color:var(--muted)}
.price-line .sale-price{font:inherit;font-weight:700;color:#853e2b}
.cart-toggle{border:1px solid var(--rule);background:transparent;color:inherit;font:inherit;padding:.45rem .65rem;white-space:nowrap;cursor:pointer}
.cart-toggle span{font-weight:700;margin-left:.2rem}
.cart-panel{position:relative;padding:clamp(1rem,4vw,2rem)}
.cart-panel h2{padding-right:2rem}
.cart-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .8rem;border-bottom:1px solid var(--rule);padding:.8rem 0}
.cart-controls{display:flex;align-items:center;gap:.65rem;grid-column:1/-1}
.cart-controls button{min-width:40px;min-height:40px;cursor:pointer}
#cart-actions:not([hidden]){display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}
#order-text{width:100%;font:inherit;display:block}
#cart-feedback{position:fixed;bottom:1rem;right:1rem;max-width:calc(100% - 2rem);padding:.8rem 1rem;background:var(--ink);color:var(--paper);z-index:10}
@media(max-width:450px){header .contact{display:none}}
.collection-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 1.1rem}
.collection-filters button{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--rule);padding:.5rem .8rem;min-height:42px;cursor:pointer}
.collection-filters button:hover,.collection-filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
#directories{grid-template-columns:repeat(3,minmax(0,1fr))}
#directories .directory-group{position:relative;isolation:isolate;overflow:hidden;color:#fff8ec;background:#332b24;min-height:240px}
.directory-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.directory-group::before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(27,20,15,.87),rgba(27,20,15,.62));z-index:-1}
#directories .directory-group a{color:inherit;border-color:#ffffff55}
#directories .directory-group a:hover{text-decoration:underline;text-underline-offset:.2em}
@media(max-width:740px){#directories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:380px){#directories{grid-template-columns:1fr}}
