/* One Stop Bidets v8
 * Shared bathroom palette, readable body type and fluid page widths.
 * Layered after the existing interaction/layout styles so motion and commerce
 * behavior remain independent of the visual theme. No font/CDN dependency.
 */
:root {
  --paper: #f7fcff;
  --paper-2: #eaf6ff;
  --stone: #d9eef8;
  --ink: #10345b;
  --muted: #496579;
  --line: #bfd9e9;
  --blue: #153ef5;
  --blue-hover: #0d2eba;
  --water: #26acd3;
  --black: #092b52;
  --white: #fff;
  --aqua: #dff8f7;
  --aqua-ink: #06677c;
  --gutter: clamp(20px, 3vw, 64px);
  --body-size: 17px;
  --max: 100%;
}
html { background: var(--paper); }
body { font-size: var(--body-size); line-height: 1.55; color: var(--ink); }
body, main, section, article, aside, .wrap { min-width: 0; }
.wrap { width: 100%; max-width: none; padding-inline: var(--gutter); }
p { line-height: 1.6; }
h1, h2, h3, h4 { color: var(--ink); }
h1, .display, .display-sm { color: #133ed3; }
.eyebrow, .mono { font-size: 14px; color: var(--aqua-ink); letter-spacing: .015em; }
.body-copy, .lede, .page-side, .seo-copy {
  font-size: 18px; line-height: 1.6; color: var(--muted);
}
.source-note, .form-note { font-size: 13px; line-height: 1.5; color: #496579; }
::selection { background: #bfeaf5; color: #092b52; }
:focus-visible { outline: 3px solid #153ef5; outline-offset: 4px; }
:target { scroll-margin-top: calc(var(--header) + 20px); }

/* Edge-to-edge white header; the original logo stays on a clean surface. */
.site-header { background: rgba(255,255,255,.97); border-bottom: 2px solid #d9e9ff; }
.site-header.scrolled { border-color: #9dc8f5; box-shadow: 0 3px 16px #0b48720b; }
.header-inner { width: 100%; max-width: none; padding-inline: var(--gutter); grid-template-columns: 180px 1fr 180px; }
.brand img { mix-blend-mode: normal; }
.desktop-nav { gap: clamp(22px, 2.3vw, 40px); }
.desktop-nav a { font-size: 15px; color: #163d68; padding-block: 25px; }
.desktop-nav a:hover, .desktop-nav a[aria-current=page] { color: var(--blue); }
.desktop-nav a:after { background: var(--blue); height: 2px; }
.header-tools button, .header-tools select { font-size: 14px; }
.currency { min-height: 44px; }
.bag { color: var(--blue); font-weight: 700; }
.bag-count { color: var(--blue); font-size: 14px; }
.mobile-menu { background: #edf8ff; }
.mobile-menu a { color: #143ed1; }
.mobile-menu a:hover { color: #087e99; }
.mobile-menu .mobile-tools, .mobile-currency { font-size: 14px; color: var(--ink); }
.menu-btn i, .menu-btn:after { background: var(--blue); height: 2px; }

/* Blue actions are the store's primary accent, not black template buttons. */
.button, .text-button {
  font-size: 15px; line-height: 1.35; min-height: 46px;
  padding: 12px 22px; border: 1px solid #153ef5; color: #153bcc;
  background: #ffffff; border-radius: 4px; letter-spacing: 0;
}
.button:hover, .text-button:hover { background: #e8eeff; color: #0c2cac; border-color: #0c2cac; }
.button.dark { background: var(--blue); color: #fff; border-color: var(--blue); }
.button.dark:hover { background: var(--blue-hover); border-color: var(--blue-hover); color: #fff; }
.button.light { color: var(--blue); border-color: white; background: white; }
.button.light:hover { background: #e7f7ff; color: #143eda; border-color: #e7f7ff; }
.link-arrow { font-size: 15px; letter-spacing: 0; color: #153bcc; }
.link-arrow:hover { color: #006d8c; }

/* The short v7 scroll distance is retained. Type grows inside the same stage. */
.hero-compact { background: #edf9ff; }
.hero-compact .hero-layout { width: 100%; max-width: none; inset-block-start: calc(var(--header) + 25px); padding-inline: var(--gutter); }
.hero-compact .hero-copy { max-width: 1100px; }
.hero-compact .hero-copy h1 { color: #153edc; }
.hero-compact .hero-kicker { font-size: 18px; line-height: 1.5; max-width: 760px; color: #365974; margin-top: 12px; }
.hero-compact .scroll-cue { font-size: 14px; color: #153bcc; margin-top: 12px; border-color: #7899e5; padding: 2px 0; }
.hero-compact .hero-stage { top: 286px; bottom: 145px; width: min(760px, 82vw); }
.hero-compact .hero-product { filter: drop-shadow(0 12px 19px #1643760a); }
.hero-compact .hero-tech-label { height: 96px; bottom: 24px; max-width: 920px; }
.hero-features { gap: clamp(22px, 3vw, 44px); }
.hero-features button { color: #355974; font-size: 16px; padding: 7px 0; border-bottom-width: 2px; }
.hero-features button[aria-selected=true] { color: var(--blue); border-color: var(--blue); }
.hero-tech-label [role=tabpanel] { font-size: 16px; line-height: 1.5; max-width: 750px; color: #365974; margin-top: 10px; }
.water-toggle { color: #285c80; font-size: 12px; }
.hero-compact .water-canvas { opacity: 1; }

/* Full-width collection with natural horizontal browsing. */
.range-carousel { padding: 38px 0 32px; background: #e8f4ff; border-top: 1px solid #c6e2f4; border-bottom: 1px solid #c6e2f4; }
.range-carousel .range-top { padding: 6px var(--gutter) 24px; color: #103f9e; }
.range-carousel .range-track {
  --range-columns: 3;
  padding-inline: var(--gutter); scroll-padding-inline: var(--gutter);
  gap: 26px; scrollbar-color: #80b6e9 #e0eeff;
}
.range-carousel .range-panel, .range-carousel .range-panel:nth-child(even) {
  flex-basis: calc((100% - (var(--range-columns) - 1) * 26px) / var(--range-columns));
  grid-template-rows: 280px 1fr; gap: 16px; padding-bottom: 20px;
}
.range-carousel .range-media { height: 280px; background: #ffffff; border-radius: 4px; }
.range-carousel .range-media img { mix-blend-mode: normal; padding: 4px; }
.range-carousel .range-copy { padding-inline: 6px; }
.range-carousel .range-copy .eyebrow { font-size: 13px; margin-bottom: 7px; color: #075f7c !important; }
.range-carousel .range-copy h3 { font-size: 23px; color: #123d70; margin-bottom: 9px; }
.range-carousel .range-copy p { font-size: 16px; line-height: 1.55; color: #3b5d79; max-width: 44ch; margin-bottom: 12px; }
.range-carousel .range-buy { font-size: 20px; font-weight: 700; color: #153ed3; gap: 20px; padding-top: 4px; }
.range-carousel .range-buy .link-arrow { font-size: 14px; }
.range-carousel .range-controls { padding-top: 20px; gap: 16px; }
.range-carousel .range-controls button { background: white; border-color: #9dc2ea; color: #153ed3; }
.range-carousel .range-controls button:hover:not([disabled]) { background: var(--blue); color: white; border-color: var(--blue); }
.collection-position, .collection-all { font-size: 14px; color: #234f7c; }

/* Balanced full-width content; generous type, less redundant vertical space. */
.study { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: #f8fdff; }
.study-copy { max-width: none; padding: 42px var(--gutter); }
.study-copy .body-copy { font-size: 17px; margin-top: 18px; }
.study-notes { margin-top: 22px; padding-top: 18px; gap: 24px; max-width: none; border-color: var(--line); }
.study-notes p { font-size: 16px; line-height: 1.55; color: #426178; margin-block: 0; }
.study-notes b { color: #163fd0; }
.study-room { height: 345px; width: 100%; max-width: none; margin: 0; padding-inline: var(--gutter); }
.study-product { max-width: 720px; mix-blend-mode: multiply; }
.home-compare { background: #1642e8; padding: 42px 0; color: white; }
.home-compare-simple { gap: 16px; }
.home-compare .section-title, .home-compare .body-copy { color: white; }
.home-compare .body-copy { font-size: 18px; }
.home-compare .button { color: #1136c4; background: white; border-color: white; }
.home-compare .button:hover { background: #e7f7ff; }
.delivery { padding: 44px 0; background: #fff; }
.delivery-grid > div:first-child { max-width: none; margin-bottom: 26px; }
.delivery-list { max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.delivery-row { padding: 18px 0; grid-template-columns: 80px minmax(0,1fr); gap: 22px; }
.delivery-row strong { font-size: 19px; color: #163fbe; }
.delivery-row p { font-size: 17px; line-height: 1.6; margin: 0; color: var(--muted); }
.delivery-list > div:last-child:not(.delivery-row) { grid-column: 1/-1; padding-top: 18px !important; }
.home-contact { padding: 42px 0; background: #dff6f7; border-top: 1px solid #b9e6eb; }
.contact-grid > div:first-child { max-width: none; margin-bottom: 26px; }
.contact-grid .body-copy { max-width: 76ch; margin-top: 16px; }
.contact-form { max-width: min(1240px,100%); width: 100%; gap: 18px 32px; }
.field { border-top: 0; padding-top: 0; min-width: 0; }
.field label { display: block; font-size: 15px; color: #294d6c; margin-bottom: 7px; }
.field input, .field select, .field textarea {
  width: 100%; min-width: 0; min-height: 46px; font-size: 17px; line-height: 1.4;
  border: 1px solid #8ab7cb; border-radius: 4px; background: white;
  color: #113858; padding: 11px 13px; box-shadow: none;
}
.field textarea { height: 106px; min-height: 90px; resize: vertical; }
.field input::placeholder, .field textarea::placeholder { color: #597183; opacity: 1; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #1942e9; outline: 2px solid #b9caff; outline-offset: 1px; }
.contact-form .form-note { margin: 0; line-height: 1.45; }
.contact-form .button { margin: 0; }

/* All inner pages receive the same blue header treatment and fluid grid. */
.page-hero { background: #eaf6ff; border-bottom: 1px solid #c6e2f4; }
.page-hero-inner { width: 100%; max-width: none; padding: 36px var(--gutter) 22px; }
.page-hero-inner h1 { max-width: 26ch; }
.page-side { font-size: 18px; max-width: 80ch; margin-top: 16px; }
.content-section { padding: 28px 0 48px; }
.content-section.rule { background: #eaf6ff; border-color: #c6e2f4; }
.split > div:first-child { max-width: none; margin-bottom: 28px; }
.split > div:last-child { max-width: none; }
.split .body-copy { max-width: 96ch; margin-inline: auto; }
.editorial-list { max-width: none; }
.editorial-row { grid-template-columns: minmax(210px,.65fr) minmax(0,2fr); padding: 21px 0; gap: 40px; }
.editorial-row h3 { font-size: 21px; line-height: 1.35; margin: 0; color: #183fbc; }
.editorial-row p { font-size: 17px; line-height: 1.55; margin: 0; color: #426078; }
.faq-list, .faq-lines { max-width: none; }
.faq-lines summary { font-size: 21px; padding: 19px 0; color: #154295; }
.faq-lines details p { font-size: 17px; line-height: 1.6; max-width: 90ch; color: #426078; }
.tech-text p, .tech-text dl div { font-size: 17px; }
.region-pane { min-height: 0; padding: 40px var(--gutter); background: #1944e6; color: white; border-color: #7eacf5; }
.region-pane:last-child { background: #dff8f7; color: #10345b; }
.region-pane:first-child .eyebrow { color: #d2faff; }
.region-pane:last-child .eyebrow { color: #086378; }
.region-pane h3 { color: inherit; font-size: clamp(32px,4.2vw,54px); line-height: 1.1; }
.region-pane p { font-size: 18px; color: inherit; max-width: 64ch; line-height: 1.6; }
.region-pane .button { align-self: center; }
.region-hero-note { gap: 40px; padding-top: 16px; }
.region-hero-note p { font-size: 18px; line-height: 1.6; color: var(--muted); max-width: none; }
.region-index { background: #e8f6ff; border-color: var(--line); }
.region-index > div { min-height: 130px; padding: 20px; border-color: var(--line); gap: 12px; }
.region-index span { font-family: var(--font); font-size: 14px; letter-spacing: 0; color: #126178; }
.region-index strong { color: #163da8; }
.seo-copy { max-width: none; }
.seo-copy > p, .seo-copy > ul { max-width: 96ch; margin-inline: auto; }
.seo-copy h2 { font-size: clamp(28px,3.2vw,42px); line-height: 1.15; text-align: center; margin-bottom: 22px; }
.seo-copy h3 { font-size: 23px; margin-top: 28px; }

/* The shop can use four columns on large displays without narrowing its copy. */
.shop { padding-top: calc(var(--header) + 44px); padding-bottom: 42px; background: #f1f9ff; }
.shop-head { max-width: none; padding-bottom: 24px; }
.shop-head .body-copy { max-width: 82ch; font-size: 18px; margin-top: 16px; }
.shop-controls { gap: 20px; margin-top: 26px; flex-wrap: wrap; }
.filter-group { gap: 20px; }
.filter-group button { font-size: 15px; min-height: 44px; padding: 8px 4px; color: #405e78; }
.filter-group button.active { color: #153ef5; border-color: #153ef5; }
.sort-select { font-size: 15px; min-height: 44px; border: 1px solid #adcde5; border-radius: 4px; padding: 8px 12px; background: white; max-width: 100%; }
.shop-search { max-width: 260px; border: 1px solid #adcde5; background: white; border-radius: 4px; }
.shop-search input { font-size: 16px; min-height: 44px; padding: 9px 13px; }
.product-list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px 32px; }
.product-row { padding: 12px 0 26px; gap: 16px; }
.product-row-media { height: 280px; background: white; border-radius: 4px; }
.product-row-media img { width: 100%; height: 100%; object-fit: contain; filter: none; mix-blend-mode: normal; padding: 6px; }
.product-row-copy { min-width: 0; }
.product-row-copy h2 { font-size: 25px; color: #143e83; }
.product-row-copy .eyebrow { font-size: 13px; color: #006d7c; }
.product-row-copy p { font-size: 17px; line-height: 1.55; max-width: 48ch; color: #466176; }
.product-row-copy .mini-spec { font-size: 14px; color: #466176; margin: 12px 0; }
.product-row-price { gap: 20px; flex-wrap: wrap; }
.product-row-price b { font-size: 22px; color: #163ecb; }

/* Product pages stay centred; feature/specification rows now use the width. */
.seo-breadcrumb { max-width: none; width: 100%; color: #48657e; font-size: 13px !important; background: #edf8ff; padding-inline: var(--gutter) !important; }
.product-hero { background: #edf8ff; }
.product-hero-inner { max-width: none; width: 100%; padding: 18px var(--gutter) 34px; }
.product-intro { max-width: none; width: 100%; min-height: 0; }
.product-intro h1 { color: #163ed3; margin-bottom: 14px; }
.product-intro .summary { font-size: 18px; line-height: 1.55; max-width: 82ch; color: #3c5c75; }
.product-gallery { max-width: min(1400px,100%); margin-top: 20px; }
.gallery-stage { background: #fff; border: 1px solid #d4e9f4; border-radius: 4px; }
.gallery-main-button { background: #fff; }
.gallery-arrow { background: #fff; border-color: #a3c5e5; color: #183fdb; }
.gallery-arrow:hover { background: #153ef5; border-color: #153ef5; color: white; }
.gallery-enlarge, .gallery-refresh { font-size: 13px; color: #1742b3; }
.gallery-caption { font-size: 13px; color: #42637d; padding-bottom: 12px; }
.gallery-thumb { background: white; border-color: #b6d3e8; }
.gallery-thumb.active { border-color: #153ef5; box-shadow: 0 0 0 2px #d1dcff; }
.gallery-source-note { font-size: 13px; color: #4c687c; max-width: 72ch; line-height: 1.45; }
.gallery-retry { background: white; border-color: #9fc5e5; color: #1543c3; font-size: 14px; }
.media-unavailable:after { color: #526f86; font-size: 15px; }
.buy-line { max-width: none; margin-top: 12px; padding-top: 18px; gap: 12px 32px; }
.buy-price { color: #133eda; font-size: 28px; }
.buy-line .source-note { font-size: 13px; }
.product-functions { padding: 36px 0; background: #1744e8; color: #fff; }
.product-functions h2 { color: white; margin-bottom: 24px; }
.function-list { max-width: none; display: grid; grid-template-columns: 1fr 1fr; gap: 0 42px; }
.function-item { padding: 18px 0; gap: 22px; grid-template-columns: 1fr 1.1fr; border-color: #7999f3; }
.function-item h3 { color: white; font-size: 20px; }
.function-item p { color: white; font-size: 17px; line-height: 1.55; }
.product-editorial { padding: 38px 0; background: #fff; }
.product-story-grid { max-width: none; }
.product-story-sidebar { max-width: none; margin-bottom: 28px; }
.product-story-sidebar p { font-size: 18px; color: #426078; margin-bottom: 0; }
.product-story-grid > div { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 44px; }
.story-block { display: block; padding: 0; margin: 0; border: 0; min-width: 0; }
.story-block h3 { font-size: 22px; color: #153daf; margin-bottom: 10px; }
.story-block p { font-size: 17px; line-height: 1.6; margin: 0; color: #446176; }
.story-block:last-child { grid-column: 1/-1; }
.spec-table { display: grid; grid-template-columns: 1fr 1fr; gap: 0 44px; border: 0; }
.spec-row { font-size: 16px; padding: 13px 0; grid-template-columns: 1fr 1.3fr; gap: 20px; border-color: var(--line); }
.spec-row span:first-child { color: #315573; }
.spec-row span:last-child { color: #123863; }
.story-block .source-note { font-size: 13px; line-height: 1.5; margin-top: 16px; max-width: 110ch; }
.photo-lightbox { background: #f7fcff; }
.lightbox-head, .library-head { background: #ecf6ff; border-color: var(--line); font-size: 16px; }
.lightbox-head button, .library-head button { color: #173fc7; font-size: 14px; min-height: 44px; }
.lightbox-count { font-size: 14px; color: #3e5f78; }
.lightbox-stage .gallery-arrow { position: absolute; }

/* Brochures, comparison, bag and checkout share the same sizing system. */
.brochure-list { max-width: none; }
.brochure-row { padding: 22px 0; }
.brochure-row h2 { color: #173fbe; }
.brochure-row p { font-size: 16px; line-height: 1.5; }
.brochure-sheet figcaption { font-size: 14px; }
.compare-selectors { gap: 24px; }
.compare-selectors label { font-size: 14px; color: #365c79; }
.compare-selectors select { font-size: 15px; background: #fff; border-color: #afcfe8; min-height: 46px; }
.full-compare { width: 100%; }
.full-compare th, .full-compare td { font-size: 16px; line-height: 1.5; padding: 16px; border-color: #bfd9e9; }
.full-compare thead { background: #eaf6ff; }
.full-compare tbody tr:nth-child(even) { background: #f0f9ff; }
.full-compare tbody td:first-child { color: #1c438d; font-weight: 700; }
.compare-product-head h3 { font-size: 20px; color: #143db2; }
.compare-product-head > div { color: #3e607a; font-size: 14px; }
.cart-page { padding-top: calc(var(--header) + 44px); padding-bottom: 46px; background: #f2faff; }
.cart-page h1 { margin-bottom: 28px; }
.cart-layout { grid-template-columns: minmax(0,1.7fr) minmax(320px,1fr); gap: 40px; }
.cart-summary { background: white; border: 1px solid #bfd9e9; padding: 24px; min-width: 0; }
.cart-summary h2 { color: #173fbc; }
.cart-line p, .cart-line span, .cart-totals, .drawer-total { font-size: 17px; }
.cart-line img { background: white; mix-blend-mode: normal; }
.cart-empty { color: #48667e; font-size: 18px; }
.cart-drawer { background: #f3faff; }
.drawer-head { background: #e7f3ff; border-color: #bfd9e9; }
.drawer-head b { color: #173fc5; }
.drawer-foot { background: white; border-color: #bfd9e9; }
.drawer-item h4 { font-size: 17px; color: #133b69; }
.drawer-item small { font-size: 15px; color: #173fbc; }
.qty { border-color: #aecde4; background: white; }
.qty button { color: #173fd1; min-height: 40px; min-width: 40px; }
.qty span { font-size: 16px; }
.drawer-total strong { color: #173fbc; }

/* Original blue logo on white; a navy footer anchors the brighter content. */
.site-footer { background: #082e58; color: #fff; padding: 44px 0 20px; border-top: 4px solid #44c1d7; }
.footer-main { display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.5fr); gap: 50px; align-items: start; }
.footer-brand { max-width: none; margin: 0; text-align: center; }
.footer-brand img { background: white; padding: 9px 12px; width: 205px; max-height: none; border-radius: 3px; mix-blend-mode: normal; }
.footer-brand p { font-size: 16px; line-height: 1.5; color: #d9edff; max-width: 35ch; margin-top: 18px; }
.footer-links { max-width: none; width: 100%; gap: 24px; }
.footer-col b { color: white; font-size: 16px; }
.footer-col a { color: #d7eaff; font-size: 15px; line-height: 1.55; }
.footer-col a:hover { color: #8aebf1; text-decoration: underline; text-underline-offset: 4px; }
.footer-bottom { font-size: 13px; color: #c7deef; border-color: #416383; margin-top: 28px; padding-top: 18px; line-height: 1.5; }
.message-main { background: #153ef5; font-size: 14px; padding-inline: 14px 20px; border-color: #c0ccff; }
.message-wave { background: #1bc0db; flex: 0 0 24px; }
.message-channel span { font-size: 14px; }
.message-channel { min-height: 44px; }
.message-fallback-card { background: #f5fcff; border-color: #9fcae8; }
.message-fallback-card p { font-size: 17px; color: #3b5f7b; }

@media (min-width: 1680px) {
  .range-carousel .range-track { --range-columns: 4; }
  .product-list { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .range-carousel .range-panel { grid-template-rows: 290px 1fr; }
  .range-carousel .range-media, .product-row-media { height: 290px; }
}
@media (min-width: 901px) and (max-height: 740px) {
  .hero-compact .hero-layout { top: calc(var(--header) + 17px); }
  .hero-compact .hero-kicker { font-size: 17px; margin-top: 10px; }
  .hero-compact .hero-copy h1 { font-size: 42px; }
  .hero-compact .scroll-cue { margin-top: 6px; }
  .hero-compact .hero-stage { top: 260px; bottom: 140px; }
  .hero-compact .hero-tech-label { bottom: 19px; height: 94px; }
}
@media (max-width: 1180px) {
  .product-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .function-item { grid-template-columns: 1fr; gap: 6px; }
  .footer-main { grid-template-columns: 230px minmax(0,1fr); gap: 30px; }
  .footer-links { gap: 20px; }
}
@media (max-width: 1100px) {
  .range-carousel .range-track { --range-columns: 2; }
}
@media (max-width: 1080px) {
  .header-inner { grid-template-columns: 1fr auto; }
  .footer-main { display: block; }
  .footer-brand { margin-bottom: 26px; }
  .footer-links { max-width: none; }
}
@media (max-width: 900px) {
  :root { --gutter: 24px; }
  .hero-compact .hero-sticky, .water-enabled .hero-compact .hero-sticky { padding: calc(var(--header) + 26px) var(--gutter) 38px; }
  .hero-compact .hero-layout { position: relative; inset: auto; padding: 0; }
  .hero-compact .hero-kicker { font-size: 17px; max-width: 690px; }
  .hero-compact .hero-stage { position: relative; inset: auto; width: min(670px,100%); height: 345px; margin: 12px auto; }
  .hero-compact .hero-tech-label { display: block; position: relative; inset: auto; height: auto; width: 100%; }
  .hero-compact .hero-tech-label p { font-size: 16px; line-height: 1.5; max-width: 670px; }
  .hero-features { gap: 26px; }
  .hero-features button { font-size: 16px; }
  .water-toggle { left: 12px; bottom: 0; }
  .study { display: block; }
  .study-copy { padding: 32px var(--gutter) 18px; }
  .study-notes { max-width: 100%; gap: 26px; margin-top: 18px; }
  .study-room { height: 250px; margin-bottom: 24px; }
  .delivery-list { gap: 0 26px; }
  .delivery-row { grid-template-columns: 1fr; gap: 8px; }
  .product-story-grid > div, .spec-table { gap: 20px 26px; }
  .spec-row { grid-template-columns: 1fr 1.25fr; gap: 12px; font-size: 15px; }
  .cart-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .cart-summary { position: static; }
  .editorial-row { grid-template-columns: minmax(150px,.65fr) minmax(0,1.8fr); gap: 26px; }
}
@media (max-width: 600px) {
  :root { --gutter: 18px; --body-size: 16px; }
  .header-inner { gap: 14px; }
  .header-tools { gap: 14px; }
  .brand, .brand img { width: 132px; }
  .header-tools button, .header-tools select, .bag-count { font-size: 13px; }
  .body-copy, .lede, .page-side, .seo-copy { font-size: 17px; line-height: 1.55; }
  .eyebrow { font-size: 13px; margin-bottom: 8px; }
  .button, .text-button, .link-arrow { font-size: 14px; }
  .button, .text-button { padding: 12px 18px; }
  .hero-compact .hero-copy h1 { font-size: clamp(32px,8.1vw,42px); }
  .hero-compact .hero-kicker { font-size: 16px; margin-top: 12px; }
  .hero-compact .scroll-cue { font-size: 14px; margin-top: 10px; }
  .hero-compact .hero-stage { height: 280px; margin: 10px auto; width: 100%; }
  .hero-compact .hero-sticky, .water-enabled .hero-compact .hero-sticky { padding-top: calc(var(--header) + 22px); padding-bottom: 34px; }
  .hero-features { gap: 15px; flex-wrap: nowrap; }
  .hero-features button { font-size: 14px; min-height: 44px; padding: 6px 0; white-space: nowrap; }
  .hero-compact .hero-tech-label p { font-size: 15px; margin-top: 8px; }
  .water-toggle { font-size: 11px; min-height: 36px; }
  .range-carousel { padding-block: 28px 24px; }
  .range-carousel .range-top { padding-bottom: 20px; }
  .range-carousel .range-track { --range-columns: 1; gap: 18px; }
  .range-carousel .range-panel, .range-carousel .range-panel:nth-child(even) { flex-basis: 100%; grid-template-rows: 250px 1fr; gap: 14px; padding-bottom: 18px; }
  .range-carousel .range-media { height: 250px; }
  .range-carousel .range-copy h3 { font-size: 23px; }
  .range-carousel .range-copy p { font-size: 16px; line-height: 1.55; }
  .range-carousel .range-buy { font-size: 20px; }
  .range-carousel .range-controls { padding-top: 16px; }
  .collection-all, .collection-position { font-size: 14px; }
  .study-copy { padding-top: 28px; }
  .study-copy .body-copy { font-size: 16px; line-height: 1.6; margin-top: 16px; }
  .study-notes { gap: 18px; padding-top: 16px; }
  .study-notes p { font-size: 15px; line-height: 1.55; }
  .study-room { height: 225px; margin-bottom: 18px; }
  .home-compare, .delivery, .home-contact { padding-block: 32px; }
  .home-compare .body-copy { font-size: 17px; }
  .delivery-list { grid-template-columns: 1fr; gap: 0; }
  .delivery-row { grid-template-columns: 66px minmax(0,1fr); padding-block: 14px; gap: 16px; }
  .delivery-row strong { font-size: 17px; }
  .delivery-row p { font-size: 16px; line-height: 1.55; }
  .contact-grid > div:first-child, .delivery-grid > div:first-child { margin-bottom: 22px; }
  .contact-form { gap: 16px; grid-template-columns: 1fr; }
  .field label { font-size: 14px; margin-bottom: 5px; }
  .field input, .field select, .field textarea { font-size: 16px; padding: 10px 12px; }
  .field textarea { height: 96px; }
  .form-note { font-size: 12px; line-height: 1.5; }
  .page-hero-inner { padding: 24px var(--gutter) 19px; }
  .page-side { margin-top: 14px; }
  .content-section { padding-block: 24px 32px; }
  .editorial-row { grid-template-columns: 1fr; gap: 8px; padding-block: 9px; }
  .editorial-row h3 { font-size: 20px; }
  .editorial-row p { font-size: 16px; grid-column: auto; line-height: 1.55; }
  .faq-lines summary { font-size: 19px; padding: 17px 0; gap: 18px; }
  .faq-lines details p { font-size: 16px; }
  .region-pane { padding: 30px var(--gutter); min-height: 0; }
  .region-pane p { font-size: 17px; }
  .region-hero-note { grid-template-columns: 1fr; gap: 14px; }
  .region-hero-note p { font-size: 17px; }
  .region-index { grid-template-columns: 1fr 1fr; }
  .region-index > div { min-height: 110px; padding: 16px; }
  .region-index strong { font-size: 18px; }
  .seo-copy > p, .seo-copy > ul { max-width: none; }
  .shop { padding-top: calc(var(--header) + 30px); padding-bottom: 28px; }
  .shop-head .body-copy { font-size: 17px; }
  .shop-controls { gap: 14px; margin-top: 22px; }
  .filter-group { gap: 15px; }
  .filter-group button { font-size: 14px; }
  .shop-search { max-width: 100%; width: 100%; }
  .sort-select { font-size: 14px; width: 100%; }
  .product-list { grid-template-columns: 1fr; gap: 22px; }
  .product-row { gap: 14px; padding: 10px 0 24px; }
  .product-row-media { height: 280px; }
  .product-row-copy h2 { font-size: 25px; }
  .product-row-copy p { font-size: 16px; }
  .product-intro h1 { margin-bottom: 12px; }
  .product-intro .summary { font-size: 17px; line-height: 1.55; }
  .product-hero-inner { padding-top: 14px; padding-bottom: 28px; }
  .product-gallery { margin-top: 18px; }
  .gallery-stage { height: 310px; }
  .gallery-main-button { padding: 6px 45px; }
  .gallery-arrow { width: 40px; height: 44px; }
  .gallery-caption { font-size: 12px; gap: 10px; }
  .gallery-source-note { font-size: 12px; }
  .buy-line { gap: 12px 20px; margin-top: 8px; padding-top: 16px; }
  .buy-price { font-size: 27px; }
  .buy-actions { gap: 10px; flex-wrap: wrap; }
  .buy-line .source-note { font-size: 12px; }
  .product-functions { padding-block: 28px; }
  .product-functions h2 { margin-bottom: 18px; }
  .function-list { grid-template-columns: 1fr; }
  .function-item { grid-template-columns: 1fr; gap: 5px; padding: 15px 0; }
  .function-item h3 { font-size: 19px; }
  .function-item p { font-size: 16px; line-height: 1.55; }
  .product-editorial { padding-block: 28px; }
  .product-story-sidebar { margin-bottom: 22px; }
  .product-story-sidebar h2 { font-size: 29px; }
  .product-story-sidebar p { font-size: 17px; }
  .product-story-grid > div { grid-template-columns: 1fr; gap: 20px; }
  .story-block h3 { font-size: 21px; margin-bottom: 8px; }
  .story-block p { font-size: 16px; line-height: 1.55; }
  .spec-table { grid-template-columns: 1fr; gap: 0; }
  .spec-row { font-size: 15px; line-height: 1.5; gap: 18px; padding: 12px 0; }
  .story-block .source-note { font-size: 12px; line-height: 1.5; }
  .brochure-row { grid-template-columns: minmax(0,1fr); gap: 8px; padding-block: 20px; }
  .brochure-row h2 { font-size: 23px; }
  .brochure-row p { font-size: 15px; }
  .brochure-row .button { grid-column: 1; grid-row: auto; justify-self: start; margin-top: 4px; }
  .compare-selectors { gap: 16px; grid-template-columns: 1fr 1fr; }
  .compare-selectors label { font-size: 13px; }
  .compare-selectors select { font-size: 14px; padding-inline: 8px; }
  .full-compare th, .full-compare td { font-size: 15px; padding: 13px; }
  .cart-page { padding-top: calc(var(--header) + 30px); padding-bottom: 32px; }
  .cart-summary { padding: 20px; }
  .cart-line { gap: 16px; }
  .cart-line h2, .cart-line h3 { font-size: 20px; }
  .drawer-item h4 { font-size: 16px; }
  .footer-links { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 20px; }
  .site-footer { padding-top: 28px; }
  .footer-brand { margin-bottom: 20px; }
  .footer-brand img { width: 185px; padding: 7px 9px; }
  .footer-brand p { font-size: 15px; }
  .footer-col a { font-size: 14px; }
  .footer-bottom { font-size: 12px; line-height: 1.5; margin-top: 20px; padding-top: 14px; }
  .message-main { font-size: 13px; width: 46px; height: 46px; padding: 0; gap: 0; }
  .message-channel span { font-size: 13px; }
  .message-fallback-card p { font-size: 16px; }
}
@media (max-width: 360px) {
  :root { --gutter: 14px; }
  .brand, .brand img { width: 116px; }
  .header-tools { gap: 10px; }
  .hero-features { gap: 10px; }
  .hero-features button { font-size: 13px; }
  .hero-compact .hero-stage { height: 245px; }
  .gallery-caption { gap: 7px; }
  .gallery-refresh { font-size: 12px; padding-left: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-compact .hero-product { transform: none !important; }
  html, .range-carousel .range-track { scroll-behavior: auto !important; }
}
@media print {
  body, section, .hero-compact, .product-hero, .page-hero, .site-footer { background: white !important; color: #000 !important; }
  .product-functions, .home-compare, .region-pane { background: white !important; }
  .product-functions *, .home-compare *, .region-pane *, .site-footer * { color: #000 !important; }
}
