
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Oswald:wght@500;600&display=swap');
:root{--paper:#f4f0e7;--cream:#e8e1d4;--ink:#17242b;--ink2:#22333b;--soft:#70736f;--line:#22231f1d;--copper:#b85f32;--copper2:#d4773d;--serif:"Libre Baskerville",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--cond:"Oswald",Impact,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.75 var(--sans);overflow-x:hidden}
::selection{background:var(--copper);color:#fff}
.scroll-progress{position:fixed;z-index:100;left:0;top:0;width:0;height:3px;background:var(--copper2);transition:width .05s linear}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}.header{position:fixed;z-index:50;top:0;left:0;right:0;background:#17242bf0;color:#fff;transition:.25s}.header.scrolled{background:#17242bf8;backdrop-filter:blur(10px)}.nav{height:76px;padding:0 6vw;display:flex;align-items:center}.wordmark{display:flex;flex-direction:column;line-height:.9}.wordmark strong{font:600 28px/.85 var(--cond);letter-spacing:.04em}.wordmark small{font-size:7px;letter-spacing:.24em;color:#d7d2c8;margin-top:8px}.header nav{display:flex;gap:32px;margin-left:auto}.header nav a,.header-phone{font-size:10px;text-transform:uppercase;letter-spacing:.13em}.header nav a:hover{color:var(--copper2)}.header-phone{margin-left:35px;padding-left:27px;border-left:1px solid #fff3;color:#e0ab8a}.menu{display:none}.mobile-nav{display:none}
.hero{height:90svh;min-height:680px;position:relative;color:#fff;overflow:hidden}.hero>img{position:absolute;inset:0}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#22231fdc 0%,#22231f75 50%,#22231f12 100%),linear-gradient(0deg,#22231fa0,transparent 58%)}.hero-inner{position:absolute;left:9vw;bottom:13%;max-width:790px}.hero-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:#e1ad8c;font-weight:700}.hero h1{font:500 clamp(70px,8vw,122px)/.87 var(--cond);text-transform:uppercase;letter-spacing:-.025em;margin:17px 0}.hero h1 em{font:400 .57em/1 var(--serif);text-transform:none;color:#f4efe6}.hero-inner>p{max-width:500px;color:#fff9;font-size:17px;margin:25px 0}.hero-link{display:inline-flex;gap:35px;border-bottom:1px solid #fff8;padding-bottom:6px;text-transform:uppercase;letter-spacing:.12em;font-size:10px}.hero-foot{position:absolute;left:9vw;right:6vw;bottom:22px;display:flex;justify-content:space-between;font-size:8px;text-transform:uppercase;letter-spacing:.14em;color:#fff9}
.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.2em;color:var(--copper);font-weight:700;margin:0 0 20px}.eyebrow.light{color:var(--copper2)}h2{font:500 clamp(68px,7.5vw,108px)/.85 var(--cond);text-transform:uppercase;letter-spacing:-.02em;margin:0}h2 em{font:400 .55em/1 var(--serif);text-transform:none;color:var(--copper)}.large-copy{max-width:650px;font-size:19px;line-height:1.9;color:#66655f}
.welcome{display:grid;grid-template-columns:60px 1fr;padding:160px 11vw 165px;background:var(--paper)}.rail{display:flex;flex-direction:column;align-items:center;gap:25px;color:#aaa79e;font:19px var(--cond)}.rail i{width:1px;height:100px;background:var(--line)}.rail span:last-child{font:8px var(--sans);letter-spacing:.15em;writing-mode:vertical-rl}.welcome-copy{max-width:950px}
.shop{padding:150px 9vw;background:var(--ink);color:#fff}.shop-intro{display:flex;justify-content:space-between;gap:100px;align-items:end;margin-bottom:80px}.shop-intro>p{max-width:420px;color:#aaa9a2;font-size:16px;line-height:1.9;margin:0}.shop h2 em{color:var(--copper2)}.shop-image{height:min(55vw,680px);position:relative;max-width:1500px}.shop-image div{position:absolute;left:24px;bottom:22px;color:#fff9;text-transform:uppercase;font-size:9px;letter-spacing:.16em}.categories{max-width:1500px;margin:40px auto 0;border-top:1px solid #fff2}.categories a{display:grid;grid-template-columns:45px 1fr 1fr 20px;gap:20px;align-items:center;padding:23px 0;border-bottom:1px solid #fff2}.categories span{font:20px var(--cond);color:var(--copper2)}.categories strong{font:500 24px var(--cond);text-transform:uppercase}.categories small{color:#999991;font-size:12px}.categories b{font-weight:400;color:#aaa}
.statement{display:grid;grid-template-columns:.55fr 1fr;gap:100px;padding:165px 11vw;background:var(--cream)}.statement-word{font:600 clamp(60px,7vw,100px)/.8 var(--cond);color:#d1cabd;letter-spacing:-.03em}.statement-copy{max-width:720px}.statement-copy>p:last-child{font-size:18px;line-height:1.9;color:#66655f;max-width:600px;margin-top:32px}
.brands{padding:155px 8vw;background:var(--paper)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:100px;margin-bottom:75px}.section-head>p{max-width:420px;color:#68675f;font-size:16px;line-height:1.9;margin:0}.brand-list{max-width:1500px;margin:auto;border-top:1px solid #c9c3b7}.brand{display:grid;grid-template-columns:170px 1fr 150px;align-items:center;min-height:125px;border-bottom:1px solid #c9c3b7;transition:.2s}.brand>div{height:90px;display:flex;align-items:center}.brand img{height:65px;object-fit:contain;filter:grayscale(1);opacity:.58;transition:.2s}.brand span{font:500 24px var(--cond);text-transform:uppercase}.brand b{justify-self:end;font-size:8px;text-transform:uppercase;letter-spacing:.1em;color:#858178;font-weight:600}.brand:hover{padding-left:15px;background:#eee9df}.brand:hover img{filter:none;opacity:1}.brand:hover b{color:var(--copper)}
.gallery{padding:155px 8vw;background:#1c2b32;color:#fff}.gallery-top{display:flex;justify-content:space-between;align-items:end;gap:100px;margin-bottom:70px}.gallery-top>div:last-child{max-width:440px}.gallery-top>div:last-child>p{color:#aaa9a2;font-size:16px}.gallery-top h2 em{color:var(--copper2)}.gallery-controls{display:flex;align-items:center;gap:10px;color:#aaa9a2;font-size:10px}.gallery-controls button{width:42px;height:42px;border:1px solid #fff3;background:transparent;color:#fff;cursor:pointer}.gallery-controls button:hover{border-color:var(--copper2);color:var(--copper2)}.gallery-stage{height:min(60vw,700px);min-height:440px;position:relative;overflow:hidden;background:#152229;display:flex;align-items:center;justify-content:center}.slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .7s;padding:35px}.slide.active{opacity:1}.slide img{width:auto;height:auto;max-width:68%;max-height:80%;object-fit:contain;box-shadow:0 20px 55px #0009}.slide:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at center,transparent 45%,#0003)}.slide span{position:absolute;right:4%;bottom:4%;font:22px var(--cond);color:#fff8}.thumbs{display:grid;grid-template-columns:repeat(19,1fr);gap:3px;margin-top:7px}.thumb{border:0;padding:0;height:60px;background:#000;opacity:.3;cursor:pointer;overflow:hidden}.thumb img{width:100%;height:100%;object-fit:cover}.thumb.active{opacity:1;outline:2px solid var(--copper2);outline-offset:-2px}
.advice{display:grid;grid-template-columns:1.2fr .8fr;min-height:610px;background:var(--paper)}.advice-copy{padding:145px 11vw}.advice-copy>p:not(.eyebrow){max-width:530px;color:#67665f;font-size:18px;line-height:1.9;margin:30px 0}.outline-link{display:inline-block;border-bottom:1px solid var(--copper);padding-bottom:6px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;color:var(--copper)}.advice-note{background:var(--copper);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:80px}.advice-note span{font-size:9px;letter-spacing:.2em;margin-bottom:25px}.advice-note strong{font:400 clamp(50px,6vw,86px)/.9 var(--serif)}
.waters{display:grid;grid-template-columns:1fr .85fr;gap:120px;padding:145px 11vw;background:#e5e3dc}.waters>div:first-child>p:last-child{max-width:500px;color:#68675f;font-size:17px;margin-top:30px}.water-list{border-top:1px solid var(--line)}.water-list div{display:grid;grid-template-columns:45px 1fr 20px;gap:15px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line)}.water-list span{font:20px var(--cond);color:var(--copper)}.water-list strong{text-transform:uppercase;font-size:14px;letter-spacing:.08em}.water-list b{font-weight:400}
.visit{background:var(--ink);color:#fff}.visit-top{display:grid;grid-template-columns:1fr .85fr;gap:120px;padding:145px 11vw 75px}.visit-top h2 em{color:var(--copper2)}.visit-top>div:first-child>p:last-child{color:#aaa9a2;font-size:17px;line-height:1.9;margin-top:30px}.contact{align-self:end}.contact>small{display:block;color:#d09a78;font-size:8px;text-transform:uppercase;letter-spacing:.18em}.contact>a{display:block;font:42px var(--cond);margin:8px 0 35px}.hours{border-top:1px solid #fff2;padding-top:22px;display:grid;grid-template-columns:1fr 1fr;font-size:13px;color:#bcbcb4}.hours small{grid-column:1/-1;color:#d09a78;font-size:8px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:10px}.hours b{text-align:right;color:#fff;font-weight:400}.map{height:540px}.map iframe{width:100%;height:100%;border:0;filter:none!important}.directions{display:flex;justify-content:space-between;background:var(--copper2);color:#fff;padding:19px 11vw;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:700}
footer{background:#142027;color:#fff;padding:65px 8vw 25px}.footer-main{display:grid;grid-template-columns:1fr 1fr 1fr;gap:70px;align-items:end}.footer-wordmark{font:600 40px/.8 var(--cond)}.footer-wordmark small{display:block;font:7px var(--sans);letter-spacing:.24em;margin-top:10px;color:#aaa99f}.footer-main>p{color:#999890;font-size:13px}.footer-links{display:flex;justify-content:flex-end;gap:22px;flex-wrap:wrap}.footer-links a{text-transform:uppercase;font-size:9px;letter-spacing:.11em}.footer-bottom{border-top:1px solid #fff2;margin-top:60px;padding-top:18px;display:flex;justify-content:space-between;color:#777870;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.mobile-call{display:none}
@media(max-width:900px){.nav{height:72px;padding:0 20px}.header nav,.header-phone{display:none}.menu{display:block;margin-left:auto;background:transparent;border:1px solid #fff5;color:#fff;padding:9px 12px;font-size:9px;text-transform:uppercase}.mobile-nav{position:absolute;top:72px;left:0;right:0;background:var(--ink);padding:8px 20px}.mobile-nav.open{display:flex;flex-direction:column}.mobile-nav a{padding:13px 0;border-bottom:1px solid #fff2;text-transform:uppercase;letter-spacing:.1em;font-size:10px}.hero{min-height:650px}.hero-inner{left:7vw;right:7vw}.hero h1{font-size:15vw}.welcome,.statement,.waters{grid-template-columns:1fr;gap:45px;padding:100px 7vw}.shop{padding:100px 7vw}.shop-intro,.section-head,.gallery-top,.visit-top{display:grid;grid-template-columns:1fr;gap:30px}.shop-image{height:58vw;min-height:360px}.categories a{grid-template-columns:40px 1fr 20px}.categories small{display:none}.brands,.gallery{padding:100px 7vw}.brand{grid-template-columns:130px 1fr 100px}.brand span{font-size:21px}.brand-list{width:100%}.gallery-stage{height:60vw;min-height:320px}.slide img{max-width:78%;max-height:75%}.thumbs{grid-template-columns:repeat(12,1fr)}.thumb{height:48px}.advice{grid-template-columns:1fr}.advice-copy{padding:100px 7vw}.advice-note{min-height:360px;padding:70px 7vw}.visit-top{padding:100px 7vw 60px}.map{height:420px}.directions{padding:18px 7vw}.footer-main{grid-template-columns:1fr}.footer-links{justify-content:flex-start}.footer-bottom{flex-direction:column;gap:8px}.mobile-call{display:block;position:fixed;z-index:60;left:12px;right:12px;bottom:12px;background:var(--copper2);color:#fff;text-align:center;padding:14px;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}}
@media(max-width:600px){body{font-size:16px}.hero h1{font-size:18vw}.hero-inner>p{font-size:15px}.manifesto h2,.welcome h2,.shop h2,.statement h2,.brands h2,.gallery h2,.advice h2,.waters h2,.visit h2{font-size:58px}.brand{grid-template-columns:95px 1fr}.brand b{display:none}.brand-logo{height:70px}.brand img{height:52px}.gallery-stage{height:70vw;min-height:245px}.slide img{max-width:85%;max-height:75%}.thumbs{grid-template-columns:repeat(8,1fr)}.thumb{height:40px}.contact>a{font-size:34px}.hours{font-size:12px}}

/* V18 polish */
.hero{isolation:isolate}.hero>img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.hero:hover>img{transform:scale(1.018)}
.hero-inner{animation:heroIn .8s cubic-bezier(.2,.8,.2,1) both}.hero-kicker{animation:fadeUp .7s .08s both}.hero h1{animation:fadeUp .8s .15s both}.hero-inner>p{animation:fadeUp .8s .23s both}.hero-actions{animation:fadeUp .8s .31s both}
.hero-actions{display:flex;align-items:center;gap:30px}.hero-location{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:#fff8;border-bottom:1px solid #fff4;padding-bottom:5px;transition:.2s}.hero-location:hover{color:#fff;border-color:#fff}
.hero-link{transition:.2s}.hero-link:hover{color:#e0aa88;border-color:#e0aa88}
.welcome,.statement,.brands,.advice,.waters{position:relative}.welcome:before,.statement:before,.brands:before,.advice:before,.waters:before{content:"";position:absolute;left:11vw;right:11vw;top:0;height:1px;background:var(--line)}
.welcome-copy{padding-top:3px}.welcome .large-copy{margin-top:34px}
.shop{position:relative}.shop-image{overflow:hidden}.shop-image img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.shop-image:hover img{transform:scale(1.025)}
.categories a{transition:padding .25s,background .25s}.categories a:hover{padding-left:15px;background:#ffffff08}.categories a:hover strong{color:#fff}.categories b{transition:transform .2s,color .2s}.categories a:hover b{transform:translateX(4px);color:var(--copper2)}
.statement-copy{padding-top:3px}.statement-word{position:relative}.statement-word:after{content:"";display:block;width:54px;height:2px;background:var(--copper);margin-top:34px}
.brand{transition:padding .25s,background .25s}.brand>div{padding-left:0;transition:padding .25s}.brand:hover>div{padding-left:8px}.brand span{transition:color .2s}.brand:hover span{color:var(--copper)}
.gallery-stage{box-shadow:0 25px 70px #0002}.slide img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}.slide.active img{animation:photoIn .8s cubic-bezier(.2,.7,.2,1)}.thumb{transition:opacity .2s,transform .2s}.thumb:hover{opacity:.85;transform:translateY(-2px)}
.advice-note{position:relative;overflow:hidden}.advice-note:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #fff3;border-radius:50%;right:-100px;bottom:-110px}.outline-link{transition:.2s}.outline-link:hover{color:var(--ink);border-color:var(--ink)}
.water-list div{transition:padding .22s,background .22s}.water-list div:hover{padding-left:12px;background:#ffffff2a}.water-list b{transition:transform .2s}.water-list div:hover b{transform:translateX(4px)}
.contact>a{transition:color .2s}.contact>a:hover{color:var(--copper2)}
.directions{transition:background .2s}.directions:hover{background:#d18b65}
footer a{transition:color .2s}.footer-links a:hover,.footer-bottom a:hover{color:var(--copper2)}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes photoIn{from{opacity:.7;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.hero-actions{align-items:flex-start;flex-direction:column;gap:16px}.hero-location{display:none}.welcome:before,.statement:before,.brands:before,.advice:before,.waters:before{left:7vw;right:7vw}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* High-resolution gallery originals */
.gallery-stage .slide img{
  width:auto;
  height:auto;
  max-width:88%;
  max-height:88%;
  object-fit:contain;
  image-rendering:auto;
}
.gallery-stage .slide.active img{will-change:transform,opacity}

/* V20: gallery count is now 10; keep originals uncropped. */
.gallery-stage .slide img{max-width:88%;max-height:88%;width:auto;height:auto;object-fit:contain;}

/* V23 — bespoke polish */
.hero-mark{position:absolute;right:7vw;top:19%;width:92px;height:92px;border:1px solid #fff7;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-8deg);color:#fff;z-index:2}.hero-mark span{font:500 34px/.8 var(--cond);letter-spacing:.04em}.hero-mark small{font-size:6px;letter-spacing:.17em;margin-top:7px;color:#e2c2ae}
.targets{padding:145px 9vw;background:var(--paper);position:relative}.targets:before{content:"";position:absolute;left:9vw;right:9vw;top:0;height:1px;background:var(--line)}.targets-head{display:flex;justify-content:space-between;align-items:end;gap:100px;margin-bottom:65px}.targets-head>p{max-width:430px;color:#696861;font-size:16px;line-height:1.9;margin:0}.target-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#c9c3b7}.target-card{min-height:300px;background:#ebe6dc;padding:30px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:.3s}.target-card:after{content:"";position:absolute;width:210px;height:210px;border:1px solid #17242b14;border-radius:50%;right:-80px;bottom:-85px;transition:.4s}.target-card:hover{background:#17242b;color:#fff;padding:35px}.target-card:hover:after{border-color:#d4773d55;transform:scale(1.25)}.target-number{font:20px var(--cond);color:var(--copper)}.target-card h3{font:500 48px/.9 var(--cond);text-transform:uppercase;margin:0 0 12px}.target-card p{margin:0;color:#74736b;font-size:12px}.target-card:hover p{color:#aeb2ad}.target-card>b{font-size:9px;text-transform:uppercase;letter-spacing:.12em;align-self:flex-end;color:var(--copper)}.statement{padding-top:150px}
.journal{background:var(--cream);padding:145px 9vw}.journal-inner{display:grid;grid-template-columns:.75fr 1fr;gap:120px;align-items:start}.journal-list{border-top:1px solid var(--line)}.journal-list article{display:grid;grid-template-columns:45px 1fr 25px;gap:18px;align-items:start;padding:27px 0;border-bottom:1px solid var(--line);transition:.25s}.journal-list article:hover{padding-left:10px}.journal-list span{font:19px var(--cond);color:var(--copper)}.journal-list small{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:var(--copper)}.journal-list h3{font:500 27px var(--cond);text-transform:uppercase;margin:4px 0}.journal-list p{font-size:13px;color:#72716a;margin:0}.journal-list b{font-weight:400}
.brands .brand-list{counter-reset:brand}.brand:before{counter-increment:brand;content:counter(brand,decimal-leading-zero);font:16px var(--cond);color:#aaa59b;width:35px}.brand{grid-template-columns:35px 135px 1fr 150px}.brand>div{grid-column:2}.brand span{grid-column:3}.brand b{grid-column:4}
@media(max-width:900px){.hero-mark{right:7vw;top:17%;width:72px;height:72px}.hero-mark span{font-size:27px}.targets,.journal{padding:100px 7vw}.targets:before{left:7vw;right:7vw}.targets-head,.journal-inner{grid-template-columns:1fr;display:grid;gap:30px}.target-grid{grid-template-columns:1fr}.target-card{min-height:230px}.brand{grid-template-columns:30px 105px 1fr}.brand>div{grid-column:2}.brand span{grid-column:3}.brand b{display:none}.statement{padding-top:100px}}
@media(max-width:600px){.hero-mark{width:58px;height:58px;top:18%;right:7vw}.hero-mark span{font-size:22px}.hero-mark small{font-size:5px}.target-card h3{font-size:42px}.journal-list h3{font-size:24px}}

/* V24 — visual brand wall */
.brand-wall{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:#d0c9bc}
.brand-tile{min-height:190px;background:#f8f5ed;padding:25px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;transition:background .25s,transform .25s}.brand-tile:after{content:"";position:absolute;width:130px;height:130px;border:1px solid #17242b0d;border-radius:50%;right:-58px;bottom:-60px;transition:.4s}.brand-tile-logo{height:105px;display:flex;align-items:center;justify-content:center}.brand-tile-logo img{width:100%;height:75px;object-fit:contain;filter:grayscale(1);opacity:.52;transition:filter .25s,opacity .25s,transform .35s}.brand-tile-foot{display:flex;justify-content:space-between;align-items:end;gap:10px;position:relative;z-index:1}.brand-tile-foot span{font:500 17px var(--cond);text-transform:uppercase;color:#333b3d}.brand-tile-foot b{font-size:13px;font-weight:400;color:#a6a198;transition:transform .2s,color .2s}.brand-tile:hover{background:#fff;transform:translateY(-3px);z-index:2;box-shadow:0 15px 35px #17242b12}.brand-tile:hover:after{transform:scale(1.3);border-color:#d4773d33}.brand-tile:hover .brand-tile-logo img{filter:none;opacity:1;transform:scale(1.04)}.brand-tile:hover .brand-tile-foot b{color:var(--copper2);transform:translate(3px,-2px)}
@media(max-width:1000px){.brand-wall{grid-template-columns:repeat(4,1fr)}}
@media(max-width:750px){.brand-wall{grid-template-columns:repeat(3,1fr)}.brand-tile{min-height:160px;padding:18px}.brand-tile-logo{height:80px}.brand-tile-logo img{height:58px}.brand-tile-foot span{font-size:15px}}
@media(max-width:520px){.brand-wall{grid-template-columns:repeat(2,1fr)}.brand-tile{min-height:145px}.brand-tile-logo{height:70px}.brand-tile-logo img{height:50px}.brand-tile-foot span{font-size:14px}.brand-tile-foot b{font-size:11px}}

.brand-text-logo{flex-direction:column;gap:5px;color:#26343a;justify-content:center}
.brand-text-logo strong{font:600 30px/.9 var(--cond);letter-spacing:.04em}
.brand-text-logo small{font:600 7px/1 var(--sans);letter-spacing:.22em;color:#777870}
.brand-tile:hover .brand-text-logo strong{color:var(--copper)}

/* V26 — remove the empty-grid colour block */
.brand-wall{
  background:transparent;
  gap:12px;
}
.brand-tile{
  border:1px solid #d0c9bc;
  background:#f8f5ed;
}
.brand-tile:hover{
  background:#fff;
}
@media(max-width:1000px){
  .brand-wall{gap:10px}
}
@media(max-width:750px){
  .brand-wall{gap:8px}
}

/* V29 — gallery restored + lightbox */
.gallery-stage .slide{cursor:zoom-in}
.lightbox{position:fixed;inset:0;z-index:200;background:#10181cf7;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s,visibility .25s;padding:5vw}.lightbox.open{opacity:1;visibility:visible;pointer-events:auto}.lightbox figure{margin:0;width:min(1200px,88vw);height:88vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.lightbox img{width:auto;height:auto;max-width:100%;max-height:calc(100% - 35px);object-fit:contain;box-shadow:0 30px 90px #0009}.lightbox figcaption{width:100%;display:flex;justify-content:space-between;color:#c5c8c3;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.lightbox-count{color:var(--copper2)}.lightbox button{position:absolute;background:transparent;border:1px solid #fff3;color:#fff;width:46px;height:46px;cursor:pointer;font-size:17px;transition:.2s}.lightbox button:hover{border-color:var(--copper2);color:var(--copper2)}.lightbox-close{right:25px;top:25px;font-size:28px!important}.lightbox-prev{left:25px;top:50%;transform:translateY(-50%)}.lightbox-next{right:25px;top:50%;transform:translateY(-50%)}
.gallery-stage .slide img{transition:transform .45s ease}.gallery-stage .slide.active:hover img{transform:scale(1.012)}
@media(max-width:600px){.lightbox{padding:18px}.lightbox figure{width:100%;height:82vh}.lightbox-close{right:12px;top:12px}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox button{width:40px;height:40px}.lightbox figcaption{font-size:8px}.gallery-stage .slide img{max-width:92%;max-height:84%}}

/* V30 — gallery without counter */
.gallery-controls{justify-content:flex-end}.gallery-controls button{margin-left:4px}

.brand-tile-logo img{max-width:100%;object-fit:contain}

/* V33 — readability pass: increase small supporting text */
:root{
  --body-small:15px;
  --body-tiny:12px;
}
.hero-kicker{font-size:12px;letter-spacing:.14em}
.hero-inner p{font-size:17px;line-height:1.75}
.hero-location{font-size:12px}
.hero-foot{font-size:11px}
.eyebrow{font-size:11px;letter-spacing:.16em}
.section-head>p,.targets-head>p{font-size:17px;line-height:1.8}
.target-card p{font-size:14px;line-height:1.5}
.target-card>b{font-size:11px}
.brand-tile-foot span{font-size:18px}
.brand-tile-foot b{font-size:14px}
.gallery-controls button{font-size:16px}
.gallery-caption,.gallery-controls{font-size:12px}
.journal-list small{font-size:10px}
.journal-list p{font-size:15px;line-height:1.7}
.water-list div{font-size:15px}
.water-list span{font-size:12px}
.water-list b{font-size:13px}
.waters>p,.visit p,.advice p{font-size:16px;line-height:1.8}
.visit .phone,.visit a{font-size:16px}
.footer,.footer a{font-size:12px}
.mobile-nav a{font-size:16px}
.lightbox figcaption{font-size:11px}
@media(max-width:600px){
  .hero-kicker{font-size:10px}
  .hero-inner p{font-size:16px}
  .hero-location{font-size:11px}
  .eyebrow{font-size:10px}
  .section-head>p,.targets-head>p{font-size:16px}
  .target-card p{font-size:14px}
  .brand-tile-foot span{font-size:16px}
  .journal-list p{font-size:14px}
  .waters>p,.visit p,.advice p{font-size:15px}
}

/* V34 — professional finish */
.shop-moment{display:grid;grid-template-columns:1.15fr .85fr;min-height:680px;background:#17242b;color:#fff}.shop-moment-image{min-height:680px;overflow:hidden}.shop-moment-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.92)}.shop-moment-copy{padding:9vw 8vw;display:flex;flex-direction:column;justify-content:center}.shop-moment-copy h2{font-size:clamp(56px,6vw,100px);line-height:.84;margin:16px 0 30px}.shop-moment-copy p:not(.eyebrow){font-size:18px;line-height:1.8;color:#c2c8c6;max-width:440px}.text-link{margin-top:24px;color:#fff;text-transform:uppercase;letter-spacing:.12em;font-size:12px;text-decoration:none}.text-link b{color:var(--copper2);margin-left:8px;font-size:16px}.visit-actions{display:flex;gap:10px;margin:32px 0 10px;max-width:650px}.visit-action{flex:1;border:1px solid #b9b3a633;padding:18px 20px;text-decoration:none;display:flex;flex-direction:column;gap:7px;background:#f7f3eb;transition:.25s}.visit-action span{text-transform:uppercase;letter-spacing:.12em;font-size:10px;color:#72736e}.visit-action b{font:500 22px var(--cond);color:#17242b}.visit-action:hover{transform:translateY(-3px);border-color:var(--copper2)}.visit-action.primary{background:#17242b;border-color:#17242b}.visit-action.primary span,.visit-action.primary b{color:#fff}.visit-action.primary b{color:#e0a078}
@media(max-width:850px){.shop-moment{grid-template-columns:1fr}.shop-moment-image{height:58vw;min-height:280px;max-height:480px}.shop-moment-copy{padding:80px 7vw}.visit-actions{flex-direction:column}}
@media(max-width:600px){.shop-moment-copy{padding:70px 7vw}.shop-moment-copy h2{font-size:56px}.shop-moment-copy p:not(.eyebrow){font-size:16px}.visit-actions{margin-top:25px}.visit-action{padding:16px}.visit-action b{font-size:20px}}

/* V35 production polish */
:focus-visible{outline:2px solid var(--copper2,#d4773d);outline-offset:4px}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
img{max-width:100%}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media(max-width:700px){.gallery-controls button,.thumb{min-width:44px;min-height:44px}}
html,body{overflow-x:hidden}

/* V36 — premium interaction + local discovery */
.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}
.why-netbuster{padding:140px 9vw;background:#17242b;color:#fff;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:end}.why-head h2{font-size:clamp(58px,6vw,96px);line-height:.84;margin:15px 0 28px}.why-head>p:last-child{font-size:17px;line-height:1.8;color:#bec5c2;max-width:430px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff22}.why-grid article{min-height:280px;background:#1b2b33;padding:28px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.why-grid article:hover{background:#223740;transform:translateY(-4px)}.why-grid span{font:18px var(--cond);color:#d4773d}.why-grid h3{font:500 38px var(--cond);text-transform:uppercase;margin:0}.why-grid p{font-size:14px;line-height:1.7;color:#b8c0bd;margin:0}
.brand-tools{display:flex;justify-content:space-between;align-items:center;margin:0 auto 22px;max-width:1500px}.brand-count{font:14px var(--cond);text-transform:uppercase;letter-spacing:.08em;color:#6e706c}.brand-count b{color:var(--copper2);font-size:20px;margin-right:5px}.brand-tools label{display:flex;align-items:center;border-bottom:1px solid #bcb6aa;width:260px}.brand-tools input{border:0;background:transparent;padding:10px 4px;width:100%;font:15px var(--sans);outline:0;color:#17242b}.brand-tools label>b{font-size:18px;color:#888}.brand-tile.brand-hidden{display:none}.brand-empty{text-align:center;margin:35px 0;color:#72736d;font-size:16px}
@media(max-width:900px){.why-netbuster{grid-template-columns:1fr;gap:50px;padding:105px 7vw}.why-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:650px){.why-grid{grid-template-columns:1fr}.why-grid article{min-height:190px}.brand-tools{align-items:flex-start;gap:20px;flex-direction:column}.brand-tools label{width:100%}}

/* V37 — brand directory */
.brand-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;align-items:end;max-width:1500px;margin:0 auto 55px}.brand-intro h2{font-size:clamp(58px,6vw,94px);line-height:.84;margin:15px 0 0}.brand-intro>p{font-size:17px;line-height:1.8;color:#6d6f69;max-width:500px;margin:0}.brand-tools-v37{max-width:1500px;margin:0 auto 24px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand-filters{display:flex;gap:6px;flex-wrap:wrap}.brand-filter{appearance:none;border:1px solid #c9c2b6;background:transparent;padding:10px 17px;font:11px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#5f625e;cursor:pointer;transition:.2s}.brand-filter:hover,.brand-filter.active{background:#17242b;border-color:#17242b;color:#fff}.brand-wall-v37{margin-top:0}.brand-tile-v37-hidden{display:none!important}.brand-empty{text-align:center;margin:35px 0;color:#70726c;font-size:16px}.brand-count{white-space:nowrap}
@media(max-width:800px){.brand-intro{grid-template-columns:1fr;gap:25px;margin-bottom:40px}.brand-tools-v37{align-items:flex-start;flex-direction:column;gap:18px}.brand-count{font-size:13px}}
@media(max-width:500px){.brand-filters{width:100%}.brand-filter{flex:1;padding:11px 8px;font-size:10px}.brand-intro>p{font-size:16px}}

/* V38 — exact owner-defined brand categories */
.brand-filter[data-filter="predator"]{border-color:#9a7057}
@media(max-width:650px){.brand-filters{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.brand-filter{width:100%}}

/* V44 — refined neutral palette */
:root{
  --ink:#17242B;
  --navy:#17242B;
  --copper:#C87543;
  --copper2:#C87543;
  --sand:#F4F0E8;
  --stone:#E7E2D8;
  --paper:#FAF8F3;
  --charcoal:#252A2C;
}
body{background:var(--paper);color:var(--ink)}
.site-header,.nav,.mobile-nav{background:var(--navy)}
.hero,.shop-moment,.why-netbuster{background:var(--navy)}
.brands,.gallery,.waters,.advice,.visit{background:var(--sand)}
.section-alt,.brand-tools,.gallery-thumbs{background:var(--stone)}
.brand-filter:hover,.brand-filter.active{background:var(--navy);border-color:var(--navy)}
.brand-filter{border-color:#bdb6a9;color:#555b58}
.brand-tile{background:var(--paper);border-color:#d3cdc1}
.brand-tile:hover{background:#fff}
.brand-tile-foot b,.text-link b,.lightbox-count,.brand-count b{color:var(--copper)}
.eyebrow{color:var(--copper)}
.visit-action.primary{background:var(--navy);border-color:var(--navy)}
.visit-action.primary b{color:var(--copper)}
.shop-moment-copy .eyebrow,.why-head .eyebrow{color:var(--copper)}
a:hover{color:var(--copper)}

/* V45 — stronger section rhythm */
.brands{background:var(--stone)}
.gallery{background:var(--sand)}

/* V46 — Find Us section colour reset */
.visit{
  background:var(--navy);
  color:#fff;
}
.visit .eyebrow{color:var(--copper)}
.visit p,
.visit .section-head>p{color:#c4cbc8}
.visit a{color:#fff}
.visit .visit-action{background:var(--paper);color:var(--ink)}
.visit .visit-action.primary{background:var(--copper);border-color:var(--copper)}
.visit .visit-action.primary span,
.visit .visit-action.primary b{color:#fff}
.visit .map{background:var(--stone)}

/* V47 — gallery controls visible on light background */
.gallery-controls button{
  color:var(--ink);
  border-color:#8f8a80;
  background:rgba(250,248,243,.88);
}
.gallery-controls button:hover{
  color:#fff;
  border-color:var(--navy);
  background:var(--navy);
}

/* V48 — QA / mobile / performance polish */
*{box-sizing:border-box}
button,a{touch-action:manipulation}
.map{min-height:420px;overflow:hidden}
.gallery-stage{overflow:hidden}
@media(max-width:900px){
  .hero-inner{max-width:100%}
  .section-head,.targets-head{gap:30px}
  .gallery-stage{min-height:52vw}
  .map{min-height:360px}
}
@media(max-width:600px){
  .map{min-height:300px}
  .gallery-controls{gap:8px}
  .gallery-controls button{min-width:44px;min-height:44px}
  .visit-action{min-height:72px}
  .brand-tile{min-height:140px}
  .brand-filter{min-height:44px}
}

/* V49 — mobile hero refinement */
@media(max-width:600px){
  .hero{
    min-height:78vh;
    height:auto;
  }
  .hero-bg img{
    object-position:58% center;
  }
  .hero-inner{
    min-height:78vh;
    padding-top:88px;
    padding-bottom:120px;
  }
  .hero-inner h1{
    max-width:95%;
  }
  .hero-inner p{
    max-width:94%;
  }
  .hero-foot{
    bottom:34px;
  }
  }

/* Desktop remains unchanged by the mobile hero rules. */
@media(min-width:601px){
  .hero{min-height:var(--hero-height,88vh)}
}

/* V49b — final mobile hero crop correction */
@media(max-width:600px){
  .hero>img{
    object-position:64% 48%;
  }
  .hero-inner{
    min-height:78vh;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding-top:90px;
    padding-bottom:115px;
  }
  .hero-inner h1{margin-bottom:20px}
  .hero-inner p{margin-bottom:26px}
  .hero-foot{bottom:30px}
}

/* V50 — preserve the complete exterior photograph on tablet/mobile.
   Do not use cover/cropping below desktop. */
@media (max-width: 1024px){
  .hero{
    height:auto;
    min-height:0;
    display:flex;
    flex-direction:column;
    position:relative;
    background:var(--navy);
  }
  .hero>img{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
  }
  .hero-shade{
    position:absolute !important;
    inset:0 0 auto 0 !important;
    height:auto !important;
    aspect-ratio:auto;
    pointer-events:none;
  }
  .hero-inner{
    position:absolute !important;
    left:0;
    right:0;
    bottom:0;
    min-height:0 !important;
    padding:34px 7vw 76px !important;
    justify-content:flex-end !important;
  }
  .hero-foot{
    position:absolute !important;
    left:0;
    right:0;
    bottom:0;
    padding:0 7vw 18px;
  }
}
@media (max-width:600px){
  .hero>img{
    /* The image itself determines the hero height, so nothing is cropped. */
    height:auto !important;
  }
  .hero-inner{
    padding:28px 7vw 70px !important;
  }
}

/* V51 — phone hero: preserve the full photo, move copy into a full-height text panel */
@media(max-width:600px){
  .hero{
    display:flex;
    flex-direction:column;
    height:auto !important;
    min-height:0 !important;
    overflow:visible;
    background:var(--navy);
  }
  .hero>img{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    display:block !important;
    object-fit:contain !important;
    object-position:center !important;
    flex:none;
  }
  .hero-shade{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    height:100vw !important;
    background:linear-gradient(180deg,rgba(23,36,43,.08),rgba(23,36,43,.30)) !important;
    pointer-events:none;
  }
  .hero-inner{
    position:relative !important;
    inset:auto !important;
    min-height:0 !important;
    padding:42px 7vw 34px !important;
    display:block !important;
    background:var(--navy);
  }
  .hero-kicker{margin-bottom:16px}
  .hero-inner h1{
    margin:0 0 18px !important;
    font-size:clamp(58px,17vw,78px) !important;
    line-height:.84 !important;
  }
  .hero-inner>p{
    max-width:100% !important;
    margin:0 0 28px !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }
  .hero-actions{
    margin-bottom:0;
  }
  .hero-foot{
    position:relative !important;
    inset:auto !important;
    padding:0 7vw 22px !important;
    background:var(--navy);
    display:flex;
  }
  .hero-mark{
    top:16px !important;
    right:7vw !important;
  }
}

/* V52 — phone hero: photo first, copy second. Nothing gets clipped. */
@media(max-width:600px){
  .hero{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:var(--navy) !important;
  }
  .hero>img{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
  }
  .hero-shade{
    position:absolute !important;
    inset:0 0 auto 0 !important;
    height:auto !important;
    aspect-ratio:3 / 2 !important;
    background:linear-gradient(180deg,rgba(23,36,43,.03),rgba(23,36,43,.22)) !important;
  }
  .hero-inner{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    inset:auto !important;
    min-height:0 !important;
    padding:34px 7vw 30px !important;
    background:var(--navy) !important;
    display:block !important;
  }
  .hero-kicker{
    margin:0 0 14px !important;
  }
  .hero-inner h1{
    margin:0 0 18px !important;
    font-size:clamp(54px,16vw,74px) !important;
    line-height:.86 !important;
  }
  .hero-inner>p{
    margin:0 0 26px !important;
    max-width:none !important;
    font-size:15px !important;
    line-height:1.55 !important;
  }
  .hero-actions{
    margin:0 !important;
  }
  .hero-foot{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    inset:auto !important;
    padding:0 7vw 22px !important;
    background:var(--navy) !important;
  }
  .hero-mark{
    top:16px !important;
    right:7vw !important;
  }
}

/* V53 — phone hero copy: explicit visibility */
@media(max-width:600px){
  .hero-inner{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    width:100% !important;
    height:auto !important;
    overflow:visible !important;
    z-index:5 !important;
    color:#fff !important;
  }
  .hero-inner .hero-kicker,
  .hero-inner h1,
  .hero-inner>p,
  .hero-inner .hero-actions,
  .hero-inner .hero-location{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .hero-inner h1{color:#fff !important}
  .hero-inner h1 em{color:#fff !important}
  .hero-inner>p{color:#d2d6d4 !important}
  .hero-inner .hero-link,
  .hero-inner .hero-location{color:#fff !important}
}

/* V54 — consistent full-photo hero for tablet + phone */
@media(max-width:1024px){
  .hero{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
    background:var(--navy) !important;
  }
  .hero>img{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center !important;
    display:block !important;
  }
  .hero-shade{
    position:absolute !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    bottom:auto !important;
    height:auto !important;
    aspect-ratio:3 / 2 !important;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(23,36,43,.03),rgba(23,36,43,.22)) !important;
  }
  .hero-inner{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    padding:42px 7vw 34px !important;
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    overflow:visible !important;
    background:var(--navy) !important;
    color:#fff !important;
    z-index:5 !important;
  }
  .hero-inner .hero-kicker,
  .hero-inner h1,
  .hero-inner>p,
  .hero-inner .hero-actions,
  .hero-inner .hero-location{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .hero-inner h1{
    font-size:clamp(62px,9vw,92px) !important;
    line-height:.86 !important;
    margin:0 0 22px !important;
  }
  .hero-inner>p{
    font-size:17px !important;
    line-height:1.55 !important;
    max-width:620px !important;
    margin:0 0 30px !important;
    color:#d2d6d4 !important;
  }
  .hero-actions{margin:0 !important}
  .hero-foot{
    position:relative !important;
    inset:auto !important;
    padding:0 7vw 26px !important;
    background:var(--navy) !important;
    color:#fff !important;
    display:flex !important;
  }
  .hero-mark{
    top:18px !important;
    right:7vw !important;
  }
}
@media(max-width:600px){
  .hero-inner{padding:34px 7vw 30px !important}
  .hero-inner h1{
    font-size:clamp(54px,16vw,74px) !important;
  }
  .hero-inner>p{
    font-size:15px !important;
  }
  .hero-foot{padding-bottom:22px !important}
}

/* V55 — phone: render the source photo at its exact aspect ratio */
@media(max-width:600px){
  .hero{
    height:auto !important;
    min-height:0 !important;
    overflow:visible !important;
  }
  .hero>img{
    width:100vw !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:initial !important;
    object-position:initial !important;
    transform:none !important;
  }
  .hero-shade{
    height:calc(100vw * 0.667) !important;
    aspect-ratio:auto !important;
  }
}

/* V56 — exact source aspect ratio: 1366 × 674 */
@media(max-width:600px){
  .hero-shade{
    height:49.34vw !important;
  }
}

/* V57 — dedicated phone photo element, exact source ratio */
.hero-mobile-photo{display:none}

@media(max-width:600px){
  /* Hide the old hero image only on phones. */
  .hero>img:not(.hero-mobile-photo img){
    display:none !important;
  }
  .hero-mobile-photo{
    display:block !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
    overflow:visible !important;
    background:var(--navy);
  }
  .hero-mobile-photo img{
    display:block !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    max-width:none !important;
    aspect-ratio:auto !important;
    object-fit:fill !important;
    object-position:initial !important;
    position:relative !important;
    inset:auto !important;
    margin:0 !important;
    padding:0 !important;
  }
  .hero-shade{
    height:49.34vw !important;
  }
}

/* V58 — force the actual 1366:674 source ratio on phones */
@media(max-width:600px){
  .hero-mobile-photo{
    display:block !important;
    width:100% !important;
    height:49.34vw !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }
  .hero-mobile-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    min-width:100% !important;
    min-height:100% !important;
    object-fit:fill !important;
    object-position:center !important;
    position:relative !important;
    inset:auto !important;
  }
}

/* V59 — isolate phone photo from all inherited hero image sizing */
@media(max-width:600px){
  .hero-mobile-photo{
    display:block !important;
    position:relative !important;
    box-sizing:border-box !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1366 / 674 !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden !important;
    flex:none !important;
    line-height:0 !important;
  }
  .hero-mobile-photo img{
    all:unset !important;
    display:block !important;
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    box-sizing:border-box !important;
    object-fit:fill !important;
    object-position:center !important;
  }
}

/* V60 — isolated mobile shop photo, outside the hero cascade */
.mobile-shop-photo{display:none}

@media(max-width:600px){
  .mobile-shop-photo{
    display:block !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:1366 / 674 !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
    position:relative !important;
    background:var(--navy) !important;
  }
  .mobile-shop-photo img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    position:absolute !important;
    inset:0 !important;
    object-fit:fill !important;
    object-position:center !important;
    transform:none !important;
  }

  /* Hide the original hero photo on phones. */
  .hero>img{display:none !important}
  .hero-mobile-photo{display:none !important}
  .hero-shade{display:none !important}
}

/* V61 — pure background mobile photo, isolated from all img/hero rules */
.mobile-shop-photo{
  display:none;
}

@media(max-width:600px){
  .mobile-shop-photo{
    display:block !important;
    width:100% !important;
    height:49.34vw !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    position:relative !important;
    background-color:var(--navy) !important;
    background-image:url("../images/logo/outside.jpeg?v=61") !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:100% 100% !important;
  }

  .hero>img,
  .hero-mobile-photo,
  .hero-shade{
    display:none !important;
  }
}

/* V62 — use percentage padding to guarantee the full 1366:674 photo height */
@media(max-width:600px){
  .mobile-shop-photo{
    display:block !important;
    width:100% !important;
    height:0 !important;
    min-height:0 !important;
    max-height:none !important;
    padding:0 0 49.34% 0 !important;
    margin:0 !important;
    overflow:hidden !important;
    box-sizing:content-box !important;
    position:relative !important;
    background-image:url("../images/logo/outside.jpeg?v=62") !important;
    background-repeat:no-repeat !important;
    background-position:center center !important;
    background-size:100% 100% !important;
  }
}

/* V63 — mobile header was overlaying the top 72px of the photo */
@media(max-width:600px){
  .mobile-shop-photo{
    margin-top:72px !important;
  }
}

/* V64 — gallery polish */
.gallery{
  overflow:hidden;
}
.gallery-stage{
  position:relative;
  overflow:hidden;
  background:var(--navy);
}
.gallery-stage img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
  object-position:center;
}
.gallery-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  margin-top:16px;
}
.gallery-controls button{
  width:48px;
  height:48px;
  min-width:48px;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(23,36,43,.92);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.gallery-controls button:hover{
  background:var(--copper);
  border-color:var(--copper);
}
.gallery-counter,
.gallery-count,
[data-gallery-counter]{
  display:none !important;
}
@media(max-width:600px){
  .gallery-stage{
    margin-left:-7vw;
    margin-right:-7vw;
  }
  .gallery-stage img{
    width:100%;
    height:auto;
    object-fit:contain;
  }
  .gallery-controls{
    justify-content:space-between;
    margin-top:12px;
  }
  .gallery-controls button{
    width:52px;
    height:52px;
    min-width:52px;
  }
}

/* V65 — Brands We Stock: cleaner catalogue treatment */
.brands-stock{
  background:var(--cream);
}
.brands-grid{
  gap:1px;
  background:rgba(23,36,43,.12);
}
.brand-tile{
  position:relative;
  min-height:190px;
  background:var(--cream);
  border:0;
  transition:background .2s ease, transform .2s ease;
}
.brand-tile:hover{
  background:#fff;
  z-index:2;
}
.brand-tile .brand-logo{
  max-width:72%;
  max-height:74px;
  object-fit:contain;
  filter:grayscale(1);
  opacity:.68;
  transition:filter .2s ease, opacity .2s ease, transform .2s ease;
}
.brand-tile:hover .brand-logo{
  filter:grayscale(0);
  opacity:1;
  transform:scale(1.03);
}
.brand-tile .brand-name{
  font-size:15px;
  letter-spacing:.06em;
}
.brand-tile .brand-arrow{
  width:32px;
  height:32px;
  border:1px solid rgba(23,36,43,.18);
  display:grid;
  place-items:center;
  border-radius:50%;
}
.brand-filter{
  border:1px solid rgba(23,36,43,.22);
  background:transparent;
  min-height:44px;
  padding:0 18px;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}
.brand-filter:hover{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
}
.brand-filter.active{
  background:var(--copper);
  color:#fff;
  border-color:var(--copper);
}
@media(max-width:900px){
  .brand-tile{min-height:165px}
}
@media(max-width:600px){
  .brands-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .brand-tile{
    min-height:145px;
    padding:18px 14px;
  }
  .brand-tile .brand-logo{
    max-width:82%;
    max-height:58px;
  }
  .brand-tile .brand-name{
    font-size:13px;
  }
  .brand-filter{
    padding:0 14px;
    white-space:nowrap;
  }
}

/* V65b — apply the intended polish to the actual brand markup */
.brand-wall-v37{
  gap:1px !important;
  background:rgba(23,36,43,.12) !important;
}
.brand-tile{
  min-height:185px !important;
  padding:22px !important;
  background:var(--paper) !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
  transition:background .2s ease, box-shadow .2s ease !important;
}
.brand-tile:hover{
  background:#fff !important;
  box-shadow:0 12px 28px rgba(23,36,43,.10) !important;
  transform:none !important;
}
.brand-tile-logo{
  height:92px !important;
}
.brand-tile-logo img{
  width:auto !important;
  max-width:76% !important;
  height:auto !important;
  max-height:62px !important;
  object-fit:contain !important;
  filter:grayscale(1) !important;
  opacity:.62 !important;
  transition:filter .2s ease,opacity .2s ease,transform .2s ease !important;
}
.brand-tile:hover .brand-tile-logo img{
  filter:none !important;
  opacity:1 !important;
  transform:scale(1.03) !important;
}
.brand-tile-foot{
  align-items:center !important;
}
.brand-tile-foot span{
  font-size:15px !important;
  letter-spacing:.045em !important;
}
.brand-tile-foot b{
  width:32px;
  height:32px;
  border:1px solid rgba(23,36,43,.18);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:13px !important;
  color:var(--copper) !important;
}
.brand-filter{
  min-height:44px !important;
  padding:0 18px !important;
  border:1px solid rgba(23,36,43,.22) !important;
  background:transparent !important;
  transition:background .2s ease,color .2s ease,border-color .2s ease !important;
}
.brand-filter:hover{
  background:var(--navy) !important;
  color:#fff !important;
  border-color:var(--navy) !important;
}
.brand-filter.active{
  background:var(--copper) !important;
  color:#fff !important;
  border-color:var(--copper) !important;
}
@media(max-width:900px){
  .brand-tile{min-height:165px !important;padding:18px !important}
  .brand-tile-logo{height:78px !important}
}
@media(max-width:600px){
  .brand-wall-v37{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1px !important;
  }
  .brand-tile{
    min-height:145px !important;
    padding:16px 13px !important;
  }
  .brand-tile-logo{height:66px !important}
  .brand-tile-logo img{
    max-width:82% !important;
    max-height:52px !important;
  }
  .brand-tile-foot span{
    font-size:12px !important;
  }
  .brand-tile-foot b{
    width:28px;height:28px;font-size:11px !important;
  }
  .brand-filters{
    overflow-x:auto;
    flex-wrap:nowrap !important;
    scrollbar-width:none;
    padding-bottom:4px;
  }
  .brand-filters::-webkit-scrollbar{display:none}
  .brand-filter{
    flex:0 0 auto;
  }
}

/* V66 — remove the empty-grid background void after the final brand tiles */
.brand-wall-v37{
  background:transparent !important;
}

/* V67 — Find Us / visit section polish */
.visit{
  position:relative;
}
.visit-grid{
  align-items:stretch;
}
.visit-details{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.visit-details .visit-address{
  margin-top:auto;
}
.visit-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:28px;
}
.visit-action{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  border:1px solid rgba(23,36,43,.18);
  background:var(--paper);
  color:var(--navy);
  text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.visit-action:hover{
  background:var(--navy);
  color:#fff;
  border-color:var(--navy);
  transform:translateY(-2px);
}
.visit-action strong{
  display:block;
  font:600 14px var(--cond);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.visit-action span{
  display:block;
  margin-top:4px;
  font-size:12px;
  opacity:.7;
}
.visit-action b{
  font-size:18px;
  font-weight:400;
}
.visit-map{
  min-height:420px;
  overflow:hidden;
  background:var(--navy);
}
.visit-map iframe{
  width:100%;
  height:100%;
  min-height:420px;
  border:0;
  display:block;
  filter:saturate(.78) contrast(.98);
}
.visit-hours{
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(23,36,43,.15);
}
.visit-hours h3{
  margin:0 0 12px;
  font:600 14px var(--cond);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.visit-hours p{
  margin:0;
  line-height:1.65;
}
@media(max-width:900px){
  .visit-grid{
    grid-template-columns:1fr;
  }
  .visit-map{
    min-height:360px;
    order:-1;
  }
  .visit-map iframe{
    min-height:360px;
  }
}
@media(max-width:600px){
  .visit-actions{
    grid-template-columns:1fr;
    gap:8px;
  }
  .visit-action{
    min-height:68px;
    padding:16px;
  }
  .visit-map,.visit-map iframe{
    min-height:300px;
  }
}

/* V67b — apply Find Us polish to the actual markup */
.visit-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  gap:48px;
  align-items:start;
}
.visit-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:26px 0 34px;
}
.visit-action{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.04);
  color:#fff;
  text-decoration:none;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.visit-action:hover{
  background:var(--copper);
  color:#fff;
  border-color:var(--copper);
  transform:translateY(-2px);
}
.visit-action span{
  display:block;
  font:600 12px var(--cond);
  letter-spacing:.08em;
  text-transform:uppercase;
  opacity:.78;
}
.visit-action b{
  display:block;
  margin-top:4px;
  font:600 15px var(--cond);
  letter-spacing:.04em;
}
.contact{
  padding-left:26px;
  border-left:1px solid rgba(255,255,255,.18);
}
.contact small,
.hours small{
  display:block;
  margin-bottom:7px;
  font:600 11px var(--cond);
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.65;
}
.contact>a{
  color:#fff;
  text-decoration:none;
  font-size:22px;
}
.hours{
  display:grid;
  grid-template-columns:1fr auto;
  gap:7px 18px;
  margin-top:26px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.15);
}
.hours small{grid-column:1/-1;margin-bottom:3px}
.hours span{font:500 13px var(--cond);letter-spacing:.04em}
.hours b{font:500 13px var(--cond)}
.visit .map{
  min-height:420px;
  overflow:hidden;
  margin-top:38px;
}
.visit .map iframe{
  width:100%;
  height:420px;
  border:0;
  display:block;
  filter:saturate(.78) contrast(.98);
}
.visit .directions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:10px;
  padding:17px 20px;
  background:var(--copper);
  color:#fff;
  text-decoration:none;
  font:600 13px var(--cond);
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:900px){
  .visit-top{
    grid-template-columns:1fr;
    gap:34px;
  }
  .contact{
    padding-left:0;
    border-left:0;
    padding-top:24px;
    border-top:1px solid rgba(255,255,255,.15);
  }
  .visit .map,.visit .map iframe{min-height:360px;height:360px}
}
@media(max-width:600px){
  .visit-actions{grid-template-columns:1fr;gap:8px}
  .visit-action{min-height:68px;padding:16px}
  .visit .map,.visit .map iframe{min-height:300px;height:300px}
}

/* V68 — tighten Find Us and remove the unnecessary empty vertical space */
.visit-top{
  grid-template-columns:minmax(0,1fr) 300px !important;
  gap:70px !important;
  padding:70px 11vw 42px !important;
}
.visit-actions{
  display:none !important;
}
.visit-top h2{
  margin-top:0 !important;
}
.visit-top>div:first-child>p:last-child{
  margin-top:22px !important;
  max-width:560px;
}
.contact{
  align-self:start !important;
  padding-left:28px !important;
}
.contact>a{
  margin:7px 0 24px !important;
  font-size:28px !important;
}
.hours{
  margin-top:20px !important;
  padding-top:18px !important;
}
.visit .map{
  margin-top:0 !important;
  height:410px !important;
  min-height:410px !important;
}
.visit .map iframe{
  height:410px !important;
  min-height:410px !important;
}
.visit .directions{
  margin-top:0 !important;
  padding:16px 11vw !important;
}
@media(max-width:900px){
  .visit-top{
    grid-template-columns:1fr !important;
    gap:30px !important;
    padding:55px 7vw 35px !important;
  }
  .contact{
    padding-left:0 !important;
    padding-top:24px !important;
  }
  .visit .map,.visit .map iframe{
    height:360px !important;
    min-height:360px !important;
  }
}
@media(max-width:600px){
  .visit-top{
    padding:45px 7vw 30px !important;
  }
  .visit-top h2{
    font-size:52px !important;
    line-height:.9 !important;
  }
  .contact>a{
    font-size:26px !important;
  }
  .visit .map,.visit .map iframe{
    height:300px !important;
    min-height:300px !important;
  }
  .visit .directions{
    padding:16px 7vw !important;
  }
}

/* V69 — Get Directions should be a compact CTA, not a full-width bar */
.visit .directions{
  width:fit-content !important;
  min-width:190px !important;
  margin:12px 11vw 0 auto !important;
  padding:12px 18px !important;
  display:inline-flex !important;
  justify-content:space-between !important;
  gap:42px !important;
  align-items:center !important;
  font-size:12px !important;
  line-height:1 !important;
}
@media(max-width:600px){
  .visit .directions{
    width:calc(100% - 14vw) !important;
    min-width:0 !important;
    margin:10px 7vw 0 auto !important;
    padding:14px 16px !important;
    gap:20px !important;
  }
}

/* V70 — Get Directions sits directly beneath the Find Us copy */
.visit-top>div:first-child .directions{
  display:inline-flex !important;
  width:auto !important;
  min-width:190px !important;
  margin:28px 0 0 !important;
  padding:12px 18px !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:42px !important;
  border:1px solid var(--copper) !important;
  background:transparent !important;
  color:#fff !important;
  font:600 12px var(--cond) !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  line-height:1 !important;
}
.visit-top>div:first-child .directions:hover{
  background:var(--copper) !important;
  color:#fff !important;
}
@media(max-width:600px){
  .visit-top>div:first-child .directions{
    width:auto !important;
    min-width:0 !important;
    margin-top:24px !important;
    padding:14px 16px !important;
    gap:28px !important;
  }
}

/* V71 — Story section: stronger hierarchy, less dead space */
.story{
  position:relative;
  overflow:hidden;
}
.story-inner{
  max-width:1180px;
  margin:0 auto;
  padding:110px 7vw 105px;
}
.story-kicker{
  margin-bottom:26px !important;
}
.story h2{
  max-width:920px !important;
  margin:0 0 34px !important;
  line-height:.9 !important;
}
.story h2 em{
  color:var(--copper);
}
.story-copy{
  max-width:760px !important;
  font-size:20px !important;
  line-height:1.65 !important;
}
.story-points{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  margin-top:72px;
  background:rgba(23,36,43,.12);
}
.story-point{
  padding:30px 26px;
  background:var(--paper);
}
.story-point small{
  display:block;
  margin-bottom:14px;
  color:var(--copper);
  font:600 11px var(--cond);
  letter-spacing:.12em;
  text-transform:uppercase;
}
.story-point strong{
  display:block;
  margin-bottom:9px;
  color:var(--navy);
  font:600 18px var(--cond);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.story-point p{
  margin:0;
  font-size:14px;
  line-height:1.55;
}
.story-rule{
  width:100%;
  height:1px;
  margin-top:68px;
  background:rgba(23,36,43,.14);
}
@media(max-width:900px){
  .story-inner{
    padding:85px 7vw 80px;
  }
  .story-copy{
    font-size:18px !important;
  }
  .story-points{
    grid-template-columns:1fr;
    margin-top:52px;
  }
}
@media(max-width:600px){
  .story-inner{
    padding:65px 7vw 62px;
  }
  .story h2{
    font-size:48px !important;
    line-height:.92 !important;
    margin-bottom:25px !important;
  }
  .story-copy{
    font-size:16px !important;
    line-height:1.6 !important;
  }
  .story-points{
    margin-top:40px;
  }
  .story-point{
    padding:23px 20px;
  }
  .story-rule{
    margin-top:44px;
  }
}

/* V71b — actual welcome/about section polish */
.welcome{
  position:relative;
  overflow:hidden;
}
.welcome-copy{
  max-width:920px !important;
  padding-top:118px !important;
  padding-bottom:105px !important;
}
.welcome-copy h2{
  max-width:900px !important;
  margin-bottom:34px !important;
  line-height:.9 !important;
}
.welcome-copy h2 em{
  color:var(--copper) !important;
}
.welcome-copy .large-copy{
  max-width:760px !important;
  font-size:20px !important;
  line-height:1.65 !important;
}
.welcome-copy:after{
  content:"";
  display:block;
  width:100%;
  max-width:760px;
  height:1px;
  margin-top:64px;
  background:rgba(23,36,43,.14);
}
@media(max-width:900px){
  .welcome-copy{
    padding-top:85px !important;
    padding-bottom:80px !important;
  }
  .welcome-copy .large-copy{
    font-size:18px !important;
  }
}
@media(max-width:600px){
  .welcome-copy{
    padding-top:65px !important;
    padding-bottom:62px !important;
  }
  .welcome-copy h2{
    font-size:48px !important;
    line-height:.92 !important;
    margin-bottom:25px !important;
  }
  .welcome-copy .large-copy{
    font-size:16px !important;
    line-height:1.6 !important;
  }
  .welcome-copy:after{
    margin-top:44px;
  }
}

/* V72 — final QA cleanup */
html{scroll-behavior:smooth}
:focus-visible{
  outline:2px solid var(--copper);
  outline-offset:3px;
}
button,a{
  -webkit-tap-highlight-color:transparent;
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    scroll-behavior:auto !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
  }
}

/* V73b — every stocked brand tile links to its official manufacturer site */
.brand-tile{cursor:pointer}
.brand-tile:focus-visible{
  outline:2px solid var(--copper);
  outline-offset:-3px;
}

/* V75 — final navigation and footer polish */
@media(max-width:900px){
  .site-nav{
    padding:22px 7vw 28px !important;
  }
  .site-nav a{
    display:block !important;
    padding:13px 0 !important;
    border-bottom:1px solid rgba(255,255,255,.12) !important;
  }
  .site-nav a:last-child{
    margin-top:12px !important;
    padding:14px 16px !important;
    border:1px solid rgba(255,255,255,.25) !important;
    background:rgba(255,255,255,.04) !important;
  }
}
footer{
  position:relative;
}
.footer-grid{
  align-items:start !important;
}
.footer-contact a{
  text-decoration:none !important;
}
footer a:focus-visible{
  outline:2px solid var(--copper);
  outline-offset:3px;
}
@media(max-width:600px){
  footer{
    padding-top:52px !important;
    padding-bottom:34px !important;
  }
}

/* V76 — remove redundant decorative CTAs; keep hierarchy clean */
.hero-actions{
  gap:0 !important;
}
.target-card{
  cursor:default;
}

/* V77 — content structure cleanup */
.section-label,
.eyebrow{
  text-wrap:balance;
}

/* V78 — accessibility/performance finish */
img{
  max-width:100%;
}
button,a{
  touch-action:manipulation;
}
@media(prefers-reduced-motion:reduce){
  .gallery-stage,
  .brand-tile,
  .target-card,
  .visit-action{
    transition:none !important;
  }
}
