:root{color-scheme:dark}html{scroll-padding-top:145px}body{font-size:16px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.category-tile{display:block;border:1px solid var(--line);background:var(--navy-900);transition:transform .2s,border-color .2s}.category-tile:hover{transform:translateY(-4px);border-color:var(--blue-400)}.category-photo{height:220px;background:#fff;display:flex;align-items:center;justify-content:center;padding:25px;overflow:hidden;position:relative}.category-photo img,.catalogue-photo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.image-fallback{display:none;color:#414858;font-family:'IBM Plex Mono',monospace;font-size:12px;text-transform:uppercase;letter-spacing:.08em}.image-error img{display:none}.image-error .image-fallback{display:block}.category-label{padding:24px 24px 10px;display:flex;justify-content:space-between;align-items:start;gap:15px}.category-label h3{font-size:27px;line-height:1.1}.category-label>span{font-size:22px;color:var(--blue-400)}.category-count{display:block;padding:0 24px 24px;color:var(--grey-300);font-size:14px}.brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.brand-tile{padding:28px 24px;background:var(--navy-900);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.brand-index{font-family:'IBM Plex Mono',monospace;color:var(--blue-400);font-size:14px}.brand-tile h3{font-size:38px;margin:24px 0 16px;text-transform:none}.brand-tile p{font-size:16px;line-height:1.6;color:var(--grey-300);min-height:78px}.brand-browse{display:block;margin-top:24px;font-size:14px;color:var(--blue-400)}.brand-tile:hover{background:var(--navy-800)}#brands{background:var(--navy-950)}#catalogue-view{padding:165px 0 80px;min-height:80vh}#catalogue-view[hidden]{display:none}.catalogue-open .home-content{display:none}.back-link{display:inline-block;color:var(--blue-400);font-size:16px;padding:10px 0}.catalogue-heading{margin:32px 0}.catalogue-heading h1{font-size:clamp(38px,5.5vw,70px);line-height:1.05}.catalogue-heading .sec-tag{margin-bottom:18px}.catalogue-heading p{max-width:740px;margin-top:20px;font-size:17px;line-height:1.65;color:var(--grey-300)}.catalog-search{margin:0 0 42px;padding:22px;border:1px solid var(--line);background:var(--navy-900)}.catalog-search label{display:block;margin-bottom:12px;font-family:'IBM Plex Mono',monospace;color:var(--grey-300);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.catalog-search>div{display:flex;gap:12px}.catalog-search input{width:100%;min-width:0;border:1px solid var(--navy-600);background:var(--navy-950);color:var(--white);padding:14px 16px;font:inherit}.catalog-search input::placeholder{color:var(--grey-400)}.catalog-search-results{max-width:780px}.category-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);margin-bottom:28px}.category-facts>div{padding:20px;border-left:1px solid var(--line)}.category-facts>div:first-child{border-left:0}.category-facts span{display:block;color:var(--grey-400);font:11px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.category-facts strong{color:var(--white);font-size:14px;line-height:1.5}.catalogue-meta{display:flex;justify-content:space-between;gap:25px;align-items:start;border-top:1px solid var(--line);padding:20px 0 28px;font-size:14px;color:var(--grey-300)}.catalogue-meta span:last-child{max-width:620px}.catalogue-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.catalogue-product{background:var(--navy-900);border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}.catalogue-photo{height:240px;padding:24px;background:#fff;display:flex;align-items:center;justify-content:center;position:relative}.product-copy{padding:25px;display:flex;flex:1;flex-direction:column}.product-brand{font-size:14px;color:var(--blue-400);margin-bottom:13px}.product-copy h3{font-family:Inter,sans-serif;text-transform:none;font-size:18px;line-height:1.45;overflow-wrap:anywhere}.product-description{font-size:15px;line-height:1.65;color:var(--grey-300);margin:16px 0 20px;overflow-wrap:anywhere}.product-details{margin-top:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.product-details summary{padding:13px 0;color:var(--white);cursor:pointer;font-size:14px}.product-copy dl{font-size:14px}.product-copy dl>div{padding:10px 0;border-top:1px solid var(--line);display:flex;align-items:start;gap:16px;justify-content:space-between}.product-copy dt{color:var(--grey-400)}.product-copy dd{max-width:70%;text-align:right;overflow-wrap:anywhere;color:var(--white)}.product-enquire{font-size:14px;color:var(--blue-400);padding-top:20px;display:flex;justify-content:space-between;gap:8px}.product-enquire:hover{color:var(--white)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:32px 0;font-size:16px}.result-note{padding:28px 0;color:var(--grey-300)}.menu-toggle{display:none;color:var(--white);border:1px solid var(--line);background:transparent;padding:10px 14px;font-size:16px}.skip-link{position:fixed;z-index:200;top:-80px;left:20px;background:var(--blue-500);padding:14px}.skip-link:focus{top:10px}:focus-visible{outline:3px solid var(--amber);outline-offset:4px}.nav-links{font-size:14px;gap:24px}.btn{font-size:14px}.logo-text{white-space:nowrap}.sec-head p{font-size:16px}.split-col p,.split-col li{font-size:16px;line-height:1.65}.foot-col a,.foot-col p{font-size:14px}.hero-panel::before{content:'PRODUCT RANGE';font-size:12px}.trust-item .lbl{font-size:13px}.status-row{font-size:14px}.foot-bottom{font-size:13px}
@media(max-width:1000px){.category-grid,.catalogue-products{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.menu-toggle{display:block}.nav-links.expanded{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--navy-900);flex-direction:column;padding:24px 32px;border-bottom:1px solid var(--line);gap:24px}nav{gap:12px}nav>.btn{display:none}.topbar{padding:9px 20px}.topbar .contact-line{gap:12px}.hero{min-height:auto;padding:165px 0 70px}.hero-panel{display:none}.brand-tile p{min-height:50px}}
@media(max-width:560px){.category-grid,.catalogue-products{grid-template-columns:1fr}.brand-grid{grid-template-columns:1fr}.brand-tile p{min-height:0}.category-photo{height:210px}.catalogue-meta{flex-direction:column;gap:12px}.category-facts{grid-template-columns:1fr}.category-facts>div{border-left:0;border-top:1px solid var(--line)}.category-facts>div:first-child{border-top:0}.catalog-search>div{flex-direction:column}#catalogue-view{padding-top:155px}.pagination .btn{padding:10px}.logo-text{font-size:16px}.logo-sub{font-size:8px}.topbar .contact-line>a:last-child{display:none}nav{padding:16px 20px}.catalogue-heading{margin-top:22px}section{padding:65px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero h1,.hero p.lead,.hero-ctas,.hero-panel{opacity:1;transform:none}}

/* Brand ranges use diagrams to identify a family until a verified model photo is available. */
.brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.brand-tile h3{font-size:clamp(26px,2.4vw,38px);overflow-wrap:anywhere}
.range-intro{max-width:770px;color:var(--grey-300);font-size:16px;line-height:1.65;margin:0 0 32px;padding:18px 22px;border-left:2px solid var(--blue-400);background:var(--navy-900)}
.range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:32px}
.range-card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);background:var(--navy-900);transition:transform .2s,border-color .2s}
.range-card:hover{transform:translateY(-4px);border-color:var(--blue-400)}
.range-art{height:180px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#092341,#0b1527);color:var(--blue-400)}
.range-art svg{width:105px;height:105px}
.range-copy{padding:26px;display:flex;flex:1;flex-direction:column}
.range-copy h3{font-size:25px;line-height:1.2;margin:4px 0 14px;overflow-wrap:anywhere}
.range-copy p{font-size:15px;line-height:1.65;color:var(--grey-300);margin-bottom:auto}
.range-copy .brand-browse{margin-top:27px}
.range-detail{display:grid;grid-template-columns:minmax(260px,42%) minmax(0,1fr);gap:clamp(28px,6vw,80px);align-items:start;padding:35px 0 60px}
.range-detail-art{min-height:380px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#092341,#0b1527);color:var(--blue-400);border:1px solid var(--line)}
.range-detail-art svg{width:min(55%,190px);height:auto}
.range-detail h1{font-size:clamp(38px,5vw,64px);line-height:1.05;margin:18px 0 22px}
.range-detail p{color:var(--grey-300);font-size:17px;line-height:1.65}
.range-specs{margin-top:36px;padding:26px;border:1px solid var(--line);background:var(--navy-900)}
.range-specs h2{font-size:21px;margin-bottom:12px}
.range-cta{display:inline-block;margin:30px 0 16px}
.range-detail .range-note{font-size:14px}
@media(max-width:1000px){.brand-grid,.range-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.range-detail{grid-template-columns:1fr}.range-detail-art{min-height:240px}.range-detail-art svg{width:125px}}
@media(max-width:560px){.brand-grid,.range-grid{grid-template-columns:1fr}.range-art{height:155px}.range-detail{padding-top:16px}.range-detail-art{min-height:210px}.range-copy h3{font-size:23px}}

.analytics-choice{position:fixed;bottom:16px;left:16px;right:16px;max-width:680px;z-index:2000;background:#0b1222;color:#fff;border:1px solid #536584;border-radius:10px;padding:18px;box-shadow:0 6px 30px #0008;font:16px/1.5 sans-serif}.analytics-choice[hidden]{display:none}.analytics-choice p{margin:0 0 12px}.analytics-choice div{display:flex;gap:12px;flex-wrap:wrap}.analytics-choice button{background:#16396c;color:#fff;border:1px solid #7996be;border-radius:5px;padding:10px 16px;font:inherit;cursor:pointer}.analytics-settings{display:block;margin:16px auto;padding:10px;background:transparent;color:#bac8de;border:1px solid #536584;border-radius:4px;font-size:14px;cursor:pointer}
