@font-face{font-family:Plex;src:url('/assets/plex.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/plex-medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Plex;src:url('/assets/plex-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;color:#202421;background:#faf9f6;font:16px/1.6 Plex,'Helvetica Neue',Arial,sans-serif}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{outline-offset:5px}
*:focus-visible{outline:2px solid #ae332b}
img{max-width:100%;display:block}
button{cursor:pointer}
p{margin:0 0 20px}
h1,h2,h3{line-height:1.08;letter-spacing:-.045em;margin:0;font-weight:500}
h1{font-size:clamp(44px,5.8vw,84px)}
h2{font-size:clamp(34px,3.5vw,52px)}
h3{font-size:23px;letter-spacing:-.02em}
.wrap{max-width:1320px;margin:auto;padding:0 48px}
.eyebrow{font-size:12px;letter-spacing:.14em;font-weight:600;text-transform:uppercase;display:flex;gap:12px;align-items:center;margin-bottom:28px}
.eyebrow:before{content:'';width:7px;height:7px;background:#ae332b}
.muted{color:#62685f}
.small{font-size:13px}
.topbar{background:#242c27;color:#e1e3db;font-size:11px;letter-spacing:.055em}
.topbar .wrap{display:flex;justify-content:space-between;padding-top:9px;padding-bottom:9px}
.header{position:sticky;top:0;background:#faf9f6;z-index:20;border-bottom:1px solid #dfdfd7}
.header .wrap{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;gap:14px;align-items:center}
.brand img{width:79px;height:62px;object-fit:contain}
.brand strong{display:block;font-size:19px;font-weight:600;letter-spacing:-.035em}
.brand small{display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase}
.nav{display:flex;align-items:center;gap:34px;font-size:14px}
.nav a:not(.btn):hover{text-decoration:underline;text-underline-offset:7px}
.btn{display:inline-flex;justify-content:space-between;gap:34px;align-items:center;background:#ae332b;color:white;padding:14px 22px;min-height:48px;border:1px solid #ae332b;font-size:14px;line-height:1.4;transition:background .2s}
.btn:hover{background:#85271f;border-color:#85271f}
.btn.secondary{background:transparent;color:#252d28;border-color:#b3b6ad}
.btn.secondary:hover{background:#e9e9e1}
.arrow{font-size:21px;font-family:Arial;line-height:1}
.menu{display:none;background:none;border:1px solid #caccc3;width:46px;height:46px}
.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:100}
.skip:focus{top:0}
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:620px;border-bottom:1px solid #d8dbd0}
.hero-copy{padding:68px 0 55px;position:relative;z-index:2}
.hero h1{max-width:650px}
.hero h1 em{font-style:normal;color:#ae332b}
.hero-copy>p{max-width:445px;font-size:17px;line-height:1.7;color:#62685f;margin-top:27px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.hero-foot{display:flex;gap:28px;font-size:11px;letter-spacing:.035em;color:#62685f;margin-top:48px}
.hero-art{position:relative;background:#eeeee7;margin:32px 0 32px 48px;display:flex;align-items:center;justify-content:center;min-width:0}
.hero-art:before,.hero-art:after{content:'';position:absolute;width:22px;height:22px;border-color:#b1b6a8;border-style:solid;z-index:2}
.hero-art:before{top:22px;left:22px;border-width:1px 0 0 1px}
.hero-art:after{bottom:22px;right:22px;border-width:0 1px 1px 0}
.hero-art img{width:88%;height:425px;object-fit:contain;mix-blend-mode:multiply}
.art-meta{position:absolute;top:23px;right:24px;font-size:10px;letter-spacing:.13em;color:#646b61}
.art-caption{position:absolute;left:28px;bottom:27px;font-size:12px;max-width:65%;line-height:1.5}
.art-caption strong{display:block;font-size:15px;font-weight:500}
.art-link{position:absolute;bottom:26px;right:28px;font-size:24px}
.range-strip{display:grid;grid-template-columns:1.3fr repeat(4,1fr);padding-top:25px;padding-bottom:25px;gap:20px;align-items:center;border-bottom:1px solid #d8dbd0}
.range-strip>span{font-size:11px;letter-spacing:.13em;color:#62685f}
.range-strip a{font-size:14px;padding:9px 0}
.range-strip a span{color:#ae332b;margin-right:12px;font-size:10px}
.section{padding-top:88px;padding-bottom:88px}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:38px}
.section-head p{max-width:365px;color:#62685f;font-size:15px;margin-bottom:0}
.section-head .eyebrow{margin-bottom:18px}
.families{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:18px}
.family{background:#f0f0e9;position:relative;padding:28px;min-height:370px;border:1px solid transparent;transition:border-color .2s}
.family:hover{border-color:#a3a99a}
.family.large{grid-row:span 2;display:flex;flex-direction:column;min-height:590px}
.family .index{font-size:11px;color:#62685f;letter-spacing:.12em}
.family img{height:190px;object-fit:contain;width:100%;mix-blend-mode:multiply;margin:14px auto 24px}
.family.large img{height:385px;margin:auto;width:88%}
.family h3{max-width:250px}
.family p{font-size:13px;color:#62685f;margin:12px 0 0;max-width:290px}
.family .arrow{position:absolute;right:28px;bottom:27px}
.family.compact{min-height:280px}
.family.compact img{height:140px;margin:0 0 15px}
.families .family:last-child{grid-column:auto;display:block}
.families .family:last-child img{height:140px}
.dark{background:#242c27;color:#f3f4ed}
.about{display:grid;grid-template-columns:.8fr 1.3fr;gap:90px}
.about h2{font-size:clamp(34px,4vw,57px);max-width:600px}
.about .eyebrow{color:#c8cfc1}
.about p{color:#c1c7ba;font-size:16px;margin-top:30px;max-width:540px}
.credentials{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid #5a6258;padding-top:24px;margin-top:38px}
.credentials strong{display:block;font-weight:400;font-size:17px}
.credentials small{color:#b4bcac;font-size:11px;letter-spacing:.06em}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 18px}
.product{display:block;min-width:0}
.product-image{background:#eeeee7;height:240px;padding:28px;position:relative;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s}
.product:hover img{transform:scale(1.035)}
.product .tag{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#62685f;margin:18px 0 8px;display:block}
.product h3{font-size:17px;line-height:1.35;letter-spacing:-.01em}
.product .view{font-size:12px;margin-top:10px;color:#ae332b;display:inline-block}
.cta{display:grid;grid-template-columns:1.3fr 1fr;background:#eaece2;padding:48px;gap:45px;align-items:center}
.cta h2{font-size:40px}
.cta p{margin:20px 0 0;color:#62685f}
.cta .actions{justify-content:flex-end;margin:0}
.footer{background:#242c27;color:#f3f4ed;padding-top:52px;padding-bottom:22px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr;gap:65px}
.footer h3{font-size:26px}
.footer p{font-size:13px;color:#bac3b3;max-width:300px;margin-top:16px}
.footer .label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#aab59f;margin-bottom:17px}
.footer a{font-size:13px;display:block;margin:10px 0}
.footer a:hover{text-decoration:underline}
.footer-bottom{display:flex;justify-content:space-between;font-size:11px;color:#bac3b3;border-top:1px solid #4e5847;margin-top:42px;padding-top:22px;gap:20px}
.breadcrumb{font-size:12px;color:#62685f;padding-top:28px;padding-bottom:28px}
.breadcrumb a:hover{text-decoration:underline}
.page-head{padding-top:32px;padding-bottom:46px;max-width:900px}
.page-head h1{font-size:clamp(40px,4vw,62px)}
.page-head p{margin-top:22px;color:#62685f;max-width:690px}
.catalog-layout{display:grid;grid-template-columns:225px 1fr;gap:36px;padding-bottom:90px}
.filters{align-self:start;position:sticky;top:115px}
.filters h2{font-size:13px;letter-spacing:.08em;margin:0 0 15px}
.filters a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #dfdfd7;font-size:13px}
.filters a.active{color:#ae332b;font-weight:600}
.filters a small{color:#62685f}
.catalog-layout .product-grid{grid-template-columns:repeat(3,1fr)}
.catalog-toolbar{display:flex;align-items:center;gap:24px;margin-bottom:24px;justify-content:space-between}
.catalog-toolbar label{flex:1;max-width:430px}
.search-input{width:100%;background:#fff;border:1px solid #c5c9bc;padding:13px 16px}
.empty{padding:40px;background:#eeeee7}
details{border-bottom:1px solid #d2d7c9;padding:19px 0}
summary{cursor:pointer;font-weight:500}
details p{padding-top:15px;color:#62685f}
.detail{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:start;padding-bottom:55px}
.detail-image{background:#eeeee7;padding:45px;position:sticky;top:115px;min-height:450px;display:flex;align-items:center;justify-content:center}
.detail-image img{width:100%;height:400px;object-fit:contain;mix-blend-mode:multiply}
.detail h1{font-size:clamp(34px,3.3vw,48px)}
.detail .eyebrow{margin-bottom:19px}
.detail p{color:#62685f;margin-top:25px}
.detail .note{font-size:12px;margin-top:14px}
.specs{border-collapse:collapse;width:100%;font-size:14px;margin:28px 0;table-layout:fixed}
.specs th,.specs td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid #d7dbce;overflow-wrap:anywhere}
.specs th{font-weight:400;color:#62685f;width:43%;background:#f0f0e9}
.content-copy{font-size:15px;white-space:pre-line;overflow-wrap:anywhere;max-width:900px}
.info-section{padding-bottom:70px}
.info-section h2{font-size:30px;margin-bottom:25px}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;padding-bottom:80px}
.contact-block{margin-bottom:30px;border-top:1px solid #d7dbce;padding-top:25px}
.contact-block h2{font-size:19px;margin-bottom:15px}
.contact-block p{color:#62685f;font-size:15px}
.enquiry{background:#eeeee7;padding:36px}
.enquiry h2{font-size:28px;margin-bottom:18px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.enquiry label{display:block;font-size:13px}
.enquiry input,.enquiry textarea{width:100%;padding:13px;margin-top:7px;border:1px solid #b8bfae;background:#fafbf8}
.enquiry textarea{min-height:140px;resize:vertical}
.wide{grid-column:1 / -1}
.enquiry .btn{margin-top:20px}
.form-note{font-size:12px;color:#62685f;margin-top:17px}
.enquiry-output{white-space:pre-wrap;padding:16px;background:#fafbf8;font-size:13px;overflow-wrap:anywhere}
.gallery{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.gallery button{background:white;border:1px solid #c4cbbb;padding:8px;width:75px;height:75px}
.gallery img{height:100%;object-fit:contain}
.directory{columns:3;column-gap:30px}
.directory a{font-size:14px;display:block;padding:11px 0;border-bottom:1px solid #d7dbce;break-inside:avoid}
.directory a:hover{color:#ae332b}
.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}
[hidden]{display:none!important}
@media(min-width:1500px){.hero h1{font-size:84px}
}
@media(max-width:1000px){.wrap{padding-left:28px;padding-right:28px}
.nav{gap:18px}
.brand strong{font-size:16px}
.brand small{font-size:8px}
.hero{min-height:550px}
.hero-art{margin-left:20px}
.hero-art img{height:360px}
.hero-foot{gap:15px;flex-wrap:wrap}
.hero h1{font-size:62px}
.families{grid-template-columns:1fr 1fr}
.family.large{grid-row:auto;min-height:390px}
.family.large img{height:230px}
.families .family:last-child{grid-column:auto}
.about{gap:40px}
.product-grid{grid-template-columns:repeat(2,1fr)}
.catalog-layout{grid-template-columns:185px 1fr;gap:24px}
.catalog-layout .product-grid{grid-template-columns:repeat(2,1fr)}
.footer-grid{gap:30px}
.detail{gap:35px}
.contact-layout{gap:35px}
.cta{padding:32px}
}
@media(max-width:720px){.wrap{padding-left:22px;padding-right:22px}
.topbar .wrap{font-size:9px}
.topbar .gst{display:none}
.header .wrap{height:74px}
.brand img{width:61px;height:50px}
.brand strong{font-size:17px}
.brand small{font-size:8px}
.menu{display:block}
.nav{display:none;position:absolute;left:0;right:0;top:74px;padding:22px;background:#faf9f6;border-bottom:1px solid #d7dbce;flex-direction:column;align-items:stretch;gap:6px}
.nav.open{display:flex}
.nav a{padding:13px;min-height:44px}
.hero{grid-template-columns:1fr}
.hero-copy{padding-top:44px;padding-bottom:28px}
.hero h1{font-size:54px}
.hero-copy>p{font-size:16px;margin-top:21px}
.eyebrow{font-size:10px;margin-bottom:21px}
.hero-foot{margin-top:28px;font-size:10px}
.hero-art{margin:0 0 25px;min-height:340px}
.hero-art img{height:280px;width:75%}
.art-caption{bottom:18px;left:22px}
.range-strip{grid-template-columns:1fr 1fr;gap:0 15px;padding-top:15px;padding-bottom:15px}
.range-strip>span{grid-column:1 / -1;padding-bottom:8px}
.range-strip a{font-size:13px;min-height:44px}
.section{padding-top:56px;padding-bottom:56px}
.section-head{display:block;margin-bottom:28px}
.section-head p{margin-top:20px}
.section-head>.btn{margin-top:20px}
.families{gap:12px}
.family,.family.compact{padding:20px;min-height:275px}
.family.large{grid-column:1 / -1;min-height:350px}
.family.large img{height:230px}
.family img,.family.compact img{height:130px}
.family h3{font-size:20px}
.family p{font-size:12px}
.family .arrow{right:16px;bottom:18px}
.families .family:last-child img{height:145px}
.about{grid-template-columns:1fr;gap:15px}
.about p{margin-top:22px}
.credentials{gap:18px}
.credentials strong{font-size:14px}
.credentials small{font-size:10px}
.product-grid{gap:22px 12px}
.product-image{height:175px;padding:18px}
.product h3{font-size:15px}
.product .tag{font-size:9px}
.cta{grid-template-columns:1fr;padding:30px 25px;gap:26px}
.cta h2{font-size:33px}
.cta .actions{justify-content:flex-start}
.footer-grid{grid-template-columns:1fr 1fr;gap:28px}
.footer-grid>div:first-child{grid-column:1 / -1}
.footer-bottom{flex-direction:column;gap:8px}
.page-head{padding-top:20px;padding-bottom:35px}
.catalog-layout{grid-template-columns:1fr;gap:25px}
.filters{position:static;display:flex;gap:8px;overflow:auto;padding-bottom:8px}
.filters h2{display:none}
.filters a{border:1px solid #cbd1c1;padding:10px 13px;white-space:nowrap;gap:12px}
.catalog-toolbar{gap:14px}
.catalog-toolbar>span{font-size:11px}
.detail{grid-template-columns:1fr;gap:30px}
.detail-image{position:static;min-height:320px;padding:25px}
.detail-image img{height:290px}
.detail h1{font-size:37px}
.contact-layout{grid-template-columns:1fr;gap:15px}
.enquiry{padding:24px}
.form-grid{grid-template-columns:1fr}
.wide{grid-column:auto}
.directory{columns:1}
.breadcrumb{padding-top:20px;padding-bottom:20px;line-height:1.7}
.specs{font-size:12px}
.specs th,.specs td{padding:10px}
.actions .btn{font-size:13px;gap:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*{transition:none!important}
}

.family{min-width:0}
.families .family{padding-bottom:52px}
@media(max-width:360px){.families{grid-template-columns:1fr}.family.large{grid-column:auto}.hero h1{font-size:46px}.family.compact img{height:180px}}
