:root{--ink:#101d31;--muted:#526176;--paper:#fff;--wash:#f4f5f4;--line:#d9e0e8;--accent:#e65d4d;--navy:#0d1b2d;--soft:#f8f8f6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 "DM Sans",Arial,sans-serif}
a{color:inherit;text-decoration:none}
.preview-strip{min-height:34px;display:flex;align-items:center;justify-content:center;gap:12px;padding:6px 16px;background:#eeeae2;color:#526176;font-size:11px;letter-spacing:.07em;text-align:center}
.preview-strip span{letter-spacing:0;color:#777}
.site-header{height:82px;padding:0 clamp(22px,4vw,58px);border-bottom:1px solid #e2e5e8;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;line-height:1.05;letter-spacing:-.03em}
.brand small{display:block;margin-top:5px;color:#607087;font-size:7px;letter-spacing:.19em}
.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:6px;background:var(--ink);color:#f2b849;font:700 25px Georgia,serif}
.header-note,.back-link{color:#647187;font-size:13px}
.header-actions{display:flex;align-items:center;gap:18px}
.language-control{display:inline-flex;align-items:center}
.language-control select{max-width:150px;padding:8px 28px 8px 10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-size:12px}
.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}
.menu-button{padding:12px 18px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:700 16px inherit}
main{max-width:1220px;margin:auto;padding:0 clamp(20px,4vw,58px) 48px}
.intro{padding:54px 0 38px;max-width:670px}
.eyebrow{margin:0 0 12px;color:#38516e;font-size:11px;letter-spacing:.16em;font-weight:600}
h1,h2{margin:0;letter-spacing:-.035em;line-height:1.08}
h1{font:500 clamp(40px,6vw,68px)/1.05 "Playfair Display",Georgia,serif}
h1 em{font-weight:500}
.intro-copy{max-width:580px;margin:20px 0 0;color:var(--muted);font-size:16px}
.family-grid{display:grid;grid-template-columns:minmax(0,780px);justify-content:center;gap:22px;align-items:stretch}
.family-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #d5dde6;border-radius:10px;background:#fff;box-shadow:0 10px 30px #182e4610;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
a.family-card:hover{transform:translateY(-3px);box-shadow:0 18px 38px #182e4619;border-color:#b9c7d6}
.family-image{height:clamp(230px,30vw,350px);position:relative;overflow:hidden;background:#e4e1dc}
.hose-image{background:linear-gradient(135deg,#252c36,#61656a 55%,#252b34);}
.hose-image:before,.hose-image:after{content:"";position:absolute;left:12%;width:80%;height:72px;border:15px ridge #bec2c3;border-radius:48% 16%;transform:rotate(-27deg);box-shadow:0 15px 26px #0005}
.hose-image:before{top:20%;background:repeating-linear-gradient(0deg,#747b80 0 3px,#cbd0d1 4px 8px)}
.hose-image:after{top:52%;left:30%;width:63%;height:45px;border-width:10px;opacity:.8}
.watch-image img,.collection-hero>img{width:100%;height:100%;display:block;object-fit:cover}
.watch-image img{object-position:center 55%}
.image-note{position:absolute;right:14px;bottom:14px;background:#0e1c2ee8;color:white;padding:7px 10px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.08em}
.watch-stamp{position:absolute;left:20px;bottom:17px;color:white;text-shadow:0 1px 8px #000;font-size:11px;letter-spacing:.15em;font-weight:700}
.family-copy{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px 26px 27px}
.accent{color:var(--accent)}
.family-copy h2{margin:0 0 14px;font-size:25px;font-weight:700}
.family-copy>p:not(.eyebrow){margin:0 0 21px;color:#526176;line-height:1.7}
.text-link{margin-top:auto;color:var(--accent);font-size:17px;font-weight:700}
.text-link b{display:inline-block;margin-left:8px;color:var(--ink);font-size:20px}
.muted-link{color:#647187}
.page-footnote{margin:24px 0 0;color:#78818e;font-size:12px}
.collection-hero{height:clamp(380px,54vw,560px);position:relative;margin:0 -1px 46px;overflow:hidden;background:#bbb}
.collection-hero>img{object-position:center 58%}
.collection-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#0b192dcf 0%,#0b192d91 37%,#0b192d00 74%)}
.hero-overlay{position:absolute;z-index:1;left:clamp(24px,6vw,76px);top:50%;transform:translateY(-50%);max-width:520px;color:white}
.hero-overlay .eyebrow{color:#d9e1e9}
.hero-overlay h1{font-size:clamp(46px,7vw,76px)}
.hero-overlay>p:not(.eyebrow){max-width:410px;margin:20px 0;color:#f2f4f6;font-size:17px}
.hero-overlay .image-note{position:static;display:inline-block;margin-top:9px}
.catalog-section{padding:0 0 18px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:24px}
.section-heading h2{font:500 clamp(32px,4vw,45px)/1.1 "Playfair Display",Georgia,serif}
.review-note{margin:0;color:#78818e;font-size:13px}
.catalog-tools{display:grid;grid-template-columns:auto minmax(180px,300px) 1fr;align-items:center;gap:12px;margin:0 0 22px;color:#526176;font-size:13px}
.catalog-tools input{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:inherit}
#catalog-count{margin:0;text-align:right;color:#78818e}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.product-card{overflow:hidden;border:1px solid var(--line);border-radius:8px;background:white;transition:transform .18s ease,box-shadow .18s ease}
.product-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px #10243b14}
.product-card-image{position:relative;aspect-ratio:4/4.35;overflow:hidden;background:#eee}
.product-card-image img{width:100%;height:100%;object-fit:cover;display:block}
.ai-badge{position:absolute;right:12px;bottom:12px;background:#fff;color:#18263a;padding:6px 9px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.06em}
.cover-pending{position:absolute;right:12px;bottom:12px;background:#fff1d8;color:#5b3e08;padding:6px 9px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.04em}
.draft-badge{position:absolute;left:12px;top:12px;background:#102039e8;color:#fff;padding:6px 9px;border-radius:3px;font-size:10px;font-weight:700;letter-spacing:.07em}
.product-card-copy{padding:16px 17px 18px}
.product-card-copy .eyebrow{margin-bottom:6px;font-size:10px}
.product-card-copy h3{margin:0;font-size:21px;letter-spacing:-.025em}
.product-card-copy p{margin:8px 0 0;color:#657185;font-size:13px}
.product-card-copy .supplier-label{color:#35445b;font-size:12px;line-height:1.5;overflow-wrap:anywhere}
.product-card-copy .review-status{margin-top:6px;color:#835b1c;font-size:11px;line-height:1.45}
.product-open{display:inline-block;margin-top:14px;color:var(--accent);font-size:14px;font-weight:700}
.detail-main{padding-top:34px}
.detail-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}
.detail-head h1{font-size:clamp(38px,5vw,58px)}
.detail-head p{margin:8px 0 0;color:#6e7887}
.gallery{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:16px;align-items:start}
.gallery-main{position:relative;overflow:hidden;border-radius:8px;background:#eee}
.gallery-main img{display:block;width:100%;max-height:760px;object-fit:cover}
.gallery-main .ai-badge{right:16px;bottom:16px}
.gallery-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.thumb{position:relative;padding:0;overflow:hidden;aspect-ratio:1;border:1px solid var(--line);border-radius:6px;background:#f1f1ef;cursor:pointer}
.thumb img{display:block;width:100%;height:100%;object-fit:cover}
.thumb.active{outline:2px solid var(--accent);outline-offset:1px}
.detail-note{margin:23px 0 0;padding:18px 20px;border-left:3px solid var(--accent);background:var(--soft);color:#566275;font-size:14px}
.detail-note strong{display:block;margin-bottom:4px;color:var(--ink)}
.identity-warning{display:grid;gap:5px;margin:22px 0 0;padding:16px 19px;border:1px solid #e8d7b8;border-radius:6px;background:#fffaf0;color:#75551e;font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.identity-warning strong{color:#513b17;font-size:14px}
.error-state{padding:70px 0;text-align:center}
.error-state h1{font-size:42px}
.watch-chat-widget{position:fixed;z-index:1000;right:clamp(16px,3vw,30px);bottom:calc(16px + env(safe-area-inset-bottom,0px));display:grid;justify-items:end;gap:12px;max-width:calc(100vw - 32px)}
.watch-chat-launcher{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 21px;border:1px solid #253a55;border-radius:999px;background:var(--ink);color:#fff;font:600 14px/1 "DM Sans",Arial,sans-serif;letter-spacing:.01em;box-shadow:0 8px 24px #101d3130;cursor:pointer;transition:transform .18s ease,background-color .18s ease}
.watch-chat-launcher:hover{transform:translateY(-2px);background:#1b2e49}
.watch-chat-launcher:focus-visible{outline:3px solid #dfa94b;outline-offset:3px}
.watch-chat-launcher svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.watch-chat-panel{width:min(360px,calc(100vw - 32px));padding:20px 22px;border:1px solid #d9e0e8;border-radius:9px;background:#fff;box-shadow:0 16px 42px #101d3126;color:var(--ink)}
.watch-chat-panel[hidden]{display:none}
.watch-chat-status{margin:0 0 11px;color:#8a5a18;font-size:10px;font-weight:700;letter-spacing:.11em}
.watch-chat-panel h2{margin:0 0 8px;font:500 23px/1.2 Georgia,serif;letter-spacing:-.02em}
.watch-chat-message{margin:0;color:#526176;font-size:14px;line-height:1.6}
@media(max-width:760px){
  .site-header{height:auto;min-height:70px;padding:12px 18px;gap:10px}.header-note{display:none}.brand{font-size:16px}.brand-mark{width:34px;height:34px}.header-actions{gap:8px}.header-actions .back-link{max-width:92px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.language-control select{max-width:115px;padding:7px 18px 7px 7px;font-size:10px}.menu-button{padding:9px 13px;font-size:14px}
  .preview-strip{display:block;font-size:10px}.preview-strip span{display:block}
  main{padding-right:18px;padding-left:18px}.intro{padding:39px 0 27px}.intro-copy{font-size:14px}
  .family-grid{grid-template-columns:1fr;gap:16px}.family-image{height:auto;aspect-ratio:1.52}.family-copy{padding:20px 20px 23px}.family-copy h2{font-size:22px}
  .collection-hero{height:440px;margin:0 -18px 36px}.collection-hero>img{object-position:58% center}.collection-hero:after{background:linear-gradient(90deg,#0b192dd9 0%,#0b192d88 55%,#0b192d16 100%)}
  .hero-overlay{left:24px;right:20px;max-width:440px}.hero-overlay h1{font-size:51px}.hero-overlay>p:not(.eyebrow){font-size:15px}
  .section-heading{align-items:flex-start;flex-direction:column;gap:8px}.section-heading h2{font-size:36px}.catalog-tools{grid-template-columns:1fr;gap:6px}.catalog-tools input{min-height:44px}#catalog-count{text-align:left}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card-copy{padding:13px}.product-card-copy h3{font-size:18px}.product-card-copy p{font-size:12px}
  .detail-main{padding-top:25px}.detail-head{align-items:flex-start;flex-direction:column;gap:8px}.gallery{grid-template-columns:1fr;gap:12px}.gallery-main img{max-height:620px}.gallery-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .watch-chat-widget{right:14px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:9px}.watch-chat-launcher{min-height:50px;padding:0 17px}.watch-chat-panel{padding:18px 19px}
}
@media(max-width:420px){.site-header{flex-wrap:wrap}.site-header>.header-actions{width:100%;justify-content:flex-end}.product-grid{grid-template-columns:1fr}.product-card-image{aspect-ratio:1.12}.family-image{aspect-ratio:1.28}.collection-hero{height:410px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}

/* ---- enquiry band ---- */
.cta-band { background: #14171a; color: #f2f4f6; padding: 64px 24px; margin-top: 64px; }
.cta-inner { max-width: 1100px; margin: 0 auto; display: flex; gap: 40px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cta-inner h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 34px; line-height: 1.2; margin: 8px 0 14px; color: #fff; }
.cta-inner p { color: #b9bec4; max-width: 620px; line-height: 1.6; margin: 0; }
.cta-inner .eyebrow { color: #c8a45a; letter-spacing: .16em; font-size: 12px; margin: 0; }
.cta-actions { display: flex; gap: 14px; flex-wrap: wrap; }
.cta-button { display: inline-block; padding: 14px 26px; background: #c8a45a; color: #14171a; text-decoration: none; font-weight: 700; font-size: 15px; letter-spacing: .02em; }
.cta-button:hover { background: #d9b877; }
.cta-secondary { background: transparent; color: #f2f4f6; border: 1px solid #4a4f55; }
.cta-secondary:hover { border-color: #c8a45a; color: #fff; }

/* ---- product meta lines ---- */
.variant-line { color: #555b62; font-size: 15px; margin: 4px 0 0; }
.ref-line { color: #14171a; font-size: 14px; font-weight: 700; margin: 8px 0 0; letter-spacing: .02em; }
.sku-line { color: #8c9299; font-size: 13px; letter-spacing: .08em; margin: 6px 0 18px; }

/* ---- missing-photo fallback ---- */
.no-photo { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 220px; background: #1a1d20; color: #8c9299; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; }
.gallery-empty { max-width: 720px; margin: 80px auto; padding: 0 24px; }
.gallery-empty h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 40px; margin: 8px 0 16px; }
.gallery-empty p { color: #555b62; line-height: 1.6; }

/* ---- product detail page ---- */
.product-detail { max-width: 1180px; margin: 48px auto; padding: 0 24px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 56px; }
.product-detail .gallery-main img { width: 100%; height: auto; display: block; background: #f2f2f2; }
.product-detail .gallery-thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 10px; }
.product-detail .thumb { padding: 0; border: 1px solid #e2e2e2; background: none; cursor: pointer; }
.product-detail .thumb.active { border-color: #c8a45a; }
.product-detail .thumb img { width: 100%; height: auto; display: block; }
.product-detail .detail-head h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 42px; line-height: 1.15; margin: 6px 0 10px; }
.product-detail .av2-button { display: inline-block; padding: 14px 26px; background: #c8a45a; color: #14171a; text-decoration: none; font-weight: 700; }
.product-detail .text-link { color: #14171a; }

@media (max-width: 860px) {
  .product-detail { grid-template-columns: 1fr; gap: 28px; margin: 24px auto; }
  .product-detail .detail-head h1 { font-size: 30px; }
  .cta-band { padding: 44px 20px; }
  .cta-inner h2 { font-size: 26px; }
}
/* ---- legal page ---- */
.legal { max-width: 760px; margin: 64px auto; padding: 0 24px; }
.legal h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 38px; line-height: 1.2; margin: 8px 0 24px; }
.legal h2 { font-size: 17px; letter-spacing: .04em; margin: 32px 0 8px; text-transform: uppercase; }
.legal p { color: #444a51; line-height: 1.7; margin: 0 0 14px; }
.legal a { color: #14171a; }
@media (max-width: 860px) { .legal { margin: 32px auto; } .legal h1 { font-size: 28px; } }
/* ---- product detail (scoped, independent of legacy classes) ---- */
.pd { max-width: 1180px; margin: 48px auto 0; padding: 0 24px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: start; box-sizing: border-box; }
.pd * { box-sizing: border-box; }
.pd-gallery { min-width: 0; }
.pd-main img { width: 100%; max-width: 100%; height: auto; display: block; background: #f2f2f2; }
.pd-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 10px; }
.pd-thumb { padding: 0; border: 1px solid #e2e2e2; background: none; cursor: pointer; line-height: 0; }
.pd-thumb.active { border-color: #c8a45a; }
.pd-thumb img { width: 100%; height: auto; display: block; }
.pd-head { min-width: 0; }
.pd-head h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: 40px; line-height: 1.15; margin: 6px 0 10px; word-break: break-word; }
.pd-head .variant-line { color: #555b62; font-size: 15px; margin: 4px 0 0; }
.pd-head .ref-line { color: #14171a; font-size: 14px; font-weight: 700; margin: 8px 0 0; }
.pd-head .sku-line { color: #8c9299; font-size: 13px; letter-spacing: .08em; margin: 6px 0 18px; }
.pd-head p { color: #444a51; line-height: 1.65; }
.pd-head .av2-button { display: inline-block; padding: 14px 26px; background: #c8a45a; color: #14171a; text-decoration: none; font-weight: 700; }
@media (max-width: 860px) { .pd { grid-template-columns: 1fr; gap: 24px; margin: 20px auto 0; } .pd-head h1 { font-size: 28px; } .pd-thumbs { grid-template-columns: repeat(4, 1fr); } }
/* ---- inquiry form ---- */
.inquiry-form { display: grid; grid-template-columns: 1fr; gap: 8px; min-width: 300px; max-width: 360px; }
.inquiry-form label { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: #9aa0a7; }
.inquiry-form input, .inquiry-form textarea { width: 100%; padding: 10px 12px; border: 1px solid #3a3f45; background: #1a1d20; color: #f2f4f6; font-size: 14px; font-family: inherit; }
.inquiry-form input:focus, .inquiry-form textarea:focus { outline: 2px solid #c8a45a; outline-offset: 1px; }
.inquiry-form button { margin-top: 6px; cursor: pointer; border: 0; }
.inquiry-note { font-size: 12px; color: #8c9299; margin: 6px 0 0; }
.inquiry-note a { color: #c8a45a; }
@media (max-width: 860px) { .inquiry-form { min-width: 0; max-width: none; } }


/* layout stability + no cropping */
.product-card-image { aspect-ratio: 4 / 3; overflow: hidden; background: #f6f4f0; display: flex; align-items: center; justify-content: center; }
.product-card-image img { width: 100%; height: 100%; object-fit: contain; }
.pd-main { aspect-ratio: 4 / 3; background: #f6f4f0; display: flex; align-items: center; justify-content: center; }
.pd-main img { width: 100%; height: 100%; object-fit: contain; }
.pd-thumb { background: #f6f4f0; }
.pd-thumb img { width: 100%; height: 100%; object-fit: contain; }
.collection-hero > img { width: 100%; height: auto; object-fit: cover; }
@media (max-width: 860px) {
  .product-card-image { aspect-ratio: 1 / 1; }
  .pd-main { aspect-ratio: 1 / 1; }
}

/* brand navigation */
.brand-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; padding: 0; }
.brand-chip { border: 1px solid #d8d3c9; background: #fff; color: #2a2e33; font: inherit; font-size: 13px; padding: 7px 13px; cursor: pointer; border-radius: 999px; transition: background .15s, color .15s, border-color .15s; }
.brand-chip:hover { border-color: #c8a45a; }
.brand-chip.is-active { background: #1b1f24; border-color: #1b1f24; color: #fff; }
/* card hover swap */
.product-card-image { position: relative; }
.product-card-image .card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; transition: opacity .25s ease; }
.product-card-image .card-img--a { opacity: 1; }
.product-card-image .card-img--b { opacity: 0; }
.product-card:hover .card-img--a { opacity: 0; }
.product-card:hover .card-img--b { opacity: 1; }
@media (hover: none) { .product-card-image .card-img--b { display: none; } }
