:root {
  --navy:#12394f; --deep:#0d2d41; --ink:#1a394c; --gold:#c8a561;
  --cream:#f6f3ed; --line:#d9e2e5; --muted:#516772;
  --max:1240px; --gutter:48px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:126px}
body{margin:0;color:var(--ink);background:#fff;font:15px/1.6 Arial,Helvetica,sans-serif}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ac883e;outline-offset:4px}
[hidden]{display:none!important}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.09;letter-spacing:-1.8px}
p{color:var(--muted)}
.wrap{width:min(var(--max),calc(100% - var(--gutter) * 2));margin-inline:auto}
.skip{position:absolute;top:4px;left:12px;z-index:20;padding:10px 18px;background:white;transform:translateY(-150%)}
.skip:focus{transform:none}
.header nav,.finder-pages{display:flex;gap:clamp(14px,2vw,30px);align-items:center;font-size:14px;font-weight:700}
nav a:hover,footer a:hover{text-decoration:underline;text-underline-offset:5px}
.button{min-height:48px;background:var(--navy);color:white;border:1px solid var(--navy);display:inline-flex;align-items:center;justify-content:center;gap:17px;padding:12px 23px;font-size:13px;font-weight:600;letter-spacing:.1px}
.button:hover{background:#204d65}
.hero,.contact{background:var(--deep);color:white}
.masthead{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);align-items:center;gap:clamp(24px,4vw,56px);padding-block:clamp(35px,4.8vw,68px)}
.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;color:var(--navy);margin-bottom:15px}
.eyebrow:before{content:"";width:28px;height:2px;background:var(--gold);flex:none}
.hero .eyebrow,.contact .eyebrow{color:#efcc8c}
.intro{margin-top:22px;max-width:390px;color:#d5e2e9;font-size:17px}
.hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}
.hero-actions .button{padding-inline:12px;text-align:center}
@media(max-width:540px){.hero-actions{grid-template-columns:minmax(0,1fr)}}
.hero-media{margin:0;border-top:2px solid var(--gold);padding-top:10px}
.film{position:relative;aspect-ratio:16/9;overflow:hidden;background:#061a27 url("assets/nassau-facility.webp") center 45% / cover no-repeat}
.film iframe{width:100%;height:100%;position:absolute;inset:0;display:block;border:0}
.film[data-loading] iframe{opacity:0}
.film[data-playing]{background-image:none}
.hero-media figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:#d5e2e9;margin-top:10px}
.hero-media figcaption a{text-decoration:underline;text-underline-offset:4px}
.pathways{background:var(--cream)}
.product-grid{display:grid;grid-template-columns:1fr 1fr}
.product+.product{border-left:1px solid #ded7c9}
.product-copy{padding:35px clamp(24px,4vw,54px)}
.product:first-child .product-copy{padding-left:0}
.product p:not(.eyebrow){margin-block:10px 13px;max-width:420px}
.text-link{display:inline-flex;align-items:center;gap:11px;font-size:14px;font-weight:700;border-bottom:1px solid #9baeb8;padding-block:4px}
.text-link:hover{border-color:currentColor}
.section{padding-block:clamp(48px,7vw,95px)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:30px}
.section-heading>p{max-width:340px}
.about-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,52px)}
.about-story{margin-top:18px;max-width:60ch}
.about-layout p+p{margin-top:14px}
.values,.brand-grid,.process{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.values article,.brand-grid article{padding:24px;border:1px solid var(--line);border-radius:8px}
.value-icon{display:block;width:40px;height:40px;padding:8px;margin-bottom:12px;color:var(--navy);background:var(--cream);border:1px solid #ded3bd;border-radius:8px}
.values p,.brand-grid p,.process p{margin-top:9px}
.manufacturing,.directory{background:var(--cream)}
.process{grid-template-columns:repeat(4,minmax(0,1fr));list-style-position:inside;padding:0}
.process li{padding:19px 14px 0 0;border-top:2px solid var(--gold)}
.brand-mark{display:flex;align-items:center;min-height:75px;margin-bottom:12px}
.brand-mark img{width:auto;height:62px;max-width:100%;object-fit:contain}
.retail-cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:24px}
.retail-cta{justify-content:space-between;padding:16px 20px;background:var(--cream);border:1px solid var(--line);border-radius:8px}
.retail-cta p{max-width:58ch;font-size:14px}
.finder{display:grid;grid-template-columns:minmax(210px,265px) minmax(0,1fr);gap:24px;align-items:start}
.finder-controls{background:var(--deep);color:white;padding:21px;display:grid;gap:12px}
.finder-controls label{font-weight:700;font-size:14px}
.finder-controls input{width:100%;min-height:43px;padding:8px 10px;font:inherit;border:1px solid var(--line);background:white;color:var(--deep)}
#retailer-count{margin-bottom:12px;font-size:14px}
.retailers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.store{display:grid;justify-items:start;align-content:start;gap:7px;background:#faf9f6;border:1px solid #e1dacd;border-radius:8px;padding:17px 19px}
.store p{font-size:12px;display:flex;align-items:center;gap:6px}
.store p::before{content:"";width:7px;height:7px;background:var(--gold);border-radius:50%}
.contact p:not(.eyebrow){margin-block:15px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px 22px;margin-top:22px}
.contact p{color:#d5e2e9}
.button.gold{background:var(--gold);color:var(--deep);border-color:var(--gold)}
.button.gold:hover{background:#dfbe80}
.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:24px}
.contact-enquiry{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(19px,3vw,28px);background:#153649;border:1px solid #395465;border-radius:8px}
.contact-enquiry h3,.office-strip h3{font-size:17px}
.contact .contact-enquiry p{max-width:410px;margin:9px 0 17px;line-height:1.65}
.contact-enquiry .button{margin-top:auto;min-height:44px;border-radius:4px}
.office-strip{display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:baseline;gap:8px 22px;margin-top:16px;padding:16px clamp(16px,3vw,24px);background:#092434;border-radius:8px}
.office-strip address{font-size:14px;font-style:normal;color:#d5e2e9}
.office-strip address strong{color:white;font-weight:600}
.office-phones{display:grid;justify-items:start;gap:4px}
.office-phones strong{font-size:13px;font-weight:600;color:#d5e2e9}
.office-strip .text-link{color:#efcc8c;white-space:nowrap}
footer{background:#092333;color:#d5e2e9}
.footer{display:flex;justify-content:space-between;gap:15px;padding-block:20px;font-size:13px}

@media(max-width:720px){
  html{scroll-padding-top:98px}
  .masthead,.about-layout,.contact-grid,.finder{grid-template-columns:1fr}
  .masthead{gap:26px}
  .process{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section-heading{display:grid;gap:10px}
  .retailers{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:540px){
  .product-grid,.retailers{grid-template-columns:1fr}
  .product+.product{border-left:0;border-top:1px solid #ded7c9}
  .product-copy{padding:27px 0}
  .values,.brand-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.process{--step-gap:24px;--step-icon:43px;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--step-gap);list-style:none}
.process li{position:relative;padding:15px 10px 0 0}
.process svg{display:block;width:34px;height:34px;color:var(--navy)}
.process p{font-size:14px;line-height:1.55}
.process li:not(:last-child)::after{content:"→";position:absolute;top:calc(15px + var(--step-icon) / 2);left:calc(50% + (var(--step-gap) + var(--step-icon)) / 2);transform:translate(-50%,-50%);color:#8c682b;font-size:19px;line-height:1}
.finder{display:block;border:1px solid #d9d2c5;border-radius:14px;background:white;box-shadow:0 12px 30px #12394f0c}
.finder-controls{grid-template-columns:1fr 1fr;gap:16px;background:#edf3f5;color:var(--deep);border-radius:14px 14px 0 0;border-bottom:1px solid var(--line)}
.finder-controls label{display:block;margin-bottom:4px}
.finder-controls select,.finder-controls input{width:100%;min-height:44px;background:white;color:var(--deep);border:1px solid var(--line);padding:8px 10px;font:inherit}
.finder-results{padding:clamp(16px,3vw,30px)}
.results-heading{display:flex;align-items:baseline;flex-wrap:wrap;justify-content:space-between;gap:5px 12px;margin-bottom:14px}
#retailer-count{margin:0}
.finder-pages{justify-content:space-between;margin-top:17px;padding-top:13px;border-top:1px solid var(--line)}
.finder-pages button{font:inherit;font-size:14px;border:1px solid var(--line);background:white;color:var(--navy);padding:8px 12px;cursor:pointer}
.finder-pages button:disabled{opacity:.5;cursor:default}
@media(max-width:820px){
 .process{grid-template-columns:1fr;gap:14px}
 .process li{padding:12px 0 5px 48px}
 .process li:not(:last-child)::after{content:"↓";top:auto;bottom:-7px;left:calc(var(--step-icon) / 2);transform:translate(-50%,50%)}
 .process svg{position:absolute;left:0;top:12px}
 .process h3{margin-top:0}
}
@media(max-width:540px){
 .finder-controls{grid-template-columns:1fr}
 .finder-controls select,.finder-controls input{font-size:16px}
}

.production-lines{margin-top:28px}
.production-lines .section-heading{align-items:baseline;flex-wrap:wrap;gap:10px 24px;margin-bottom:18px}
.production-lines .section-heading h3{font:400 clamp(25px,3.5vw,34px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.7px}
.production-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.about-media{background:var(--deep);color:white;border-radius:8px;overflow:hidden}
.about-media img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.about-media figcaption{display:grid;align-content:start;gap:8px;padding:17px 18px 20px}
.about-media strong{font:400 18px/1.35 Arial,Helvetica,sans-serif}
@media(min-width:541px){.production-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.production-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}}
.about-media span{color:#d5e2e9;font-size:15px;line-height:1.55}
.brand-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.brand-grid article{text-align:center;display:grid;align-content:start;justify-items:center;gap:14px;padding:24px 16px;background:#faf9f6}
.brand-grid h3{font-size:20px;color:var(--navy)}
.brand-grid .brand-mark{justify-content:center;min-height:80px;margin:0}
.brand-grid .brand-mark img{height:72px}
.process svg{width:var(--step-icon);height:var(--step-icon);padding:8px;background:#fff;border:1px solid #ded3bd;border-radius:8px}
@media(max-width:820px){.process li{padding-left:56px}}
@media(max-width:720px){.brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.brand-grid article{padding:16px 8px}.brand-grid h3{font-size:18px}}

/* Typography shared with the Scottdale Hospitality page. */
h1{font-size:58px}
h2{font-size:46px}
h3{font:400 18px/1.3 Arial,Helvetica,sans-serif}
.eyebrow{font-size:14px;letter-spacing:2px;gap:13px}
.intro,.section-heading>p,.contact p:not(.eyebrow){font-size:15px;line-height:1.85}
.about-layout p{font-size:16px;line-height:1.85}
.process h3{font-size:16px;line-height:1.35;margin-top:10px}
.process p{font-size:14px;line-height:1.6}
.button,.text-link{font-size:13px;font-weight:600}
.contact h2{font-size:43px}
html{scroll-padding-top:82px}
@media(min-width:1600px){h1{font-size:64px}}
@media(max-width:1150px){:root{--gutter:32px}h1{font-size:49px}}
@media(max-width:850px){
 :root{--gutter:20px}
 h1{font-size:41px;letter-spacing:-1.2px}
 .hero .eyebrow{letter-spacing:1.1px}
 h2{font-size:39px}
 .contact h2{font-size:35px}
}
@media(max-width:600px){
 body{font-size:14px}
 h1{font-size:clamp(32px,9.7vw,38px);line-height:1.07}
 .intro,.section-heading>p{line-height:1.8}
 h2{font-size:35px;letter-spacing:-1px}
 .eyebrow{letter-spacing:1.5px;gap:10px}
}

.header{position:sticky;top:0;z-index:5;background:#fff;border-bottom:1px solid var(--gold)}
.header-inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(22px,4vw,56px);min-height:116px}
.brand{display:block;padding-block:10px}
.brand img{width:104px;height:auto}
.header nav{justify-content:flex-start}
.header nav a{font-size:15px;font-weight:600;white-space:nowrap}
.header-contact{font-size:15px;white-space:nowrap}
.menu,.header .mobile-contact{display:none}
html{scroll-padding-top:82px}
@media(min-width:961px){
  html{scroll-padding-top:120px}
  .header{background:rgba(255,255,255,.97)}
  .header-inner{min-height:104px;gap:clamp(20px,3vw,44px)}
  .header nav{gap:clamp(16px,2vw,30px)}
  .header-contact{min-height:40px;padding:9px 19px}
}
@media(max-width:960px){
  .header-inner{grid-template-columns:1fr auto;gap:0;min-height:92px}
  .brand img{width:80px}
  .header-contact{display:none}
  .menu:not([hidden]){display:inline-flex;gap:9px;align-items:center;min-height:44px;padding:9px 14px;background:white;border:1px solid var(--line);color:var(--navy);font:600 15px Arial,Helvetica,sans-serif;cursor:pointer}
  .header nav{grid-column:1/-1;display:grid;justify-content:stretch;gap:0;padding:0 0 12px}
  .menu[aria-expanded="true"] + nav{position:absolute;inset:100% 0 auto;margin-left:auto;width:min(100%,360px);max-height:calc(100dvh - 92px);overflow:auto;padding:8px var(--gutter);background:#fff;border:1px solid var(--line);border-top:2px solid var(--gold);box-shadow:0 10px 24px #0d2d4120}
  .header nav a:first-child{border-top:0}
  .header nav a{padding:11px 0;border-top:1px solid var(--line)}
  .menu[aria-expanded="false"]:not([hidden])+nav{display:none}
  .header .mobile-contact{display:block}
  html{scroll-padding-top:105px}
}

.factory-clip{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;padding:16px;background:var(--cream);border:1px solid var(--line);border-radius:8px}
.factory-clip-player{background:var(--deep);border-radius:6px;overflow:hidden}
.factory-clip video{display:block;width:auto;height:clamp(160px,17vw,224px);aspect-ratio:9/16}
.factory-clip figcaption{display:grid;justify-items:start;gap:5px}
.factory-clip strong{font:400 18px/1.3 Arial,Helvetica,sans-serif}
.factory-clip figcaption>span{font-size:14px;color:var(--muted)}
.factory-clip .text-link{margin-top:4px}

@media(max-width:720px){.office-strip{grid-template-columns:1fr;justify-items:start}}

.external-icon{display:inline-block;width:14px;height:14px;vertical-align:-2px}
@media(min-width:961px){
  .intro,.product-copy p:not(.eyebrow),.section-heading>p,.values p,.contact .contact-enquiry p{font-size:16px}
  .about-layout p{font-size:17px}
  .about-media span{font-size:16px}
  .process p,.factory-clip figcaption>span,.retail-cta p,.office-strip address{font-size:15px}
  .hero-media figcaption,.store p,.office-phones strong,.footer{font-size:14px}
  .process h3{font-size:17px}
  .contact-enquiry h3,.office-strip h3{font-size:18px}
  .text-link,.button{font-size:14px}
  .header-contact{font-size:15px}
  .finder-controls label,#retailer-count,.finder-pages button{font-size:15px}
}

@media(min-width:1200px){
  .section{padding-block:64px}
  .product-copy{padding-block:28px}
  #residential{padding-block:54px}
  #residential .brand-grid{margin-top:20px}
  #residential .retail-cta{margin-top:18px}
  .section-heading{gap:40px;margin-bottom:26px}
  .section-heading>p{max-width:430px}
  .production-lines .section-heading{gap:10px 24px;margin-bottom:18px}
}

@media(min-width:1050px){
  #retailers .section-heading>p{max-width:430px}
  .finder-controls{padding:14px 20px}
  .finder-results{padding:16px 20px}
  .results-heading{margin-bottom:10px}
  .retailers{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .store{padding:11px 14px;gap:4px}
  .finder-pages{margin-top:12px;padding-top:10px}
}

