@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

:root{font-family:'DM Sans',Arial,sans-serif;color:#282823;background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding:92px 0}.eyebrow{font-size:11px!important;letter-spacing:.22em;font-weight:700!important;text-transform:uppercase;color:#847b70;margin:0 0 16px!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}.skip-link{position:absolute;z-index:100;background:white;padding:12px;top:-50px}.skip-link:focus{top:0}.site-header{height:78px;background:#fff;position:relative;z-index:20;box-shadow:0 1px 4px #0000000d}.header-inner{width:min(1260px,calc(100% - 40px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{width:174px;flex:none}.brand img{width:100%;height:auto}.primary-nav{display:flex;align-items:center;gap:29px;font-size:14px}.primary-nav>a,.nav-dropdown>button{padding:28px 0;white-space:nowrap}.primary-nav a:hover,.primary-nav a.current,.nav-dropdown button:hover{color:#87796a}.nav-dropdown{position:relative}.nav-dropdown button{border:0;background:none;color:inherit}.dropdown-menu{display:none;position:absolute;top:100%;left:-20px;background:#fff;box-shadow:0 14px 30px #0002;min-width:190px;padding:12px 0}.dropdown-menu a{display:block;padding:10px 20px}.dropdown-menu a:hover{background:#f6f3ef}.nav-dropdown button[aria-expanded="true"]+.dropdown-menu{display:block}.header-cta{font-size:13px;border-bottom:1px solid #333;padding-bottom:5px;white-space:nowrap}.header-cta span{padding-left:8px}.menu-toggle{display:none;border:0;background:none;font-size:25px}.hero{min-height:560px;background:linear-gradient(90deg,#1216109e,#12161029 70%),url('assets/hero.webp') center 58%/cover;display:flex;align-items:center}.hero-content{width:min(1180px,calc(100% - 48px));margin:auto;color:#fff;padding:65px 0}.hero .eyebrow{color:#e6ddd4}.hero h1{font-size:clamp(46px,5.1vw,74px);line-height:1.07;letter-spacing:-.035em;margin:0 0 22px;font-weight:700;max-width:800px}.hero-content>p:not(.eyebrow){font-size:19px;margin:0 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:15px 23px;border:1px solid transparent;font-size:14px;font-weight:600;min-height:51px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-light{background:#fff;color:#333}.button-dark{background:#343830;color:white}.button-outline{border-color:#353930;background:transparent}.button span{font-size:18px}.promises{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:-50px;position:relative}.promises>div{min-height:184px;background:#938a81;color:#fff;text-align:center;padding:27px 10px 24px}.promise-icon{font-size:36px;font-weight:300;line-height:1}.promises h2{font-size:20px;line-height:1.4;font-weight:400;margin:18px 0 0}.section-heading{max-width:650px;margin-bottom:38px}.section-heading.centered{text-align:center;margin:0 auto 42px}.section-heading h2,.story-grid h2,.about-grid h2,.quote-strip h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(34px,3.3vw,48px);font-weight:500;line-height:1.2;margin:0 0 15px}.section-heading p:not(.eyebrow){color:#6c6964;line-height:1.7}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.feature-grid article{background:#f8f7f4;padding:18px 18px 25px}.feature-grid img{width:100%;height:230px;object-fit:cover;background:#eceae6}.feature-grid h3{text-transform:uppercase;font-size:15px;letter-spacing:.07em;margin:22px 0 6px}.feature-grid p{color:#6d6965;font-size:14px;line-height:1.6;margin:0}.categories-section{background:#f3f1ec}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.category-card{background:white;transition:transform .2s,box-shadow .2s}.category-card:hover,.product-card:hover{transform:translateY(-4px);box-shadow:0 12px 26px #00000013}.category-image{height:250px;display:grid;place-items:center;background:#f9f8f6;overflow:hidden}.category-image img{height:90%;width:90%;object-fit:contain}.category-card>div:last-child{padding:23px}.category-card h3{text-transform:uppercase;letter-spacing:.09em;font-size:15px;margin:0 0 10px}.category-card span{font-size:13px;color:#777069}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.story-grid>div>p:not(.eyebrow){line-height:1.8;color:#6c6964;margin-bottom:25px}.story-grid img{height:400px;width:100%;object-fit:cover}.quote-strip{background:#464c42;color:#fff;padding:56px 0}.quote-strip>.container{display:flex;justify-content:space-between;align-items:center;gap:20px}.quote-strip .eyebrow{color:#d4ccc1}.quote-strip h2{margin:0}.page-banner{background:#eae8e2;padding:72px 0 76px}.page-banner h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(40px,4vw,56px);font-weight:500;margin:0 0 12px}.page-banner p:not(.eyebrow){color:#6d6a64;font-size:16px;line-height:1.6;max-width:600px;margin:0}.catalog-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:60px}.catalog-sidebar h2{font-size:18px;margin:0 0 20px}.catalog-sidebar a{border-top:1px solid #dedbd6;padding:15px 0;display:flex;justify-content:space-between;color:#5e5b56;font-size:14px}.catalog-sidebar a.active{color:#252824;font-weight:700}.catalog-sidebar a span{color:#a29b91}.catalog-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}.catalog-toolbar p:not(.eyebrow){margin:0;font-size:20px}.search-field input{border:1px solid #d5d0c9;padding:12px 14px;width:260px;max-width:100%;outline-color:#777}.preview-note{background:#f3f1ec;color:#6d665e;font-size:13px;line-height:1.5;padding:12px 15px;margin:0 0 24px}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.product-card{border:1px solid #ece9e4;transition:transform .2s,box-shadow .2s}.product-card[hidden]{display:none}.product-image{height:270px;background:#f8f7f5;display:grid;place-items:center}.product-image img{height:90%;width:90%;object-fit:contain}.product-copy{padding:19px}.product-category{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8b8379}.product-copy h3{font-family:'Playfair Display',Georgia,serif;font-size:27px;font-weight:500;margin:9px 0 1px}.product-copy p{color:#6d6964;margin:0 0 20px}.text-link{font-size:13px;border-bottom:1px solid #555;padding-bottom:5px}.empty-results{padding:25px;background:#f8f7f5}.breadcrumbs{display:flex;gap:12px;color:#888077;font-size:13px;margin-bottom:40px}.breadcrumbs a:hover{text-decoration:underline}.product-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:center}.detail-image{min-height:520px;background:#f8f7f5;display:grid;place-items:center;padding:30px}.detail-image img{max-height:480px;object-fit:contain}.detail-copy h1{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:54px;margin:0 0 8px}.detail-copy h2{font-size:22px;font-weight:400;margin:0 0 30px}.detail-copy p{line-height:1.75;color:#6d6964}.detail-copy strong{color:#292b26}.detail-rule{height:1px;background:#ddd8d2;margin:30px 0}.detail-copy .button{margin-top:26px}.sample-label{font-size:12px}.back-link{display:inline-block;margin-top:45px;font-size:14px;border-bottom:1px solid}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}.about-grid p:not(.eyebrow){line-height:1.8;color:#6d6964}.about-grid .button{margin-top:15px}.about-grid img{height:570px;width:100%;object-fit:cover}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:stretch}.contact-photo img{height:100%;max-height:600px;width:100%;object-fit:cover}.contact-info{padding:15px 0}.contact-info h2{font-family:'Playfair Display',Georgia,serif;font-size:42px;font-weight:500;margin:0 0 30px}.contact-detail{border-top:1px solid #ddd8d2;padding:15px 0;display:grid;grid-template-columns:90px 1fr;gap:15px;font-size:14px}.contact-detail span{color:#8b8379}.contact-detail p{margin:0;line-height:1.6}.contact-detail a{text-decoration:underline}.contact-info .button{margin-top:25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery-grid figure{margin:0;background:#f8f7f5}.gallery-grid figure:first-child{grid-column:span 2;grid-row:span 2}.gallery-grid img{height:300px;width:100%;object-fit:contain;padding:20px}.gallery-grid figure:first-child img{height:calc(600px + 20px);object-fit:cover;padding:0}.gallery-grid figcaption{padding:12px 18px;color:#777;font-size:13px}.faq-wrap{max-width:850px}.faq-wrap details{border-bottom:1px solid #ddd8d2;padding:22px 0}.faq-wrap summary{font-size:19px;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.faq-wrap summary:after{content:'+';font-size:25px;line-height:1}.faq-wrap details[open] summary:after{content:'−'}.faq-wrap details p{color:#6d6964;line-height:1.7}.faq-wrap .preview-note{margin-top:35px}.site-footer{background:#f6f5f2}.footer-marquee{text-align:center;background:#877e74;color:white;padding:13px 15px;text-transform:uppercase;letter-spacing:.15em;font-size:11px}.footer-inner{width:min(1180px,calc(100% - 48px));margin:auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.5fr;gap:40px;padding:70px 0}.footer-brand img{width:190px}.footer-brand p{color:#777069;margin-top:20px}.footer-inner h3{font-size:13px;text-transform:uppercase;letter-spacing:.12em;margin:3px 0 23px}.footer-inner a{display:block;margin:0 0 12px;font-size:14px;color:#645e58}.footer-inner a:hover{text-decoration:underline}.footer-inner p{font-size:14px;line-height:1.6;color:#645e58}.footer-bottom{border-top:1px solid #dfddd9;width:min(1180px,calc(100% - 48px));margin:auto;padding:22px 0;display:flex;justify-content:space-between;color:#817b73;font-size:12px}.contact-lead{color:#6d6964;line-height:1.7;margin:0 0 24px}.contact-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 34px}.part-hint{font-size:13px;margin:12px 0 0}
@media(max-width:950px){.primary-nav{gap:15px;font-size:13px}.header-cta{display:none}.category-grid{grid-template-columns:repeat(2,1fr)}.product-grid{grid-template-columns:repeat(2,1fr)}.story-grid,.about-grid,.contact-grid,.product-detail-grid{gap:35px}.footer-inner{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.site-header{height:70px}.brand{width:150px}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fff;padding:12px 24px 25px;box-shadow:0 18px 26px #0002;align-items:stretch;gap:0;flex-direction:column}.primary-nav.open{display:flex}.primary-nav>a,.nav-dropdown>button{padding:12px 0}.nav-dropdown button{width:100%;text-align:left}.dropdown-menu{position:static;box-shadow:none;padding:0 0 5px 15px}.hero{min-height:510px;background-position:53% center}.hero h1{font-size:45px}.hero-content>p:not(.eyebrow){font-size:16px}.promises{grid-template-columns:1fr;gap:5px;margin-top:0;width:100%}.promises>div{min-height:100px;padding:18px;display:flex;align-items:center;justify-content:center;gap:20px}.promises h2{font-size:16px;text-align:left;margin:0}.section{padding:66px 0}.feature-grid,.story-grid,.about-grid,.contact-grid,.product-detail-grid{grid-template-columns:1fr}.feature-grid{gap:15px}.feature-grid img{height:220px}.category-grid{gap:12px}.category-image{height:180px}.category-card>div:last-child{padding:16px}.category-card h3{font-size:12px}.quote-strip>.container{align-items:start;flex-direction:column}.catalog-layout{grid-template-columns:1fr;gap:28px}.catalog-sidebar{display:flex;gap:14px;overflow:auto;white-space:nowrap}.catalog-sidebar h2{display:none}.catalog-sidebar a{border:0;border-bottom:1px solid #ddd;gap:7px;padding:8px 0}.catalog-toolbar{align-items:start;flex-direction:column}.search-field,.search-field input{width:100%}.product-grid{gap:12px}.product-image{height:220px}.product-copy{padding:15px}.product-detail-grid{gap:25px}.detail-image{min-height:340px}.detail-image img{max-height:310px}.detail-copy h1{font-size:44px}.about-grid img,.contact-photo img{height:350px}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-grid figure:first-child{grid-column:span 2;grid-row:auto}.gallery-grid figure:first-child img{height:300px}.gallery-grid img{height:200px}.footer-inner{gap:25px;padding:50px 0}.footer-brand{grid-column:span 2}}
@media(max-width:430px){.container{width:calc(100% - 34px)}.hero h1{font-size:39px}.category-grid,.product-grid{grid-template-columns:1fr}.category-image{height:210px}.product-image{height:260px}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>div:last-child{grid-column:span 2}.footer-bottom{gap:8px;flex-direction:column}.quote-dialog{padding:25px}.quote-dialog form{grid-template-columns:1fr}.quote-dialog label:nth-child(3),.quote-dialog label:nth-child(6),.quote-dialog form button,.quote-dialog form small{grid-column:span 1}}
/* Tall source photos stay inside the fixed card image area. */
.product-image{overflow:hidden;min-width:0;min-height:0}
.product-image img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-width:0;min-height:0;object-fit:contain}
.product-copy{position:relative;background:#fff}
.dimension-box{background:#f3f1ec;margin-top:25px;padding:20px 22px}.dimension-box h3{font-size:13px;letter-spacing:.12em;text-transform:uppercase;margin:0 0 15px}.dimension-box dl{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0}.dimension-box dl div{border-left:1px solid #d3cec7;padding-left:12px}.dimension-box dl div:first-child{border-left:0;padding-left:0}.dimension-box dt{color:#7e776e;font-size:12px}.dimension-box dd{font-size:17px;margin:3px 0 0}.dimension-box p{font-size:13px;line-height:1.55;margin:17px 0 0}
/* The cabinet submenu is controlled by the button state, not lingering focus or hover. */
.nav-dropdown .dropdown-menu{display:none}
.nav-dropdown button[aria-expanded="true"]+.dropdown-menu{display:block}
.nav-dropdown .dropdown-menu[hidden]{display:none!important}
.home-catalog-link{margin-top:32px}
.catalog-categories{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}
.catalog-categories a{border:1px solid #d7d3cc;padding:10px 16px;font-size:13px}
.catalog-categories a.active{background:#343830;color:#fff;border-color:#343830}
.nav-dropdown{display:flex;align-items:center}
.nav-dropdown>.cabinet-menu-toggle{display:inline-flex;align-items:center;gap:8px;padding:28px 0!important;white-space:nowrap;margin:0;line-height:1.2}
.cabinet-menu-toggle::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.cabinet-menu-toggle[aria-expanded="true"]::after{transform:rotate(225deg) translate(-2px,-2px)}
.nav-dropdown.current .cabinet-menu-toggle{color:#87796a}
.cabinet-menu-toggle[aria-expanded="true"]~.dropdown-menu{display:block}
.dropdown-menu{z-index:30;min-width:220px}
@media(max-width:720px){.nav-dropdown{display:flex;flex-wrap:wrap}.nav-dropdown>.cabinet-menu-toggle{padding:12px 0!important;flex:1;text-align:left}.dropdown-menu{width:100%}}
