:root{--ink:#28323f;--muted:#6e7780;--line:#e9ebed}*{box-sizing:border-box}html{scroll-behavior:smooth}#products,#windows,#doors,#about,#contact{scroll-margin-top:236px}body{margin:0;background:white;color:var(--ink);font-family:'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}
header{position:sticky;top:0;z-index:5;background:#fff;box-shadow:0 4px 14px #18222b12}.top{height:48px;display:grid;place-items:center;font-size:13px;color:#343c44}.brand-row{height:106px;display:grid;place-items:center}.brand{display:flex;align-items:center;gap:11px;color:#202427}.brand-mark{width:51px;height:51px;border:3px solid currentColor;position:relative;clip-path:polygon(0 28%,50% 0,100% 28%,100% 100%,0 100%)}.brand-mark:before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:3px solid}.brand-mark:after{content:"";position:absolute;top:49%;left:0;right:0;border-top:3px solid}.brand b{font-size:26px;line-height:1;letter-spacing:.02em}.brand small{display:block;font-size:10px;letter-spacing:.1em;margin-top:4px}.nav-row{height:68px;padding:0 3.5%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.side-label{font-size:11px;letter-spacing:.16em;color:#9ca2a9}.nav-links{display:flex;height:100%;align-items:center;gap:clamp(28px,4vw,65px)}.nav-links a{font-size:13px;white-space:nowrap;position:relative}.nav-links a:hover:after,.nav-links .active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;border-bottom:1px solid}.lang{justify-self:end;font-size:12px;letter-spacing:.1em}
.hero{min-height:635px;display:flex;align-items:center;background:linear-gradient(180deg,#949ba0,#aeb3b1 50%,#7e8683);color:#fff;position:relative}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#29303955,transparent 75%)}.hero:after{content:"HERO IMAGE PLACEHOLDER";position:absolute;right:30px;bottom:25px;font-size:10px;font-weight:700;letter-spacing:.2em;color:#ffffffbc}.hero-inner{position:relative;width:min(830px,75%);margin:auto;padding:45px 0}.hero h1{font-size:clamp(52px,5.1vw,78px);font-weight:500;line-height:1.14;letter-spacing:.01em;margin:0 0 30px}.hero ul{list-style:none;padding:0;margin:0 0 34px;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;font-size:14px}.hero li:before{content:"—";margin-right:9px}.hero-actions{display:flex;gap:14px}.pill{border:1px solid white;border-radius:50px;padding:13px 30px;min-width:165px;text-align:center;font-size:14px;transition:.2s}.pill:hover{background:#fff;color:var(--ink)}.pill.solid{background:#fff;color:var(--ink)}.pill.solid:hover{background:#e6e9e8}
.section{max-width:1480px;margin:auto;padding:100px 28px 112px}.section h2{font-size:clamp(44px,4vw,63px);font-weight:500;line-height:1.2;margin:0 0 58px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:37px 16px}.product{min-width:0}.photo{aspect-ratio:1.46;border-radius:28px;position:relative;overflow:hidden;background:linear-gradient(135deg,#e1e3e1,#f8f8f6 55%,#d8dcd8)}.photo:before{content:"";position:absolute;inset:17% 20%;border:7px solid #b5bcb9;box-shadow:12px 14px 0 #283c3010}.photo:after{content:"";position:absolute;top:17%;bottom:17%;left:50%;border-left:7px solid #b5bcb9}.product:nth-child(3n+2) .photo:before{inset:14% 15%;border-width:6px}.product:nth-child(3n) .photo:before{inset:12% 24%;border-width:8px}.photo span{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);background:#ffffffdb;padding:8px 11px;color:#7e8683;font-size:9px;font-weight:700;letter-spacing:.17em;white-space:nowrap}.product h3{font-weight:600;font-size:clamp(23px,2.15vw,33px);line-height:1.5;margin:13px 38px 0}.product a:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.why-wrap{background:#f7f8fc}.why-wrap .section{padding-top:90px}.intro{font-size:17px;line-height:1.7;color:var(--muted);max-width:730px;margin:-34px 0 42px}.why-card .photo{aspect-ratio:1.5}.why-card h3{font-size:19px;margin:21px 0 7px}.why-card p{font-size:15px;color:var(--muted);line-height:1.7;margin:0}
.contact{background:#292d35;color:#fff;padding:90px 28px 78px}.contact-inner{max-width:1424px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:9%}.contact h2{font-weight:500;font-size:44px;margin:0 0 22px}.contact p{font-size:15px;line-height:1.8;color:#cbd0d5}.details{display:flex;gap:65px;margin:48px 0 25px}.details small{font-size:11px;color:#aeb4bd;letter-spacing:.14em}.details b{display:block;font-size:15px;font-weight:500;margin-top:11px}.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form label{font-size:11px;display:flex;flex-direction:column;gap:8px}.form .full,.form button,.form .message{grid-column:1/-1}.form input,.form textarea{width:100%;border:1px solid #80868d;border-radius:5px;padding:13px;background:#fff;color:#222}.form textarea{min-height:108px;resize:vertical}.form button{justify-self:start;border:0;border-radius:30px;background:#fff;color:var(--ink);padding:14px 30px}.form .message{font-size:13px;margin:0;color:#fff}.footer{background:#292d35;border-top:1px solid #464a50;color:#afb5bc;font-size:12px;text-align:center;padding:24px}
.reveal{opacity:0;transform:translateY(42px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.product:nth-child(3n+2),.why-card:nth-child(2){transition-delay:.1s}.product:nth-child(3n),.why-card:nth-child(3){transition-delay:.2s}
@media(max-width:900px){.side-label{display:none}.nav-row{grid-template-columns:1fr auto}.nav-links{gap:23px}.hero-inner{width:85%}.contact-inner{gap:5%}.product h3{margin-left:10px}}
@media(max-width:700px){.top{height:34px;font-size:11px}.brand-row{height:81px}.brand-mark{width:38px;height:38px}.brand b{font-size:20px}.nav-row{height:60px;display:block;overflow:auto}.nav-links{gap:22px}.nav-links a{font-size:11px}.lang{display:none}.hero{min-height:600px}.hero h1{font-size:45px}.hero ul{grid-template-columns:1fr}.section{padding:70px 20px}.section h2{margin-bottom:32px}.grid{grid-template-columns:1fr 1fr}.product h3{font-size:22px}.contact-inner{grid-template-columns:1fr}.details{gap:30px}}
@media(max-width:480px){.grid,.form{grid-template-columns:1fr}.hero-actions{flex-wrap:wrap}.details{flex-direction:column;gap:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
/* Shared layouts for the separate navigation pages. */
.page-hero{max-width:1480px;margin:auto;padding:88px 28px 55px}.page-hero .eyebrow{font-size:12px;letter-spacing:.16em;color:#8d959c;text-transform:uppercase}.page-hero h1{font-size:clamp(52px,6vw,84px);font-weight:500;line-height:1.12;margin:18px 0}.page-hero p{max-width:720px;font-size:17px;line-height:1.7;color:var(--muted)}.catalogue{padding-top:30px}.catalogue .grid{row-gap:58px}.page-band{background:#f7f8fc;padding:70px 28px}.page-band-inner{max-width:1424px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.page-band h2{font-size:36px;font-weight:500;margin:0 0 10px}.page-band p{max-width:700px;color:var(--muted);line-height:1.7;margin:0}.page-band a{border:1px solid var(--ink);border-radius:30px;padding:14px 25px;white-space:nowrap}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}.about-grid p{font-size:17px;line-height:1.85;color:var(--muted)}.about-grid .photo{aspect-ratio:1.3}.about-grid h2{font-size:40px;font-weight:500;margin:0}.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:85px}.about-points article{border-top:1px solid var(--line);padding-top:22px}.about-points h3{font-size:21px}.about-points p{font-size:15px;color:var(--muted);line-height:1.7}.contact-page .contact{min-height:650px}.contact-page .page-hero{padding-bottom:70px}
@media(max-width:700px){.page-hero{padding:60px 20px 30px}.page-hero h1{font-size:50px}.page-band-inner,.about-grid{display:block}.page-band a{display:inline-block;margin-top:24px}.about-points{grid-template-columns:1fr;margin-top:50px}}


/* Shower room imagery and banner controls. */
.brand-mark{clip-path:none;border-width:2px;width:43px;height:43px}.brand-mark:before{left:48%;border-left-width:2px}.brand-mark:after{top:auto;bottom:7px;left:5px;right:5px;border-top-width:2px}.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}.hero-image{position:relative;background:#302b2a;line-height:0}.hero-image>img{display:block;width:100%;height:auto}.hero-hotspot{position:absolute;z-index:2;top:73.5%;height:8%;border-radius:40px}.hero-learn{left:39%;width:11.8%}.hero-contact{left:53.1%;width:8%}.hero-hotspot:focus-visible{outline:3px solid #fff;outline-offset:4px}.hero-mobile{display:none}.story-image{display:block;width:100%;height:auto;border-radius:24px}.about-story h2{font-size:clamp(40px,4vw,58px);font-weight:500}.about-story .intro{margin:0 0 32px}.shower-placeholder:before{inset:10% 18%;border-width:5px;border-radius:2px;box-shadow:none}.shower-placeholder:after{top:10%;bottom:10%;left:58%;border-left-width:5px}.product:nth-child(3n+2) .shower-placeholder:before,.product:nth-child(3n) .shower-placeholder:before{inset:10% 18%;border-width:5px}.about-points{padding-top:0}
@media(max-width:700px){.hero-image{min-height:570px;background-image:linear-gradient(90deg,rgba(15,17,20,.75),rgba(15,17,20,.30)),url('assets/shower-hero.opt-2175892cbc.webp');background-size:auto 100%;background-position:right center;display:flex;align-items:center}.hero-image>img,.hero-hotspot{display:none}.hero-mobile{display:block;position:relative;width:100%;padding:55px 24px;color:#fff;line-height:1.4}.hero-mobile h2{font-size:clamp(38px,9vw,58px);font-weight:500;line-height:1.1;margin:0 0 24px}.hero-mobile p{font-size:15px;max-width:28em;margin:0 0 30px}.story-image{border-radius:16px}.nav-links{width:max-content}.brand-mark{width:36px;height:36px}}

/* Match the reference page's full-width, one-screen desktop banner. */
.hero-image{height:calc(100vh - 222px);min-height:500px;max-height:680px;overflow:hidden;display:flex;align-items:center;line-height:normal;color:#fff}
.hero-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.hero-image:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,17,20,.30),rgba(15,17,20,.52) 42%,rgba(15,17,20,.13))}
.hero-copy{position:relative;z-index:2;width:min(600px,48vw);margin-left:38.5%;padding:24px 0 18px}
.hero-copy h1{font-size:clamp(44px,2.5vw,60px);font-weight:600;line-height:1.1;margin:0 0 26px;letter-spacing:.01em}
.hero-copy ul{list-style:none;padding:0;margin:0 0 52px;font-size:14px;line-height:1.65}
.hero-copy li:before{content:"– ";white-space:pre}
.hero-copy .hero-actions{gap:18px}
.hero-copy .pill{min-width:140px;padding:11px 24px}
@media(max-width:700px){.hero-image{height:calc(100vh - 175px);min-height:490px;max-height:none;background:none}.hero-image>img{display:block;object-position:70% center}.hero-image:before{background:linear-gradient(90deg,rgba(15,17,20,.75),rgba(15,17,20,.25))}.hero-copy{width:auto;margin:0;padding:36px 24px}.hero-copy h1{font-size:clamp(36px,8vw,48px)}.hero-copy ul{font-size:13px;margin-bottom:30px}.hero-copy .hero-actions{flex-wrap:wrap}}

/* Match the reference: the hero fills the viewport below the 222px header. */
.hero-image{height:calc(100vh - 222px);min-height:500px;max-height:none;display:block;overflow:hidden;background:#211c19;line-height:0}
.hero-image:before{display:none}
.hero-media{position:relative;width:100%;height:100%;max-width:none;max-height:none;aspect-ratio:auto}
.hero-media>img{position:relative;inset:auto;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-media .hero-hotspot{display:block}
.hero-media .hero-hotspot{top:73.5%;height:8%}
.hero-media .hero-learn{left:39%;width:11.8%}
.hero-media .hero-contact{left:53.1%;width:8%}

@media(max-width:700px){
  .hero-image{height:auto;min-height:0;max-height:none;background:#211c19}
  .hero-media{width:100%;height:auto;max-height:none;aspect-ratio:2076/757}
  .hero-media>img{display:block;width:100%;height:auto;object-fit:contain;object-position:center}
  .hero-media .hero-hotspot{display:block}
}

/* Product navigation and collection landing pages. */
.nav-links{gap:clamp(18px,2.35vw,42px)}
.nav-links a{font-size:12px}
.style-jump{display:flex;flex-wrap:wrap;gap:10px;margin-top:34px}
.style-jump a{border:1px solid var(--ink);border-radius:28px;padding:11px 18px;font-size:13px;transition:.2s}
.style-jump a:hover{background:var(--ink);color:#fff}
.collection-section{scroll-margin-top:220px;padding:88px 28px 105px}
.collection-tint{background:#f5f5f2}
.collection-inner{max-width:1480px;margin:auto}
.collection-head{display:grid;grid-template-columns:64px 1fr;gap:18px;align-items:start;margin-bottom:44px}
.collection-head>span{font-size:12px;letter-spacing:.16em;color:#9ca2a9;padding-top:14px}
.collection-head h2{font-size:clamp(40px,4vw,60px);font-weight:500;line-height:1.1;margin:0 0 12px}
.collection-head p{font-size:16px;line-height:1.7;color:var(--muted);max-width:760px;margin:0}
.series-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.series-card{border:1px solid #e2e5e7;border-radius:22px;overflow:hidden;background:#fff;transition:transform .25s ease,box-shadow .25s ease}
.series-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px #18222b14}
.series-visual{min-height:225px;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;color:#fff;background:linear-gradient(145deg,#858f8d,#273232)}
.series-visual.warm{background:linear-gradient(145deg,#a08b75,#4a372c)}
.series-visual.cool{background:linear-gradient(145deg,#98a6ab,#39464c)}
.series-visual b{font-size:42px;font-weight:500;letter-spacing:.02em}
.series-visual small{font-size:10px;letter-spacing:.18em;margin-top:7px}
.series-copy{padding:25px 27px 29px}
.series-copy>span{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#8b939a}
.series-copy h3{font-size:25px;line-height:1.25;margin:10px 0 9px}
.series-copy p{font-size:14px;line-height:1.65;color:var(--muted);margin:0}
.catalogue .photo span{font-size:10px}
.catalogue .product h3{margin-left:18px;margin-right:18px}
@media(max-width:900px){.nav-links{gap:19px}.nav-links a{font-size:11px}.series-grid{grid-template-columns:1fr 1fr}.series-grid .series-card:last-child{grid-column:1/-1}}
@media(max-width:700px){.collection-section{scroll-margin-top:175px;padding:64px 20px 76px}.collection-head{grid-template-columns:1fr;gap:5px}.collection-head>span{padding-top:0}.series-grid{grid-template-columns:1fr}.series-grid .series-card:last-child{grid-column:auto}.series-visual{min-height:190px}.style-jump{margin-top:26px}.style-jump a{font-size:12px;padding:10px 14px}}

/* Live homepage copy over the clean shower room photograph. */
.hero-media:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,18,20,.12),rgba(16,18,20,.58) 38%,rgba(16,18,20,.16))}
.hero-media .hero-copy{position:absolute;z-index:2;top:50%;left:51%;transform:translate(-50%,-50%);width:min(610px,47vw);margin:0;padding:0;color:#fff;line-height:1.4}
.hero-media .hero-copy h1{font-size:clamp(44px,3.15vw,68px);font-weight:600;line-height:1.08;margin:0 0 27px;text-shadow:0 2px 8px #0005}
.hero-media .hero-copy ul{list-style:none;padding:0;margin:0 0 34px;font-size:clamp(13px,1vw,16px);line-height:1.65}
.hero-media .hero-copy li:before{content:"– ";white-space:pre}
.hero-media .hero-copy .hero-actions{display:flex;gap:14px}
.hero-media .hero-copy .pill{display:inline-block;color:#fff;border-color:#fff;min-width:150px;padding:12px 24px;line-height:1.2}
.hero-media .hero-copy .pill:hover{background:#fff;color:#28323f}

/* Catalogue-derived product cards. */
.catalog-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}
.catalog-card{min-width:0;border:1px solid #e4e7e9;border-radius:18px;overflow:hidden;background:#fff;transition:transform .25s ease,box-shadow .25s ease}
.catalog-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px #18222b14}
.catalog-image{aspect-ratio:1.48;background:#f7f7f5;overflow:hidden;border-bottom:1px solid #edf0f1}
.catalog-image img{display:block;width:100%;height:100%;object-fit:contain}
.catalog-copy{padding:20px 22px 23px}
.catalog-copy>span{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#8b939a}
.catalog-copy h3{font-size:23px;line-height:1.3;margin:9px 0 8px}
.catalog-copy p{font-size:13px;line-height:1.65;color:var(--muted);margin:0 0 16px}
.catalog-copy b{font-size:12px;font-weight:600}
.product-sheet{display:block;width:100%;height:auto;aspect-ratio:1.46;object-fit:contain;background:#f7f7f5;border:1px solid #e6e8e9}
.contact-address{max-width:650px}.contact-address small{font-size:11px;letter-spacing:.14em;color:#aeb4bd}
@media(max-width:900px){.catalog-product-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.catalog-product-grid{grid-template-columns:1fr}.hero-media .hero-copy{left:0;top:0;transform:none;width:100%;height:100%;padding:30px 24px;display:flex;flex-direction:column;justify-content:center}.hero-media .hero-copy h1{font-size:clamp(28px,8vw,42px);margin-bottom:16px}.hero-media .hero-copy ul{display:none}.hero-media .hero-copy .pill{min-width:0;padding:10px 17px;font-size:12px}.hero-media:after{background:linear-gradient(90deg,rgba(16,18,20,.68),rgba(16,18,20,.22))}}
.collection-banner{position:relative;width:100%;height:calc(100vh - 222px);min-height:500px;line-height:0;overflow:hidden;background:#242322}
.collection-banner>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:left center}
.collection-banner-cta{position:absolute;left:6.2%;top:69.5%;width:18%;height:8.5%;border-radius:2px}
.collection-banner-cta:focus-visible{outline:3px solid #fff;outline-offset:4px}
.collection-browse{display:flex;align-items:center;gap:28px;padding:24px max(28px,calc((100vw - 1480px)/2));background:#fff;border-bottom:1px solid #edf0f1}
.collection-browse>span{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:#7c858c;white-space:nowrap}
.collection-browse .style-jump{margin:0}
@media(max-width:700px){.collection-banner{height:calc(100vh - 175px);min-height:490px}.collection-browse{align-items:flex-start;flex-direction:column;gap:10px;padding:18px 20px}.collection-browse .style-jump{margin:0}.collection-banner-cta{left:5%;top:69.5%;width:22%;height:9.5%}}

/* Homepage banner carousel: the supplied lifestyle banner includes its own copy. */
.home-carousel{isolation:isolate}
.home-carousel:after{display:none}
.home-slide{position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;transition:opacity 1.15s ease}
.home-slide.is-active{opacity:1;pointer-events:auto}
.home-slide:first-child:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,18,20,.12),rgba(16,18,20,.58) 38%,rgba(16,18,20,.16));pointer-events:none}
.home-slide>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.home-carousel-dots{position:absolute;z-index:3;left:50%;bottom:20px;transform:translateX(-50%);display:flex;gap:9px;line-height:1}
.hero-image-hotspot{position:absolute;z-index:2;top:70%;height:10%;border-radius:3px}
.hotspot-collection{left:5.5%;width:18%}
.hotspot-projects{left:24.5%;width:17%}
.hero-image-hotspot:focus-visible{outline:3px solid #fff;outline-offset:3px}
.home-carousel-dots button{width:9px;height:9px;padding:0;border:1px solid #fff;border-radius:50%;background:#ffffff65;cursor:pointer;transition:background .25s ease,transform .25s ease}
.home-carousel-dots button[aria-pressed="true"]{background:#fff;transform:scale(1.15)}
.home-carousel-dots button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.carousel-arrow,.carousel-pause{position:absolute;z-index:4;display:grid;place-items:center;border:1px solid #ffffffa6;color:#fff;background:#191c2070;backdrop-filter:blur(5px);transition:background .2s ease,transform .2s ease}
.carousel-arrow:hover,.carousel-pause:hover{background:#191c20c9}
.carousel-arrow:focus-visible,.carousel-pause:focus-visible{outline:2px solid #fff;outline-offset:3px}
.carousel-arrow{top:50%;width:46px;height:46px;border-radius:50%;font-size:34px;line-height:1;transform:translateY(-50%)}
.carousel-arrow:hover{transform:translateY(-50%) scale(1.06)}
.carousel-prev{left:24px}.carousel-next{right:24px}
.carousel-pause{right:24px;bottom:12px;width:36px;height:36px;border-radius:50%;font-size:15px}
@media(prefers-reduced-motion:reduce){.home-slide,.home-carousel-dots button{transition:none}}
@media(max-width:700px){.hero-media{height:auto;aspect-ratio:1983/793}.home-slide>img{object-fit:cover}.home-carousel-dots{bottom:9px}.home-carousel-dots button{width:7px;height:7px}.carousel-arrow{width:34px;height:34px;font-size:27px}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-pause{right:10px;bottom:7px;width:28px;height:28px;font-size:12px}}

/* Product cards show only the product photographs; the full catalogue sheet opens on click. */
.catalog-image{height:350px;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;padding:8px;background:#f8f8f6}
.catalog-image img{width:auto;height:100%;max-width:66%;object-fit:contain}
.catalog-card>a{display:block;height:100%}
.catalog-card:focus-within{outline:2px solid #8a744b;outline-offset:3px}
.product-sheet-dialog{position:fixed;inset:0;margin:auto;width:100vw;height:100vh;max-width:none;max-height:none;padding:5vh 4vw;border:0;background:rgba(17,19,21,.95);color:#fff;overflow:hidden;opacity:0;transform:scale(.94);transition:opacity .24s ease,transform .24s cubic-bezier(.2,.75,.25,1);pointer-events:none}
.product-sheet-dialog[open]{pointer-events:auto}
.product-sheet-dialog.is-visible{opacity:1;transform:scale(1)}
.product-sheet-dialog::backdrop{background:rgba(17,19,21,0);transition:background .24s ease}
.product-sheet-dialog.is-visible::backdrop{background:rgba(17,19,21,.76)}
.sheet-full-image{display:block;width:auto;height:auto;max-width:92vw;max-height:90vh;object-fit:contain;margin:0 auto}
.sheet-close{position:fixed;top:18px;right:22px;z-index:1;display:flex;align-items:center;gap:10px;border:1px solid #ffffff75;border-radius:999px;padding:9px 14px;background:#1e2228;color:#fff;font-size:13px}
.sheet-close span{font-size:22px;line-height:1}
.sheet-close:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.product-sheet-dialog,.product-sheet-dialog::backdrop{transition:none}}
@media(max-width:700px){.catalog-image{height:300px}.catalog-image img{max-width:70%}.product-sheet-dialog{padding:8vh 3vw}.sheet-full-image{max-width:94vw;max-height:84vh}.sheet-close{top:10px;right:10px}}

/* Keep the supplied banner artwork at its native proportions inside the hero frame. */
.banner-art{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;background:#211c19;line-height:normal}
.banner-art>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.banner-art.art-two>img{content:url('assets/home-banner-modern-living-clean.opt-19bd663175.webp')}
.banner-art.art-three>img{content:url('assets/home-banner-modern-living-2-clean.opt-ebad0b10e9.webp')}
.banner-art.art-four>img{content:url('assets/home-banner-modern-living-3-clean.opt-4ddfea41ab.webp')}
.home-slide:not(:first-child):after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(16,18,20,.56),rgba(16,18,20,.30) 43%,rgba(16,18,20,.05) 72%);pointer-events:none}
#products .product:nth-child(3) .product-sheet{content:url('assets/catalog/shower/previews/vj-pivot-v3.opt-37a9304491.webp')}
.catalog-card a[href$="/vj-pivot.jpg"] .catalog-image img{content:url('assets/catalog/shower/previews/vj-pivot-photo-v4.opt-d00ad62e45.webp')}
.catalog-card a[href$="/vm-t-shape-pivot.jpg"] .catalog-image img{content:url('assets/catalog/shower/previews/vm-t-shape-pivot-photo-v3.opt-e780a66f21.webp')}
.catalog-card a[href$="/sa-barn.jpg"] .catalog-image img{content:url('assets/catalog/shower/previews/sa-barn-photo-v3.opt-99aa31abcd.webp')}
.catalog-card a[href$="/vj-pivot.jpg"] .catalog-image img,
.catalog-card a[href$="/vm-t-shape-pivot.jpg"] .catalog-image img,
.catalog-card a[href$="/sa-barn.jpg"] .catalog-image img{width:86%;height:auto;max-width:333px;max-height:86%;aspect-ratio:1/1;object-fit:contain}
/* Hover and keyboard-accessible product summaries in the main navigation. */
header.has-open-menu{z-index:20}
.nav-links a[aria-haspopup="true"]:focus-visible{outline:2px solid #8a744b;outline-offset:7px}
.nav-mega{position:absolute;top:100%;left:0;right:0;z-index:10;background:#fff;border-top:1px solid #edf0f1;box-shadow:0 24px 40px #18222b24;color:var(--ink)}
.nav-mega[hidden]{display:none}
.nav-mega-inner{max-width:1480px;margin:auto;padding:34px 28px 38px;display:grid;grid-template-columns:minmax(220px,.85fr) 2.15fr;gap:48px}
.nav-mega-intro>span,.nav-mega-item>span{font-size:10px;letter-spacing:.18em;color:#929aa0}
.nav-mega-intro h2{font-size:32px;font-weight:500;margin:8px 0}
.nav-mega-intro p,.nav-mega-item p{font-size:13px;line-height:1.65;color:var(--muted);margin:0}
.nav-mega-all{display:inline-block;margin-top:20px;font-size:12px;font-weight:600}
.nav-mega-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.nav-mega-item{padding:5px 24px 4px;border-left:1px solid #e8ebed;transition:background .2s ease}
.nav-mega-item:hover{background:#f8f8f6}
.nav-mega-item h3{font-size:18px;margin:13px 0 8px}
.nav-mega-item b{display:block;margin-top:17px;font-size:11px;font-weight:600}
.nav-mega-item:focus-visible,.nav-mega-all:focus-visible{outline:2px solid #8a744b;outline-offset:4px}
@media(max-width:900px){.nav-mega-inner{gap:22px;padding:26px 22px}.nav-mega-item{padding:4px 14px}.nav-mega-item h3{font-size:16px}}
@media(max-width:700px){.nav-mega{display:none!important}}

/* 2026-09: readable responsive layouts and complete product enquiry flow. */
[hidden]{display:none!important}
.reveal{opacity:1;transform:none}
.js-motion .reveal{transition:opacity 1s ease,transform 1s ease}
.js-motion .reveal:not(.visible){opacity:0;transform:translateY(20px)}
.js-motion .reveal.visible{opacity:1;transform:none}
@media(min-width:701px){.js-motion .grid .product:nth-child(3n+2),.js-motion .catalog-product-grid .catalog-card:nth-child(3n+2),.js-motion .resource-grid article:nth-child(3n+2){transition-delay:.1s}.js-motion .grid .product:nth-child(3n),.js-motion .catalog-product-grid .catalog-card:nth-child(3n),.js-motion .resource-grid article:nth-child(3n){transition-delay:.2s}.js-motion .catalog-page-grid .catalog-page-card:nth-child(4n+2){transition-delay:.08s}.js-motion .catalog-page-grid .catalog-page-card:nth-child(4n+3){transition-delay:.16s}.js-motion .catalog-page-grid .catalog-page-card:nth-child(4n){transition-delay:.24s}}
main{transition:opacity .24s ease,transform .24s cubic-bezier(.2,.7,.2,1)}
body.page-leaving main{opacity:.18;transform:translateY(-14px)}
body.page-entering main{animation:page-content-enter .48s cubic-bezier(.2,.7,.2,1) both}
@keyframes page-content-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
:focus-visible{outline:3px solid #997944;outline-offset:4px}
.skip-link{position:fixed;top:8px;left:12px;z-index:100;background:#fff;color:#202427;padding:12px 18px;border:2px solid #997944;border-radius:4px;transform:translateY(-160%)}
.skip-link:focus{transform:translateY(0)}
#main-content:focus{outline:none}
.menu-toggle{display:none}
.details a{text-decoration:underline;text-underline-offset:4px}
.footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 28px;margin-bottom:22px;color:#fff}
.footer-links a{padding:8px 0}
#catalogues{scroll-margin-top:240px}

/* The same actual HTML copy and controls are used on every banner. */
.hero-image{height:clamp(540px,calc(100svh - 222px),820px);min-height:540px}
.hero-media.home-carousel{height:100%;aspect-ratio:auto}
.home-slide:after,.home-slide:first-child:after,.home-slide:not(:first-child):after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#10121488,#10121480 50%,#10121410);pointer-events:none}
.hero-media .hero-copy{left:27%;top:50%;transform:translateY(-50%);width:min(650px,65%);height:auto;padding:0 0 40px;display:block}
.hero-media .hero-copy h1,.hero-media .hero-copy h2{font-size:clamp(38px,4.1vw,64px);font-weight:500;line-height:1.12;letter-spacing:-.025em;margin:0 0 25px;text-shadow:0 2px 8px #0003}
.hero-media .hero-copy ul{display:block;font-size:15px;line-height:1.8;margin:0 0 28px}
.hero-media .hero-copy .hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.hero-media .hero-copy .pill{min-height:46px;min-width:148px;padding:13px 22px;font-size:14px}
.home-carousel-dots{gap:0;bottom:12px}
.home-carousel-dots button{display:grid;place-items:center;width:32px;height:40px;border:0;border-radius:0;background:transparent!important;padding:0;transform:none!important}
.home-carousel-dots button:before{content:"";width:7px;height:7px;border:1px solid #fff;border-radius:50%;background:#ffffff55}
.home-carousel-dots button[aria-pressed="true"]:before{background:#fff;width:9px;height:9px}
.carousel-pause{width:44px;height:44px;bottom:12px}
.collection-page-title{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden}

/* A scrollable, labelled specification viewer with useful next steps. */
body.sheet-open{overflow:hidden}
.product-sheet-dialog{width:min(1440px,96vw);height:94dvh;max-height:94dvh;padding:0;border:1px solid #ffffff35;border-radius:18px;background:#171b20;overflow:hidden}
.product-sheet-dialog[open]{display:flex;flex-direction:column}
.sheet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;border-bottom:1px solid #ffffff25;flex-shrink:0}
.sheet-toolbar h2{font-size:18px;font-weight:500;margin:0;line-height:1.4}
.sheet-close{position:static;flex-shrink:0;min-height:44px}
.sheet-stage{position:relative;flex:1;min-height:0;overflow:auto;padding:20px;overscroll-behavior:contain}
.sheet-full-image{height:100%;width:100%;max-width:100%;max-height:100%;object-fit:contain;margin:auto}
.sheet-stage.is-zoomed .sheet-full-image{width:max(100%,1200px);height:auto;max-width:none;max-height:none;margin:0}
.sheet-status{margin:0 0 16px;color:#e3e6e9;text-align:center}
.sheet-status:empty{display:none}
.sheet-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:14px 22px;border-top:1px solid #ffffff25;flex-shrink:0;background:#171b20}
.sheet-actions a,.sheet-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 17px;border:1px solid #ffffff70;border-radius:999px;background:transparent;color:#fff;font-size:13px;line-height:1.4}
.sheet-actions .sheet-inquiry{margin-left:auto;background:#fff;color:#222;border-color:#fff}
.sheet-actions button:disabled{opacity:.45;cursor:wait}
.sheet-actions a:hover,.sheet-actions button:hover:not(:disabled){background:#ffffff18}
.sheet-actions .sheet-inquiry:hover{background:#e3e6e9}

.resource-section{border-top:1px solid #e9ebed}
.resource-heading>span,.catalog-download>div>span{font-size:11px;letter-spacing:.16em;color:#72644d}
.resource-heading h2{margin:18px 0}
.resource-heading>p{font-size:16px;color:var(--muted);line-height:1.7;margin:0 0 36px}
.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.resource-grid article{display:flex;flex-direction:column;border:1px solid #dfe3e3;border-radius:16px;padding:30px;background:#fafaf8}
.resource-grid article>span{font-size:10px;letter-spacing:.13em;color:#7e7566}
.resource-grid h3{font-size:25px;font-weight:500;line-height:1.3;margin:22px 0 14px}
.resource-grid p{font-size:14px;color:var(--muted);line-height:1.7;margin:0 0 24px}
.resource-grid small{font-size:12px;color:#727a81;margin-top:auto}
.resource-grid a{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dfe3e3;padding:20px 0 0;margin-top:20px;font-size:14px;font-weight:600;min-height:44px}
.catalog-download{margin:0 auto;padding:56px max(28px,calc((100vw - 1424px)/2));display:flex;gap:28px;align-items:center;justify-content:space-between;background:#efeee9}
.catalog-download h2{font-weight:500;font-size:30px;margin:12px 0}
.catalog-download p{font-size:14px;line-height:1.6;margin:0;color:#68727b}
.catalog-download>a{border:1px solid var(--ink);border-radius:30px;padding:14px 22px;white-space:nowrap;font-size:14px}
.catalog-download>a:hover{background:var(--ink);color:#fff}
@media(max-width:1050px){.side-label{display:none}.nav-row{grid-template-columns:1fr auto}.nav-links{gap:24px;justify-content:center}.resource-grid article{padding:24px}.resource-grid h3{font-size:22px}}
@media(max-width:760px){
  header{position:sticky}.top{height:32px;font-size:10px;padding:0 10px;text-align:center}
  .brand-row{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
  .brand-mark{width:35px;height:35px}.brand b{font-size:23px}.brand small{font-size:9px}
  header.nav-enhanced .menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;padding:9px 12px;border:1px solid #d6dadd;border-radius:6px;background:#fff;color:var(--ink);font-size:13px}
  header.nav-enhanced .nav-row{display:none;height:auto;padding:6px 20px 20px;overflow:visible;border-top:1px solid #edf0f1}
  header.nav-enhanced.mobile-menu-open .nav-row{display:block;max-height:calc(100dvh - 106px);overflow:auto}
  header.nav-enhanced .nav-links{display:flex;flex-direction:column;align-items:stretch;gap:0;height:auto;width:100%}
  header.nav-enhanced .nav-links a{font-size:12px;padding:16px 10px;border-bottom:1px solid #edf0f1;min-height:48px}
  header.nav-enhanced .nav-links .active{background:#f4f4ef}
  header.nav-enhanced .nav-links a:after{display:none}
  .lang,.side-label,.nav-mega{display:none!important}
  .hero-image{height:590px;min-height:0;max-height:none}
  .hero-media.home-carousel{height:100%;aspect-ratio:auto}
  .home-slide>img{object-position:65% center}
  .home-slide:after,.home-slide:first-child:after,.home-slide:not(:first-child):after{background:linear-gradient(90deg,#101214ba,#10121450)}
  .hero-media .hero-copy{left:0;top:50%;transform:translateY(-50%);width:100%;height:auto;padding:16px 26px 50px;display:block}
  .hero-media .hero-copy h1,.hero-media .hero-copy h2{font-size:clamp(33px,8.5vw,46px);margin-bottom:24px}
  .hero-media .hero-copy ul{font-size:13px;line-height:1.85;display:block;margin-bottom:26px}
  .hero-media .hero-copy li{margin-bottom:4px}
  .hero-media .hero-copy .pill{font-size:13px;padding:13px 19px;min-width:138px}
  .carousel-arrow{top:auto;bottom:12px;transform:none;width:44px;height:44px;font-size:30px}
  .carousel-arrow:hover{transform:none}.carousel-prev{left:22px}.carousel-next{right:auto;left:76px}.carousel-pause{right:22px;bottom:12px;width:44px;height:44px;font-size:15px}
  .home-carousel-dots{left:auto;right:76px;transform:none;bottom:14px}
  .home-carousel-dots button{width:25px;height:40px}
  .collection-page-title{position:static;width:auto;height:auto;margin:0;padding:28px 20px;font-size:36px;font-weight:500;line-height:1.15;clip-path:none}
  .collection-banner{height:auto;min-height:0;aspect-ratio:1916/821}
  .collection-banner>img{object-fit:contain}
  .collection-banner-cta{left:6.2%;width:18%;height:8.5%}
  .collection-section,#products,#contact,#catalogues,#manufacturing{scroll-margin-top:125px}
  .section{padding:60px 20px}.section h2{font-size:36px}
  .page-hero h1{font-size:clamp(36px,10vw,50px);overflow-wrap:anywhere}
  .contact{padding:56px 20px}.contact-inner{grid-template-columns:1fr;gap:35px}.contact h2{font-size:36px}
  .details{flex-wrap:wrap;gap:25px;margin:30px 0 25px}.details b{font-size:14px}
  .resource-grid{grid-template-columns:1fr}.resource-grid article{padding:28px}
  .resource-grid h3{font-size:26px}.catalog-download{align-items:flex-start;flex-direction:column;padding:40px 20px}
  .product-sheet-dialog{width:100vw;height:100dvh;max-height:100dvh;border:0;border-radius:0}
  .sheet-toolbar{padding:12px 14px;gap:10px}.sheet-toolbar h2{font-size:16px}.sheet-stage{padding:14px}
  .sheet-actions{padding:12px 14px;gap:8px}.sheet-actions .sheet-inquiry{margin-left:0;flex-basis:100%}.sheet-actions button,.sheet-actions a{flex-grow:1}
  .sheet-close{padding:8px 12px;font-size:12px}
}
@media(max-width:360px){.top{font-size:9px}.hero-media .hero-copy{padding-left:20px;padding-right:20px}.hero-media .hero-copy .pill{min-width:0}.home-carousel-dots button{width:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Product pages use supplied 1916 x 821 banners with the same live-copy treatment as Home. */
.shower-enclosure-hero .hero-media:after,
.glass-door-hero .hero-media:after{
  background:linear-gradient(90deg,rgba(13,12,11,.76) 0%,rgba(13,12,11,.58) 34%,rgba(13,12,11,.17) 67%,rgba(13,12,11,.05) 100%);
}
.shower-enclosure-hero .hero-media>img,
.glass-door-hero .hero-media>img{object-position:center}
.shower-enclosure-hero .hero-copy,
.glass-door-hero .hero-copy{left:6.5%;width:min(660px,48vw);padding-bottom:0}
.shower-enclosure-hero .hero-copy h1,
.glass-door-hero .hero-copy h1{max-width:650px}
.shower-enclosure-hero .hero-copy ul,
.glass-door-hero .hero-copy ul{max-width:580px}
.glass-door-collection.is-tinted{background:#f5f5f2}
.glass-door-collection .catalog-image{height:320px;padding:0;background:#e8e6e1}
.glass-door-collection .catalog-image img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.glass-door-collection .catalog-copy h3{font-size:21px}

@media(max-width:900px){
  .shower-enclosure-hero .hero-copy,
  .glass-door-hero .hero-copy{width:min(620px,72vw)}
  .glass-door-collection .catalog-image{height:290px}
}

@media(max-width:760px){
  .shower-enclosure-hero,
  .glass-door-hero{height:620px}
  .shower-enclosure-hero .hero-media,
  .glass-door-hero .hero-media{height:100%;aspect-ratio:auto}
  .shower-enclosure-hero .hero-media>img,
  .glass-door-hero .hero-media>img{width:100%;height:100%;object-fit:cover;object-position:58% center}
  .shower-enclosure-hero .hero-media:after,
  .glass-door-hero .hero-media:after{background:linear-gradient(90deg,rgba(13,12,11,.82) 0%,rgba(13,12,11,.58) 61%,rgba(13,12,11,.28) 100%)}
  .shower-enclosure-hero .hero-copy,
  .glass-door-hero .hero-copy{left:0;top:50%;transform:translateY(-50%);width:100%;height:auto;padding:20px 24px 44px}
  .shower-enclosure-hero .hero-copy h1,
  .glass-door-hero .hero-copy h1{font-size:clamp(32px,8.6vw,46px)}
  .shower-enclosure-hero .hero-copy ul,
  .glass-door-hero .hero-copy ul{display:block;font-size:13px;line-height:1.75}
  .glass-door-collection .catalog-image{height:260px}
}

/* Carousel navigation stays together in the lower-right corner on every banner. */
.carousel-controls{position:absolute;z-index:5;right:24px;bottom:18px;display:flex;align-items:center;gap:8px}
.carousel-controls .carousel-arrow,.carousel-controls .carousel-pause{position:static;inset:auto;width:44px;height:44px;border-radius:50%;transform:none}
.carousel-controls .carousel-arrow{font-size:30px;line-height:1}
.carousel-controls .carousel-pause{font-size:14px}
.carousel-controls .carousel-arrow:hover,.carousel-controls .carousel-pause:hover{transform:translateY(-2px)}
.home-carousel-dots{left:auto;right:190px;bottom:20px;transform:none}

/* Complete, lazy-loaded page libraries preserve every page of the supplied catalogues. */
.catalog-page-library{padding:82px 28px;background:#202529;color:#fff;scroll-margin-top:290px}
.catalog-page-library-inner{max-width:1424px;margin:auto}
.catalog-page-library-inner>span{font-size:11px;letter-spacing:.16em;color:#c3aa7a}
.catalog-page-library h2{font-size:clamp(36px,4vw,58px);font-weight:500;line-height:1.1;margin:18px 0 14px}
.catalog-page-library-inner>p{max-width:780px;margin:0 0 34px;color:#c8ced2;font-size:15px;line-height:1.75}
.catalog-page-library details{border-top:1px solid #ffffff38;border-bottom:1px solid #ffffff38}
.catalog-page-library summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px;padding:18px 2px;cursor:pointer;font-size:16px;font-weight:600;list-style:none}
.catalog-page-library summary::-webkit-details-marker{display:none}
.catalog-page-library summary b{display:grid;place-items:center;width:36px;height:36px;border:1px solid #ffffff66;border-radius:50%;font-size:24px;font-weight:400;transition:transform .2s ease}
.catalog-page-library details[open] summary b{transform:rotate(45deg)}
.catalog-page-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:8px 0 34px}
.catalog-page-card{overflow:hidden;border-radius:10px;background:#fff;color:#202529}
.catalog-page-card a{display:block}
.catalog-page-card img{display:block;width:100%;aspect-ratio:1.414/1;object-fit:contain;background:#fff}
.catalog-page-card span{display:block;padding:13px 15px;font-size:12px;font-weight:600;letter-spacing:.08em}
.catalog-page-card a:hover img{filter:brightness(.93)}
.resource-grid a.resource-browse{color:#765c32}
.catalogue-hero-link{display:inline-block;margin-top:16px;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:15px;font-weight:600}
.catalogue-hero-link:hover{color:#765c32}

@media(max-width:900px){.catalog-page-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .carousel-controls{right:16px;bottom:14px;gap:6px}
  .carousel-controls .carousel-arrow,.carousel-controls .carousel-pause{position:static;inset:auto;width:42px;height:42px;transform:none}
  .carousel-controls .carousel-arrow:hover,.carousel-controls .carousel-pause:hover{transform:none}
  .home-carousel-dots{left:18px;right:auto;bottom:15px;transform:none}
  .catalog-page-library{padding:58px 20px}
  .catalog-page-library h2{font-size:36px}
  .catalog-page-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .catalog-page-card span{padding:11px 12px;font-size:11px}
}
@media(max-width:420px){.catalog-page-grid{grid-template-columns:1fr}}

/* Brand artwork and catalog contact details */
.brand-mark{width:72px;height:50px;flex:0 0 auto;border:0;clip-path:none;background:url('assets/brand/sd-catalog-mark.png') center/contain no-repeat}
.brand-mark:before,.brand-mark:after{content:none;display:none}
.contact-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 34px;margin:24px 0}
.contact-directory>*{min-width:0}
.contact-directory small{display:block;margin-bottom:8px;font-size:11px;letter-spacing:.14em;color:#aeb4bd}
.contact-directory b{font-size:15px;font-weight:500;overflow-wrap:anywhere}
.contact-directory a{text-decoration:underline;text-underline-offset:4px}
.contact-qr-panel{max-width:1424px;margin:58px auto 0;padding-top:42px;border-top:1px solid #ffffff38;display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.25fr);gap:8%;align-items:center}
.contact-qr-copy .eyebrow{color:#aeb4bd}
.contact-qr-copy h3{margin:10px 0 12px;font-size:30px;font-weight:500}
.contact-qr-copy p{margin:0;max-width:34em}
.contact-qr-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.contact-qr-grid figure{margin:0;text-align:center}
/* Crop only the catalog border; keep each complete code inside an even quiet zone. */
.qr-frame{display:block;position:relative;width:100%;max-width:180px;aspect-ratio:1;margin:0 auto 12px;border-radius:14px;background:#fff}
.qr-crop{display:block;position:absolute;inset:9%;overflow:hidden}
.qr-crop img{display:block;position:absolute;max-width:none;height:auto;margin:0;border:0;border-radius:0;box-shadow:none}
/* Source crop windows (x, y, square size): (27, 10, 187), (21, 4, 195), (24, 6, 196). */
.qr-crop-instagram img{width:128.342246%;left:-14.438503%;top:-5.347594%}
.qr-crop-whatsapp img{width:123.076923%;left:-10.769231%;top:-2.051282%}
.qr-crop-wechat img{width:122.448980%;left:-12.244898%;top:-3.061224%}
.contact-qr-grid figcaption{font-size:13px;color:#fff;letter-spacing:.04em}
@media(max-width:700px){
  .brand-mark{width:58px;height:40px}
  .contact-directory{grid-template-columns:1fr 1fr;gap:18px}
  .contact-qr-panel{grid-template-columns:1fr;gap:28px;margin-top:40px;padding-top:34px}
  .contact-qr-grid{gap:12px}
  .contact-qr-grid .qr-frame{border-radius:10px;margin-bottom:9px}
  .contact-qr-grid figcaption{font-size:11px}
}
@media(max-width:600px){.contact-qr-grid{grid-template-columns:1fr;gap:24px}}
@media(max-width:420px){.contact-directory{grid-template-columns:1fr}.brand-mark{width:52px;height:36px}}

/* Native QR images extracted from the catalog cover; larger desktop display. */
.brand-row{position:relative}
.header-qr-group{position:absolute;left:3.5%;top:43%;transform:translateY(-50%);display:flex;align-items:flex-start;gap:clamp(12px,1.5vw,28px)}
.header-qr-group figure{margin:0;text-align:center}
.header-qr-group .qr-frame{width:clamp(72px,calc(15.5vw - 46px),152px);margin:0;border-radius:10px}
.header-qr-group .qr-frame>img{display:block;position:absolute;inset:4%;width:92%;height:92%;object-fit:contain}
.header-qr-group figcaption{margin-top:4px;color:#59616a;font-size:10px;line-height:1.2;letter-spacing:.04em}
@media(min-width:761px) and (max-width:1500px){
  /* Keep enlarged codes clear of the contact line and navigation on laptops. */
  .brand-row{height:174px}
  .header-qr-group{top:50%}
  .brand-row .brand{position:absolute;top:28px;left:50%;transform:translateX(-50%)}
  #products,#windows,#doors,#about,#contact,#catalogues,#manufacturing,.collection-section{scroll-margin-top:304px}
}
@media(max-width:760px){.header-qr-group{display:none}}

/* Give the cleaned brand mark a prominent, independent position in the header. */
.brand-mark{background-image:url('assets/brand/sd-mark-no-outer-frame-v1.webp')}
@media(min-width:761px){
  .brand-row{height:174px}
  .brand-row .brand{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);flex-direction:column;gap:6px;text-align:center}
  .brand-mark{width:150px;height:98px}
  .brand b{font-size:25px;line-height:1}
  .brand small{font-size:10px;letter-spacing:.12em;margin-top:5px}
  .header-qr-group{top:50%}
  #products,#windows,#doors,#about,#contact,#catalogues,#manufacturing,.collection-section{scroll-margin-top:304px}
}
@media(max-width:760px){
  .brand-row{height:96px}
  .brand-row .brand{gap:10px}
  .brand-mark{width:88px;height:58px}
  .brand b{font-size:24px}
  .brand small{font-size:9px}
  header.nav-enhanced.mobile-menu-open .nav-row{max-height:calc(100dvh - 128px)}
}
@media(max-width:360px){
  .brand-row .brand{gap:8px}
  .brand-mark{width:76px;height:50px}
  .brand b{font-size:22px}
  .brand small{font-size:8px}
}

/* Blue headings and neutral body copy separate the content hierarchy. */
:root{--heading-blue:#007db8;--muted:#626b73}
.section h2,.section h3,.page-hero h1,.collection-head h2,
.catalog-copy h3,.series-copy h3,.about-grid h2,.about-points h3,
.page-band h2,.catalog-download h2{color:var(--heading-blue)}
/* Keep all of the generated single-leaf door visible at every breakpoint. */
#glass-swing .generated-swing-card .catalog-image{height:auto;aspect-ratio:4/3}
#glass-swing .generated-swing-card .catalog-image img{object-fit:contain}

/* Match all primary navigation labels to the blue content headings. */
header .nav-links>a{color:var(--heading-blue)}

/* A calm blue-grey masthead, with the S&D identity at the centre. */
header.site-header{z-index:40;background:#fff;box-shadow:0 3px 15px #1637470c}
.site-header .brand-row{height:100px;padding:0 24px;display:flex;align-items:center;justify-content:center;background:#17324E}
.site-header .brand-row .brand{position:static;transform:none;display:flex;flex-direction:row;align-items:center;gap:15px;text-align:left;color:#fff}
.site-header .brand-mark{width:101px;height:69px}
.site-header .brand b{font-size:28px;letter-spacing:.025em}
.site-header .brand small{font-size:10px;letter-spacing:.14em;margin-top:6px;color:#fff}
header.site-header .nav-row{height:59px;display:flex;justify-content:center;align-items:center;padding:0 24px;overflow:visible;border:0}
header.site-header .nav-links{height:100%;width:auto;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:clamp(22px,3.7vw,58px)}
header.site-header .nav-links>a{min-height:0;padding:0;border:0;background:none;font-size:12px}
header.site-header .nav-links>a:after{display:block}
#products,#windows,#doors,#about,#contact,#catalogues,#manufacturing,.collection-section,.catalog-page-library,#project-enquiry{scroll-margin-top:175px}
@media(max-width:760px){
 .site-header .brand-row{height:83px;padding:0 20px}
 .site-header .brand-mark{width:84px;height:58px}
 .site-header .brand-row .brand{gap:12px}
 .site-header .brand b{font-size:24px}
 .site-header .brand small{font-size:9px;margin-top:5px}
 header.site-header .nav-row{height:auto;padding:3px 12px 7px}
 header.site-header .nav-links{width:100%;display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:0}
 header.site-header .nav-links>a{display:flex;justify-content:center;align-items:center;min-height:40px;font-size:10px;text-align:center}
 header.site-header .nav-links>a:after{display:none}
 header.site-header .nav-links>a.active{color:#005b89;background:#eef7fb;border-radius:5px}
 #products,#windows,#doors,#about,#contact,#catalogues,#manufacturing,.collection-section,.catalog-page-library,#project-enquiry{scroll-margin-top:185px}
}

/* Preserve the complete 4:3 double-door compositions. */
#glass-double .generated-double-card .catalog-image{height:auto;aspect-ratio:4/3}
#glass-double .generated-double-card .catalog-image img{object-fit:contain}

/* Keep newly added interior concepts complete at desktop and mobile widths. */
.glass-door-collection .generated-expansion-card .catalog-image{height:auto;aspect-ratio:4/3}
.glass-door-collection .generated-expansion-card .catalog-image img{width:100%;height:100%;object-fit:contain}
.collection-concept-note{font-size:12px;line-height:1.7;color:var(--muted);margin:-18px 0 30px;max-width:760px}

/* Separate destinations within the paired glass-door menu groups. */
.nav-mega-primary{display:block}
.nav-mega-primary>span{font-size:10px;letter-spacing:.18em;color:#929aa0}
.nav-mega-secondary{display:inline-block;margin-top:12px;font-size:11px;font-weight:600}
.nav-mega-primary:focus-visible,.nav-mega-secondary:focus-visible{outline:2px solid #007db8;outline-offset:4px}

/* Larger product cards retain the existing three-column desktop layout. */
@media(min-width:901px){
  .collection-section{padding-left:20px;padding-right:20px}
  .collection-inner{max-width:1640px}
  .section.catalogue{max-width:1680px;padding-left:20px;padding-right:20px}
  .catalog-product-grid{gap:28px 20px}
  .catalog-copy{padding:24px 24px 27px}
  .catalog-image{height:400px}
  .catalog-image img{max-width:100%}
  .glass-door-collection .catalog-image{height:380px}
  #glass-swing .generated-swing-card .catalog-image{height:auto;aspect-ratio:5/4}
  #glass-swing .generated-swing-card .catalog-image img{object-fit:cover}
  .home-page .section#products,.home-page .home-interiors>.section,.home-page .section.home-details{max-width:1520px;padding-left:24px;padding-right:24px}
}
/* Each preview is a viewport onto one existing catalogue photograph. */
.catalog-image.scene-preview{height:auto;aspect-ratio:var(--scene-ratio,1);padding:0;display:block;background:#e8e6e1}
.catalog-scene{display:block;width:100%;height:100%;overflow:hidden}
.catalog-scene image{pointer-events:none}
@media(max-width:700px){
  .catalog-image.scene-preview{aspect-ratio:var(--scene-ratio,1)}
}

/* Footer address and direct social links. */
.contact-qr-copy .footer-address{margin:24px 0 20px;max-width:38em;font-size:14px;line-height:1.75}
.contact-qr-copy .footer-address small{display:inline-block;margin-bottom:7px}
.footer-social-links{display:flex;flex-wrap:wrap;gap:10px}
.footer-social-links a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 14px;border:1px solid #ffffff60;border-radius:6px;color:#fff;font-size:13px;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s}
.footer-social-links svg{width:22px;height:22px;flex:none}
.footer-social-links a:hover{background:#ffffff12;border-color:#fff}
.footer-social-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.contact-page .contact-qr-copy .footer-address{border:0;padding:0;margin:24px 0 20px}
.contact-page .footer-social-links a{color:var(--heading-blue);border-color:#9bb8c8}
.contact-page .footer-social-links a:hover{background:#e4eef4;text-decoration:none;border-color:var(--heading-blue)}

/* Direct social links at the left of the centred header brand. */
.site-header .brand-row{position:relative}
.header-brand-group{position:relative;display:flex;align-items:center;width:max-content}
.header-social-links{position:absolute;right:calc(100% + 24px);top:50%;transform:translateY(-50%);display:flex;gap:12px;align-items:center}
.header-social-links a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:#fff;border:1px solid #ffffff60;border-radius:50%;transition:background .15s,border-color .15s}
.header-social-links svg{width:23px;height:23px;display:block}
.header-social-links a:hover{background:#ffffff18;border-color:#fff}
.header-social-links a:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:600px){
 .header-social-links{right:calc(100% + 12px);flex-direction:column;gap:3px}
 .header-social-links a{width:24px;height:24px}
 .header-social-links svg{width:18px;height:18px}
}

/* A single product category uses the full overview column. */
.nav-mega-single .nav-mega-inner{grid-template-columns:minmax(220px,1fr) minmax(0,1.5fr)}
.nav-mega-single .nav-mega-items{grid-template-columns:minmax(0,1fr)}

.collection-head.collection-head-unnumbered{grid-template-columns:minmax(0,1fr)}
