/* Economy Radiators design tokens. GENERATED by digital-edge/ops/design-system. Do not edit here: change tokens/ and run npm run build. */
:root {
  color-scheme: light dark;
  --de-space-0: 0px;
  --de-space-1: 4px;
  --de-space-2: 8px;
  --de-space-3: 12px;
  --de-space-4: 16px;
  --de-space-5: 20px;
  --de-space-6: 24px;
  --de-space-8: 32px;
  --de-space-10: 40px;
  --de-space-12: 48px;
  --de-space-16: 64px;
  --de-size-touch: 44px;
  --de-size-control-sm: 36px;
  --de-size-control: 44px;
  --de-size-control-lg: 52px;
  --de-size-measure: 68ch;
  --de-size-wrap: 1200px;
  --de-radius-sm: 6px;
  --de-radius-md: 10px;
  --de-radius-lg: 16px;
  --de-radius-pill: 999px;
  --de-font-display: "Hanken Grotesk", system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --de-font-text: "Hanken Grotesk", system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --de-font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --de-text-display-size: 44px;
  --de-text-display-line: 48px;
  --de-text-display-weight: 700;
  --de-text-display-tracking: -0.02em;
  --de-text-h1-size: 32px;
  --de-text-h1-line: 38px;
  --de-text-h1-weight: 700;
  --de-text-h1-tracking: -0.015em;
  --de-text-h2-size: 24px;
  --de-text-h2-line: 30px;
  --de-text-h2-weight: 650;
  --de-text-h2-tracking: -0.01em;
  --de-text-h3-size: 19px;
  --de-text-h3-line: 26px;
  --de-text-h3-weight: 600;
  --de-text-h3-tracking: -0.005em;
  --de-text-body-lg-size: 18px;
  --de-text-body-lg-line: 28px;
  --de-text-body-lg-weight: 400;
  --de-text-body-lg-tracking: 0;
  --de-text-body-size: 16px;
  --de-text-body-line: 26px;
  --de-text-body-weight: 400;
  --de-text-body-tracking: 0;
  --de-text-body-sm-size: 14px;
  --de-text-body-sm-line: 22px;
  --de-text-body-sm-weight: 400;
  --de-text-body-sm-tracking: 0;
  --de-text-label-size: 12px;
  --de-text-label-line: 16px;
  --de-text-label-weight: 600;
  --de-text-label-tracking: 0.06em;
  --de-text-price-xl-size: 40px;
  --de-text-price-xl-line: 44px;
  --de-text-price-xl-weight: 700;
  --de-text-price-xl-tracking: -0.02em;
  --de-text-price-size: 20px;
  --de-text-price-line: 26px;
  --de-text-price-weight: 700;
  --de-text-price-tracking: -0.01em;
  --de-text-data-size: 14px;
  --de-text-data-line: 20px;
  --de-text-data-weight: 500;
  --de-text-data-tracking: 0;
  --de-motion-fast: 120ms;
  --de-motion-base: 200ms;
  --de-motion-slow: 320ms;
  --de-ease: cubic-bezier(0.2, 0, 0, 1);
  --de-z-base: 0;
  --de-z-sticky: 20;
  --de-z-overlay: 40;
  --de-z-toast: 60;
  --de-surface: #fbf7f5;
  --de-surface-raised: #fffefe;
  --de-surface-sunken: #f5efec;
  --de-line: #e5dedb;
  --de-ink: #241713;
  --de-line-strong: #988d88;
  --de-ink-muted: #6e605b;
  --de-ink-subtle: #938681;
  --de-accent: #e2622b;
  --de-accent-hover: #fb7844;
  --de-accent-soft: #ffe9e1;
  --de-accent-ink: #bd4400;
  --de-on-accent: #0b0f0e;
  --de-focus: #bd4400;
  --de-secondary: #1f7a5a;
  --de-secondary-soft: #d9f9e9;
  --de-on-secondary: #ffffff;
  --de-success-soft: #e0f7e4;
  --de-success: #137738;
  --de-warning-soft: #ffedd9;
  --de-warning: #8a5600;
  --de-danger-soft: #ffebe8;
  --de-danger: #b02b27;
  --de-info-soft: #e5f2ff;
  --de-info: #2a669f;
  --de-price-drop: #137738;
  --de-verdict-great-soft: #def8e2;
  --de-verdict-great-ink: #005e27;
  --de-verdict-great: #006b2e;
  --de-verdict-good-soft: #d2f9fd;
  --de-verdict-good-ink: #005860;
  --de-verdict-good: #007781;
  --de-verdict-fair-soft: #ffedd6;
  --de-verdict-fair-ink: #694500;
  --de-verdict-fair: #9c6800;
  --de-verdict-wait-soft: #e9f0ff;
  --de-verdict-wait-ink: #454d5e;
  --de-verdict-wait: #5b6375;
  --de-on-verdict: #ffffff;
  --de-shadow-sm: 0 1px 2px rgba(16, 24, 32, 0.06);
  --de-shadow-md: 0 1px 2px rgba(16, 24, 32, 0.05), 0 12px 32px -16px rgba(16, 24, 32, 0.22);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --de-surface: #130d0a;
    --de-surface-raised: #1d1513;
    --de-surface-sunken: #0d0806;
    --de-line: #342c28;
    --de-ink: #f5eeec;
    --de-line-strong: #6e635f;
    --de-ink-muted: #bdada7;
    --de-ink-subtle: #847772;
    --de-accent: #f48a62;
    --de-accent-hover: #ffa887;
    --de-accent-soft: #3d2015;
    --de-accent-ink: #f48a62;
    --de-on-accent: #0b0f0e;
    --de-focus: #f48a62;
    --de-secondary: #6abf9b;
    --de-secondary-soft: #0b3123;
    --de-on-secondary: #0b0f0e;
    --de-success-soft: #122d19;
    --de-success: #7cd591;
    --de-warning-soft: #362207;
    --de-warning: #f7ac4d;
    --de-danger-soft: #3b1c19;
    --de-danger: #ffa096;
    --de-info-soft: #12283e;
    --de-info: #89c3ff;
    --de-price-drop: #7cd591;
    --de-verdict-great-soft: #122d19;
    --de-verdict-great-ink: #83e499;
    --de-verdict-great: #75d78d;
    --de-verdict-good-soft: #002d31;
    --de-verdict-good-ink: #73dee9;
    --de-verdict-good: #65d0dc;
    --de-verdict-fair-soft: #352206;
    --de-verdict-fair-ink: #fcbe62;
    --de-verdict-fair: #eeb154;
    --de-verdict-wait-soft: #1a263f;
    --de-verdict-wait-ink: #c1cbdf;
    --de-verdict-wait: #b4bed2;
    --de-on-verdict: #0d0806;
    --de-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
    --de-shadow-md: 0 1px 2px rgba(0, 0, 0, 0.4), 0 16px 36px -18px rgba(0, 0, 0, 0.7);
  }
}
:root[data-theme="dark"] {
  --de-surface: #130d0a;
  --de-surface-raised: #1d1513;
  --de-surface-sunken: #0d0806;
  --de-line: #342c28;
  --de-ink: #f5eeec;
  --de-line-strong: #6e635f;
  --de-ink-muted: #bdada7;
  --de-ink-subtle: #847772;
  --de-accent: #f48a62;
  --de-accent-hover: #ffa887;
  --de-accent-soft: #3d2015;
  --de-accent-ink: #f48a62;
  --de-on-accent: #0b0f0e;
  --de-focus: #f48a62;
  --de-secondary: #6abf9b;
  --de-secondary-soft: #0b3123;
  --de-on-secondary: #0b0f0e;
  --de-success-soft: #122d19;
  --de-success: #7cd591;
  --de-warning-soft: #362207;
  --de-warning: #f7ac4d;
  --de-danger-soft: #3b1c19;
  --de-danger: #ffa096;
  --de-info-soft: #12283e;
  --de-info: #89c3ff;
  --de-price-drop: #7cd591;
  --de-verdict-great-soft: #122d19;
  --de-verdict-great-ink: #83e499;
  --de-verdict-great: #75d78d;
  --de-verdict-good-soft: #002d31;
  --de-verdict-good-ink: #73dee9;
  --de-verdict-good: #65d0dc;
  --de-verdict-fair-soft: #352206;
  --de-verdict-fair-ink: #fcbe62;
  --de-verdict-fair: #eeb154;
  --de-verdict-wait-soft: #1a263f;
  --de-verdict-wait-ink: #c1cbdf;
  --de-verdict-wait: #b4bed2;
  --de-on-verdict: #0d0806;
  --de-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.4);
  --de-shadow-md: 0 1px 2px rgba(0, 0, 0, 0.4), 0 16px 36px -18px rgba(0, 0, 0, 0.7);
}
:root[data-theme="light"] { color-scheme: light; }
@media (prefers-reduced-motion: reduce) {
  :root { --de-motion-fast: 0ms; --de-motion-base: 0ms; --de-motion-slow: 0ms; }
}

/* Digital Edge shared components. Framework-agnostic: plain HTML + these classes,
   painted entirely by the --de-* tokens, so every brand gets them by loading its
   own tokens.css first. Works in Next.js, WordPress and static HTML alike.
   Semantics first: real <button>/<a>/<ol>, visible words for every state, so the
   same markup serves screen readers, browser agents and search engines. */

.de-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.de-num { font-variant-numeric: tabular-nums lining-nums; }

/* ---------- Button ---------- */
.de-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--de-space-2);
  min-height: var(--de-size-control); padding: 0 var(--de-space-5);
  font: 600 15px/1 var(--de-font-text); letter-spacing: 0; text-decoration: none; white-space: nowrap;
  border-radius: var(--de-radius-md); border: 1px solid transparent; cursor: pointer;
  transition: background-color var(--de-motion-fast) var(--de-ease), border-color var(--de-motion-fast) var(--de-ease), color var(--de-motion-fast) var(--de-ease);
}
.de-btn:focus-visible { outline: 2px solid var(--de-focus); outline-offset: 2px; }
.de-btn--primary { background: var(--de-accent); color: var(--de-on-accent); }
.de-btn--primary:hover { background: var(--de-accent-hover); }
.de-btn--secondary { background: var(--de-surface-raised); color: var(--de-ink); border-color: var(--de-line-strong); }
.de-btn--secondary:hover { border-color: var(--de-accent-ink); color: var(--de-accent-ink); }
.de-btn--ghost { background: transparent; color: var(--de-accent-ink); }
.de-btn--ghost:hover { background: var(--de-accent-soft); }
.de-btn--lg { min-height: var(--de-size-control-lg); padding: 0 var(--de-space-6); font-size: 16px; }
.de-btn--block { display: flex; width: 100%; }
.de-btn[aria-disabled="true"], .de-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.de-btn svg { width: 16px; height: 16px; flex: none; }

/* ---------- Chip (filters, toggles) ---------- */
.de-chip {
  display: inline-flex; align-items: center; gap: var(--de-space-2);
  min-height: var(--de-size-control-sm); padding: 0 var(--de-space-3);
  font: 500 14px/1 var(--de-font-text); color: var(--de-ink);
  background: var(--de-surface-raised); border: 1px solid var(--de-line-strong); border-radius: var(--de-radius-pill);
  cursor: pointer; text-decoration: none;
}
.de-chip:hover { border-color: var(--de-accent-ink); }
.de-chip:focus-visible { outline: 2px solid var(--de-focus); outline-offset: 2px; }
.de-chip[aria-pressed="true"], .de-chip[aria-checked="true"], .de-chip[aria-current="true"] {
  background: var(--de-accent-soft); color: var(--de-accent-ink); border-color: var(--de-accent-ink); font-weight: 600;
}
.de-chip__count { color: var(--de-ink-muted); font-weight: 400; font-variant-numeric: tabular-nums; }
.de-chip[aria-pressed="true"] .de-chip__count { color: inherit; }

/* ---------- Badge ---------- */
.de-badge {
  display: inline-flex; align-items: center; gap: var(--de-space-1);
  padding: 3px var(--de-space-2); border-radius: var(--de-radius-sm);
  font: 600 12px/16px var(--de-font-text); background: var(--de-surface-sunken); color: var(--de-ink-muted);
}
.de-badge--accent { background: var(--de-accent-soft); color: var(--de-accent-ink); }
.de-badge--success { background: var(--de-success-soft); color: var(--de-success); }
.de-badge--warning { background: var(--de-warning-soft); color: var(--de-warning); }
.de-badge--danger { background: var(--de-danger-soft); color: var(--de-danger); }
.de-badge svg { width: 12px; height: 12px; }

/* ---------- Price block (total price first) ---------- */
.de-price { display: grid; gap: var(--de-space-1); font-family: var(--de-font-text); color: var(--de-ink); }
.de-price__label { font-size: var(--de-text-body-sm-size); line-height: var(--de-text-body-sm-line); color: var(--de-ink-muted); }
.de-price__amount {
  font-family: var(--de-font-display); font-size: var(--de-text-price-xl-size); line-height: var(--de-text-price-xl-line);
  font-weight: var(--de-text-price-xl-weight); letter-spacing: var(--de-text-price-xl-tracking); font-variant-numeric: tabular-nums lining-nums;
}
.de-price__total { font-size: var(--de-text-body-sm-size); line-height: var(--de-text-body-sm-line); color: var(--de-ink-muted); }
.de-price__total strong { color: var(--de-ink); font-weight: 600; font-variant-numeric: tabular-nums; }
.de-price__saving { font-size: var(--de-text-body-sm-size); line-height: var(--de-text-body-sm-line); color: var(--de-price-drop); font-weight: 600; font-variant-numeric: tabular-nums; }

/* ---------- Offer row ---------- */
.de-offers { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--de-space-2); }
.de-offer {
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; align-items: center; gap: var(--de-space-3) var(--de-space-5);
  padding: var(--de-space-4) var(--de-space-5); background: var(--de-surface-raised);
  border: 1px solid var(--de-line); border-radius: var(--de-radius-md); font-family: var(--de-font-text); color: var(--de-ink);
}
.de-offer[data-best="true"] { background: var(--de-accent-soft); border-color: var(--de-accent-ink); }
.de-offer__retailer { display: flex; align-items: center; gap: var(--de-space-3); min-width: 0; }
.de-offer__logo {
  width: 44px; height: 44px; flex: none; border-radius: var(--de-radius-sm); background: var(--de-surface-raised);
  border: 1px solid var(--de-line); display: grid; place-items: center; overflow: hidden;
  font: 700 13px/1 var(--de-font-text); color: var(--de-ink-muted);
}
.de-offer__logo img { width: 100%; height: 100%; object-fit: contain; }
.de-offer__name { font-weight: 600; font-size: 16px; line-height: 22px; }
.de-offer__trust { display: flex; flex-wrap: wrap; gap: 2px var(--de-space-2); font-size: 13px; line-height: 18px; color: var(--de-ink-muted); }
.de-offer__pricing { display: grid; gap: 2px; justify-items: end; text-align: right; }
.de-offer__amount { font: var(--de-text-price-weight) var(--de-text-price-size)/var(--de-text-price-line) var(--de-font-display); font-variant-numeric: tabular-nums lining-nums; }
.de-offer__meta { font-size: 13px; line-height: 18px; color: var(--de-ink-muted); font-variant-numeric: tabular-nums; }
.de-offer__meta > span { white-space: nowrap; }
.de-offer__meta .is-in-stock { color: var(--de-success); font-weight: 600; }
.de-offer__meta .is-low { color: var(--de-warning); font-weight: 600; }
@media (max-width: 640px) {
  .de-offer { grid-template-columns: minmax(0, 1fr) auto; padding: var(--de-space-4); }
  .de-offer__cta { grid-column: 1 / -1; }
  .de-offer__cta .de-btn { width: 100%; }
}

/* ---------- Deal Verdict (signature) ---------- */
.de-verdict {
  --v-fill: var(--de-verdict-good); --v-soft: var(--de-verdict-good-soft); --v-ink: var(--de-verdict-good-ink);
  display: grid; gap: var(--de-space-3); padding: var(--de-space-5); border-radius: var(--de-radius-lg);
  background: var(--v-soft); color: var(--de-ink); font-family: var(--de-font-text);
}
.de-verdict[data-verdict="great"], .de-verdict-badge[data-verdict="great"] { --v-fill: var(--de-verdict-great); --v-soft: var(--de-verdict-great-soft); --v-ink: var(--de-verdict-great-ink); }
.de-verdict[data-verdict="good"], .de-verdict-badge[data-verdict="good"] { --v-fill: var(--de-verdict-good); --v-soft: var(--de-verdict-good-soft); --v-ink: var(--de-verdict-good-ink); }
.de-verdict[data-verdict="fair"], .de-verdict-badge[data-verdict="fair"] { --v-fill: var(--de-verdict-fair); --v-soft: var(--de-verdict-fair-soft); --v-ink: var(--de-verdict-fair-ink); }
.de-verdict[data-verdict="wait"], .de-verdict-badge[data-verdict="wait"] { --v-fill: var(--de-verdict-wait); --v-soft: var(--de-verdict-wait-soft); --v-ink: var(--de-verdict-wait-ink); }
.de-verdict__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--de-space-2) var(--de-space-3); }
.de-verdict__title {
  margin: 0; font-family: var(--de-font-display); font-size: var(--de-text-h3-size); line-height: var(--de-text-h3-line);
  font-weight: 650; letter-spacing: var(--de-text-h3-tracking); color: var(--v-ink); text-wrap: balance;
}
.de-verdict__evidence { margin: 0; font-size: var(--de-text-body-sm-size); line-height: var(--de-text-body-sm-line); color: var(--de-ink); max-width: var(--de-size-measure); }
.de-verdict__meter { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--de-space-1); }
.de-verdict__meter li { display: grid; gap: 6px; font-size: 12px; line-height: 16px; color: var(--de-ink); }
.de-verdict__meter li::before { content: ""; height: 6px; border-radius: var(--de-radius-pill); background: var(--de-ink-subtle); opacity: 0.35; }
.de-verdict__meter li[aria-current="true"] { font-weight: 700; color: var(--v-ink); }
.de-verdict__meter li[aria-current="true"]::before { background: var(--v-fill); opacity: 1; height: 8px; margin-top: -1px; }
.de-verdict__basis { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--de-space-2); font-size: 13px; line-height: 18px; color: var(--de-ink); }
.de-verdict__basis a { color: var(--v-ink); font-weight: 600; text-underline-offset: 3px; }
.de-verdict__basis a:focus-visible { outline: 2px solid var(--de-focus); outline-offset: 2px; border-radius: 2px; }

.de-verdict-badge {
  --v-fill: var(--de-verdict-good); --v-ink: var(--de-verdict-good-ink); --v-soft: var(--de-verdict-good-soft);
  display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 8px; border-radius: var(--de-radius-pill);
  background: var(--v-fill); color: var(--de-on-verdict); font: 700 13px/18px var(--de-font-text); white-space: nowrap;
}
.de-verdict-badge svg { width: 14px; height: 14px; flex: none; }
.de-verdict-badge--quiet { background: var(--v-soft); color: var(--v-ink); }

/* ---------- Product card ---------- */
.de-card {
  position: relative; display: grid; grid-template-rows: auto 1fr; background: var(--de-surface-raised);
  border: 1px solid var(--de-line); border-radius: var(--de-radius-lg); overflow: hidden; font-family: var(--de-font-text); color: var(--de-ink);
  transition: border-color var(--de-motion-fast) var(--de-ease), box-shadow var(--de-motion-fast) var(--de-ease);
}
.de-card:hover { border-color: var(--de-line-strong); box-shadow: var(--de-shadow-md); }
.de-card:focus-within { outline: 2px solid var(--de-focus); outline-offset: 2px; }
.de-card__media { aspect-ratio: 1 / 1; background: #ffffff; display: grid; place-items: center; padding: var(--de-space-4); border-bottom: 1px solid var(--de-line); }
.de-card__media img { max-width: 100%; max-height: 100%; object-fit: contain; }
.de-card__media--empty { background: var(--de-surface-sunken); color: var(--de-ink-subtle); font-size: 13px; }
.de-card__body { display: grid; align-content: start; gap: var(--de-space-2); padding: var(--de-space-4); }
.de-card__brand { font: 600 12px/16px var(--de-font-text); letter-spacing: 0.06em; text-transform: uppercase; color: var(--de-ink-muted); }
.de-card__title { margin: 0; font: 600 16px/22px var(--de-font-text); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.de-card__link { color: inherit; text-decoration: none; }
.de-card__link::after { content: ""; position: absolute; inset: 0; }
.de-card__link:focus-visible { outline: none; }
.de-card__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px var(--de-space-2); }
.de-card__from { font-size: 13px; color: var(--de-ink-muted); }
.de-card__amount { font: var(--de-text-price-weight) var(--de-text-price-size)/var(--de-text-price-line) var(--de-font-display); font-variant-numeric: tabular-nums lining-nums; }
.de-card__retailers { font-size: 13px; color: var(--de-ink-muted); }
.de-card__body > .de-verdict-badge { justify-self: start; }

/* ---------- Note (disclosure, info) ---------- */
.de-note {
  display: flex; gap: var(--de-space-2); align-items: flex-start; padding: var(--de-space-3) var(--de-space-4);
  background: var(--de-surface-sunken); border-radius: var(--de-radius-md);
  font: 400 13px/19px var(--de-font-text); color: var(--de-ink-muted);
}
.de-note svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--de-ink-subtle); }
.de-note strong { color: var(--de-ink); font-weight: 600; }

/* ---------- Economy Radiators site styles ---------- */
*{margin:0;padding:0;box-sizing:border-box}
:root{--paper:var(--de-surface);--card:var(--de-surface-raised);--ink:var(--de-ink);--slate:var(--de-ink-muted);--line:var(--de-line);--ember:var(--de-accent);--ember-ink:var(--de-accent-ink);--ember-soft:var(--de-accent-soft);--save:var(--de-success);--save-soft:var(--de-success-soft);--field:var(--de-surface-sunken)}
html{scroll-behavior:smooth;scroll-padding-top:116px}body{background:var(--paper);color:var(--ink);line-height:1.55;font-family:var(--de-font-text);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--de-font-display)}
:focus-visible{outline:2px solid var(--de-focus);outline-offset:2px}
.wrap{width:100%;max-width:1080px;margin:0 auto;padding:0 22px}a{color:inherit}
header{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:62px}
.logo{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.02em;font-size:17px;text-decoration:none}
.logo .mark{width:27px;height:27px;border-radius:var(--de-radius-sm);background:var(--ember);display:grid;place-items:center;color:var(--de-on-accent);font-size:15px}
nav{display:flex;gap:20px;align-items:center;font-size:15px}nav a{color:var(--slate);text-decoration:none}nav a:hover{color:var(--ink)}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;margin-left:2px}
.burger span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s,opacity .2s}
header.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.open .burger span:nth-child(2){opacity:0}
header.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobmenu{display:none}
@media(max-width:860px){nav a:not(.btn){display:none}
.burger{display:inline-flex}
header.open .mobmenu{display:flex;flex-direction:column;background:var(--card);border-bottom:1px solid var(--line);padding:2px 22px 12px}
.mobmenu a{padding:13px 2px;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:600;font-size:16px}}
.gmap{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0 30px}@media(max-width:560px){.gmap{grid-template-columns:1fr}}
.gmap a{display:flex;gap:11px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:11px;padding:12px 15px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15.5px;transition:border-color .15s,color .15s}
.gmap a:hover{border-color:var(--ember-ink);color:var(--ember-ink)}
.gmap a i{flex:0 0 26px;height:26px;display:grid;place-items:center;background:var(--field);border-radius:7px;font-style:normal;font-weight:800;font-size:13px;color:var(--ember-ink)}
.subnav{position:sticky;top:61px;z-index:30;background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}
.subnav .subrow{display:flex;gap:2px;width:max-content;margin:0 auto;padding:0 16px}
.subnav a{flex:0 0 auto;padding:13px 12px;font-size:14px;font-weight:600;color:var(--slate);text-decoration:none;border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.subnav a:hover{color:var(--ink)}.subnav a.active{color:var(--ember-ink);border-bottom-color:var(--ember)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--de-size-control);background:var(--de-accent);color:var(--de-on-accent);text-decoration:none;font:700 15px/1.2 var(--de-font-text);padding:0 var(--de-space-5);border-radius:var(--de-radius-md);border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background-color var(--de-motion-fast) var(--de-ease)}
.btn:hover{background:var(--de-accent-hover)}.btn.save{background:var(--de-secondary);color:var(--de-on-secondary)}.btn.save:hover{background:color-mix(in srgb,var(--de-secondary) 88%,var(--de-ink))}
@media(max-width:520px){nav .btn{min-height:40px;padding:0 12px;font-size:14px}}
.hero{padding:clamp(40px,6vw,72px) 0 clamp(18px,3vw,28px)}
.eyebrow{font-size:12.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ember-ink);margin-bottom:14px}
h1{font-size:clamp(29px,4.8vw,50px);line-height:1.05;letter-spacing:-.03em;font-weight:800;text-wrap:balance}
.lede{margin-top:16px;font-size:clamp(16px,2.1vw,20px);color:var(--slate);max-width:40em}
section{padding:clamp(32px,5vw,54px) 0}.kicker{font-size:12.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--ember-ink);margin-bottom:12px}
h2{font-size:clamp(22px,3.3vw,32px);letter-spacing:-.02em;font-weight:800;line-height:1.14;text-wrap:balance}.sub{margin-top:10px;color:var(--slate);font-size:17px;max-width:42em}
.grid{display:grid;gap:15px;margin-top:24px}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.g4,.g3{grid-template-columns:1fr 1fr}}@media(max-width:520px){.g4,.g3,.g2{grid-template-columns:1fr}}
.card{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:var(--de-radius-lg);padding:19px;transition:transform .15s,border-color .15s}
.card:hover{transform:translateY(-3px);border-color:var(--ember-ink)}.card .ic{font-size:25px}.card h3{margin:9px 0 5px;font-size:17px}.card p{color:var(--slate);font-size:14px}
.article{max-width:760px;margin:0 auto;padding:clamp(24px,4vw,42px) 0}
.crumbs{font-size:13px;color:var(--slate);margin-bottom:14px}.crumbs a{color:var(--ember-ink);text-decoration:none}
.answer{background:var(--ember-soft);border-left:4px solid var(--ember);border-radius:0 12px 12px 0;padding:16px 18px;margin:18px 0;font-size:17px}
.article p a:not(.btn),.article li a{color:var(--ember-ink);text-underline-offset:3px}.article h2{font-size:22px;margin:28px 0 8px}.article p{margin:11px 0;font-size:16.5px}.article ul{margin:11px 0 11px 22px}.article li{margin:6px 0;font-size:16.5px}
table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}th,td{border:1px solid var(--line);padding:9px 12px;text-align:left}th{background:var(--field);font-weight:700}
.tool{background:var(--card);border:1px solid var(--line);border-radius:var(--de-radius-lg);padding:24px;box-shadow:var(--de-shadow-md)}
.f{margin-bottom:12px}.f label{display:block;font-size:13px;font-weight:600;margin-bottom:5px}.f input,.f select{width:100%;background:var(--field);border:1px solid var(--line);border-radius:var(--de-radius-md);min-height:var(--de-size-control);padding:10px 12px;font:inherit;font-size:16px;color:var(--ink)}
.g2f{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.g2f{grid-template-columns:1fr}}
.result{margin-top:18px;border-top:1px dashed var(--line);padding-top:16px;display:none}.result.show{display:block}.result .big{font-size:clamp(24px,5vw,38px);font-weight:800;color:var(--ember-ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.bars{margin:14px 0;display:flex;flex-direction:column;gap:9px}.bar .lab{display:flex;justify-content:space-between;font-size:14px;margin-bottom:4px}
.bar .track{height:12px;background:var(--field);border:1px solid var(--line);border-radius:6px;overflow:hidden}.bar .fill{height:100%;border-radius:6px;background:var(--ember)}.bar .fill.slate{background:var(--slate)}
.prod{background:var(--field);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-top:10px}.prod b{font-size:15.5px}.prod .m{color:var(--slate);font-size:13.5px;margin:3px 0}.prod a{display:inline-block;margin-top:6px;color:var(--ember-ink);font-weight:700;text-decoration:none}
.cta-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:19px;margin:24px 0;text-align:center}
.band{background:var(--de-secondary);color:var(--de-on-secondary);border-radius:var(--de-radius-lg);padding:clamp(26px,4vw,46px);text-align:center}.band h2{color:inherit}.band p{color:inherit;opacity:.9;margin:12px auto 22px;max-width:34em;font-size:17px}.band .btn{background:var(--de-surface-raised);color:var(--de-ink)}.band .btn:hover{background:var(--de-surface)}
.pill{display:inline-block;background:var(--save-soft);color:var(--save);font-weight:700;font-size:12.5px;padding:4px 10px;border-radius:999px}
.updated{font-size:12.5px;color:var(--slate);margin-top:8px}
footer{border-top:1px solid var(--line);padding:26px 0;color:var(--slate);font-size:13.5px;margin-top:18px}
.disclosure{background:var(--field);border:1px solid var(--line);border-radius:10px;padding:12px 16px;font-size:13px;margin:18px 0}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:18px}@media(max-width:720px){.fcols{grid-template-columns:1fr 1fr}}
.fcols h4{font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink);margin-bottom:9px}.fcols a{display:block;color:var(--slate);text-decoration:none;font-size:14px;padding:3px 0}.fcols a:hover{color:var(--ember-ink)}
.logo .lt{display:flex;flex-direction:column;line-height:1.02}.logo .lt small{font-weight:500;font-size:11px;color:var(--slate);letter-spacing:.01em;margin-top:1px}@media(max-width:680px){.logo .lt small{display:none}}
.de-verdict.pick{margin:18px 0}.de-verdict.pick .de-verdict__title{font-size:22px;line-height:1.25}
.fgrid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}footer a{color:var(--ember-ink);text-decoration:none}
