/* =====================================================================
   MIZENO — Website Build V2  |  Design System
   Source of truth: 00_MIZENO_Foundation_v4.md
   Palette: SET 04 — MIZENO FIELD  (CONFIRMED DIRECTION, 2026-09-03)
     Architectural White (non-cream) / Pale Sage / MIZENO Sage / Deep Sage / Graphite
     DO: clean white space, subtle sage, calm. DON'T: aqua/blue, lime, loud gradients.
   Type:   IBM Plex Sans Thai (display) + Looped (body) + Plex Sans (latin)
   NOTE: token NAMES kept stable for low-diff; VALUES now = SET 04 sage system.
         See BRAND_ASSETS_MAP.md for the source boards + status.
   ===================================================================== */

/* ---------- Design tokens ---------- */
:root{
  /* brand color tokens — SET 04 MIZENO FIELD (names kept, values updated) */
  --mz-porcelain:#F4F5F1;        /* SET04 Architectural White (base, NON-cream) */
  --mz-stone:#D8DED1;            /* SET04 Pale Sage (secondary surface) */
  --mz-graphite:#202724;         /* near-black graphite anchor: text + footer/toast (SET04 plinth graphite = #414542) */
  --mz-forest:#314936;           /* SET04 Deep Sage (primary green) — token name kept */
  --mz-leaf:#8D9E82;             /* SET04 MIZENO Sage (soft accent) — replaces old bright lime */
  --mz-water:#4A6E5F;            /* muted sage 'treated water' cue — NO bright aqua (SET04 DON'T) */

  /* SET04-named aliases — prefer these in new work */
  --mz-arch-white:#F4F5F1; --mz-pale-sage:#D8DED1; --mz-sage:#8D9E82;
  --mz-deep-sage:#314936; --mz-graphite-detail:#414542;

  /* derived */
  --mz-forest-dark:#233A2E;      /* darker Deep Sage (hover) */
  --mz-forest-tint:#E7ECE6;      /* pale sage-green tint */
  --mz-ink:#202724;              /* near-black text */
  --mz-muted:#5B635E;            /* graphite softened for secondary text */
  --mz-line:#DDE3DD;             /* cool sage hairline (was warm cream) */
  --mz-line-strong:#C7CFC6;
  --mz-card:#FFFFFF;
  --mz-card-warm:#FAFBF9;        /* cool near-white card (was cream) */
  --mz-leaf-soft:#E7ECE3;        /* sage tint (was lime tint) */
  --mz-amber:#B57A16;            /* [WORKING]/caution note text (functional) */
  --mz-amber-soft:#FBF1DC;       /* caution note bg (functional warning) */

  /* typography */
  --font-display:"IBM Plex Sans Thai","IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-body:"IBM Plex Sans Thai Looped","IBM Plex Sans Thai",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-latin:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-serif:"IBM Plex Serif",Georgia,"Times New Roman",serif;

  --fs-display:clamp(2.75rem,1.9rem + 3.4vw,4.25rem);   /* 44 -> 68 */
  --fs-h1:clamp(2.25rem,1.7rem + 2.2vw,3.25rem);        /* 36 -> 52 */
  --fs-h2:clamp(1.75rem,1.4rem + 1.4vw,2.25rem);        /* 28 -> 36 */
  --fs-h3:clamp(1.375rem,1.2rem + 0.7vw,1.625rem);      /* 22 -> 26 */
  --fs-lead:clamp(1.125rem,1.05rem + 0.35vw,1.25rem);   /* 18 -> 20 */
  --fs-body:1.0625rem;                                  /* 17 */
  --fs-small:0.875rem;                                  /* 14 */
  --fs-caption:0.75rem;                                 /* 12 */

  /* layout */
  --maxw:1160px;
  --maxw-narrow:820px;
  --radius:16px;
  --radius-sm:10px;
  --radius-pill:999px;
  --pad-section:clamp(3.25rem,2.2rem + 4vw,6rem);
  --shadow-sm:0 1px 2px rgba(32,39,36,.05),0 1px 3px rgba(32,39,36,.06);
  --shadow:0 10px 30px -12px rgba(32,39,36,.18);
  --shadow-lg:0 24px 60px -20px rgba(32,39,36,.28);
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.65;
  color:var(--mz-ink);
  background:var(--mz-porcelain);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--mz-forest);text-decoration:none}
a:hover{color:var(--mz-forest-dark)}
button{font-family:inherit}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.18;color:var(--mz-graphite);margin:0 0 .5em}
h1{font-size:var(--fs-h1);letter-spacing:-.01em}
h2{font-size:var(--fs-h2);letter-spacing:-.01em}
h3{font-size:var(--fs-h3)}
p{margin:0 0 1rem}
strong{font-weight:600}
:focus-visible{outline:3px solid var(--mz-water);outline-offset:2px;border-radius:4px}

/* ---------- Layout helpers ---------- */
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.1rem,.6rem + 2vw,2rem)}
.section{padding-block:var(--pad-section)}
.section--tight{padding-block:clamp(2.25rem,1.6rem + 2.5vw,3.5rem)}
.section--porcelain{background:var(--mz-porcelain)}
.section--stone{background:var(--mz-porcelain)}
.section--forest{background:var(--mz-forest);color:#EEF2ED}
.section--forest h1,.section--forest h2,.section--forest h3{color:#fff}
.section--card{background:var(--mz-card-warm)}
.narrow{max-width:var(--maxw-narrow);margin-inline:auto}
.center{text-align:center}
.stack>*+*{margin-top:1rem}
.grid{display:grid;gap:clamp(1rem,.6rem + 1.4vw,1.75rem)}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}

/* ---------- Eyebrow / lead / notes ---------- */
.eyebrow{
  font-family:var(--font-latin);font-size:var(--fs-caption);font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mz-forest);
  display:inline-flex;align-items:center;gap:.5rem;margin:0 0 .9rem
}
.section--forest .eyebrow{color:var(--mz-leaf)}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--mz-leaf);display:inline-block}
.lead{font-size:var(--fs-lead);color:var(--mz-muted);line-height:1.6}
.section--forest .lead{color:#DCE6E0}
.muted{color:var(--mz-muted)}
.small{font-size:var(--fs-small)}
.caption{font-size:var(--fs-caption);color:var(--mz-muted)}

.note{
  font-size:var(--fs-small);border-left:3px solid var(--mz-line-strong);
  background:var(--mz-card-warm);padding:.7rem .95rem;border-radius:0 8px 8px 0;color:var(--mz-muted)
}
.note--working{border-left-color:var(--mz-amber);background:var(--mz-amber-soft);color:var(--mz-amber)}
.tagline-serif{font-family:var(--font-serif);font-style:italic;color:var(--mz-forest)}

/* ---------- Buttons ---------- */
.btn{
  --btn-bg:var(--mz-forest);--btn-fg:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--font-display);font-weight:600;font-size:1rem;line-height:1;
  padding:.9rem 1.5rem;border-radius:var(--radius-pill);border:1.5px solid transparent;
  background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;
  transition:transform .15s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);
  text-align:center
}
.btn:hover{background:var(--mz-forest-dark);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow)}
.btn:active{transform:translateY(0)}
.btn--lg{padding:1.05rem 1.9rem;font-size:1.0625rem}
.btn--block{display:flex;width:100%}
.btn--ghost{background:transparent;color:var(--mz-forest);border-color:var(--mz-line-strong)}
.btn--ghost:hover{background:var(--mz-forest-tint);color:var(--mz-forest-dark);border-color:var(--mz-forest)}
.btn--light{background:#fff;color:var(--mz-forest)}
.btn--light:hover{background:#E9EDE8;color:var(--mz-forest-dark)}
.btn--line{background:var(--mz-forest);color:#fff}
.btn--line:hover{background:var(--mz-forest-dark);color:#fff}
.btn--line svg{width:20px;height:20px}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}
.btn-row--center{justify-content:center}

/* ---------- Badges ---------- */
.badge{
  display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-latin);
  font-size:var(--fs-caption);font-weight:600;letter-spacing:.03em;
  padding:.3rem .65rem;border-radius:var(--radius-pill);
  background:var(--mz-leaf-soft);color:var(--mz-forest-dark);border:1px solid #C3D0C0
}
.badge--rec{background:var(--mz-forest);color:#fff;border-color:var(--mz-forest)}
.badge--muted{background:var(--mz-stone);color:var(--mz-graphite);border-color:var(--mz-line-strong)}
.badge--water{background:#E1E8E0;color:#314936;border-color:#C7D2C4}

/* ---------- Header / nav ---------- */
.hdr{position:sticky;top:0;z-index:60;background:rgba(244,245,241,.86);backdrop-filter:blur(10px);border-bottom:1px solid var(--mz-line)}
.hdr__in{display:flex;align-items:center;gap:1.25rem;min-height:64px}
.hdr__logo{display:inline-flex;align-items:center;color:var(--mz-graphite)}
.hdr__logo svg{height:24px;width:auto}
.hdr__nav{display:flex;gap:1.4rem;margin-left:.75rem;flex:1}
.hdr__nav a{font-family:var(--font-display);font-weight:500;font-size:.975rem;color:var(--mz-graphite);padding:.35rem 0;border-bottom:2px solid transparent}
.hdr__nav a:hover,.hdr__nav a[aria-current="page"]{color:var(--mz-forest);border-color:var(--mz-leaf)}
.hdr__actions{display:flex;align-items:center;gap:.6rem;margin-left:auto}
.hdr__cart{position:relative;background:transparent;border:1.5px solid var(--mz-line-strong);border-radius:var(--radius-pill);width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--mz-graphite)}
.hdr__cart:hover{border-color:var(--mz-forest);color:var(--mz-forest)}
.hdr__cart svg{width:20px;height:20px}
.hdr__cart [data-cart-count]{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--mz-leaf);color:var(--mz-graphite);font-family:var(--font-latin);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--mz-porcelain)}
.hdr__cart [data-cart-count]:empty,.hdr__cart [data-cart-count][data-count="0"]{display:none}
.hdr__menu{display:none;background:transparent;border:1.5px solid var(--mz-line-strong);border-radius:10px;width:44px;height:44px;font-size:1.3rem;cursor:pointer;color:var(--mz-graphite)}
.hdr .btn{padding:.62rem 1.05rem;font-size:.925rem}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,1rem + 3vw,3.5rem);align-items:center}
.hero h1{font-size:var(--fs-display);margin-bottom:.35em}
.hero__sig{font-family:var(--font-latin);font-size:var(--fs-small);letter-spacing:.02em;color:var(--mz-muted);margin-top:1.25rem}
.hero__price{display:inline-flex;align-items:baseline;gap:.5rem;margin:1.25rem 0 .35rem;font-family:var(--font-display)}
.hero__price b{font-size:1.9rem;color:var(--mz-graphite);font-weight:600}
.hero__media{position:relative;aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden}

/* ---------- Image placeholder (NO ai-render as evidence) ---------- */
.ph{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;
  background:var(--mz-stone);
  color:var(--mz-muted);text-align:center;padding:1.25rem;border-radius:var(--radius);border:1px dashed var(--mz-line-strong);
  min-height:180px;width:100%;height:100%
}
.ph svg{width:34px;height:34px;opacity:.5}
.ph b{font-family:var(--font-display);font-weight:600;color:var(--mz-graphite);font-size:.95rem}
.ph span{font-size:var(--fs-caption);max-width:26ch}
.ph--tall{aspect-ratio:4/5}
.ph--wide{aspect-ratio:16/10}
.ph--sq{aspect-ratio:1/1}

/* ---------- Feature / step blocks ---------- */
.feature{background:var(--mz-card);border:1px solid var(--mz-line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow-sm)}
.feature h3{margin-bottom:.4rem}
.feature .ic{width:44px;height:44px;border-radius:12px;background:var(--mz-forest-tint);color:var(--mz-forest);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.feature .ic svg{width:24px;height:24px}
.steps{counter-reset:step;display:grid;gap:1.1rem}
.step{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}
.step__n{counter-increment:step;width:38px;height:38px;border-radius:50%;background:var(--mz-forest);color:#fff;font-family:var(--font-display);font-weight:600;display:flex;align-items:center;justify-content:center}
.step__n::before{content:counter(step)}

/* diagnostic question cards */
.qcards{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
.qcard{background:var(--mz-card);border:1px solid var(--mz-line);border-radius:var(--radius);padding:1.25rem 1.35rem;display:flex;gap:.9rem;align-items:flex-start}
.qcard .qmark{flex:none;width:34px;height:34px;border-radius:50%;background:var(--mz-leaf-soft);color:var(--mz-forest-dark);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700}

/* ---------- KPI / stat ---------- */
.stat b{display:block;font-family:var(--font-display);font-size:clamp(1.9rem,1.4rem + 1.6vw,2.6rem);color:var(--mz-forest);line-height:1}
.section--forest .stat b{color:var(--mz-leaf)}
.stat span{font-size:var(--fs-small);color:var(--mz-muted)}
.section--forest .stat span{color:#DCE6E0}

/* ---------- Product cards ---------- */
.pcard{position:relative;display:flex;flex-direction:column;background:var(--mz-card);border:1px solid var(--mz-line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:box-shadow .25s var(--ease),transform .25s var(--ease)}
.pcard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.pcard--rec{border-color:var(--mz-forest);box-shadow:0 0 0 1px var(--mz-forest),var(--shadow)}
.pcard__media{aspect-ratio:4/3;background:var(--mz-card-warm);position:relative}
.pcard__flag{position:absolute;top:12px;left:12px;z-index:2}
.pcard__body{padding:1.35rem 1.4rem 1.5rem;display:flex;flex-direction:column;flex:1}
.pcard__name{font-family:var(--font-display);font-weight:600;font-size:1.3rem;color:var(--mz-graphite);margin:0}
.pcard__sub{font-size:var(--fs-small);color:var(--mz-muted);margin:.15rem 0 .9rem}
.price{font-family:var(--font-display)}
.price b{font-size:1.75rem;font-weight:600;color:var(--mz-graphite)}
.price s{color:var(--mz-muted);font-size:1rem;margin-left:.4rem}
.price .unit{font-size:.9rem;color:var(--mz-muted);font-weight:500}
.inclusions{list-style:none;margin:1rem 0 1.25rem;padding:0;display:grid;gap:.55rem;font-size:var(--fs-small)}
.inclusions li{display:grid;grid-template-columns:auto 1fr;gap:.55rem;align-items:start;color:var(--mz-graphite)}
.inclusions li svg{width:18px;height:18px;color:var(--mz-forest);margin-top:.15rem;flex:none}
.pcard .btn{margin-top:auto}

/* ---------- Comparison / spec table ---------- */
.tbl-wrap{overflow-x:auto;border:1px solid var(--mz-line);border-radius:var(--radius);background:var(--mz-card)}
table.tbl{width:100%;border-collapse:collapse;min-width:520px;font-size:var(--fs-small)}
table.tbl th,table.tbl td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid var(--mz-line)}
table.tbl thead th{background:var(--mz-card-warm);font-family:var(--font-display);color:var(--mz-graphite);font-weight:600}
table.tbl tbody tr:last-child td{border-bottom:0}
table.tbl td.num{text-align:right;font-variant-numeric:tabular-nums}
.envelope-ok{color:var(--mz-forest);font-weight:600}
.envelope-warn{color:var(--mz-amber);font-weight:600}
.envelope-no{color:#B23B2E;font-weight:600}

/* ---------- FAQ accordion ---------- */
.faq{border:1px solid var(--mz-line);border-radius:var(--radius);overflow:hidden;background:var(--mz-card)}
.faq details{border-bottom:1px solid var(--mz-line)}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;list-style:none;padding:1.1rem 1.35rem;font-family:var(--font-display);font-weight:500;color:var(--mz-graphite);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--mz-forest);transition:transform .2s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .faq__a{padding:0 1.35rem 1.2rem;color:var(--mz-muted);font-size:var(--fs-body)}

/* ---------- Refusal block ---------- */
.refuse{background:var(--mz-card-warm);border:1px solid var(--mz-line);border-radius:var(--radius);padding:clamp(1.5rem,1rem + 2vw,2.5rem)}
.refuse ul{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.8rem}
.refuse li{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start}
.refuse li svg{width:20px;height:20px;color:var(--mz-amber);margin-top:.2rem;flex:none}

/* ---------- Forms ---------- */
.field{display:block;margin-bottom:1.1rem}
.field>label{display:block;font-family:var(--font-display);font-weight:500;font-size:var(--fs-small);color:var(--mz-graphite);margin-bottom:.4rem}
.field .req{color:#B23B2E}
.input,.select,.textarea{
  width:100%;font-family:var(--font-body);font-size:var(--fs-body);color:var(--mz-ink);
  background:var(--mz-card);border:1.5px solid var(--mz-line-strong);border-radius:var(--radius-sm);
  padding:.75rem .9rem;transition:border-color .15s var(--ease),box-shadow .15s var(--ease)
}
.textarea{min-height:110px;resize:vertical}
.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--mz-forest);box-shadow:0 0 0 3px var(--mz-forest-tint)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.radio-cards{display:grid;gap:.7rem}
.radio-card{display:flex;gap:.75rem;align-items:flex-start;border:1.5px solid var(--mz-line-strong);border-radius:var(--radius-sm);padding:.85rem 1rem;cursor:pointer;background:var(--mz-card)}
.radio-card:has(input:checked){border-color:var(--mz-forest);background:var(--mz-forest-tint)}
.radio-card input{margin-top:.25rem}
.radio-card .rc-t{font-family:var(--font-display);font-weight:500;color:var(--mz-graphite)}
.radio-card .rc-d{font-size:var(--fs-small);color:var(--mz-muted)}

/* ---------- Cart drawer ---------- */
.drawer-scrim{position:fixed;inset:0;background:rgba(32,39,36,.45);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),visibility .25s;z-index:90}
.drawer-scrim.open{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100dvh;width:min(420px,92vw);background:var(--mz-porcelain);z-index:100;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s var(--ease);box-shadow:var(--shadow-lg)}
.drawer.open{transform:translateX(0)}
.drawer__head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.25rem;border-bottom:1px solid var(--mz-line)}
.drawer__head h3{margin:0}
.drawer__close{background:transparent;border:0;font-size:1.5rem;cursor:pointer;color:var(--mz-muted);line-height:1}
.drawer__body{flex:1;overflow-y:auto;padding:1rem 1.25rem}
.drawer__foot{border-top:1px solid var(--mz-line);padding:1.1rem 1.25rem;background:var(--mz-card-warm)}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:.85rem;padding:.9rem 0;border-bottom:1px solid var(--mz-line)}
.cart-line__media{width:64px;height:64px;border-radius:10px;background:var(--mz-stone);overflow:hidden}
.cart-line__name{font-family:var(--font-display);font-weight:500;font-size:.95rem;color:var(--mz-graphite);margin:0 0 .15rem}
.cart-line__meta{font-size:var(--fs-caption);color:var(--mz-muted)}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--mz-line-strong);border-radius:var(--radius-pill);overflow:hidden;margin-top:.4rem}
.qty button{width:28px;height:28px;border:0;background:transparent;cursor:pointer;font-size:1rem;color:var(--mz-graphite)}
.qty button:hover{background:var(--mz-forest-tint);color:var(--mz-forest)}
.qty input{width:34px;text-align:center;border:0;background:transparent;font-family:var(--font-latin);font-size:.9rem}
.cart-line__price{text-align:right;font-family:var(--font-display);font-weight:600;white-space:nowrap}
.cart-line__rm{display:block;margin-top:.4rem;background:0;border:0;color:var(--mz-muted);font-size:var(--fs-caption);cursor:pointer;text-decoration:underline}
.cart-line__rm:hover{color:#B23B2E}
.cart-empty{text-align:center;color:var(--mz-muted);padding:2.5rem 1rem}
.sumrow{display:flex;justify-content:space-between;font-size:var(--fs-small);margin-bottom:.4rem}
.sumrow--total{font-family:var(--font-display);font-weight:600;font-size:1.15rem;color:var(--mz-graphite);border-top:1px solid var(--mz-line);padding-top:.7rem;margin-top:.6rem}

/* ---------- Cart / checkout page ---------- */
.checkout-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:clamp(1.25rem,.8rem+2vw,2.5rem);align-items:start}
.summary-card{background:var(--mz-card);border:1px solid var(--mz-line);border-radius:var(--radius);padding:1.5rem;position:sticky;top:84px;box-shadow:var(--shadow-sm)}
.panel{background:var(--mz-card);border:1px solid var(--mz-line);border-radius:var(--radius);padding:clamp(1.25rem,.9rem+1.5vw,1.9rem);margin-bottom:1.25rem}
.panel h3{display:flex;align-items:center;gap:.6rem}
.panel h3 .n{width:28px;height:28px;border-radius:50%;background:var(--mz-forest);color:#fff;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display)}

/* ---------- Footer ---------- */
.ftr{background:var(--mz-graphite);color:#C9CFCB;font-size:var(--fs-small);padding-block:clamp(2.5rem,2rem+2vw,3.5rem) 1.5rem;margin-top:0}
.ftr a{color:#DCE6E0}
.ftr a:hover{color:#fff}
.ftr__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.12)}
.ftr__logo svg{height:24px;color:#fff;margin-bottom:1rem}
.ftr h4{font-family:var(--font-display);color:#fff;font-size:.95rem;font-weight:600;margin:0 0 .9rem}
.ftr ul{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
.ftr__sig{font-family:var(--font-latin);color:#8FA39A;margin-top:.35rem}
.ftr__note{font-size:var(--fs-caption);color:#8A938E;line-height:1.6;padding-top:1.5rem;display:grid;gap:.6rem}
.ftr__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-top:1.25rem;color:#8A938E;font-size:var(--fs-caption)}

/* ---------- Sticky mobile CTA ---------- */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;gap:.6rem;padding:.6rem .8rem;background:rgba(244,245,241,.95);backdrop-filter:blur(8px);border-top:1px solid var(--mz-line)}
.mobile-cta .btn{flex:1;padding:.8rem 1rem}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--mz-graphite);color:#fff;padding:.8rem 1.2rem;border-radius:var(--radius-pill);font-size:var(--fs-small);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all .25s var(--ease);z-index:120}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

/* ---------- Lifestyle cards (everyday life, no claims) ---------- */
.lifecard{margin:0;display:flex;flex-direction:column;gap:.85rem;align-self:start}
.lifecard .ph{margin:0;height:auto;min-height:0}
.lifecard figcaption{font-family:var(--font-display);font-weight:500;font-size:1rem;color:var(--mz-graphite);line-height:1.4}

/* ---------- System flow diagram ---------- */
.flow-wrap{overflow-x:auto;padding:.5rem 0 1rem}
.flow{display:flex;align-items:stretch;justify-content:center;gap:0;min-width:min-content}
.flow__node{flex:0 0 auto;width:152px;background:var(--mz-card);border:1.5px solid var(--mz-line-strong);border-radius:var(--radius-sm);padding:1.1rem .8rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.55rem}
.flow__node .ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--mz-porcelain);color:var(--mz-muted)}
.flow__node .ic svg{width:26px;height:26px}
.flow__t{font-family:var(--font-display);font-weight:500;font-size:.95rem;color:var(--mz-graphite);line-height:1.2}
.flow__d{font-size:var(--fs-caption);color:var(--mz-muted);line-height:1.4}
.flow__node--raw{border-color:#8D9E82;background:#E7ECE6}
.flow__node--raw .ic{background:#D8DED1;color:#5B635E}
.flow__node--core{border-color:var(--mz-forest);background:var(--mz-forest)}
.flow__node--core .flow__t,.flow__node--core .flow__d{color:#fff}
.flow__node--core .ic{background:rgba(255,255,255,.16);color:#fff}
.flow__node--treated{border-color:var(--mz-water);background:#E4EAE4}
.flow__node--treated .ic{background:#D3DBD1;color:var(--mz-water)}
.flow__arrow{flex:0 0 auto;width:30px;display:flex;align-items:center;justify-content:center;color:var(--mz-line-strong)}
.flow__arrow svg{width:22px;height:22px}

/* ---------- Schematic diagram (SVG) ---------- */
.diagram{background:var(--mz-card);border:1px solid var(--mz-line);border-radius:var(--radius);padding:clamp(1rem,.7rem + 1.5vw,1.75rem);box-shadow:var(--shadow-sm)}
.diagram-svg{width:100%;height:auto;display:block}
.diagram-svg text{font-family:var(--font-display);fill:var(--mz-graphite)}
.diagram__legend{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:center;margin-top:1.1rem;font-size:var(--fs-small);color:var(--mz-muted)}
.diagram__legend span{display:inline-flex;align-items:center;gap:.5rem}
.diagram__legend i{width:24px;height:4px;border-radius:2px;display:inline-block}

/* ---------- Model finder (quiz) ---------- */
.finder{background:var(--mz-card);border:1px solid var(--mz-line);border-radius:var(--radius);padding:clamp(1.35rem,1rem + 1.6vw,2.1rem);box-shadow:var(--shadow);max-width:720px;margin-inline:auto}
.finder__q{margin-bottom:1.35rem}
.finder__q>.q-t{display:flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-weight:500;color:var(--mz-graphite);margin-bottom:.7rem}
.finder__q .q-n{flex:none;width:26px;height:26px;border-radius:50%;background:var(--mz-forest-tint);color:var(--mz-forest);font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:600}
.finder__opts{display:flex;flex-wrap:wrap;gap:.5rem;padding-left:calc(26px + .55rem)}
.finder__opt{font-family:var(--font-body);font-size:.95rem;padding:.55rem 1rem;border:1.5px solid var(--mz-line-strong);border-radius:var(--radius-pill);background:var(--mz-card);cursor:pointer;color:var(--mz-graphite);transition:background .15s var(--ease),border-color .15s var(--ease),color .15s var(--ease)}
.finder__opt:hover{border-color:var(--mz-forest);color:var(--mz-forest)}
.finder__opt[aria-pressed="true"]{background:var(--mz-forest);color:#fff;border-color:var(--mz-forest)}
.finder__result{margin-top:1.4rem;border-top:1px solid var(--mz-line);padding-top:1.4rem}
.finder__result[hidden]{display:none}
.finder__rec{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-bottom:.4rem}
.finder__rec b{font-family:var(--font-display);font-size:1.5rem;color:var(--mz-graphite)}
.finder__rec .price{font-family:var(--font-display);font-weight:600;color:var(--mz-forest)}
.finder__notes{list-style:none;padding:0;margin:.6rem 0 1rem;display:grid;gap:.45rem}
.finder__notes li{display:grid;grid-template-columns:auto 1fr;gap:.5rem;align-items:start;font-size:var(--fs-small);color:var(--mz-muted)}
.finder__notes li svg{width:16px;height:16px;color:var(--mz-forest);margin-top:.2rem}
.finder__hint{font-size:var(--fs-caption);color:var(--mz-muted);margin-top:1rem}
.finder__q .q-opt{font-size:var(--fs-caption);color:var(--mz-muted);font-weight:400}
.finder__sum{font-size:var(--fs-small);color:var(--mz-graphite);background:var(--mz-porcelain);border:1px solid var(--mz-line);border-radius:8px;padding:.65rem .85rem;margin:.3rem 0 1rem;line-height:1.5}
.finder__copy{border:0;background:transparent;color:var(--mz-forest);font-family:var(--font-body);font-size:var(--fs-small);text-decoration:underline;cursor:pointer;padding:0;margin-left:.35rem;white-space:nowrap}
.finder__copy:hover{color:var(--mz-forest-dark)}

/* ---------- Divider / misc ---------- */
.hr{height:1px;background:var(--mz-line);border:0;margin-block:clamp(2rem,1.5rem + 1.5vw,3rem)}
.pill-list{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.pill-list li{font-size:var(--fs-small);background:var(--mz-card);border:1px solid var(--mz-line);border-radius:var(--radius-pill);padding:.4rem .85rem;color:var(--mz-graphite)}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .hero__grid{grid-template-columns:1fr;gap:2rem}
  .hero__media{aspect-ratio:16/11;max-height:420px}
  .g-4{grid-template-columns:repeat(2,1fr)}
  .ftr__top{grid-template-columns:1fr 1fr;gap:1.5rem}
  .checkout-grid{grid-template-columns:1fr}
  .summary-card{position:static}
}
@media (max-width:760px){
  .hdr__nav{
    position:fixed;inset:64px 0 auto 0;flex-direction:column;gap:0;background:var(--mz-porcelain);
    border-bottom:1px solid var(--mz-line);padding:.5rem 1.25rem 1rem;display:none;box-shadow:var(--shadow)
  }
  .hdr__nav.open{display:flex}
  .hdr__nav a{padding:.75rem 0;border-bottom:1px solid var(--mz-line);border-top:0}
  .hdr__menu{display:inline-flex;align-items:center;justify-content:center}
  .hdr .btn--line{display:none}
  .g-2,.g-3,.g-4{grid-template-columns:1fr}
  .qcards{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .ftr__top{grid-template-columns:1fr}
  .mobile-cta{display:flex}
  body{padding-bottom:72px}
  .drawer{width:100vw}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}


/* V2 editorial refresh — calm architectural spacing, SET 04 only. */
:root { --maxw:1320px; --radius:8px; --radius-sm:6px; --fs-body:1rem; --pad-section:clamp(3.5rem,7vw,6.5rem); }
h1,h2,h3 { line-height:1.35; font-weight:500; }
p { text-wrap:pretty; }
figure { margin:0; }
[hidden] { display:none!important; }
.container { padding-inline:clamp(1.25rem,4vw,3.5rem); }
.btn { border-radius:5px; min-height:46px; font-weight:500; box-shadow:none; }
.btn:hover { box-shadow:none; }
.text-link { display:inline-flex;align-items:center;gap:1.5rem;min-height:46px;font-family:var(--font-display);font-weight:500;border-bottom:1px solid var(--mz-line-strong); }
.text-link:hover { border-color:var(--mz-forest); }
.preview-bar { padding:7px 1rem;text-align:center;font-size:11px;letter-spacing:.03em;color:var(--mz-forest);background:var(--mz-stone);line-height:1.5; }
.hdr { background:rgba(244,245,241,.96);backdrop-filter:blur(12px); }
.hdr__in { min-height:84px;gap:2rem; }
.hdr__logo img { width:166px;height:auto; }
.hdr__nav { margin-left:auto;flex:initial;gap:1.65rem; }
.hdr__nav a { font-size:.875rem; }
.hdr__actions { margin-left:1rem; }
.hdr__cart { border:0; }
.hdr__cart [data-cart-count] { background:var(--mz-forest);color:white; }
.hdr .btn { font-size:.8rem;min-height:40px; }
.skip-link { position:fixed;left:12px;top:-80px;z-index:200;background:white;padding:12px 20px; }
.skip-link:focus { top:8px; }
.eyebrow { letter-spacing:.12em;font-weight:500;font-size:.68rem; }
.eyebrow::before { width:15px;height:1px; }
.home-hero { padding-top:22px; }
.hero-overline { display:flex;justify-content:space-between;gap:1rem;color:var(--mz-muted);font-family:var(--font-latin);font-size:10px;letter-spacing:.15em; }
.home-hero__grid { display:grid;grid-template-columns:1.08fr 1fr;gap:5%;align-items:center;padding:30px 0 42px; }
.home-hero__copy { padding-block:20px; }
.home-hero h1 { font-size:clamp(2.4rem,3.5vw,3.25rem);line-height:1.4;letter-spacing:-.04em;margin:.25rem 0 1.4rem; }
.home-hero h1 span { color:var(--mz-forest); }
.home-hero .lead { font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.85;margin-bottom:1.8rem; }
.home-hero .btn-row { gap:1.7rem;align-items:center; }
.home-price { display:flex;gap:1.5rem;align-items:center;margin-top:2.3rem;padding-top:1.3rem;border-top:1px solid var(--mz-line-strong); }
.home-price strong { display:block;font-family:var(--font-latin);font-size:1.7rem;line-height:1.4;font-weight:500; }
.home-price strong small { font-family:var(--font-body);font-size:.8rem; }
.home-price p { font-size:.75rem;line-height:1.8;margin:0; }
.hero-photo { position:relative;width:100%;max-width:470px;justify-self:end; }
.photo-reserve { width:100%;height:545px;display:flex;flex-direction:column;justify-content:space-between;padding:26px;background:var(--mz-stone);color:var(--mz-forest); }
.photo-reserve__top,.photo-reserve__bottom { display:flex;justify-content:space-between;gap:1rem;font-size:10px;letter-spacing:.07em; }
.photo-reserve__center { display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center;font-size:.8rem; }
.editorial-serif { font-family:var(--font-serif);font-size:clamp(3rem,5vw,5rem);line-height:1.04;font-weight:400;letter-spacing:-.055em; }
.photo-reserve__line { width:45px;height:1px;background:var(--mz-sage); }
.hero-photo figcaption { font-size:10px;line-height:1.6;margin-top:9px;color:var(--mz-muted); }
.home-promise { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--mz-line-strong);padding:24px 0;gap:1.5rem;font-size:.8rem; }
.home-promise b { font-family:var(--font-latin);font-weight:400;color:var(--mz-muted);margin-right:1rem; }
.home-promise span+span { border-left:1px solid var(--mz-line-strong);padding-left:2rem; }
.editorial-grid { display:grid;grid-template-columns:1fr 1fr;gap:10%; }
.editorial-grid h2,.section-heading h2 { margin-bottom:1.2rem; }
.editorial-grid .text-link { margin-top:1rem; }
.quiet-list { margin-top:1.8rem;border-top:1px solid var(--mz-line); }
.quiet-list p { display:flex;gap:1.5rem;padding:14px 0;border-bottom:1px solid var(--mz-line);margin:0;font-size:.9rem; }
.quiet-list span { font-family:var(--font-latin);font-size:.75rem;color:var(--mz-sage); }
.section-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:3rem;margin-bottom:2.5rem; }
.section-heading h2 { margin-bottom:0; }
.section-heading>p,.section-heading>div>p { margin-bottom:0; }
.section-heading>div>.text-link { margin-top:.5rem; }
.ph { border:0;border-radius:0;background:var(--mz-stone);min-height:180px;padding:2rem; }
.ph b { font-weight:500;font-size:.95rem; }
.ph span { max-width:36ch;line-height:1.75; }
.feature,.qcard,.finder,.diagram { box-shadow:none; }
.pcard { border-radius:0;border:0;box-shadow:none;background:transparent; }
.pcard:hover { transform:none;box-shadow:none; }
.pcard--rec { border:0;box-shadow:none; }
.pcard__media { overflow:hidden;aspect-ratio:4/3;background:var(--mz-stone); }
.pcard__media .ph { min-height:0; }
.pcard__media img { width:100%;height:100%;object-fit:contain;background:var(--mz-card-warm);transition:transform .4s var(--ease); }
.pcard:hover .pcard__media img { transform:scale(1.025); }
.pcard__flag { top:14px;left:14px;border-radius:3px;font-size:10px;padding:.3rem .6rem; }
.pcard__body { padding:1.3rem 0 0; }
.pcard__name { font-family:var(--font-latin);font-size:1.5rem;font-weight:500; }
.pcard__name a { color:inherit; }
.pcard__sub { min-height:2.8em;font-size:.8rem;margin-top:.4rem; }
.price b { display:block;font-family:var(--font-latin);font-size:1.5rem;font-weight:500; }
.price .unit { display:block;font-size:.7rem; }
.inclusions { border-top:1px solid var(--mz-line);padding-top:1rem;font-size:.78rem;gap:.65rem; }
.pcard .btn-row { margin-top:auto;display:grid;grid-template-columns:1.2fr 1fr;gap:.65rem; }
.pcard .btn { font-size:.82rem;padding:.75rem .6rem; }
.product-photo-label { font-size:10px;letter-spacing:.1em;font-family:var(--font-latin); }
.catalogue-footnote { font-size:.8rem;color:var(--mz-muted);border-top:1px solid var(--mz-line);padding-top:1.3rem;margin:2rem 0 0; }
.route-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem; }
.route-card { display:flex;flex-direction:column;min-height:300px;padding:2rem;background:var(--mz-porcelain);color:var(--mz-graphite);border:1px solid transparent;transition:border-color .2s; }
.route-card:hover { border-color:var(--mz-sage); }
.route-card__n { font:10px var(--font-latin);letter-spacing:.1em;color:var(--mz-muted);margin-bottom:2rem; }
.route-card h3 { font-size:1.4rem; }
.route-card p { font-size:.9rem;color:var(--mz-muted); }
.route-card__link { display:flex;justify-content:space-between;gap:.5rem;border-top:1px solid var(--mz-line-strong);padding-top:1.2rem;margin-top:auto;font-size:.75rem; }
.care-columns { display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;margin-top:3rem; }
.care-columns article { border-top:1px solid #8D9E82;padding-top:1.4rem; }
.care-columns article>span { font:10px var(--font-latin);letter-spacing:.1em;color:var(--mz-stone); }
.care-columns h3 { font-size:1.35rem;margin-top:1.2rem; }
.care-columns p { color:var(--mz-stone);font-size:.9rem;margin:0; }
.care-steps article { display:flex;gap:1.7rem;padding:1.6rem 0;border-bottom:1px solid var(--mz-line); }
.care-steps article:first-child { padding-top:0; }
.care-steps article>span { color:var(--mz-sage);font:14px var(--font-latin); }
.care-steps h3 { font-size:1.25rem; }
.care-steps p { font-size:.9rem;color:var(--mz-muted);margin-bottom:0; }
.evidence-photo>.ph { aspect-ratio:16/10;height:auto; }
.evidence-photo figcaption { margin-top:1.4rem; }
.evidence-photo figcaption>span { font:10px var(--font-latin);letter-spacing:.1em;color:var(--mz-muted); }
.evidence-photo h3 { font-size:1.35rem;margin-top:.7rem; }
.evidence-photo p { font-size:.85rem;color:var(--mz-muted); }
.media-slot>img { width:100%;height:auto;object-fit:cover; }
.hero-photo>img { aspect-ratio:4/5;max-height:545px; }
.refuse { border:0;border-radius:0;padding:0;background:transparent; }
.refuse li { border-bottom:1px solid var(--mz-line);padding-bottom:1rem;font-size:.95rem; }
.refuse li svg { color:var(--mz-sage); }
.final-consult { background:var(--mz-stone); }
.final-consult .section-heading { margin-bottom:4rem; }
.final-consult h2 { font-size:clamp(2rem,3vw,3rem); }
.closing-signature { display:flex;justify-content:space-between;border-top:1px solid var(--mz-sage);padding-top:1.5rem;margin:0;font-family:var(--font-latin);letter-spacing:.25em;font-size:.8rem; }
.closing-signature span { letter-spacing:0; }
.ftr { background:var(--mz-porcelain);color:var(--mz-muted);border-top:1px solid var(--mz-line); }
.ftr h4,.ftr a,.ftr p,.ftr__sig,.ftr__note,.ftr__bottom { color:var(--mz-muted); }
.ftr a:hover { color:var(--mz-forest); }
.ftr .btn--line,.ftr .btn--line:hover { color:white; }
.ftr__logo img { width:190px;height:auto; }
.ftr__note,.ftr__bottom { border-color:var(--mz-line); }
.ftr__logo { margin-bottom:1rem; }
.ftr p,.ftr li { font-size:.8rem; }
.model-nav { display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem; }
.model-nav a { border:1px solid var(--mz-line-strong);padding:.6rem 1.25rem;font-family:var(--font-latin);font-size:.875rem; }
.model-nav a:hover { background:var(--mz-stone); }
.catalogue-status { font-size:.75rem;text-align:center;color:var(--mz-muted);margin-bottom:2rem; }
.page-products [data-product-grid] { gap:3.5rem 2.5rem; }
.page-products .pcard__media { aspect-ratio:16/10; }
.page-products .pcard__sub { min-height:0; }
.custom-consult { display:flex;align-items:center;justify-content:space-between;gap:2rem; }
.panel,.summary-card { box-shadow:none; }
.checkout-pending { padding:1.25rem;background:var(--mz-porcelain); }
.checkout-pending p { margin:.5rem 0 0; }
.drawer:not(.open) { visibility:hidden; }
.drawer.open { visibility:visible; }
.drawer__close { width:44px;height:44px; }
.drawer__foot { padding-bottom:max(1.1rem,env(safe-area-inset-bottom)); }
.cart-line__media img { width:100%;height:100%;object-fit:contain; }
.cart-line__meta { overflow-wrap:anywhere; }
.cart-line__price { white-space:nowrap; }
.mobile-cta { padding-bottom:max(.75rem,env(safe-area-inset-bottom)); }
.mobile-cta .btn { border-radius:5px; }
.toast { z-index:150; }
.tbl-wrap:focus-visible { outline:2px solid var(--mz-forest); }
.data-error { padding:2rem;background:var(--mz-stone);grid-column:1/-1; }
@media (min-width:961px) { .page-home .section-heading>div:last-child { max-width:450px; } }
@media (max-width:1100px) and (min-width:761px) { .hdr__in { gap:.8rem; } .hdr__nav { gap:.8rem; } .hdr__actions { margin-left:0; } .hdr__logo img { width:125px; } .hdr .btn { padding:.6rem .65rem; } }
@media (max-width:960px) { .home-hero__grid { gap:3%; } .home-hero h1 { font-size:2.2rem; } .home-price { flex-direction:column;align-items:flex-start;gap:.5rem; } .home-hero .btn-row { gap:1rem; } .editorial-grid { gap:6%; } .route-card { padding:1.4rem; } .section-heading { gap:1.5rem; } }
@media (max-width:760px) {
  html { scroll-padding-top:84px; }
  .hdr__in { min-height:68px; }
  .hdr__logo img { width:148px; }
  .hdr__actions { gap:.3rem;margin-left:auto; }
  .hdr__nav { inset:68px 0 auto;margin:0; }
  .hdr__menu { border:0; }
  .preview-bar { font-size:10px; }
  .hero-overline { font-size:8px; }.hero-overline span:last-child { display:none; }
  .home-hero__grid { grid-template-columns:1fr;padding-top:12px;gap:28px;padding-bottom:24px; }
  .home-hero h1 { font-size:clamp(2.1rem,6.6vw,3rem);margin-bottom:1rem; }
  .home-hero .lead { font-size:1rem;margin-bottom:1.5rem; }
  .home-hero__copy { padding-bottom:0; }
  .home-hero .btn-row { gap:1.1rem; }
  .home-hero .btn--lg { padding:1rem 1.25rem;font-size:.9rem; }
  .home-hero .text-link { font-size:.85rem;gap:.8rem; }
  .home-price { flex-direction:row;gap:1.2rem;margin-top:1.6rem;align-items:center; }
  .home-price strong { font-size:1.4rem; }
  .home-price p { font-size:.65rem; }
  .home-price .caption { font-size:.65rem; }
  .hero-photo { max-width:none; }
  .photo-reserve { height:auto;aspect-ratio:5/4;padding:22px; }
  .editorial-serif { font-size:3.7rem; }
  .photo-reserve__center { gap:.8rem; }
  .photo-reserve__bottom { font-size:9px; }
  .home-promise { gap:.75rem;font-size:.66rem; }
  .home-promise b { display:block;margin:0 0 .4rem; }
  .home-promise span+span { padding-left:.75rem; }
  .editorial-grid,.route-grid,.care-columns { grid-template-columns:1fr;gap:2rem; }
  .section-heading { display:block;margin-bottom:2rem; }
  .section-heading>p,.section-heading>div+div { margin-top:1.25rem; }
  .section-heading h2,.editorial-grid h2 { font-size:1.8rem; }
  .route-card { min-height:255px; }
  .route-card__n { margin-bottom:1.5rem; }
  .care-columns { gap:2rem; }
  .care-columns article { padding-top:1.1rem; }
  .page-home .pcard { margin-bottom:1.5rem; }
  .pcard__sub { min-height:0; }
  .pcard__media { aspect-ratio:4/3; }
  .page-products [data-product-grid] { gap:2.8rem; }
  .custom-consult { flex-direction:column;align-items:flex-start; }
  .ftr__top { gap:2.5rem; }
  .ftr__note p { font-size:.7rem; }
  .ftr__bottom { font-size:.7rem; }
  .drawer .cart-line { grid-template-columns:52px minmax(0,1fr); }
  .drawer .cart-line__media { width:52px;height:60px; }
  .drawer .cart-line__price { grid-column:2; }
  #cart-items .cart-line { grid-template-columns:52px minmax(0,1fr); }
  #cart-items .cart-line__price { grid-column:2; }
  #cart-items .cart-line__media { width:52px; }
  .model-nav a { font-size:.8rem;padding:.6rem .8rem; }
  .toast { bottom:90px; }
}
