@font-face{font-family:Montserrat;src:url('../fonts/montserrat/montserrat-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('../fonts/dm-sans/dm-sans-latin-400-normal.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:DM Sans;src:url('../fonts/dm-sans/dm-sans-latin-600-normal.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{--ink:#1a1a1a;--charcoal:#181818;--muted:#68645d;--stone:#f4f1eb;--paper:#fff;--line:#d9d4ca;--gold:#b8860b;--gold-dark:#856005;--focus:#1e70bf;--radius:4px;--shadow:0 16px 44px rgba(27,24,18,.10);--max:1440px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif;font-size:1rem;line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button,a,select,input,textarea{outline-offset:3px}:focus-visible{outline:3px solid var(--focus)}h1,h2,h3{font-family:Montserrat,Arial,sans-serif;font-weight:400;line-height:1.16;margin:0}p{margin-top:0}.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:fixed;z-index:1000;top:8px;left:8px;padding:10px 14px;background:#fff;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{height:190px;background:var(--charcoal);display:flex;align-items:center;justify-content:space-between;padding:20px max(28px,calc((100vw - var(--max))/2));color:#f8f5ef;position:relative;z-index:20}.brand img{width:160px;height:auto}.main-nav{display:flex;align-items:center;gap:38px}.main-nav a{font-family:Montserrat,sans-serif;font-size:1rem;padding:10px 0;border-bottom:1px solid transparent}.main-nav a:hover,.main-nav .is-current{border-color:#f1eadf}.nav-toggle{display:none;background:none;border:0;color:#fff;width:48px;height:48px;padding:9px}.nav-toggle>span:not(.sr-only){display:block;height:2px;background:#fff;margin:6px 0}
.catalog-intro{background:var(--stone);padding:70px max(28px,calc((100vw - var(--max))/2)) 64px;border-bottom:1px solid var(--line)}.catalog-intro h1{font-size:clamp(2.25rem,5vw,4.6rem);color:var(--gold-dark);max-width:900px}.catalog-intro>p:last-child{max-width:700px;margin:18px 0 0;color:#4f4b44;font-size:1.12rem}.eyebrow{font-family:Montserrat,sans-serif;color:var(--gold-dark);text-transform:uppercase;letter-spacing:.17em;font-size:.76rem;margin:0 0 12px}
.catalog-shell{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:290px minmax(0,1fr);gap:48px;padding:50px 28px 90px}.filter-panel{border-right:1px solid var(--line);padding-right:34px;display:flex;flex-direction:column;gap:10px;align-self:start;position:sticky;top:22px}.filter-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.filter-heading h2{font-size:1.25rem}.filter-close{display:none}.filter-panel label{font-size:.88rem;font-weight:600;margin-top:10px}.filter-panel select,.filter-panel input,.toolbar-controls select,.pagination-bar select{width:100%;height:46px;border:1px solid var(--line);background:#fff;border-radius:var(--radius);padding:0 12px}.search-control{display:flex}.search-control input{border-radius:var(--radius) 0 0 var(--radius)}.search-control button{width:48px;border:0;background:var(--charcoal);color:#fff;border-radius:0 var(--radius) var(--radius) 0;font-size:1.35rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 23px;border:1px solid transparent;border-radius:var(--radius);font-family:Montserrat,sans-serif;cursor:pointer;transition:.2s background,.2s color,.2s transform}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--gold);color:#17130b}.button-primary:hover{background:#c89512}.button-secondary{background:#fff;border-color:var(--line)}.button-light{background:#fff;color:#181818}.button-block{width:100%;margin-top:18px}.button-large{width:100%;min-height:56px;font-size:1.05rem}.text-link{text-decoration:underline;text-underline-offset:4px}.centered{text-align:center;margin-top:6px}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.results-toolbar>div,.toolbar-controls{display:flex;align-items:center;gap:14px}.results-toolbar p{margin:0;color:var(--muted)}.toolbar-controls select{width:auto;min-width:185px}.view-switch{display:flex;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.view-switch button{border:0;background:#fff;width:43px;height:44px;font-size:1.35rem}.view-switch button+button{border-left:1px solid var(--line)}.view-switch button.is-active{background:var(--charcoal);color:#fff}.filter-open{display:none}.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:-5px 0 24px;font-size:.9rem}.active-filters>a{background:var(--stone);padding:7px 10px;border-radius:30px}.active-filters small{color:var(--muted);margin-right:5px}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px}.product-card{min-width:0}.product-image{aspect-ratio:4/3;display:block;background:#e8e4dd;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.product-card:hover .product-image img{transform:scale(1.035)}.product-copy{padding:20px 2px}.product-code{font-size:.76rem;letter-spacing:.13em;color:var(--gold-dark);font-weight:600;text-transform:uppercase;margin:0 0 7px}.product-copy h2{font-size:1.3rem;margin-bottom:14px}.product-copy h2 a:hover{text-decoration:underline;text-underline-offset:4px}.product-copy dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 18px;padding-top:13px;border-top:1px solid var(--line)}.product-copy dt{font-size:.7rem;color:var(--muted);text-transform:uppercase}.product-copy dd{font-size:.85rem;margin:2px 0 0;overflow-wrap:anywhere}.arrow-link{font-family:Montserrat,sans-serif;font-size:.88rem;color:var(--gold-dark)}.arrow-link span{margin-left:6px;transition:margin .2s}.arrow-link:hover span{margin-left:10px}.product-grid.is-list{display:flex;flex-direction:column;gap:14px}.product-grid.is-list .product-card{display:grid;grid-template-columns:230px 1fr;border:1px solid var(--line)}.product-grid.is-list .product-image{height:100%;aspect-ratio:4/3}.product-grid.is-list .product-copy{padding:22px 28px;display:grid;grid-template-columns:1.2fr 1.5fr auto;align-items:center;gap:22px}.product-grid.is-list .product-code,.product-grid.is-list h2{grid-column:1}.product-grid.is-list dl{grid-column:2;grid-row:1/3;margin:0;border:0;padding:0}.product-grid.is-list .arrow-link{grid-column:3;grid-row:1/3}.empty-state{text-align:center;background:var(--stone);padding:70px 25px}.empty-state>span{font-size:2rem;color:var(--gold)}.empty-state h2{font-size:1.7rem;margin:12px}.pagination-bar{display:flex;justify-content:space-between;align-items:center;margin-top:52px;padding-top:22px;border-top:1px solid var(--line);font-size:.9rem}.pagination-bar label{display:flex;align-items:center;gap:8px}.pagination-bar select{width:74px}.pagination{display:flex;align-items:center;gap:22px}.pagination a{text-decoration:underline;text-underline-offset:4px}.pagination .is-disabled{opacity:.35;pointer-events:none}
.breadcrumbs{max-width:var(--max);margin:0 auto;padding:28px;display:flex;gap:10px;color:var(--muted);font-size:.88rem}.breadcrumbs a{text-decoration:underline}.product-detail{max-width:var(--max);margin:0 auto;padding:15px 28px 90px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(370px,.75fr);gap:70px}.gallery-main{border:0;padding:0;width:100%;aspect-ratio:1.2;background:#eee;cursor:zoom-in;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:cover}.gallery-thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:9px;margin-top:12px}.gallery-thumbs button{padding:0;border:2px solid transparent;background:none;aspect-ratio:4/3;overflow:hidden}.gallery-thumbs button.is-active{border-color:var(--gold)}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.product-summary{align-self:start;position:sticky;top:24px}.product-summary h1{font-size:clamp(2.2rem,4vw,4.1rem);color:var(--gold-dark);margin:8px 0 22px}.lead{font-size:1.08rem;color:#4e4a43}.spec-list{margin:30px 0;border-top:1px solid var(--line)}.spec-list>div{display:grid;grid-template-columns:130px 1fr;padding:12px 0;border-bottom:1px solid var(--line)}.spec-list dt{color:var(--muted)}.spec-list dd{margin:0;font-weight:600}.additional-info{margin:30px 0}.additional-info h2{font-size:1.15rem;margin-bottom:8px}.quote-note{font-size:.82rem;color:var(--muted);text-align:center;margin-top:9px}.product-cta{background:var(--charcoal);color:#fff;text-align:center;padding:75px 25px}.product-cta h2{font-size:clamp(1.8rem,4vw,3.2rem);max-width:750px;margin:0 auto 28px}.product-cta .eyebrow{color:#d0a73f}.lightbox{border:0;padding:0;background:#111;max-width:94vw;max-height:94vh}.lightbox::backdrop{background:rgba(0,0,0,.86)}.lightbox img{max-width:90vw;max-height:90vh}.lightbox button{position:absolute;top:10px;right:14px;border:0;background:rgba(0,0,0,.65);color:#fff;width:42px;height:42px;font-size:1.8rem}.site-footer{background:var(--charcoal);color:#eee;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px;padding:65px max(28px,calc((100vw - var(--max))/2)) 25px}.site-footer img{width:135px}.site-footer p{color:#bab7b1;max-width:320px}.site-footer h2{font-size:1rem;margin-bottom:18px}.site-footer a{display:block;color:#d7d4ce;margin:8px 0}.footer-base{grid-column:1/-1;border-top:1px solid #393939;padding-top:22px;display:flex;justify-content:space-between;color:#888;font-size:.8rem}.footer-base a{margin:0}.error-page{text-align:center;min-height:60vh;padding:110px 24px}.error-page h1{font-size:clamp(2.4rem,6vw,5rem);color:var(--gold-dark)}.error-page p:not(.eyebrow){margin:20px auto 28px;max-width:580px}
@media(max-width:1100px){.product-grid{grid-template-columns:repeat(2,1fr)}.catalog-shell{grid-template-columns:250px 1fr;gap:30px}.main-nav{gap:24px}.product-detail{gap:38px}.site-header{height:155px}.brand img{width:135px}}
@media(max-width:780px){.site-header{height:110px;padding:12px 20px}.brand img{width:92px}.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:0;right:0;top:110px;background:var(--charcoal);padding:15px 25px 28px;flex-direction:column;align-items:stretch;gap:2px}.main-nav.is-open{display:flex}.main-nav a{padding:12px}.catalog-intro{padding:45px 20px}.catalog-shell{display:block;padding:28px 18px 65px}.filter-panel{display:none;position:fixed;z-index:100;inset:0;background:#fff;padding:25px 24px;overflow:auto;border:0}.filter-panel.is-open{display:flex}.filter-close{display:block;border:0;background:none;font-size:2rem}.filter-open{display:inline-flex}.results-toolbar{align-items:flex-start}.results-toolbar>div{align-items:flex-start;flex-direction:column}.toolbar-controls{flex-direction:row!important}.toolbar-controls select{min-width:0;width:145px}.product-grid{grid-template-columns:1fr;gap:26px}.product-grid.is-list .product-card{grid-template-columns:120px 1fr}.product-grid.is-list .product-copy{display:block;padding:14px}.product-grid.is-list dl{display:none}.product-grid.is-list .arrow-link{display:inline-block;margin-top:8px}.pagination-bar{align-items:flex-start;gap:22px}.pagination{gap:12px}.pagination span{font-size:.8rem}.product-detail{display:block;padding:8px 18px 60px}.product-summary{position:static;margin-top:35px}.product-summary h1{font-size:2.5rem}.gallery-thumbs{grid-template-columns:repeat(4,1fr)}.site-footer{grid-template-columns:1fr;padding:50px 24px 20px}.footer-base{display:block}.footer-base a{margin-top:8px}.breadcrumbs{padding:20px 18px;overflow:hidden}.breadcrumbs span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}
@media(max-width:460px){.results-toolbar{display:block}.toolbar-controls{margin-top:12px}.pagination-bar{display:block}.pagination{justify-content:space-between;margin-top:18px}.pagination span{display:none}.product-copy dl{grid-template-columns:1fr 1fr}.product-copy dl>div:last-child{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
