@import url('/fonts.css');
:root{--paper:#f7f5f0;--ink:#292925;--muted:#64655c;--line:#d9d7ce;--olive:#414737;--serif:'Italiana',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #8b6845;outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;padding:25px 5%;gap:30px;background:var(--paper);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:30px;letter-spacing:4px;line-height:1.1;white-space:nowrap}.brand span{display:block;font-family:var(--sans);font-size:11px;letter-spacing:6px;text-align:center;margin-top:9px}nav{display:flex;gap:34px;font-size:14px}nav a{position:relative}nav a:after{content:'';height:1px;width:0;background:var(--ink);position:absolute;left:0;bottom:-6px;transition:width .2s}nav a:hover:after{width:100%}.contact-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:3px}.hero{height:min(680px,75vw);min-height:520px;position:relative;overflow:hidden;background:#d7d3c7}.hero>img{width:100%;height:100%;object-fit:cover;object-position:58% center}.hero-copy{position:absolute;top:18%;left:6%;max-width:600px}.eyebrow{font-size:12px;letter-spacing:2.6px;font-weight:500;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.05;letter-spacing:-1.5px}h1{font-size:clamp(48px,4.5vw,75px);margin-bottom:26px}h1 em,h2 em{font-weight:400;font-style:normal;color:#525543}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:1.65;margin-bottom:32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--olive);color:white;font-size:14px;padding:16px 24px;transition:background .2s,transform .2s}.button:hover{background:#292f22;transform:translateY(-2px)}.button span{font-size:20px}.hero-caption{position:absolute;bottom:22px;left:6%;font-size:12px;color:#494a43}.section{padding:86px 5% 88px;max-width:1600px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:35px}.section-heading .eyebrow{margin-bottom:16px}.section-heading h2{font-size:48px;margin-bottom:0}.section-heading>p{color:var(--muted);font-size:14px;margin-bottom:6px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.category-card .category-image{height:310px;overflow:hidden;background:#e9e7df;position:relative}.category-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.category-card:hover img{transform:scale(1.035)}.category-label{display:flex;align-items:center;justify-content:space-between;margin-top:17px;font-size:16px}.category-label span{font-size:22px}.category-card small{color:var(--muted);font-size:13px}.pieces-section{border-top:1px solid var(--line)}.text-link{border-bottom:1px solid var(--ink);font-size:14px;padding-bottom:5px;display:inline-block}.filters{display:flex;gap:9px;margin:34px 0;flex-wrap:wrap}.filters button{padding:10px 21px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:14px;border-radius:30px;transition:all .2s}.filters button.active,.filters button:hover{background:var(--olive);color:white;border-color:var(--olive)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);column-gap:25px;row-gap:40px}.product-card[hidden]{display:none}.product-image{height:305px;background:#eceae3;overflow:hidden;position:relative}.product-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.product-card:hover img{transform:scale(1.035)}.product-image .view-product{position:absolute;bottom:14px;right:14px;background:var(--paper);border:1px solid var(--line);padding:8px 13px;font-size:12px;opacity:0;transform:translateY(6px);transition:all .2s}.product-card:hover .view-product,.product-card:focus-within .view-product{opacity:1;transform:translateY(0)}.product-info{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-top:17px}.product-info h3{font-size:16px;font-weight:500;margin:0;line-height:1.4}.product-info .price{font-size:14px;white-space:nowrap}.product-type{font-size:13px;color:var(--muted);margin:6px 0 0}.catalog-note{font-size:13px;color:var(--muted);margin:30px 0 0}.visit{background:#e6e7de;padding:75px 8%;position:relative;border-top:1px solid #d5d7cc;overflow:hidden}.visit h2{font-size:70px;margin-bottom:24px}.visit>p:not(.eyebrow){color:#515549}.visit-actions{display:flex;align-items:center;gap:30px;margin-top:30px}.visit-number{font-family:var(--serif);font-size:clamp(36px,4vw,68px);position:absolute;right:8%;top:46%;color:#666c5c;letter-spacing:-1px}footer{padding:55px 5% 25px;display:flex;align-items:flex-start;justify-content:space-between;gap:25px;flex-wrap:wrap}footer p{font-size:14px;line-height:1.9;color:var(--muted)}footer>a:not(.brand){font-size:14px}.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;width:100%;font-size:12px;color:var(--muted);gap:20px}.empty{grid-column:1/-1;padding:25px 0}.mobile-menu-button{display:none}.skip-link{position:absolute;top:-100px;left:10px;z-index:10;background:white;padding:12px}.skip-link:focus{top:10px}@media(min-width:1700px){.hero-copy{left:calc((100vw - 1400px)/2)}}@media(max-width:1000px){header{padding:22px 4%;gap:15px}.brand{font-size:25px}nav{gap:20px}.hero{height:580px}.hero>img{object-position:56% center}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(243,240,231,.64),transparent 75%)}.hero-copy,.hero-caption{z-index:1}.hero-copy{top:16%;left:5%}.section{padding:65px 4%}.section-heading h2{font-size:40px}.category-grid{gap:14px}.category-card .category-image{height:240px}.product-grid{gap:30px 18px}.product-image{height:230px}.product-info{display:block}.product-info .price{display:block;margin-top:6px}.visit-number{position:static;display:block;margin-top:35px}.visit{padding:65px 5%}.visit h2{font-size:60px}}@media(max-width:650px){header{padding:18px 5%;flex-wrap:wrap;row-gap:18px}.brand{font-size:24px}.brand span{font-size:10px;letter-spacing:4px}nav{order:3;width:100%;justify-content:space-between;font-size:13px;gap:10px}.contact-link{font-size:13px}.hero{min-height:620px;height:calc(85svh - 100px);max-height:740px}.hero>img{object-position:66% bottom;position:absolute;height:57%;bottom:0}.hero:after{background:linear-gradient(180deg,#e2dfd5 0%,#e2dfd5 34%,rgba(226,223,213,.85) 45%,transparent 65%)}.hero-copy{top:30px;left:6%;right:5%}.eyebrow{font-size:11px;letter-spacing:2px;margin-bottom:17px}h1{font-size:46px;letter-spacing:-1px;margin-bottom:17px}.hero-copy>p:not(.eyebrow){font-size:14px;margin-bottom:21px}.button{font-size:13px;padding:13px 18px}.hero-caption{font-size:10px;bottom:12px;background:#ffffffaf;padding:3px 6px;left:auto;right:12px}.section{padding:47px 5%}.section-heading{display:block;margin-bottom:26px}.section-heading h2{font-size:35px;letter-spacing:-.8px}.section-heading>p,.section-heading>.text-link{margin-top:17px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 13px}.category-card .category-image{height:200px}.category-label{font-size:14px;margin-top:10px}.category-card small{font-size:12px}.filters{gap:7px;margin:25px 0}.filters button{font-size:12px;padding:8px 13px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 13px}.product-image{height:185px}.product-info h3{font-size:14px}.product-info .price{font-size:13px}.product-type{font-size:12px}.view-product{display:none}.catalog-note{font-size:12px}.visit{padding:48px 6%}.visit h2{font-size:48px}.visit-actions{align-items:flex-start;flex-direction:column;gap:22px}.visit-number{font-size:38px;margin-top:30px}footer{padding:35px 6% 20px;flex-direction:column;gap:25px}.footer-bottom{flex-direction:column;gap:8px;margin-top:5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}} 

.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}

.product-image img{object-fit:contain}.category-image{background:#eae7df}.category-card:first-child .category-image img{object-fit:contain}.policy-links{width:100%;font-size:14px}.policy-links a{border-bottom:1px solid var(--ink)}

.product-image,.category-card .category-image{background:#fff}

/* Complete catalog */
.catalog-section{border-top:1px solid var(--line);max-width:none;padding-left:5%;padding-right:5%}.catalog-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:end;gap:50px}.catalog-heading h2{font-size:48px;margin-bottom:15px}.catalog-intro{max-width:620px;color:var(--muted);font-size:14px;margin:0}.search-box{display:flex;align-items:center;border-bottom:1px solid var(--ink);padding:10px 2px;gap:12px}.search-box input{width:100%;border:0;background:transparent;font:inherit;font-size:15px;color:var(--ink);outline:0}.search-box input::placeholder{color:#77786f}.search-box>span:last-child{font-family:var(--serif);font-size:26px}.catalog-meta{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:15px;margin-bottom:25px;color:var(--muted);font-size:13px}.catalog-meta p{margin:0}.product-open{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.product-open>span{display:flex}.product-open .product-image{display:block}.product-info strong{font-size:16px;font-weight:500;line-height:1.4}.ribbon{position:absolute;top:13px;left:13px;background:var(--olive);color:#fff;padding:5px 10px;font-size:11px;letter-spacing:1px;text-transform:uppercase}.image-placeholder{height:100%;display:grid!important;place-items:center;color:#8d8c83;font-family:var(--serif);letter-spacing:3px}.load-more{display:block;margin:48px auto 0;padding:14px 28px;background:transparent;border:1px solid var(--ink);color:var(--ink);cursor:pointer;font-size:14px;transition:all .2s}.load-more:hover{background:var(--ink);color:var(--paper)}.product-dialog{width:min(980px,92vw);padding:0;border:0;background:var(--paper);color:var(--ink);box-shadow:0 25px 90px rgba(0,0,0,.25);grid-template-columns:1.15fr .85fr;max-height:88vh}.product-dialog[open]{display:grid}.product-dialog::backdrop{background:rgba(27,28,24,.66);backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:17px;top:12px;z-index:2;border:0;background:var(--paper);width:40px;height:40px;border-radius:50%;font-size:27px;line-height:1;cursor:pointer}.dialog-image{background:#fff;min-height:520px;display:grid;place-items:center;overflow:hidden}.dialog-image img{width:100%;height:100%;max-height:650px;object-fit:contain}.dialog-copy{padding:62px 48px;align-self:center}.dialog-copy h2{font-size:43px;margin-bottom:18px}.dialog-copy>p:not(.eyebrow):not(.dialog-price){color:var(--muted);font-size:14px}.dialog-price{font-family:var(--serif);font-size:28px;margin-bottom:25px}.dialog-actions{display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin-top:30px}
@media(max-width:1000px){.catalog-heading h2{font-size:40px}.product-dialog{grid-template-columns:1fr 1fr}.dialog-image{min-height:430px}.dialog-copy{padding:50px 34px}.dialog-copy h2{font-size:36px}}
@media(max-width:650px){.catalog-heading{grid-template-columns:1fr;gap:27px}.catalog-heading h2{font-size:35px}.catalog-section{padding-left:5%;padding-right:5%}.catalog-meta{display:block}.catalog-meta p+ p{margin-top:5px}.product-info strong{font-size:14px}.product-dialog[open]{display:block}.product-dialog{width:94vw;max-height:90vh;overflow:auto}.dialog-image{min-height:0;height:300px}.dialog-copy{padding:34px 25px 40px}.dialog-copy h2{font-size:32px}.dialog-close{position:fixed}.load-more{margin-top:35px}}

/* Room-first catalog navigation */
.catalog-navigation{margin:42px 0 30px;border:1px solid var(--line);background:#fbfaf7;padding:25px}.filter-heading{display:flex;align-items:center;gap:12px;margin-bottom:16px}.filter-heading>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--olive);color:#fff;font-family:var(--serif);font-size:14px;flex:none}.filter-heading div{display:flex;align-items:baseline;gap:12px}.filter-heading strong{font-size:14px;font-weight:500}.filter-heading small{font-size:12px;color:var(--muted)}.room-filters,.type-filters{display:flex;gap:9px;flex-wrap:wrap}.room-filters button,.type-filters button{display:flex;align-items:center;gap:11px;padding:10px 15px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font-size:13px;transition:all .2s}.room-filters button small,.type-filters button small{display:grid;place-items:center;min-width:24px;height:20px;padding:0 5px;border-radius:12px;background:#e5e3da;color:var(--muted);font-size:10px}.room-filters button.active,.room-filters button:hover{background:var(--olive);color:#fff;border-color:var(--olive)}.room-filters button.active small,.room-filters button:hover small{background:rgba(255,255,255,.17);color:#fff}.type-panel{border-top:1px solid var(--line);margin-top:22px;padding-top:22px}.type-panel[hidden]{display:none}.type-filters button{background:#fff}.type-filters button.active,.type-filters button:hover{border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}.catalog-trail{font-family:var(--serif);font-size:22px;margin:0 0 14px}
@media(max-width:650px){.catalog-navigation{padding:18px 14px;margin:30px 0 24px}.filter-heading div{display:block}.filter-heading small{display:block;margin-top:2px}.room-filters,.type-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:7px;margin-right:-14px;scrollbar-width:thin}.room-filters button,.type-filters button{white-space:nowrap;flex:none}.catalog-trail{font-size:19px}}

/* Product image gallery */
.dialog-gallery{background:#fff;min-width:0;overflow:hidden}.dialog-image{position:relative}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:1;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:rgba(247,245,240,.92);color:var(--ink);font-family:var(--serif);font-size:30px;line-height:1;cursor:pointer;box-shadow:0 4px 18px rgba(0,0,0,.1)}.gallery-arrow:hover{background:var(--olive);color:#fff}.gallery-arrow[hidden]{display:none}.gallery-prev{left:16px}.gallery-next{right:16px}.gallery-count{position:absolute;right:16px;bottom:14px;background:rgba(41,41,37,.78);color:#fff;padding:4px 9px;font-size:12px;letter-spacing:.5px}.gallery-count:empty{display:none}.dialog-thumbnails{display:flex;gap:9px;padding:12px 14px 15px;overflow-x:auto;border-top:1px solid var(--line);scrollbar-width:thin}.dialog-thumbnails[hidden]{display:none}.gallery-thumb{width:70px;height:58px;padding:2px;flex:none;border:1px solid var(--line);background:#fff;cursor:pointer;opacity:.62}.gallery-thumb.active{border-color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive);opacity:1}.gallery-thumb img{width:100%;height:100%;object-fit:contain}.gallery-thumb:focus-visible{outline-offset:1px}
@media(max-width:650px){.gallery-arrow{width:38px;height:38px}.gallery-prev{left:10px}.gallery-next{right:10px}.dialog-thumbnails{padding:10px}.gallery-thumb{width:62px;height:52px}}

/* Product options and inquiry cart */
.header-actions{display:flex;align-items:center;gap:20px}.cart-toggle{display:flex;align-items:center;gap:8px;border:0;background:var(--olive);color:#fff;padding:10px 14px;cursor:pointer;font-size:13px}.cart-toggle span{display:grid;place-items:center;min-width:21px;height:21px;border-radius:50%;background:#fff;color:var(--olive);font-size:11px}.product-options{display:grid;gap:14px;margin:24px 0 14px}.product-options[hidden]{display:none}.product-option,.quantity-field{display:grid;gap:6px}.product-option>span,.quantity-field>span{font-size:12px;letter-spacing:1.1px;text-transform:uppercase;color:var(--muted)}.product-option select,.quantity-field input{width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:11px 12px;font:inherit;font-size:14px}.quantity-field{width:105px;margin-bottom:17px}.add-cart-button{width:100%;border:0;cursor:pointer}.inquiry-note{font-size:12px!important;margin:12px 0 0}.dialog-actions{flex-direction:row;flex-wrap:wrap;gap:22px}.cart-backdrop{position:fixed;inset:0;z-index:20;background:rgba(28,29,25,.5);backdrop-filter:blur(2px)}.cart-drawer{position:fixed;z-index:21;top:0;right:0;width:min(470px,100vw);height:100dvh;background:var(--paper);box-shadow:-20px 0 70px rgba(0,0,0,.2);transform:translateX(105%);transition:transform .28s ease;display:flex;flex-direction:column}.cart-drawer.open{transform:translateX(0)}body.cart-open{overflow:hidden}.cart-header{display:flex;justify-content:space-between;align-items:flex-start;padding:30px 28px 22px;border-bottom:1px solid var(--line)}.cart-header .eyebrow{margin-bottom:8px}.cart-header h2{font-size:36px;margin:0}.cart-close{border:0;background:transparent;font-size:32px;cursor:pointer}.cart-items{overflow-y:auto;flex:1}.cart-item{display:grid;grid-template-columns:100px 1fr;gap:16px;padding:20px 28px;border-bottom:1px solid var(--line)}.cart-item>img{width:100px;height:90px;object-fit:contain;background:#fff}.cart-item-copy>strong{display:block;font-size:15px;line-height:1.35}.cart-item-copy>small{display:block;color:var(--muted);margin:3px 0 7px}.cart-options{display:grid;font-size:12px;color:var(--muted);line-height:1.6}.cart-quantity{display:flex;align-items:center;gap:9px;margin-top:10px}.cart-quantity button{width:27px;height:27px;border:1px solid var(--line);background:#fff;cursor:pointer}.cart-quantity .cart-remove{width:auto;border:0;background:transparent;text-decoration:underline;color:var(--muted);font-size:12px;margin-left:auto}.cart-empty{padding:45px 28px;color:var(--muted)}.cart-empty[hidden]{display:none}.cart-shop{border:0;border-bottom:1px solid var(--ink);background:transparent;padding:0 0 4px;cursor:pointer;color:var(--ink)}.cart-footer{padding:24px 28px 30px;border-top:1px solid var(--line);background:#efede6}.cart-footer[hidden]{display:none}.cart-footer p{font-size:13px;color:var(--muted);margin-bottom:17px}.cart-footer .button{width:100%;margin-bottom:18px}.cart-toast{position:fixed;z-index:30;left:50%;bottom:25px;transform:translate(-50%,20px);background:var(--olive);color:#fff;padding:12px 20px;opacity:0;pointer-events:none;transition:all .2s;font-size:13px}.cart-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:650px){.header-actions{gap:9px}.header-actions .contact-link{display:none}.cart-toggle{padding:9px 11px}.dialog-copy{padding-top:28px}.dialog-actions{gap:17px}.cart-header,.cart-item,.cart-empty,.cart-footer{padding-left:20px;padding-right:20px}.cart-item{grid-template-columns:82px 1fr}.cart-item>img{width:82px;height:78px}.cart-toast{bottom:16px;width:calc(100% - 30px);text-align:center}}
.product-dialog .dialog-copy{max-height:88vh;overflow-y:auto}
.music-toggle{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:transparent;color:var(--ink);padding:8px 10px;cursor:pointer}.music-toggle>span{font-family:var(--serif);font-size:18px;line-height:1}.music-toggle small{font-size:11px}.music-toggle.playing{background:#e8eadf;border-color:var(--olive)}.music-toggle.playing>span{animation:musicPulse 1.6s ease-in-out infinite}.variant-status{min-height:20px;margin:-2px 0 13px;font-size:12px;color:var(--muted)}.variant-status.unavailable{color:#93483b}.add-cart-button:disabled{opacity:.45;cursor:not-allowed;transform:none}@keyframes musicPulse{50%{transform:scale(1.18)}}@media(max-width:650px){.music-toggle{padding:8px}.music-toggle small{display:none}}
.dialog-details{margin:26px 0 4px;padding-top:22px;border-top:1px solid var(--line)}.dialog-details[hidden]{display:none}.dialog-details h3{margin:0 0 10px;font-family:var(--serif);font-size:22px;font-weight:500}.dialog-details h3:not(:first-child){margin-top:22px}.dialog-details p{font-size:14px;line-height:1.65;margin:0 0 10px;color:var(--muted);white-space:pre-line}.dialog-details ul{display:grid;gap:7px;margin:0;padding:0;list-style:none}.dialog-details li{padding:9px 11px;background:#f0eee7;font-size:13px;line-height:1.4}.dialog-details .product-sku{margin-top:18px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
