/* =========================================================
   פרונט בכיכר — "Hunter Light" design system
   Light · airy · precise · elite · RTL · 2026
   ========================================================= */

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/assets/fonts/heebo-hebrew.woff2") format("woff2");
  unicode-range: U+0307-0308, U+0590-05FF, U+200C-2010, U+20AA, U+25CC, U+FB1D-FB4F;
}

@font-face {
  font-family: "Heebo";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("/assets/fonts/heebo-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  /* Brand */
  --red: #8B1A1A;          /* approved primary brand red */
  --red-bright: #C8202B;   /* hover / energy */
  --red-ink: #7E141A;
  --red-tint: #FBECEC;     /* faint red wash */
  --red-glow: rgba(139,26,26,.28);

  /* Ink & surfaces (light) */
  --ink: #14171C;          /* primary text ~16:1 */
  --ink-2: #454B55;        /* secondary ~8.6:1 */
  --muted: #6A717C;        /* tertiary ~5.3:1 */
  --faint: #9BA2AD;

  --bg: #FFFFFF;
  --bg-2: #F5F6F8;         /* alt band */
  --bg-3: #EDEFF3;
  --surface: #FFFFFF;
  --line: rgba(20,22,28,.10);
  --line-2: rgba(20,22,28,.16);
  --grid: rgba(20,22,28,.045);

  --ok: #0F7A37;          /* green text on light — 4.7:1 AA */
  --ok-arc: #16A34A;      /* gauge arc (graphic) */

  /* One cinematic dark band (used sparingly) */
  --dark: #0E1116;
  --dark-2: #171B22;
  --dark-line: rgba(255,255,255,.12);
  --on-dark: #F3F5F8;
  --on-dark-soft: #AEB6C2;

  /* Type */
  --f-sans: "Heebo", system-ui, "Segoe UI", Arial, sans-serif;
  --f-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

  /* Semantic foundations: preserve the approved v69 visual values. */
  --type-display: clamp(2.4rem, 5.2vw, 4rem);
  --type-h1: clamp(2rem, 3.6vw, 3.25rem);
  --type-h1-mobile: clamp(26px, 7vw, 34px);
  --type-h2: clamp(1.8rem, 3.6vw, 2.7rem);
  --type-h3: clamp(1.12rem, 1.5vw, 1.3rem);
  --type-body: 17px;
  --type-small: 14px;
  --type-caption: 12px;
  --weight-h1: 750;
  --leading-body: 1.6;
  --leading-h1: 1.2;
  --tracking-heading: .01em;
  --space-1: 4px; --space-2: 8px; --space-4: 16px;
  --space-6: 24px; --space-8: 32px; --space-12: 48px;
  --space-16: 64px; --space-24: 96px;
  --radius-sm: 8px; --radius-md: 12px; --radius-lg: 16px;
  --motion-hover: 150ms; --motion-focus: 100ms;
  --motion-panel: 200ms; --motion-page: 250ms;

  /* Shape / rhythm */
  --r: 10px; --r-sm: 7px; --r-md: var(--radius-md); --r-lg: var(--radius-lg); --r-pill: 999px;
  --maxw: 1200px;
  --gutter: clamp(20px, 4.5vw, 48px);
  --sp-sec: clamp(68px, 8vw, 116px);

  --shadow-sm: 0 1px 2px rgba(16,20,28,.06), 0 1px 3px rgba(16,20,28,.07);
  --shadow: 0 14px 34px -16px rgba(16,20,28,.22);
  --shadow-lg: 0 40px 80px -28px rgba(16,20,28,.30);
  --cta-shadow: var(--shadow-sm), 0 4px 12px -6px var(--red-glow);
  --cta-shadow-hover: var(--shadow-sm), 0 6px 16px -8px var(--red-glow);
  --ease: cubic-bezier(.2,.7,.2,1);
  --dock-reserve: 98px;
}

/* Reset / base */
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
:root { --safe-t: env(safe-area-inset-top, 0px); --safe-b: env(safe-area-inset-bottom, 0px); }
html { color-scheme: light; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; overscroll-behavior-y: none; scroll-padding-top: calc(82px + var(--safe-t)); }
body {
  margin: 0; font-family: var(--f-sans); font-size: var(--type-body); line-height: var(--leading-body);
  color: var(--ink-2); background: var(--bg);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; min-height:100dvh;
}
body.nav-open { overflow:hidden; }
img { max-width: 100%; display: block; height: auto; }
a { color: var(--red); text-decoration: none; }
button,a { touch-action:manipulation; }
svg { display: block; }
h1,h2,h3,h4 { color: var(--ink); line-height: 1.18; margin: 0 0 .5em; font-weight: 800; letter-spacing:normal; }
h1,h2,h3 { text-wrap:balance; }
p,li { text-wrap:pretty; }
::selection { background:rgba(139,26,26,.18); color:var(--ink); }
[id] { scroll-margin-top:calc(96px + var(--safe-t)); }
h1 { font-size: clamp(2.4rem, 5.2vw, 4rem); font-weight:var(--weight-h1); letter-spacing:normal; }
h2 { font-size: var(--type-h2); }
h3 { font-size: var(--type-h3); line-height:1.25; letter-spacing:normal; }
p { margin: 0 0 1rem; }
ul { margin: 0; padding: 0; list-style: none; }
strong { color: var(--ink); font-weight: 700; }

.container { width: 100%; max-width: var(--maxw); margin-inline: auto; padding-inline: var(--gutter); }
.section { padding-block: var(--sp-sec); position: relative; }
.section.alt { background: var(--bg-2); }
.section.dark { background: var(--dark); color: var(--on-dark-soft); }
.section.dark h1,.section.dark h2,.section.dark h3,.section.dark strong { color: #fff; }
.section.dark p { color: var(--on-dark-soft); }
.section.dark .feature-list li { color: var(--on-dark-soft); }

.mono,.num { font-family: var(--f-mono); font-feature-settings: "tnum" 1; }

/* utilities */
.mt-2{margin-top:var(--space-2)} .mt-4{margin-top:var(--space-4)} .mt-5{margin-top:20px} .mt-6{margin-top:var(--space-6)}
.text-soft{color:var(--muted)} .text-strong{color:var(--ink)} .note{font-size:.92rem}
.to-end{ text-align:end }        /* end = left in RTL — action sits at the end of the line */
.to-center{ text-align:center }
.section-head.is-split{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Kicker / eyebrow */
.kicker,.eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--f-sans); font-size: .875rem; font-weight: 700;
  letter-spacing: normal; color: var(--red); margin: 0 0 16px;
}
.kicker .idx { color: var(--faint); }
.eyebrow::before { content: "//"; color: var(--faint); }
.section.dark .kicker, .section.dark .eyebrow { color: #ff8f95; }

.section-head { max-width: 720px; margin-bottom: clamp(30px,4vw,52px); }
.section-lead { color: var(--muted); font-size: 1.12rem; }

/* Accessibility */
.skip-link { position: absolute; inset-inline-start: -9999px; top: 0; background: var(--red); color:#fff; padding: 10px 16px; z-index: 300; border-radius: 0 0 8px 8px; }
.skip-link:focus { inset-inline-start: 0; }
:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; border-radius: 3px; }
.section.dark :focus-visible, .site-footer :focus-visible, .footer-bottom :focus-visible { outline-color: #fff; }

/* Buttons */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .55em;
  min-height: 52px; padding: 14px 26px; font-size: 1.02rem; font-weight: 700; color: #fff;
  border-radius: var(--r); border: 1px solid transparent; cursor: pointer;
  transition: transform .15s var(--ease), background .2s var(--ease), box-shadow .25s var(--ease), border-color .2s var(--ease);
  white-space: nowrap;
}
.btn svg { width: 20px; height: 20px; }
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--red); border-color: var(--red); box-shadow:var(--cta-shadow); }
.btn-primary:hover { background: var(--red-bright); border-color: var(--red-bright); transform: translateY(-2px); box-shadow:var(--cta-shadow-hover); }
.btn-ghost { background: #fff; color: var(--ink); border-color: var(--line-2); }
.btn-ghost:hover { border-color: var(--ink); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.btn-wa { background: #0B7A3B; border-color:#0B7A3B; box-shadow: 0 10px 26px -12px rgba(11,122,59,.5); }
.btn-wa:hover { background:#0A6E35; border-color:#0A6E35; transform: translateY(-2px); }
/* refined WhatsApp — faint green tint, secondary to the solid red call */
.btn-wa-soft { background:#EAF6EF; color:#0B7A3B; border-color:rgba(11,122,59,.3); font-weight:600; box-shadow:none; }
.btn-wa-soft svg { color:#0B7A3B; }
.btn-wa-soft:hover { background:#DDF0E5; border-color:#0B7A3B; color:#0A6E35; transform:translateY(-2px); box-shadow:none; }

/* desktop sticky call CTA (appears after scroll) */
.desk-cta { display:none; }
@media (min-width:721px) {
  .desk-cta { position:fixed; inset-block-end:24px; inset-inline-end:24px; z-index:90;
    display:inline-flex; align-items:center; gap:9px; background:var(--red); color:#fff; font-weight:700;
    padding:14px 22px; border-radius:var(--r-pill); box-shadow:0 16px 34px -12px var(--red-glow);
    transform:translateY(140%); opacity:0; visibility:hidden;pointer-events:none; transition:transform .22s var(--ease), opacity .35s var(--ease); }
  .desk-cta svg { width:20px; height:20px; }
  .desk-cta .mono { font-family:var(--f-mono); }
  body.past-hero .desk-cta { transform:none; opacity:1; visibility:visible;pointer-events:auto; }
  .desk-cta:hover { background:var(--red-bright); color:#fff; }
}
@media (prefers-reduced-motion:reduce){ .desk-cta{ transition:opacity .2s } }
.btn-tertiary { background: transparent; border: 0; color: var(--muted); min-height: 44px; padding: 10px 8px; text-decoration: underline; text-underline-offset: 4px; }
.btn-tertiary:hover { color: var(--ink); }
.btn-light { background:#fff; color:var(--red); border-color:#fff; box-shadow: 0 10px 26px -14px rgba(0,0,0,.4); }
.btn-light:hover { background: var(--bg-2); transform: translateY(-2px); }
.btn-light:active { background: var(--bg-3); }
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;pointer-events:none}
.section.dark .btn-ghost { background: transparent; color:#fff; border-color: var(--dark-line); }
.section.dark .btn-ghost:hover { border-color:#fff; }

/* Header */
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.88); backdrop-filter: saturate(1.4) blur(16px); border-bottom: 1px solid var(--line); padding-top: var(--safe-t); transition:box-shadow .25s var(--ease), background .25s var(--ease); }
body.scrolled .site-header { background:rgba(255,255,255,.94); box-shadow:0 10px 30px -24px rgba(16,20,28,.42); }
.nav-inner { display: flex; align-items: center; gap: 16px; min-height: 82px; }
.brand { display: inline-flex; align-items: center; }
.brand-logo { height: 58px; width: auto; }
.header-phone { display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; color: var(--ink); font-weight: 700; padding: 9px 14px; border-radius: 8px; }
.header-phone svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--red); }
.header-phone .mono { white-space: nowrap; }
.header-phone:hover { color: var(--red); background: var(--bg-2); }
.nav-phone { flex: 0 0 auto; margin-inline-end: 6px; }
.nav-menu .nav-phone .header-phone { display: inline-flex; white-space: nowrap; }
.main-nav { display: flex; align-items: center; margin-inline-start: auto; }
.nav-menu { display: flex; align-items: center; gap: 2px; }
.nav-mobile-intro,.nav-mobile-primary{display:none}
.nav-mobile-tools,.nav-mobile-share{display:none}
.mobile-menu-host[hidden],.mobile-shortcuts{display:none}
.nav-sheet-close{display:none}
.nav-menu a { display: block; color: var(--ink-2); font-weight: 600; font-size: .98rem; padding: 9px 13px; border-radius: 7px; position: relative; transition: color .2s; white-space: nowrap; }
.nav-menu a:hover { color: var(--ink); }
.nav-menu a.active { color: var(--ink); font-weight:700; }
.nav-menu a.active::after { content:""; position:absolute; inset-inline:13px; bottom:2px; height:2px; background:var(--red); border-radius:2px; }
.nav-cta { background: var(--red); color:#fff !important; padding: 10px 18px !important; border-radius: 8px !important; white-space: nowrap; }
/* keep the desktop nav on one line down to the mobile breakpoint */
@media (max-width:1080px) and (min-width:721px){ .nav-menu{gap:0} .nav-menu a{padding:9px 10px; font-size:.94rem} }
.nav-cta:hover { background: var(--red-bright); }
.nav-menu a.nav-cta.active::after{background:#fff}
.nav-menu a.nav-cta:focus-visible{outline:3px solid #fff;outline-offset:-5px}
.nav-toggle { display:none; flex-direction:column; gap:5px; width:46px; height:46px; align-items:center; justify-content:center; background:#fff; border:1px solid var(--line-2); border-radius:9px; cursor:pointer; }
.nav-toggle span { width:22px; height:2px; background:var(--ink); border-radius:2px; transition:.25s var(--ease); }
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero — light, airy, above the fold */
.hero { position: relative; background:
  radial-gradient(120% 80% at 88% 0%, var(--red-tint), transparent 55%),
  linear-gradient(180deg, #fff, var(--bg-2)); overflow: hidden; border-bottom: 1px solid var(--line); }
.hero::before { content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background-image: linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);
  background-size: 46px 46px; mask-image: radial-gradient(90% 70% at 80% 10%, #000 20%, transparent 75%); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.02fr .9fr; gap: clamp(28px,4vw,56px); align-items: center; padding-block: clamp(14px, 2vw, 32px); }
.hero-inner { max-width: 600px; }
.hero h1 { margin-bottom: 14px; font-size: clamp(2.2rem, 4.4vw, 3.5rem); }
.hero-sub { margin-bottom: 0; }
.hero h1 .accent { color: var(--red); }
.hero-sub { color: var(--ink-2); font-size: 1.16rem; max-width: 46ch; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
.hero-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 22px; color: var(--muted); font-size: .92rem; }
.hero-trust .ht { display: inline-flex; align-items: center; gap: 7px; }
.hero-trust .ht b { color: var(--ink); font-family: var(--f-mono); }
.hero-trust .star { color: #F5A623; }
.hero-trust .sep { width: 1px; height: 14px; background: var(--line-2); }

/* Instrument card (light) */
.hero-instrument { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); overflow: hidden; }
.instrument-head { display:flex; align-items:center; justify-content:space-between; padding: 12px 18px; border-bottom: 1px solid var(--line); background: var(--bg-2); }
.instrument-head .t { font-family:var(--f-sans); font-size:.7rem; letter-spacing:normal; text-transform:uppercase; color: var(--ink-2); }
.instrument-head .live { display:inline-flex; align-items:center; gap:7px; font-family:var(--f-sans); font-size:.62rem; letter-spacing:normal; text-transform:uppercase; color: var(--ok); }
.instrument-head .live::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--ok); box-shadow:0 0 0 3px rgba(22,163,74,.18); animation: blink 2s ease-in-out infinite; }
@keyframes blink { 50% { opacity:.35 } }
.gauge-wrap { padding: 8px 18px 0; display:grid; place-items:center; }
.gauge { width:100%; max-width: 186px; height:auto; }
.gauge .track { stroke: var(--bg-3); }
.gauge .ticks { stroke: rgba(20,22,28,.25); }
.gauge .hub { fill:#fff; stroke: var(--line-2); }
.gauge .needle { transform-box: fill-box; transform-origin: 50% 100%; animation: sweep 1.8s var(--ease) both; }
.hero-instrument.locked .gauge .needle { animation: sweep-lock .8s var(--ease) both; }
.gauge .arc-ok { opacity:.3; transition: opacity .5s var(--ease); }
.hero-instrument.locked .gauge .arc-ok { opacity:1; }
@keyframes sweep { 0%{transform:rotate(-62deg)} 55%{transform:rotate(14deg)} 100%{transform:rotate(0)} }
@keyframes sweep-lock { 0%{transform:rotate(-40deg)} 100%{transform:rotate(0)} }
.gauge-caption { text-align:center; font-family:var(--f-sans); font-size:.68rem; letter-spacing:normal; text-transform:uppercase; color:var(--muted); padding-bottom:10px; }
.mini-spec { display:flex; justify-content:center; flex-wrap:wrap; gap:7px; padding:0 18px 16px; }
.mini-spec span { font-family:var(--f-sans); font-size:.68rem; letter-spacing:normal; color:var(--muted); background:var(--bg-2); border:1px solid var(--line); border-radius:var(--r-pill); padding:5px 11px; }
.mini-spec b { color:var(--ok); font-weight:700; }
.picker { padding: 10px 18px 14px; border-top: 1px solid var(--line); }
.instrument-head { padding: 9px 18px; }
.gauge-caption { padding-bottom: 4px; font-size:.64rem; }
.mini-spec { padding: 0 18px 10px; }
.picker-q { margin-bottom: 8px; }
.diagnosis { min-height: 44px; padding: 10px 14px; margin-top: 10px; }
.picker-q { font-family:var(--f-sans); font-size:.7rem; letter-spacing:normal; text-transform:uppercase; color:var(--red); margin:0 0 10px; }
.chips { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.chip { font-size:.86rem; font-weight:600; color:var(--ink-2); background:#fff; border:1px solid var(--line-2); border-radius:var(--r-pill); padding:9px 6px; min-height:44px; min-width:0; white-space:nowrap; text-align:center; cursor:pointer; transition:all .18s var(--ease); }
.chip:hover { border-color:var(--ink); color:var(--ink); }
.chip[aria-pressed="true"] { background:var(--red); border-color:var(--red); color:#fff; }
.diagnosis { margin:14px 0 0; padding:13px 15px; border-radius:var(--r); background:var(--red-tint); border:1px solid rgba(139,26,26,.2); color:var(--ink); font-size:.96rem; min-height:56px; display:flex; align-items:center; gap:10px; }
.diagnosis .di { color:var(--red); flex:0 0 auto; }
.diagnosis .di svg { width:20px; height:20px; }

/* Stat band (animated count-up) — elite compact proof bar */
.stats { position: relative; background: var(--dark); color: var(--on-dark-soft); border-top: 2px solid var(--red); border-bottom: 1px solid var(--dark-line); overflow: hidden; }
.stats::before { content:""; position:absolute; inset:0; background-image:linear-gradient(var(--dark-line) 1px,transparent 1px),linear-gradient(90deg,var(--dark-line) 1px,transparent 1px); background-size:44px 44px; opacity:.22; mask-image:radial-gradient(130% 120% at 50% 0,#000,transparent 78%); }
.stats .container { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 0; }
.stat { padding: clamp(16px,2vw,26px) 20px; text-align: center; position: relative; }
.stat + .stat::before { content:""; position:absolute; inset-inline-start:0; top:24%; bottom:24%; width:1px; background:var(--dark-line); }
.stat-num { font-family: var(--f-mono); font-weight: 700; font-size: clamp(1.85rem,2.7vw,2.5rem); color: #fff; letter-spacing: -.02em; line-height:1; display:inline-flex; align-items:center; gap:8px; }
.stat-num .u { color: var(--red-bright); }
.stat-label { margin-top: 10px; font-size: .88rem; color: var(--on-dark-soft); letter-spacing:normal; }

/* specbar (light, subtle) */
.specbar { background: #fff; border-bottom: 1px solid var(--line); }
.specbar .container { display:flex; flex-wrap:wrap; gap:12px 26px; align-items:center; padding-block:14px; }
.specbar a,.specbar span { display:inline-flex; align-items:center; gap:9px; color:var(--ink-2); font-weight:600; font-size:.94rem; }
.specbar a:hover { color:var(--red); }
.specbar svg { width:18px; height:18px; color:var(--red); }
.specbar .sep { width:1px; height:18px; background:var(--line-2); }

/* Trust strip — refined row with dividers */
.trust { background: #fff; border-bottom: 1px solid var(--line); }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.trust-item { display:flex; gap:12px; align-items:center; padding: clamp(16px,1.8vw,22px) clamp(14px,1.6vw,22px); position:relative; }
.trust-item + .trust-item::before { content:""; position:absolute; inset-inline-start:0; top:22%; bottom:22%; width:1px; background:var(--line); }
.trust-item .ic { color:var(--red); flex:0 0 auto; background: var(--red-tint); width:44px; height:44px; border-radius:12px; display:grid; place-items:center; }
.trust-item .ic svg { width:23px; height:23px; }
.trust-item strong { display:block; font-size:.98rem; margin-bottom:2px; color: var(--ink); white-space:nowrap; }
.trust-item span { color:var(--muted); font-size:.88rem; white-space:nowrap; }

/* Cards */
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.cards.cols-2{grid-template-columns:repeat(2,1fr)} .cards.cols-3{grid-template-columns:repeat(3,1fr)} .cards.cols-4{grid-template-columns:repeat(4,1fr)}
.card { background:var(--surface); border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 24px; box-shadow:var(--shadow-sm); transition:transform var(--motion-hover) var(--ease), box-shadow var(--motion-hover) var(--ease), border-color var(--motion-hover) var(--ease); position:relative; overflow:hidden; }
.card::after { content:""; position:absolute; top:0; inset-inline:0; height:3px; background:var(--red); transform:scaleX(0); transform-origin:var(--tx,right); transition:transform var(--motion-hover) var(--ease); }
@media(hover:hover) and (pointer:fine){
  .card:is(a,button):hover,.card:has(a[href],button,summary):hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--line-2)}
  .card:is(a,button):hover::after,.card:has(a[href],button,summary):hover::after{transform:scaleX(1)}
}
.card:focus-within{box-shadow:var(--shadow);border-color:var(--red)}
.card:focus-within::after{transform:scaleX(1)}
.card-icon { width:52px; height:52px; border-radius:12px; display:grid; place-items:center; background:var(--red-tint); color:var(--red); margin-bottom:18px; }
.card-icon svg { width:26px; height:26px; }
.card-num { position:absolute; top:20px; inset-inline-end:22px; font-family:var(--f-mono); font-size:.78rem; color:var(--faint); letter-spacing:.1em; }
.card h3 { margin-bottom:.45rem; } .card h3 a { color:var(--ink); } .card h3 a:hover { color:var(--red); }
.card p { color:var(--muted); margin:0; font-size:1rem; }
.card .when { display:block; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); font-size:.95rem; color:var(--muted); }
.card .when b { color:var(--ink-2); font-weight:600; }
.card-link { display:inline-flex; align-items:center;justify-content:center; gap:6px; min-height:44px;padding:8px 14px;margin-top:16px; border:1px solid rgba(139,26,26,.22);border-radius:10px;background:var(--red-tint);font-weight:700; color:var(--red); font-size:.98rem; }
.card-link svg { display:none; }
.card-link:hover svg { transform:translateX(-4px); }
.tick { position:relative; }
.tick::before,.tick::after { content:""; position:absolute; width:12px; height:12px; border:1.5px solid var(--red); pointer-events:none; opacity:.18; transition:opacity .3s; z-index:3; }
.tick::before { top:10px; inset-inline-start:10px; border-inline-end:0; border-bottom:0; }
.tick::after { bottom:10px; inset-inline-end:10px; border-inline-start:0; border-top:0; }
.tick:hover::before,.tick:hover::after { opacity:.9; }
/* the corner-bracket motif reads odd on rounded cards — keep it only on framed images */
.card.tick::before, .card.tick::after { display:none; }

/* Split */
.split { display:grid; grid-template-columns:1.02fr .98fr; gap:clamp(28px,5vw,64px); align-items:center; }
.split.flip .split-media { order:2; }
.stack { display:grid; gap:16px; }
/* RTL: CTAs sit at the end (left) of their section */
.split-text > .btn { display:flex; width:max-content; margin-inline-start:auto; }
.split-text .hero-actions { justify-content:flex-end; }
.split-media { position:relative; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.split-media img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.split-media .frame-label { position:absolute; top:14px; inset-inline-start:14px; font-family:var(--f-sans); font-size:.66rem; letter-spacing:normal; text-transform:uppercase; color:var(--ink); background:rgba(255,255,255,.9); border:1px solid var(--line-2); padding:6px 10px; border-radius:6px; backdrop-filter:blur(4px); }
.feature-list { margin:22px 0 28px; display:grid; gap:12px; }
.feature-list li { position:relative; padding-inline-start:34px; color:var(--ink-2); }
.feature-list li::before { content:""; position:absolute; inset-inline-start:0; top:3px; width:20px; height:20px; border:1.5px solid rgba(139,26,26,.4); border-radius:6px; background:var(--red-tint); }
/* direction-safe checkmark (physical borders, centered in the box) */
.feature-list li::after { content:""; position:absolute; inset-inline-start:7px; top:6px; width:5px; height:9px; border:solid var(--red); border-width:0 2px 2px 0; transform:rotate(45deg); }
.section.dark .feature-list li::before { border-color:rgba(255,255,255,.25); background:rgba(255,255,255,.06); }
.section.dark .feature-list li::after { border-color:#ff8f95; }

/* Readout (spec sheet) — light */
.readout { border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; overflow:hidden; box-shadow:var(--shadow-sm); }
.readout-head { display:flex; align-items:center; justify-content:space-between; padding:13px 18px; border-bottom:1px solid var(--line); background:var(--bg-2); }
.readout-head .t { font-family:var(--f-sans); font-size:.72rem; letter-spacing:normal; text-transform:uppercase; color:var(--ink-2); }
.readout-head .live { font-family:var(--f-sans); font-size:.66rem; letter-spacing:normal; color:var(--red); }
.readout-table { width:100%; border-collapse:collapse; }
.readout-table th[scope="col"] { font-family:var(--f-sans); font-size:.58rem; letter-spacing:normal; text-transform:uppercase; color:var(--muted); text-align:start; padding:10px 14px; background:var(--bg-2); font-weight:600; }
.readout-table td,.readout-table th[scope="row"] { padding:12px 14px; border-top:1px solid var(--line); text-align:start; }
.readout-table .lbl { color:var(--ink-2); font-weight:600; font-size:.92rem; }
.readout-table .lbl small { display:block; font-family:var(--f-sans); font-size:.56rem; letter-spacing:normal; text-transform:uppercase; color:var(--muted); font-weight:400; }
.readout-table .val { font-family:var(--f-mono); font-weight:700; color:var(--ink); }
.readout-table .spec { font-family:var(--f-mono); font-size:.78rem; color:var(--muted); }
.readout-table .st { font-family:var(--f-sans); font-weight:700; font-size:.82rem; text-align:end; white-space:nowrap; }
.readout .st .x { color:var(--muted); } .readout .st .c { color:var(--ok); }
.readout .st .x { display:none } .readout .st .c { display:inline }
.readout.live .st .x { display:inline } .readout.live .st .c { display:none }
.readout.live .val { color:var(--muted); transition:color .5s var(--ease); }
.hero-instrument.locked .readout.live .val { color:var(--ink); }
.hero-instrument.locked .readout.live .st .x { display:none } .hero-instrument.locked .readout.live .st .c { display:inline }
.readout.bare { border:0; border-radius:0; box-shadow:none; } .readout.bare .readout-head { background:transparent; }

/* Language switcher */
.lang-switch { display:inline-flex; align-items:center; gap:4px; font-family:var(--f-sans); font-size:.8rem; }
.lang-switch a { padding:6px 12px; border-radius:999px; color:var(--muted); letter-spacing:normal; border:1px solid transparent; min-height:36px; display:inline-flex; align-items:center; }
.lang-switch a:hover { color:var(--ink); background:var(--bg-2); }
.lang-switch a[aria-current="true"] { color:var(--red); font-weight:700; border-color:var(--line-2); background:#fff; }
.lang-nav { display:flex; align-items:center; }
.lang-nav .lang-switch { font-size:.82rem; }
/* Footer language bar */
.footer-lang { border-top:1px solid var(--dark-line); }
.footer-lang .container { display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; padding:16px 0; }
.footer-lang .fl-label { display:inline-flex; align-items:center; gap:8px; font-family:var(--f-sans); font-size:.74rem; letter-spacing:normal; color:var(--dark-muted,#9aa3ad); text-transform:uppercase; }
.footer-lang .fl-label svg { width:16px; height:16px; }
.footer-lang .lang-switch a { color:var(--dark-muted,#9aa3ad); }
.footer-lang .lang-switch a:hover { color:#fff; background:rgba(255,255,255,.08); }
.footer-lang .lang-switch a[aria-current="true"] { color:#fff; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.2); }
.hours-list { list-style:none; padding:0; margin:14px 0; }
.hours-list li { display:flex; justify-content:space-between; gap:18px; padding:9px 0; border-top:1px solid var(--line); font-size:.96rem; color:var(--ink-2); max-width:360px; }
.cols-2-list { columns:2; column-gap:32px; }
@media (max-width:640px){ .cols-2-list{ columns:1; } }

/* Proof — before/after report cards */
.proof-grid { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:22px; }
.rc { border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; overflow:hidden; box-shadow:var(--shadow-sm); }
.rc .readout-head { padding:13px 18px; border-bottom:1px solid var(--line); }
.rc-before { border-color:#E6C9CA; } .rc-before .readout-head { background:#FBEDED; } .rc-before .readout-head .live { color:var(--red); }
.rc-after { border-color:#BFE3CC; } .rc-after .readout-head { background:#EAF6EF; } .rc-after .readout-head .live { color:var(--ok); }
.rc .val.bad { color:var(--red); } .rc .val.ok { color:var(--ok); }
.rc .st .c.bad { color:var(--red); } .rc .st .c.ok { color:var(--ok); }
.proof-arrow { display:grid; place-items:center; width:44px; height:44px; border-radius:50%; background:var(--ink); color:#fff; }
.proof-arrow svg { width:22px; height:22px; transform:scaleX(-1); }

/* Steps */
.steps { display:grid; grid-template-columns:repeat(5,1fr); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:#fff; box-shadow:var(--shadow-sm); }
.step { padding:26px 20px; border-inline-start:1px solid var(--line); }
.step:first-child { border-inline-start:0; }
.step .num { font-family:var(--f-mono); font-size:.8rem; color:var(--red); letter-spacing:.12em; margin-bottom:14px; display:block; }
.step h3 { font-size:1.05rem; } .step p { color:var(--muted); font-size:.96rem; margin:0; }

/* Gallery */
.gallery-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.gallery-grid figure { margin:0; border-radius:var(--r-lg); overflow:hidden; position:relative; border:1px solid var(--line); box-shadow:var(--shadow-sm); background:#eee; }
.gallery-grid img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; transition:transform .5s var(--ease); }
.gallery-grid figure:hover img { transform:scale(1.05); }
.gallery-grid .evidence-photo img { object-fit:contain; background:#f4f5f7; }
.gallery-grid .evidence-photo figcaption { position:static; margin:0; font-family:inherit; font-size:.875rem; letter-spacing:normal; text-transform:none; border:0; border-radius:0; padding:12px; }
.measurement-proof { max-width:900px; margin:0 auto 28px; overflow:hidden; border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; }
.measurement-proof img { display:block; width:100%; height:auto; }
.measurement-proof figcaption { padding:16px; font-size:.95rem; line-height:1.7; color:var(--ink-2); }
.gallery-grid figcaption { position:absolute; inset-inline-start:0; bottom:0; margin:12px; font-family:var(--f-sans); font-size:.66rem; letter-spacing:normal; text-transform:uppercase; color:var(--ink); background:rgba(255,255,255,.92); border:1px solid var(--line-2); padding:6px 10px; border-radius:6px; }

/* Reviews carousel */
.reviews-top { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:clamp(24px,3vw,40px); }
.reviews-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.rating-badge { display:inline-flex; align-items:center; gap:12px; padding:12px 18px; border:1px solid var(--line-2); border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow-sm); }
.rating-badge:hover { border-color:var(--ink); }
.rating-badge .rb-score { font-family:var(--f-mono); font-weight:700; font-size:1.6rem; color:var(--ink); }
.rating-badge .rb-stars { color:#F5A623; letter-spacing:1px; }
.rating-badge .rb-meta { font-family:var(--f-sans); font-size:.72rem; letter-spacing:normal; color:var(--muted); text-transform:uppercase; }
.rev-carousel { position:relative; }
.rev-track { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(300px,1fr); gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth; padding-bottom:8px; -ms-overflow-style:none; scrollbar-width:none; }
.rev-track::-webkit-scrollbar { display:none; }
@media (min-width:760px){ .rev-track{ grid-auto-columns:calc((100% - 36px)/3);} }
.review { scroll-snap-align:start; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:28px 24px; position:relative; box-shadow:var(--shadow-sm); }
.review .q { position:absolute; top:12px; inset-inline-end:20px; font-size:3.2rem; line-height:1; color:var(--bg-3); font-family:Georgia,serif; }
.review .stars { color:#F5A623; letter-spacing:2px; margin-bottom:10px; }
.review p { font-size:1.05rem; color:var(--ink); margin:0 0 12px; }
.review .src { font-family:var(--f-sans); color:var(--muted); font-size:.74rem; letter-spacing:normal; text-transform:uppercase; }
.rev-nav { display:flex; gap:8px; }
.rev-nav button { width:44px; height:44px; border-radius:50%; border:1px solid var(--line-2); background:#fff; color:var(--ink); cursor:pointer; display:grid; place-items:center; transition:.2s var(--ease); }
.rev-nav button:hover { border-color:var(--ink); box-shadow:var(--shadow-sm); }
.rev-nav svg { width:20px; height:20px; }
.rev-nav [data-rev="prev"] svg { transform: rotate(-90deg); }
.rev-nav [data-rev="next"] svg { transform: rotate(90deg); }
.rev-dots { display:flex; justify-content:center; gap:7px; margin-top:16px; }
.rev-dots button { position:relative; width:44px; height:44px; padding:0; border:0; background:transparent; cursor:pointer; display:grid; place-items:center; }
.rev-dots button::before { content:""; width:9px; height:9px; border-radius:50%; background:var(--line-2); transition:.25s var(--ease); }
.rev-dots button.on::before { background:var(--red); width:24px; border-radius:5px; }

/* CTA banner */
.cta-banner { position:relative; overflow:hidden; background: linear-gradient(120deg, var(--red-ink), var(--red)); color:#fff; }
.cta-banner::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size:40px 40px; }
.cta-banner .container { position:relative; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:22px; padding-block:clamp(38px,5vw,60px); }
.cta-banner h2 { color:#fff; margin:0 0 6px; } .cta-banner p { color:rgba(255,255,255,.92); margin:0; font-size:1.08rem; }

/* FAQ */
.faq { max-width:860px; margin-inline:auto; display:grid; gap:12px; }
.faq-item { border:1px solid var(--line); border-radius:var(--r); background:#fff; overflow:hidden; box-shadow:var(--shadow-sm); transition:border-color .2s; }
.faq-item.open { border-color:rgba(139,26,26,.35); }
.faq-q { width:100%; text-align:start; background:none; border:0; cursor:pointer; font-family:inherit; font-size:1.08rem; font-weight:700; color:var(--ink); padding:19px 22px; display:flex; justify-content:space-between; align-items:center; gap:14px; }
.faq-q:hover { background:var(--bg-2); }
.faq-q[aria-expanded="true"]{background:var(--red-tint)}
.faq-q .qi { font-family:var(--f-mono); color:var(--red); font-size:.8rem; margin-inline-end:6px; }
.faq-q .chev { color:var(--red); transition:transform .3s var(--ease); flex:0 0 auto; }
.faq-q .chev svg { width:20px; height:20px; }
.faq-q[aria-expanded="true"] .chev { transform:rotate(180deg); }
.faq-a { padding:0 22px; max-height:none; overflow:hidden; transition:max-height .35s var(--ease); color:var(--ink-2); }
.faq-ready .faq-a { max-height:0; }
.faq-a p { margin:0 0 18px; }

/* Location / contact */
.location-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(24px,4vw,52px); align-items:start; }
.info-row { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); align-items:baseline; }
.info-row .info-label { min-width:104px; color:var(--muted); font-family:var(--f-sans); font-size:.9rem; }
.info-row a,.info-row span { color:var(--ink); font-weight:500; } .info-row a:hover { color:var(--red); }
.hours { width:100%; border-collapse:collapse; margin-top:6px; }
.hours th,.hours td { text-align:start; padding:12px 4px; border-bottom:1px solid var(--line); font-weight:500; color:var(--ink-2); }
.hours th { color:var(--muted); font-family:var(--f-sans); font-size:.78rem; }
.hours td { font-family:var(--f-sans); color:var(--ink); }
.hours-title { margin-top:22px; }
.contact-actions { display:flex; flex-wrap:nowrap; gap:10px; margin-top:24px; }
.contact-actions .btn { flex:1 1 0; min-width:0; white-space:nowrap; padding:13px 12px; }
.contact-actions .btn svg { flex:0 0 auto; }
.map-embed { border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.map-embed iframe { display:block; width:100%; height:100%; min-height:420px; border:0; }
.arrival-card{background:#fff;padding:12px}
.arrival-photo{margin:0;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:var(--bg-2)}
.arrival-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 58%}
.arrival-photo figcaption{display:flex;flex-direction:column;gap:3px;padding:14px 16px;color:var(--ink)}
.arrival-photo figcaption span{color:var(--muted);font-size:.92rem}
.arrival-map-link{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:12px;border:1px solid var(--line);border-radius:var(--r-md);color:var(--ink);font-weight:700;text-decoration:none}
.arrival-map-link:hover{border-color:var(--red);color:var(--red)}
.wa-request{margin-top:28px;padding:24px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg)}
.wa-request summary{min-height:44px;cursor:pointer;font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.5;overflow-wrap:anywhere}
.wa-request summary::marker{color:var(--red)}
.wa-request summary:focus-visible{outline:3px solid var(--red);outline-offset:4px;border-radius:var(--r)}
.wa-request[open] summary{margin-bottom:16px}
.wa-request{scroll-margin-top:110px}
.wa-request>p{margin:0 0 20px;color:var(--muted)}
.wa-request form{display:grid;gap:9px}
.wa-request label{margin-top:6px;color:var(--ink);font-weight:700}
.wa-request label span{color:var(--muted);font-weight:400}
.wa-request input,.wa-request select,.wa-request textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #bcc2cb;border-radius:var(--r);background:#fff;color:var(--ink);font:inherit;font-size:16px}
.wa-request textarea{min-height:92px;resize:vertical}
.wa-request input:focus-visible,.wa-request select:focus-visible,.wa-request textarea:focus-visible{outline:3px solid var(--red);outline-offset:2px;border-color:var(--red)}
.wa-request button{min-height:50px;margin-top:8px;white-space:normal}
.wa-request .wa-request-note{margin:5px 0 0;color:var(--ink-2);font-size:.875rem;line-height:1.65}

/* Blog */
.blog-wrap { max-width:820px; margin-inline:auto; }
.blog-hero-img { margin-bottom:28px; }
.blog-hero-img img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.answer-box { position:relative; background:var(--red-tint); border:1px solid rgba(139,26,26,.22); border-inline-start:4px solid var(--red); border-radius:var(--r); padding:16px 20px; margin-bottom:26px; }
.answer-box .ab-label { display:inline-block; font-family:var(--f-sans); font-size:.875rem; font-weight:700; color:var(--red); margin-bottom:6px; }
.answer-box p { margin:0; color:var(--ink); font-size:1.08rem; line-height:1.55; }
.blog-prose { max-width:none; }
.blog-prose h2 { font-size:clamp(1.3rem,2.2vw,1.7rem); margin:1.5em 0 .5em; }
.blog-prose p { color:var(--ink-2); margin:0 0 1.1rem; font-size:1.06rem; }
.blog-prose a { color:var(--red); text-decoration:underline; text-underline-offset:3px; }

/* Diagnosis wizard */
.diag { max-width: 820px; margin-inline: auto; }
.diag-progress { display:flex; gap:10px; justify-content:center; margin-bottom:28px; padding:0; }
.diag-progress li { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; font-family:var(--f-mono); font-weight:700; background:#fff; border:1px solid var(--line-2); color:var(--muted); }
.diag-progress li.on { background:var(--red); border-color:var(--red); color:#fff; }
.diag-step { text-align:center; }
.diag-step .eyebrow { justify-content:center; }
.diag-opts { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:24px 0 8px; }
.diag-opt { display:flex; align-items:center; gap:12px; text-align:start; background:#fff; border:1px solid var(--line-2); border-radius:var(--r-lg); padding:16px 18px; min-height:60px; font-family:inherit; font-size:1.05rem; font-weight:600; color:var(--ink); cursor:pointer; box-shadow:var(--shadow-sm); transition:transform .15s var(--ease), border-color .15s var(--ease), box-shadow .15s var(--ease); }
.diag-opt svg { width:24px; height:24px; color:var(--red); flex:0 0 auto; }
.diag-opt:hover { transform:translateY(-2px); border-color:var(--red); box-shadow:var(--shadow); }
.diag-opt:active { transform:translateY(0) scale(.99); }
.diag-opt[aria-pressed="true"]{border-color:var(--red);background:var(--red-tint);box-shadow:inset 0 0 0 1px var(--red)}
.diag-back { margin-top:18px; }
.diag-result-card { background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow); padding:clamp(24px,4vw,40px); }
.diag-result-card .eyebrow { justify-content:flex-start; }
.diag-lead { color:var(--ink-2); font-size:1.08rem; }
.diag-cols { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin:8px 0 4px; }
.diag-cols h3 { font-size:1.05rem; margin-bottom:10px; }
.diag-list { display:grid; gap:8px; }
.diag-list li { position:relative; padding-inline-start:26px; color:var(--ink-2); }
.diag-list li::before { content:""; position:absolute; inset-inline-start:0; top:9px; width:7px; height:7px; border-radius:50%; background:var(--muted); }
.diag-list.ok li::before { background:var(--ok); }
.diag-context { margin:16px 0; padding:14px 16px; background:var(--bg-2); border-radius:var(--r); color:var(--ink-2); }
.diag-context p { margin:0 0 6px; } .diag-context p:last-child { margin:0; }
.diag-service { margin-top:6px; font-size:1.1rem; } .diag-service span { color:var(--muted); }
.diag-actions { display:flex; flex-wrap:wrap; gap:12px; margin:22px 0 6px; }
.diag-restart { margin-top:6px; }
.diag-answer-summary{margin:22px 0;padding:18px;background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-lg)}
.diag-answer-summary h3 {margin:0 0 12px;font-size:1rem}
.diag-answer-summary dl{margin:0}
.diag-answer-summary dl>div{display:grid;grid-template-columns:100px 1fr;gap:14px;padding:8px 0;border-top:1px solid var(--line)}
.diag-answer-summary dt{color:var(--muted);font-size:.9rem}
.diag-answer-summary dd{margin:0;color:var(--ink);font-weight:600}
.diag-draft-note{font-size:.9rem;line-height:1.65;margin:16px 0;color:var(--ink-2)}
.diag-result-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}
@media (max-width:720px){ .diag-opts, .diag-cols { grid-template-columns:1fr; } .diag-actions .btn { flex:1 1 100%; } }

/* related links */
.related-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:8px; }
.related-links li a { display:inline-flex; align-items:center; min-height:44px;padding:8px 14px; border:1px solid var(--line-2); border-radius:var(--r-pill); color:var(--ink-2); font-size:.95rem; background:#fff; }
.related-links li a:hover { border-color:var(--ink); color:var(--ink); }

/* Prose */
.prose { max-width:800px; } .prose h2 { margin-top:1.7em; } .prose ul { padding-inline-start:1.2em; margin:0 0 1rem; list-style:disc; } .prose li { margin-bottom:.5rem; color:var(--ink-2); } .prose a { color:var(--red); }

/* Breadcrumb */
.breadcrumb { background:var(--bg-2); border-bottom:1px solid var(--line); }
.breadcrumb ol { display:flex; flex-wrap:wrap; align-items:center;gap:8px; padding-block:10px; font-family:var(--f-sans); font-size:.875rem; color:var(--ink-2); }
.breadcrumb a{display:inline-flex;align-items:center;min-height:44px}
.breadcrumb a { color:var(--ink-2); } .breadcrumb a:hover { color:var(--red); }
.breadcrumb li::after { content:"/"; margin-inline-start:10px; color:var(--faint); }
.breadcrumb li:last-child::after { content:""; }

/* Page hero (inner) */
.page-hero { position:relative; background: linear-gradient(180deg,#fff,var(--bg-2)); border-bottom:1px solid var(--line); overflow:hidden; }
.page-hero::before { content:""; position:absolute; inset:0; background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px); background-size:46px 46px; mask-image:radial-gradient(80% 90% at 85% 20%,#000 20%,transparent 75%); }
.page-hero .container { position:relative; padding-block:clamp(44px,6vw,76px); }
.page-hero h1 { margin-bottom:.35em; } .page-hero p { color:var(--ink-2); max-width:62ch; margin:0; font-size:1.14rem; }

/* Footer */
.site-footer { background:var(--dark); color:var(--on-dark-soft); }
.footer-inner { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px; padding-block:clamp(48px,6vw,68px); }
.footer-brand img { height:100px; width:auto; margin-bottom:20px; }
.footer-brand p { color:var(--on-dark-soft); margin:0 0 6px; max-width:36ch; }
.footer-brand .footer-trust { color:#fff; font-size:1.02rem; }
.footer-brand a { color:var(--on-dark-soft); } .footer-brand a:hover { color:#fff; }
.footer-col h4 { color:#fff; font-family:var(--f-sans); font-size:1rem; margin-bottom:16px; }
.footer-col ul { display:grid; gap:10px; } .footer-col a { color:var(--on-dark-soft); } .footer-col a:hover { color:#fff; }
.footer-bottom { border-top:1px solid var(--dark-line); }
.footer-bottom .container { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding-block:18px; font-family:var(--f-sans); font-size:.76rem; color:var(--on-dark-soft); }
.footer-bottom a { color:var(--on-dark-soft); } .footer-bottom a:hover { color:#fff; }

/* services footer + fleet */
.services-foot { display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin-top:28px; }
.fleet-note { display:inline-flex; align-items:center; gap:8px; margin:0; color:var(--muted); font-size:.95rem; }
.fleet-note svg { width:18px; height:18px; color:var(--red); }
.fleet-note a { color:var(--ink-2); text-decoration:underline; text-underline-offset:3px; }

/* Mobile bar */
.mobile-bar { display:none; }

/* Scroll reveal */
.reveal { opacity:1; transform:none; transition:opacity .28s var(--ease), transform .28s var(--ease); }
.reveal.is-pending { opacity:0; transform:translateY(8px); }
.reveal.in { opacity:1; transform:none; }

/* Native touch feedback (touch devices only — avoid killing desktop hover) */
@media (hover:none) and (pointer:coarse) {
  .card:active { transform: scale(.985); }
  .btn:active { transform: scale(.97); }
  .chip:active { transform: scale(.95); }
  .nav-menu a:active, .mobile-bar a:active, .related-links li a:active, .rating-badge:active { background: var(--bg-2); }
  .faq-q:active { background: var(--bg-3); }
  .rev-nav button:active, .card-link:active, .info-row a:active, .footer-col a:active, .rev-dots button:active { opacity:.6; }
}
/* momentum + contained horizontal scroll */
.rev-track { -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }

/* Responsive */
@media (max-width:1000px){
  .hero-grid{grid-template-columns:1fr; gap:28px}
  .hero-instrument{max-width:460px}
  .split,.location-grid{grid-template-columns:1fr}
  .split.flip .split-media{order:0}
  .proof-grid{grid-template-columns:1fr; gap:14px}
  .proof-arrow{justify-self:center} .proof-arrow svg{transform:rotate(-90deg)}
  .trust-grid{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .stats .container{grid-template-columns:repeat(2,1fr)}
  .stat + .stat::before{display:none}
  .stat{border-top:1px solid var(--dark-line)} .stat:nth-child(-n+2){border-top:0}
  .stat:nth-child(even){border-inline-start:1px solid var(--dark-line)}
  .trust-item + .trust-item::before{display:none}
  .trust-item + .trust-item{border-top:1px solid var(--line)}
  .steps{grid-template-columns:repeat(2,1fr)} .step{border-top:1px solid var(--line)} .step:nth-child(-n+2){border-top:0}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  html{scroll-padding-bottom:calc(var(--dock-reserve) + 8px + var(--safe-b))}
  body{padding-bottom:calc(var(--dock-reserve) + var(--safe-b))}
  body.nav-open{position:fixed;inset-inline:0;top:var(--menu-scroll-top,0px);width:100%}
  body.editing-contact .mobile-bar{visibility:hidden;pointer-events:none}
  .faq-q{padding:18px 16px;font-size:1rem;line-height:1.5;min-height:60px}
  .faq-q .qi{display:none}
  .faq-a{padding-inline:16px;line-height:1.8}
  .wa-request input,.wa-request select,.wa-request textarea{scroll-margin-block:110px}
  .blog-prose p,.prose p{line-height:1.8}
  .related-links{gap:8px}
  .related-links li{max-width:100%}
  .related-links li a{border-radius:12px;white-space:normal}
  .page-hero .container{padding-block:28px 32px}
  .page-hero h1 {font-size:clamp(1.9rem,7.5vw,2.5rem);line-height:1.2;letter-spacing:normal}
  .page-hero p{font-size:1.03rem;line-height:1.7}
  .footer-col ul{gap:0}
  .footer-col a{display:inline-flex;align-items:center;min-height:44px}
  .mobile-menu-host{position:fixed;inset:0;z-index:150;pointer-events:none}
  h1 {font-size:clamp(2.5rem,9vw,3rem); line-height:1.02}
  .hero-sub{font-size:1.06rem}
  .hero-grid{padding-block:24px}
  .hero-trust{font-size:.95rem; color:var(--ink-2); gap:6px 12px}
  .hero-trust .sep{display:none}
  .section{padding-block:clamp(44px,9vw,60px)}
  .section-head{margin-bottom:28px}
  .nav-toggle{display:flex} .nav-phone{display:none}
  #nav-menu{position:fixed; inset-inline:0; top:auto;bottom:0; max-height:calc(100dvh - 90px - var(--safe-t)); overflow-y:auto; overscroll-behavior:contain; flex-direction:column; align-items:stretch; gap:4px; background:#fff; border:1px solid var(--line);border-bottom:0; border-radius:24px 24px 0 0; box-shadow:0 -18px 54px rgba(16,20,28,.2); padding:24px 20px calc(20px + var(--safe-b)); display:none; z-index:150;pointer-events:auto;scroll-padding-block:18px}
  #nav-menu.open{display:flex; animation:sheetIn .24s var(--ease)}
  @keyframes sheetIn{from{opacity:0; transform:translateY(30px)} to{opacity:1; transform:none}}
  .nav-mobile-intro{position:relative;display:flex;flex-direction:column;gap:4px;padding:8px 12px 18px;padding-inline-end:62px;margin-bottom:6px;border-bottom:1px solid var(--line);color:var(--ink)}
  .nav-mobile-intro::before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:36px;height:4px;border-radius:4px;background:var(--line-2)}
  .nav-sheet-close{display:grid;place-items:center;position:absolute;inset-inline-end:4px;top:4px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--bg-2);color:var(--ink);cursor:pointer}
  .nav-sheet-close svg{width:20px;height:20px}
  .nav-mobile-intro span{font-size:1.15rem;font-weight:800}
  .nav-mobile-intro small{color:var(--muted);font-size:.9rem}
  .nav-menu>li{display:none}
  .nav-menu>li.nav-mobile-intro,.nav-menu>li.nav-mobile-primary,.nav-menu>li.nav-primary-cta{display:list-item}
  .nav-menu>li.nav-mobile-intro{display:flex}
  .nav-menu>li.nav-mobile-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px 0;margin-top:6px;border-top:1px solid var(--line)}
  .nav-menu .nav-mobile-tools a{justify-content:center;min-height:44px;background:var(--bg-2);border-color:var(--line);font-size:.9rem}
  .nav-mobile-primary a{width:100%}
  .nav-menu a{padding:13px 16px; min-height:54px; display:flex; align-items:center; border:1px solid transparent; border-radius:10px; font-size:1.04rem; font-weight:600; transition:background .16s,border-color .16s,color .16s}
  .nav-menu a:hover,.nav-menu a:focus-visible{background:var(--bg-2);border-color:var(--line)}
  .nav-menu a.active{background:var(--red-tint);color:var(--red);font-weight:700} .nav-menu a.active::after{display:none}
  .nav-cta{justify-content:center; margin-top:12px; min-height:58px; border:0!important; box-shadow:0 10px 24px -14px var(--red-glow)}
  .nav-menu a.nav-cta.active{background:var(--red);color:#fff}
  .nav-menu a.nav-cta:hover,.nav-menu a.nav-cta:focus-visible,.nav-menu a.nav-cta:active{background:var(--red-bright);color:#fff}
  /* Keep the dimming layer below the sticky header and its navigation sheet. */
  body.nav-open::after{content:""; position:fixed; inset:0; background:rgba(16,20,28,.46); z-index:140; animation:fadeIn .22s var(--ease)}
  body.nav-open .mobile-bar{opacity:0;transform:translateY(110%);pointer-events:none}
  @keyframes fadeIn{from{opacity:0} to{opacity:1}}
  .tick::before,.tick::after{opacity:.3}
  .map-embed iframe{min-height:280px}
  .wa-request{padding:18px}
  .cards.cols-2,.trust-grid,.footer-inner{grid-template-columns:1fr}
  /* app-like variety: consistent 2-up grids instead of a long single stack */
  .cards,.cards.cols-3,.cards.cols-4,.gallery-grid{grid-template-columns:repeat(2,1fr); gap:12px}
  .cards .card{padding:18px 16px}
  .cards .card p{font-size:.9rem}
  .cards .card-link{font-size:.92rem}
  .cards .tick::before{top:8px; inset-inline-start:8px; opacity:.2}
  .cards .tick::after{bottom:8px; inset-inline-end:8px; opacity:.2}
  .gallery-grid img{height:auto}
  .stats .container{grid-template-columns:repeat(2,1fr)}
  .stat{border-top:1px solid var(--dark-line)} .stat:nth-child(-n+2){border-top:0}
  .stat:nth-child(even){border-inline-start:1px solid var(--dark-line)}
  /* process as a swipeable rail */
  .steps{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; border:0; box-shadow:none; gap:12px; background:transparent}
  .step{min-width:76%; scroll-snap-align:start; border:1px solid var(--line); border-radius:var(--r-lg); background:#fff; box-shadow:var(--shadow-sm)}
  /* Keep both contact options available within the content. */
  .hero-actions{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px}
  .hero-actions .btn{white-space:normal;min-width:0;width:100%;padding:12px 10px;line-height:1.4}
  .hero-actions .btn-tertiary{grid-column:1/-1}
  .contact-actions{flex-wrap:wrap} .contact-actions .btn{flex:1 1 100%; white-space:normal}
  /* every standalone CTA goes full-width on mobile, like the hero */
  .split-text > .btn, .services-foot > .btn, .mt-6 > .btn,
  .to-center > .btn, .to-end > .btn, .section-head.is-split .btn, .diag-restart {
    display:flex; width:100%; margin-inline:0; justify-content:center; text-align:center; white-space:normal;
  }
  .services-foot{flex-direction:column; align-items:stretch; gap:14px}
  .hero-trust .ht-addr{display:none}
  /* chips as a comfortable 2×2 on phones */
  .chips{grid-template-columns:repeat(2,1fr); gap:8px}
  .chip{min-height:48px; font-size:.92rem}
  .hero-instrument{display:flex; flex-direction:column}
  .instrument-head{order:0} .gauge-wrap{order:1} .gauge-caption {order:2} .picker{order:3; border-top:0} .mini-spec{order:4; padding-top:12px; border-top:1px solid var(--line)}
  .hero-instrument .readout{display:none}
  .gauge{max-width:220px}
  .mobile-bar{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:fixed; inset-inline:12px; bottom:calc(10px + var(--safe-b)); z-index:120; background:rgba(255,255,255,.96); backdrop-filter:saturate(1.4) blur(14px); border:1px solid var(--line); border-radius:20px; box-shadow:0 8px 30px rgba(16,20,28,.18); padding:4px;gap:4px; overflow:hidden}
  .mobile-bar a{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; padding:9px 4px; color:var(--ink); font-size:.875rem; line-height:1.2; font-weight:700; min-height:64px; transition:background .15s var(--ease)}
  .mobile-bar a svg{width:22px; height:22px}
  .mobile-bar a{border-radius:15px}
  .mobile-bar a.call{background:var(--red); color:#fff}
  .mobile-bar a.call:active{background:var(--red-bright)}
  .mobile-bar a+a{border-inline-start:0}
}
@media (max-width:520px){
  .cards,.cards.cols-2,.cards.cols-3,.cards.cols-4{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .trust-item strong,.trust-item span{white-space:normal}
  .rev-track{grid-auto-columns:min(88vw,340px)}
  .hero h1 {font-size:clamp(2.25rem,11vw,2.85rem)}
}
@media (prefers-contrast:more){
  :root{--line:rgba(20,22,28,.22);--line-2:rgba(20,22,28,.38)}
  :focus-visible{outline-width:4px}
}
@media (prefers-reduced-transparency:reduce){
  .site-header,.mobile-bar{backdrop-filter:none;background:#fff}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto !important; transition:none !important; animation:none !important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  .btn:hover,.btn:active,.card:hover{transform:none!important}
  .reveal{opacity:1 !important; transform:none !important}
  .gauge .needle{transform:rotate(0) !important} .gauge .arc-ok{opacity:1 !important}
}
@media print{
  .site-header,.mobile-bar,.desk-cta,.cta-banner,.rev-nav,.rev-dots{display:none!important}
  body{padding:0;color:#111;background:#fff;font-size:12pt}
  .section{padding-block:24px}
  a{color:#111;text-decoration:underline}
  .reveal{opacity:1!important;transform:none!important}
}


.area-arrival-note{margin-top:20px;padding:20px 22px;background:#f7f4ef;border:1px solid var(--line);border-inline-start:3px solid var(--red);border-radius:var(--r)}
.area-arrival-note h3 {margin:0 0 10px;font-size:1.05rem;color:var(--ink)}
.area-arrival-note ul{margin:0;padding-inline-start:20px;color:var(--ink-2);line-height:1.7}
.area-arrival-note li+li{margin-top:5px}
.area-arrival-note a{color:var(--red);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Clear service pricing, sized for phone-first comparison */
.lead-price-preview{max-width:460px;margin-top:22px;padding:18px;background:#fff;border:1px solid var(--lead-border,var(--line));border-radius:16px;box-shadow:0 8px 24px -20px rgba(16,20,28,.25)}
.lead-price-title{margin:0 0 10px;color:var(--lead-black);font-weight:800;font-size:.92rem}
.lead-price-grid,.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lead-price-item{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px;background:var(--lead-paper,var(--bg-2));border:1px solid var(--lead-border,var(--line));border-radius:10px;color:var(--ink-2);font-size:.95rem}
.lead-price-item strong{font-family:var(--f-sans);color:var(--lead-black,var(--ink));font-size:1.5rem;line-height:1.3;white-space:nowrap}
.lead-price-note,.price-note{margin:12px 0 0;color:var(--ink-2);font-size:.92rem;line-height:1.65}
.price-section{background:#f7f4ef}
.price-panel{max-width:900px;margin-inline:auto;padding:clamp(22px,4vw,40px);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm)}
.price-panel-heading{margin-bottom:22px}
.price-panel-heading h2{margin:0 0 8px;font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.2}
.price-panel-heading>p:last-child{margin:0;color:var(--muted)}
.price-grid{gap:14px}
.price-option,.contact-price-row,.localized-price-card p{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;background:#f7f4ef;border:1px solid var(--line);border-radius:var(--r);color:var(--ink-2)}
.price-option strong,.contact-price-row strong,.localized-price-card strong{color:var(--lead-black);font-family:var(--f-mono);font-size:1.35rem;white-space:nowrap}
.price-panel .btn{margin-top:20px}
.price-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;margin-bottom:24px}
.price-actions .btn{flex:1 1 220px;margin-top:0;white-space:normal}
.lead-price-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:8px}
.lead-price-links .text-link{min-height:44px;font-size:.9rem}
.contact-price-card,.localized-price-card{margin-block:20px;padding:18px;background:#f7f4ef;border:1px solid var(--line);border-inline-start:3px solid var(--red);border-radius:var(--r)}
.contact-price-card h3,.localized-price-card h3 {margin:0 0 12px;font-size:1.1rem}
.contact-price-row+.contact-price-row{margin-top:8px}
.localized-price-card p{margin:8px 0;padding:11px 13px}
.localized-price-card small{display:block;margin-top:10px;color:var(--muted);line-height:1.55}
@media(max-width:520px){.lead-price-preview{margin-top:18px;padding:16px}.lead-price-grid,.price-grid{gap:8px}.lead-price-item{padding:10px}.price-panel{padding:20px 16px}.price-option{align-items:flex-start;flex-direction:column;gap:5px;padding:13px}.price-option strong{font-size:1.25rem}}

/* =========================================================
   Conversion homepage — focused service and trust journey
   ========================================================= */
.lead-home{--lead-paper:#f4f6f8;--lead-black:#10141c;--lead-border:rgba(16,20,28,.12)}
.lead-home .site-header{background:rgba(255,255,255,.96)}
.lead-home .nav-inner{min-height:76px}
.lead-home .brand-logo{height:54px}
.lead-home .nav-menu a{font-size:.95rem}
.lead-home .nav-cta{padding-inline:20px!important}
.lead-kicker{margin:0 0 16px;color:var(--red);font-family:var(--f-sans);font-size:.9rem;font-weight:700;letter-spacing:normal}
.lead-section{padding-block:clamp(76px,9vw,128px)}
.lead-heading{max-width:780px;margin-bottom:clamp(32px,4vw,52px)}
.lead-heading h2,.lead-why h2,.lead-reviews h2,.lead-contact h2 {font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.24;letter-spacing:normal}
.lead-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-block:4px}
.lead-actions .btn{min-width:170px}
.lead-actions .lead-call{gap:12px}
.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding-block:8px;color:var(--red);font-weight:800;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.text-link:hover{color:var(--red-bright)}
.btn-dark{background:var(--lead-black);border-color:var(--lead-black);color:#fff}
.btn-dark:hover{background:#242a34;border-color:#242a34;transform:translateY(-2px)}

.lead-hero{position:relative;overflow:hidden;background:var(--lead-paper);border-bottom:1px solid var(--lead-border)}
.lead-hero::after{content:"";position:absolute;inset-inline-end:0;bottom:0;width:clamp(90px,14vw,220px);height:8px;background:var(--red)}
.lead-hero-shell{padding-block:clamp(36px,5vw,64px)}
.lead-hero-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:stretch;gap:clamp(30px,5vw,76px)}
.lead-hero-copy{align-self:center;max-width:620px;padding-block:12px}
.lead-hero h1{max-width:100%;margin:0 0 clamp(24px,3vw,40px);color:var(--lead-black);font-size:clamp(2rem,4.8vw,4.1rem);line-height:1.18;letter-spacing:.01em;white-space:normal;text-wrap:balance;overflow-wrap:normal;word-break:normal}
.lead-hero h1 span{color:var(--red)}
.lead-hero h1 .lead-title-ink{color:var(--lead-black)}
.lead-hero-text{max-width:47ch;margin:0 0 20px;color:var(--ink-2);font-size:clamp(1.08rem,1.5vw,1.3rem);line-height:1.65}
.lead-proof{display:flex;align-items:stretch;margin-top:34px;border-block:1px solid var(--lead-border)}
.lead-proof-item{display:flex;align-items:baseline;gap:7px;padding:14px 0;color:var(--muted);font-size:.86rem}
.lead-proof-item+.lead-proof-item{margin-inline-start:18px;padding-inline-start:18px;border-inline-start:1px solid var(--lead-border)}
.lead-proof-item strong,.lead-proof-item b{font-family:var(--f-sans);font-variant-numeric:tabular-nums;font-size:1rem;color:var(--lead-black)}
.lead-proof-item .lead-star{color:#f5a623}
a.lead-proof-item:hover strong,a.lead-proof-item:hover b{color:var(--red)}
.lead-hero-media{position:relative;margin:0;min-height:0;width:100%;aspect-ratio:4/3;align-self:center;overflow:hidden;border-radius:var(--r-lg);background:#d7d8da;box-shadow:var(--shadow-sm)}
.lead-hero-media picture,.lead-hero-media img{width:100%;height:100%}
.lead-hero-media img{object-fit:cover;object-position:center}
.lead-hero-media::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.lead-hero-media figcaption,.lead-why-media figcaption{position:absolute;inset-inline:18px;bottom:18px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:rgba(16,20,28,.92);color:#fff;font-family:var(--f-sans);font-size:.875rem;line-height:1.5;border-radius:8px}
.status-dot{width:7px;height:7px;border-radius:50%;background:#55c77d;box-shadow:0 0 0 4px rgba(85,199,125,.18)}

.lead-symptoms{background:#fff}
.lead-symptom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.lead-symptom{position:relative;min-height:244px;padding:28px;color:var(--ink-2);border:1px solid var(--lead-border);border-radius:16px;background:#fff;transition:background var(--motion-hover) var(--ease),border-color var(--motion-hover) var(--ease),box-shadow var(--motion-hover) var(--ease)}
.lead-symptom:hover,.lead-symptom:focus-visible{border-color:var(--red);box-shadow:var(--shadow-sm)}
.lead-symptom::after{content:"";position:absolute;inset-inline:30px;bottom:-1px;height:3px;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.lead-symptom:hover{background:var(--lead-paper)}
.lead-symptom:hover::after{transform:scaleX(1)}
.lead-num{display:block;margin-bottom:22px;color:var(--muted);font-family:var(--f-mono);font-size:.75rem}
.lead-symptom h3 {font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.35;letter-spacing:normal;margin-bottom:12px}
.lead-symptom p{max-width:34ch;margin:0 0 24px;color:var(--ink-2);line-height:1.7}
.lead-link{position:absolute;inset-inline-start:30px;bottom:26px;color:var(--red);font-weight:700;font-size:.94rem}
.lead-inline-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:28px;padding:20px 24px;background:var(--lead-paper);border:1px solid var(--lead-border);border-radius:14px}
.lead-inline-cta p{margin:0;color:var(--ink);font-weight:600}
.lead-inline-cta>div{display:flex;flex-wrap:wrap;gap:8px 14px}
.lead-service-area{background:var(--lead-paper)}
.lead-area-copy{max-width:76ch;margin:0 0 22px;color:var(--ink-2);font-size:1.05rem;line-height:1.8}
.lead-area-links{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:10px}
.lead-area-links a{display:inline-flex;align-items:center;min-height:44px;padding:9px 14px;border:1px solid var(--lead-border);border-radius:10px;background:#fff;color:var(--ink);font-weight:600;text-decoration:none;transition:border-color .2s,color .2s}
.lead-area-links a:hover{border-color:var(--red);color:var(--red)}

.lead-why{background:var(--lead-black);color:#b7bdc7}
.lead-why-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(40px,7vw,90px);align-items:center}
.lead-why-media{position:relative;margin:0;height:min(700px,72vw);max-height:700px;overflow:hidden;border-radius:var(--r-lg);box-shadow:var(--shadow-sm);background:#262b33}
.lead-why-media picture,.lead-why-media img{width:100%;height:100%}
.lead-why-media>a{display:block;width:100%;height:100%}
.lead-why-media>a:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.lead-why-media figcaption{flex-direction:column;align-items:flex-start;gap:2px;pointer-events:none}
.lead-why-media img{object-fit:cover;object-position:center}
.lead-why .lead-kicker{color:#ff989c}
.lead-why h2{color:#fff;margin-bottom:26px}
.lead-large{max-width:52ch;margin-bottom:30px;color:#d7dbe1;font-size:clamp(1.08rem,1.6vw,1.28rem)}
.lead-reasons{margin:0 0 32px;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.14)}
.lead-reasons li{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.lead-reasons>li>span{font-family:var(--f-mono);font-size:.72rem;color:#ff989c;padding-top:4px}
.lead-reasons strong{display:block;color:#fff;font-size:1.08rem;margin-bottom:3px}
.lead-reasons p{margin:0;color:#aeb6c2;font-size:.96rem}
.lead-why .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.28)}
.lead-why .btn-ghost:hover{border-color:#fff}

.lead-reviews{background:var(--lead-paper)}
.lead-reviews-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-bottom:42px}
.lead-reviews-head h2{max-width:760px;margin:0}
.lead-rating{align-self:end}
.lead-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.lead-review{display:flex;flex-direction:column;min-height:270px;padding:30px 26px;background:#fff;border:1px solid var(--lead-border);border-radius:16px;box-shadow:var(--shadow-sm)}
.lead-review .stars{color:#f5a623;letter-spacing:2px;margin-bottom:22px}
.lead-review blockquote{margin:0 0 20px;color:var(--ink);font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.75;font-weight:500}
.lead-review cite{margin-top:auto;padding-top:20px;border-top:1px solid var(--line);color:var(--ink-2);font-family:var(--f-sans);font-size:.875rem;font-style:normal}
.lead-review-swipe{display:none}
.lead-all-reviews{margin-top:28px}

.lead-contact{background:var(--red);color:rgba(255,255,255,.84)}
.lead-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:clamp(36px,6vw,80px);align-items:stretch}
.lead-contact .lead-kicker{color:#ffd2d4}
.lead-contact h2{color:#fff;max-width:700px;margin-bottom:34px}
.lead-contact-facts{display:grid;gap:0;border-block:1px solid rgba(255,255,255,.22);margin-bottom:30px}
.lead-contact-facts>div{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.lead-contact-facts>div:last-child{border-bottom:0}
.lead-contact-facts span{font-family:var(--f-sans);font-size:.9rem;color:#ffe4e5}
.lead-contact-facts strong,.lead-contact-facts a{color:#fff;font-size:1.06rem}
.lead-contact-actions{display:flex;flex-wrap:wrap;gap:10px}
.lead-contact-actions .btn{padding-inline:20px}
.lead-contact .btn-wa{background:#fff;color:#0b7a3b;border-color:#fff;box-shadow:none}
.lead-contact .btn-wa:hover{background:#eaf6ef}
.lead-contact .btn-dark{background:#10141c;border-color:#10141c}
.lead-contact-note{margin:18px 0 0;color:#ffe4e5;font-size:.95rem}
.lead-contact-note .lead-request-link{color:#fff;text-decoration-thickness:1px;text-underline-offset:3px}
.lead-map{position:relative;min-height:440px;background:#fff;overflow:hidden;border-radius:20px;border:4px solid rgba(255,255,255,.3)}
.lead-map iframe{width:100%;height:100%;min-height:440px;border:0;filter:saturate(.72) contrast(1.03)}
.lead-map>a{position:absolute;inset-inline-end:14px;bottom:14px;padding:10px 14px;background:#fff;color:var(--ink);font-weight:700;border-radius:6px;box-shadow:var(--shadow)}

@media (max-width:960px){
  .lead-hero-grid{grid-template-columns:1fr 1fr;gap:28px}
  .lead-proof{flex-wrap:wrap}.lead-proof-item:nth-child(3){width:100%;margin-inline-start:0;padding-inline-start:0;border-inline-start:0;border-top:1px solid var(--lead-border)}
  .lead-why-grid,.lead-contact-grid{grid-template-columns:1fr 1fr;gap:32px}
  .lead-reviews-head{grid-template-columns:1fr}.lead-rating{justify-self:start}
}
@media (max-width:720px){
  .lead-home .nav-inner{min-height:76px}
  .lead-home .nav-menu a{font-size:1.04rem}
  .lead-home #nav-menu{top:auto;max-height:calc(100dvh - 90px - var(--safe-t))}
  .mobile-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 24px}
  .mobile-shortcuts a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px;color:var(--ink);background:#fff;border:1px solid var(--line-2);border-radius:12px;font-size:.95rem;font-weight:700}
  .mobile-shortcuts a:active{background:var(--red-tint);color:var(--red)}
  .lead-symptom:active{background:var(--red-tint);border-color:var(--red)}
  .lead-section{padding-block:56px}
  .lead-heading h2,.lead-why h2,.lead-reviews h2,.lead-contact h2 {font-size:clamp(1.9rem,8vw,2.45rem);line-height:1.2}
  .lead-hero-shell{padding-block:28px 32px}
  .lead-hero-grid{grid-template-columns:1fr;gap:34px}
  .lead-hero-copy{padding-block:0}
  .lead-hero-text{font-size:1.08rem}
  .lead-actions{display:grid;grid-template-columns:1fr;gap:12px}
  .lead-actions .lead-call{flex-direction:column;gap:3px;padding-block:12px;line-height:1.4}
  .lead-actions .lead-call .mono{font-size:.95rem}
  .lead-actions .btn{width:100%;white-space:normal}
  .lead-proof{display:grid;grid-template-columns:1fr 1fr;margin-top:20px}
  .lead-proof-item+.lead-proof-item{margin-inline-start:0;padding-inline-start:14px;border-inline-start:1px solid var(--lead-border)}
  .lead-proof-item:nth-child(3){grid-column:1/-1;width:auto;padding-inline-start:0;border-inline-start:0}
  .lead-hero-media{min-height:0;aspect-ratio:4/3;margin-bottom:0}
  .lead-hero-media figcaption{inset-inline:12px;bottom:12px;font-size:.875rem}
  .lead-symptom-grid{grid-template-columns:repeat(2,minmax(0,1fr));border-bottom:0}
  .lead-symptom-grid{gap:12px}
  .lead-symptom{display:flex;flex-direction:column;min-width:0;min-height:188px;padding:18px 14px}
  .lead-symptom h3 {line-height:1.3}
  .lead-num{margin-bottom:14px}.lead-symptom h3 {font-size:1.18rem;margin-bottom:8px}.lead-symptom p{font-size:1rem;line-height:1.65;margin:0 0 12px}.lead-link{position:static;inset:auto;margin-top:auto;align-self:flex-start;font-size:.9rem}
  .lead-inline-cta{align-items:flex-start;flex-direction:column;padding:18px}
  .lead-why-grid{grid-template-columns:1fr}
  .lead-why-media{height:auto;aspect-ratio:3/4;max-height:480px;order:2}
  .lead-why-media img{object-fit:contain}
  .lead-why-copy{order:1}
  .lead-review-grid{display:flex;overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scroll-padding-inline:var(--gutter);gap:12px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-bottom:8px}
  .lead-review{flex:0 0 min(84vw,340px);scroll-snap-align:start}
  .lead-review-swipe{display:block;margin:8px 0 0;color:var(--ink-2);font-size:.875rem;text-align:center}
  .lead-rating{width:100%;justify-content:center;flex-wrap:wrap}
  .lead-contact-grid{grid-template-columns:1fr}
  .lead-contact-actions{display:grid;grid-template-columns:1fr}
  .lead-contact-actions .btn{width:100%}
  .lead-map{min-height:280px}.lead-map iframe{min-height:280px}
}
@media (max-width:420px){
  .lead-proof-item:nth-child(2){padding-inline-start:14px;border-inline-start:1px solid var(--lead-border)}
  .lead-contact-facts>div{grid-template-columns:1fr;gap:4px}
}
@media (max-width:359px){
  .lead-symptom-grid{grid-template-columns:1fr}
  .lead-symptom{min-height:184px;padding:18px 20px}
}

@view-transition { navigation:auto; }
.page-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.page-shortcuts a,.knowledge-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--line-2);border-radius:12px;background:#fff;color:var(--ink);font-weight:700;font-size:.95rem}
.page-shortcuts a:hover,.knowledge-nav a:hover{border-color:var(--red);color:var(--red)}
.knowledge-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.knowledge-group+.knowledge-group{margin-top:56px;padding-top:40px;border-top:1px solid var(--line)}
.knowledge-group>header{margin-bottom:24px;max-width:760px}
.knowledge-group>header h2{font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.25;margin-bottom:8px}
.knowledge-group>header p{margin:0;color:var(--ink-2)}
.knowledge-group .card{display:flex;flex-direction:column}
.knowledge-group .card-num{position:static;display:block;margin-bottom:12px;font-family:var(--f-sans);font-size:.875rem;color:var(--red);letter-spacing:normal}
.knowledge-group .card h3 a{display:block;min-height:44px}
.knowledge-group .card p{margin-bottom:22px;line-height:1.7}
.knowledge-group .card-link{align-self:flex-start;margin-top:auto}
@media(max-width:520px){.page-shortcuts{gap:8px}.page-shortcuts a{flex:1 1 auto;padding-inline:10px;font-size:.9rem}.knowledge-nav{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:28px}.knowledge-nav a{justify-content:flex-start}.knowledge-group+.knowledge-group{margin-top:36px;padding-top:30px}}
@media(max-width:520px){.diag-answer-summary dl>div{grid-template-columns:1fr;gap:3px}.diag-result-controls .diag-restart{width:auto}}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:var(--ease)}
.home-price-help{margin-top:12px;border:0;font-size:1rem;line-height:1.7}
.home-price-help summary{min-height:48px;padding-block:12px;font-weight:700;cursor:pointer;overflow-wrap:anywhere}
.home-price-help p{margin:0;padding-bottom:14px;color:var(--ink-2)}
.lead-symptom{display:flex;flex-direction:column;min-width:0}
.lead-symptom .lead-link{position:static;margin-top:auto;overflow-wrap:anywhere}
.lead-symptom h3,.lead-symptom p{overflow-wrap:anywhere}
.lead-proof-item{min-width:0;overflow-wrap:anywhere}
@media(max-width:350px){.lead-symptom-grid{grid-template-columns:minmax(0,1fr)}}

/* Visual revision: shared details and a quieter homepage price module. */
.lead-price-preview{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1fr);gap:28px;max-width:none;width:100%;margin-block:32px 0;padding:24px;box-shadow:none}
.lead-price-summary,.lead-price-detail{min-width:0}
.lead-price-summary{padding-inline-end:28px;border-inline-end:1px solid var(--lead-border)}
.lead-price-title{font-size:1rem;font-weight:700;margin-block-end:12px}
.lead-price-item{border:0;background:var(--lead-paper);padding:12px 16px}
.lead-price-item strong,.price-option strong,.contact-price-row strong,.localized-price-card strong{font-family:var(--f-sans);font-variant-numeric:tabular-nums}
.lead-price-note{font-size:.9375rem;line-height:1.7;margin:0}
.home-price-help{margin-block-start:10px;border-block-end:0}
.home-price-help summary{font-size:.9375rem}
.lead-price-links{gap:4px 20px;margin-block-start:4px}
.lead-price-links .text-link{font-size:.9375rem;font-weight:600}
.lead-review-grid:focus-visible{outline-offset:6px}
.lead-symptom:focus-visible::after{transform:scaleX(1)}
.lead-area-links a:focus-visible{color:var(--red);border-color:var(--red)}
.lead-request-link{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
.lead-why :focus-visible,.lead-contact :focus-visible{outline-color:#fff}
.mobile-bar a:focus-visible{outline:3px solid var(--red);outline-offset:-4px}
.mobile-bar a.call:focus-visible{outline-color:#fff}
@media(min-width:721px) and (max-width:1080px){.nav-phone{display:none}.nav-menu a{min-height:44px}}
@media(max-width:720px){
  .lead-hero h1{font-size:clamp(2rem,8.2vw,3rem);line-height:1.2;margin-block-end:18px}
  .lead-hero h1 span{display:block}
  .mobile-shortcuts{margin-block:0 20px;gap:0;border-block-end:1px solid var(--lead-border)}
  .mobile-shortcuts a{background:transparent;border:0;border-radius:6px;padding-block:10px;font-weight:600}
  .lead-hero-text{font-size:1.0625rem;line-height:1.75}
  .lead-hero-grid{gap:24px}
  .lead-proof{margin-block-start:20px}
  .lead-actions .btn-wa-soft{background:transparent;border-color:rgba(11,122,59,.28);min-height:48px;box-shadow:none}
  .lead-price-preview{grid-template-columns:minmax(0,1fr);gap:16px;padding:20px;margin-block-start:24px}
  .lead-price-summary{padding-inline-end:0;padding-block-end:16px;border-inline-end:0;border-block-end:1px solid var(--lead-border)}
  .lead-price-links{justify-content:space-between}
  .lead-heading{margin-block-end:28px}
  .lead-num{font-size:.875rem}
  .lead-symptom{padding:20px 16px;gap:0}
  .lead-link{font-size:.9375rem;line-height:1.5}
}
@media(max-width:380px){.lead-symptom-grid{grid-template-columns:minmax(0,1fr)}}
@media(hover:none),(pointer:coarse){.btn:hover,.card:hover,.btn:active{transform:none}}

/* Branded mobile menu: compact navigation, tools, sharing and contact. */
@media(max-width:720px){
  .mobile-menu-host{block-size:100dvh;inset-block-end:auto}
  .nav-sheet{position:absolute;inset-inline:0;bottom:0;display:flex;flex-direction:column;min-height:0;background:#f8f9fa;border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;box-shadow:0 -18px 54px rgba(16,20,28,.2);overflow:visible;pointer-events:auto;animation:sheetIn .2s var(--ease)}
  .mobile-menu-host #nav-menu{position:static;flex:0 0 auto;min-height:0;max-height:none;overflow:visible;padding:18px 18px 10px;border:0;border-radius:0;box-shadow:none;background:transparent;animation:none;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobile-menu-host #nav-menu.open{display:grid}
  .mobile-menu-host .nav-mobile-intro{grid-column:1/-1;justify-content:center;min-height:60px;padding:4px 0 12px;padding-inline-end:52px;margin:0 0 4px;border-bottom:0;gap:2px}
  .mobile-menu-host .nav-mobile-intro span {font-size:1.25rem;line-height:1.3;letter-spacing:normal}
  .mobile-menu-host .nav-mobile-intro small{display:block;font-size:.8rem;font-weight:500;color:var(--muted)}
  .mobile-menu-host .nav-mobile-intro::before{top:-8px;width:28px;height:3px}
  .mobile-menu-host .nav-sheet-close{background:#fff;border-radius:14px;top:4px;inset-inline-end:0}
  .mobile-menu-host .nav-mobile-primary{min-width:0}
  .mobile-menu-host .nav-mobile-primary a{min-height:52px;padding:10px;font-size:.94rem;line-height:1.35;white-space:normal;background:#fff;border-color:#e5e8ec;border-radius:14px;gap:8px;color:var(--ink);box-shadow:0 2px 4px rgba(16,20,28,.025)}
  .mobile-menu-host .nav-item-icon{width:20px;height:20px;flex:0 0 20px;color:var(--red)}
  .mobile-menu-host .nav-mobile-primary a.active{background:var(--red-tint);border-color:var(--red);color:var(--red)}
  .mobile-menu-host .nav-mobile-primary a:focus-visible,.mobile-menu-host .nav-mobile-tools a:focus-visible,.mobile-menu-host .nav-mobile-share a:focus-visible{outline:2px solid var(--red);outline-offset:2px}
  .mobile-menu-host #nav-menu>.nav-mobile-tools{grid-column:1/-1;padding:4px 0 0;margin:0;border-top:0}
  .mobile-menu-host .nav-mobile-tools a{padding:8px;min-height:44px;line-height:1.35;white-space:normal;background:transparent;border-color:#dde1e6;border-radius:12px;font-size:.86rem}
  .mobile-menu-host .nav-mobile-share{display:list-item;grid-column:1/-1}
  .mobile-menu-host .nav-mobile-share a{display:flex;gap:12px;min-height:56px;padding:10px 14px;background:var(--dark);color:#fff;border:1px solid var(--dark);border-radius:14px}
  .mobile-menu-host .nav-mobile-share .nav-item-icon{color:#fff}
  .mobile-menu-host .nav-mobile-share b{display:block;font-size:.94rem;font-weight:650;line-height:1.4}
  .mobile-menu-host .nav-mobile-share small{display:block;font-size:.75rem;color:var(--on-dark-soft);line-height:1.5;font-weight:400}
  .mobile-menu-host .nav-share-arrow{margin-inline-start:auto;font-size:1.2rem;color:var(--on-dark-soft)}
  .nav-sheet-actions{flex:0 0 auto;padding:10px 18px calc(12px + var(--safe-b));background:#f8f9fa;border-top:1px solid #e5e8ec}
  .nav-sheet-actions .nav-cta{display:flex;align-items:center;justify-content:center;min-height:52px;margin:0;width:100%;padding:10px 12px;font-size:1rem;font-weight:700;line-height:1.4;white-space:normal;text-align:center;border-radius:14px!important;box-shadow:0 4px 12px rgba(139,26,26,.14)}
  .nav-sheet-actions .nav-cta:focus-visible{outline:3px solid #fff;outline-offset:-6px}
  .nav-sheet-actions .nav-cta:hover,.nav-sheet-actions .nav-cta:active{background:var(--red-bright)}
}
@media(max-width:720px) and (max-height:540px){
  .mobile-menu-host #nav-menu{padding:10px 14px 6px;gap:4px}
  .mobile-menu-host .nav-mobile-intro{min-height:44px;margin:0;padding-block:0}
  .mobile-menu-host .nav-mobile-intro span {font-size:1.08rem}
  .mobile-menu-host .nav-mobile-intro small,.mobile-menu-host .nav-mobile-share small{display:none}
  .mobile-menu-host .nav-sheet-close{top:0}
  .mobile-menu-host .nav-mobile-primary a{min-height:44px;padding:6px 8px;font-size:.86rem;gap:6px}
  .mobile-menu-host .nav-item-icon{width:18px;height:18px;flex-basis:18px}
  .mobile-menu-host #nav-menu>.nav-mobile-tools{padding-block-start:0}
  .mobile-menu-host .nav-mobile-share a{min-height:44px;padding:6px 10px}
  .nav-sheet-actions{padding:6px 14px calc(6px + var(--safe-b))}
  .nav-sheet-actions .nav-cta{min-height:44px;padding-block:6px}
}
@media(min-width:480px) and (max-width:720px) and (max-height:540px){
  .mobile-menu-host #nav-menu{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){.nav-sheet{animation:none}}

/* Keep contact labels readable when the two-column page narrows. */
@media(min-width:1001px) and (max-width:1200px){
  .location-info>.contact-actions{flex-direction:column}
  .location-info>.contact-actions .btn{white-space:normal}
}

/* Approved content release: reading measure and existing brand. */
.content-reading{max-width:860px}.content-photo{margin:0 0 32px;overflow:hidden;border-radius:var(--r-lg,16px);box-shadow:var(--shadow-sm);position:relative}.content-photo img{width:100%;height:clamp(220px,35vw,400px);object-fit:cover}.content-prose{max-width:none}.content-prose p{font-size:17px;line-height:1.85;margin-bottom:1.15em;color:var(--ink-2)}.content-prose h2{font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.4;margin:1.7em 0 .65em}.content-faq,.content-related{margin-block:36px}.content-faq h2,.content-related h2{font-size:clamp(1.3rem,2.4vw,1.8rem);margin-bottom:16px}.page-hero .hero-actions{margin-block:24px 4px}

/* Exact approved compact mobile hero; desktop presentation stays intact. */
.lead-hero .hero-mobile-only{display:none}
@media(max-width:720px){
  .lead-hero{min-height:0;height:auto;background:#fff}
  .lead-hero-shell{display:flex;flex-direction:column;gap:16px;padding-block:24px}
  .lead-hero-grid,.lead-hero-copy{display:contents}
  .lead-hero .hero-desktop-only,.lead-hero .lead-kicker,.lead-hero .mobile-shortcuts{display:none}
  .lead-hero .hero-mobile-only{display:block}
  .lead-hero h1{order:0;margin:0;font-size:var(--type-h1-mobile);line-height:1.2;letter-spacing:.01em;text-wrap:balance}
  .lead-hero h1 .hero-mobile-only{color:var(--lead-black)}
  .lead-hero-text{order:1;max-width:none;margin:0;font-size:17px;line-height:1.55}
  .hero-mobile-pricing{order:2}
  .hero-mobile-price-line{margin:0;white-space:nowrap;font-size:clamp(14px,3.8vw,16px);line-height:1.5}
  .hero-mobile-price-line strong{color:#8B1A1A;font-variant-numeric:tabular-nums}
  .hero-mobile-price-note{margin:8px 0 0;font-size:var(--type-small);line-height:1.5;color:var(--muted)}
  .lead-hero .lead-actions{order:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:4px}
  .lead-hero .lead-actions .btn{min-width:0;width:100%;min-height:56px;padding:12px 10px;font-size:15px;line-height:1.35;white-space:normal;border-radius:10px}
  .lead-hero .lead-actions .btn-primary{background:#8B1A1A;border-color:#8B1A1A;color:#fff}
  .lead-hero .lead-actions .btn-wa-soft{background:#fff;border-color:#8B1A1A;color:#8B1A1A}
  .hero-mobile-location{order:4;margin:0;font-size:var(--type-small);line-height:1.5;color:var(--muted)}
  .hero-mobile-location a{color:#8B1A1A;text-decoration:underline;text-underline-offset:3px}
  .lead-hero-media{order:5;min-height:0;aspect-ratio:4/3;box-shadow:var(--shadow-sm);border-radius:var(--r-lg)}
  .lead-hero-media picture,.lead-hero-media img{display:block}
  .lead-hero-media figcaption{display:none}
  .lead-proof{order:6;margin:0}
  .lead-proof-item:nth-child(3){display:none}
  .lead-price-preview{order:7;margin:0;padding:16px;background:var(--lead-paper)}
  .lead-price-preview .lead-price-summary,.lead-price-preview .lead-price-note{display:none}
  .lead-price-preview .home-price-help{margin:0}
}
@media(max-width:350px){.lead-hero .lead-actions{grid-template-columns:1fr}}

/* Batch 1 — shared approved hero copy and contact path on every viewport. */
.lead-hero-copy{min-width:0}
.lead-hero h1{font-size:var(--type-h1);line-height:var(--leading-h1);letter-spacing:var(--tracking-heading);margin-bottom:16px;color:var(--lead-black)}
.hero-mobile-pricing{margin-bottom:16px;scroll-margin-top:110px}
.hero-mobile-price-line{margin:0;font-size:clamp(14px,1.4vw,18px);line-height:1.5;white-space:nowrap}
.hero-mobile-price-line strong{color:#8B1A1A;font-variant-numeric:tabular-nums}
.hero-mobile-price-note{margin:8px 0 0;font-size:var(--type-small);line-height:1.5;color:var(--muted)}
.lead-hero .lead-actions .btn{white-space:normal;min-width:0;min-height:56px;padding:12px 18px;font-size:15px;line-height:1.35}
.lead-hero .lead-actions .btn-primary{background:#8B1A1A;border-color:#8B1A1A;color:#fff}
.lead-hero .lead-actions .btn-wa-soft{background:#fff;border-color:#8B1A1A;color:#8B1A1A}
.hero-mobile-location{margin:16px 0 0;font-size:var(--type-small);line-height:1.5;color:var(--muted)}
.hero-mobile-location a{color:#8B1A1A;text-decoration:underline;text-underline-offset:3px}
.lead-price-preview{grid-template-columns:minmax(0,1fr);max-width:860px}
.lead-hero-media figcaption{display:none}
@media(max-width:720px){
  .lead-hero h1{font-size:var(--type-h1-mobile);margin:0}
  .hero-mobile-pricing,.hero-mobile-location{margin:0}
  .hero-mobile-price-line{font-size:clamp(14px,3.8vw,16px)}
  .lead-hero .lead-actions .btn{padding:12px 10px}
}

/* Batch 3: quick topic navigation for the existing category FAQ. */
.faq-category-links{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.faq-category-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--bg-2);font-size:.9375rem;text-decoration:none}
.faq-category-links a:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.content-faq h2[id]{scroll-margin-top:110px}
.faq-contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.faq-contact-actions .btn{white-space:normal}
@media(max-width:639px){.faq-contact-actions .btn{width:100%}}

/* Symptom articles: compact lead, optional navigation and readable anchors. */
.symptom-page .page-hero .container { padding-block: 32px; }
.symptom-page .page-hero p { max-width: 62ch; margin-block: 12px 0; }
.content-toc { margin-block: 0 24px; border: 1px solid var(--line, #ddd); border-radius: 12px; padding: 12px 16px; background: #f7f8f8; }
.content-toc summary { cursor: pointer; font-weight: 700; }
.content-toc ol { padding-inline-start: 24px; margin-block: 12px 0; }
.content-toc li + li { margin-top: 8px; }
.content-toc a { display: inline-block; padding-block: 4px; }
.symptom-page .content-prose h2 { scroll-margin-top: 120px; }
.symptom-page .content-photo { margin-block: 24px; }
@media (max-width: 720px) {
  .symptom-page .page-hero .container { padding-block: 24px; }
  .symptom-page .page-hero h1 { font-size: clamp(1.65rem, 6.4vw, 2.1rem); }
  .symptom-page .page-hero p { line-height: 1.65; }
  .symptom-page .content-prose p { font-size: 17px; line-height: 1.8; }
}

/* Regional pages share the existing article and brand system. */
.area-page .page-hero .container { padding-block: 32px; }
.area-page .page-hero h1 { max-width: 24ch; }
.area-page .page-hero p { max-width: 62ch; }
.area-hero-prices { margin-block: 16px; }
.area-hero-prices p { margin-block: 0 6px; }
.area-hero-prices small { color: var(--ink-2); font-size: .875rem; }
.area-page .page-hero .hero-actions { margin-top: 20px; }
.area-page .page-hero .area-location { font-size: .875rem; margin-top: 16px; }
.area-page .content-prose h2 { scroll-margin-top: 120px; }
.area-page .content-photo { margin-block: 28px; }
.area-page .content-photo figcaption { padding: 12px 16px; font-size: .875rem; color: var(--ink-2); background: #f7f8f8; }
@media (max-width: 720px) {
  .area-page .page-hero .container { padding-block: 24px; }
  .area-page .page-hero h1 { font-size: clamp(1.65rem, 6.4vw, 2.1rem); }
  .area-page .page-hero .hero-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .area-page .page-hero .hero-actions .btn { min-width: 0; white-space: normal; }
  .area-page .content-prose p { font-size: 17px; line-height: 1.8; }
}
@media (max-width: 350px) {
  .area-page .page-hero .hero-actions { grid-template-columns: 1fr; }
}

/* Design polish Batch 2: fit content without hiding prices or menu actions. */
.hero-mobile-price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 18px;white-space:normal}
.hero-price-unit{white-space:nowrap;position:relative}
@media(max-width:350px){.hero-actions{grid-template-columns:1fr}}
@media(max-width:720px){
  .nav-sheet{max-height:calc(100vh - var(--safe-t) - 8px);max-block-size:calc(100dvh - var(--safe-t) - 8px);overflow:hidden}
  .nav-sheet-header{flex:0 0 auto}
  .mobile-menu-host .nav-sheet-header>.nav-mobile-intro{display:flex;flex:0 0 auto;margin:0;padding:18px 18px 12px;padding-inline-end:76px;min-height:76px}
  .mobile-menu-host .nav-sheet-header>.nav-mobile-intro::before{display:none}
  .mobile-menu-host .nav-sheet-header>.nav-mobile-intro .nav-sheet-close{inset-inline-end:18px;top:16px}
  .mobile-menu-host #nav-menu{flex:0 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-padding-block:8px;padding-block-start:4px;scrollbar-width:thin}
}
@media(max-width:720px) and (max-height:540px){
  .mobile-menu-host .nav-sheet-header>.nav-mobile-intro{min-height:56px;padding-block:6px}
  .mobile-menu-host .nav-sheet-header>.nav-mobile-intro .nav-sheet-close{top:6px}
}

/* Batch 3: constrain prose only, keeping images, grids and actions at their existing width. */
@media (min-width:721px){
  .content-prose p,.content-prose ul,.content-prose ol,.blog-prose p,.blog-prose ul,.blog-prose ol,.prose p,.prose ul,.prose ol{max-inline-size:64ch}
}
.hours td bdi{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

/* Short existing FAQ headings: restrained tracking; long titles retain natural spacing. */
#faq-prices,#faq-process,#faq-signs,#faq-equipment,#faq-arrival{letter-spacing:.01em}

/* Keep paired secondary actions quieter while retaining their colors and one-pixel borders. */
.hero-actions .btn-ghost,.lead-actions .btn-ghost,.hero-actions .btn-wa,.lead-actions .btn-wa{font-weight:600;box-shadow:none}

/* Gallery frames follow their own breakpoints, independent of generic card grids. */
@media(max-width:1023px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}}
@media(max-width:639px){.gallery-grid{grid-template-columns:minmax(0,1fr)}}

/* Batch 3: retain the existing three actions with a separate dismiss control. */
.mobile-bar[hidden],.dock-dismiss[hidden]{display:none!important}
.dock-dismiss{border:0;background:transparent;color:var(--ink);font:inherit;font-size:24px;min-width:44px;min-height:44px;cursor:pointer;border-radius:var(--radius-md);grid-column:4;grid-row:1;align-self:center}
.dock-dismiss:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
@media(max-width:720px){.mobile-bar{grid-template-columns:repeat(3,minmax(0,1fr)) 44px}.mobile-bar a{grid-row:1}}
@media(hover:hover) and (pointer:fine){.lead-hero .btn{transition:background var(--motion-hover) var(--ease),border-color var(--motion-hover) var(--ease),box-shadow var(--motion-hover) var(--ease)}}
@media(prefers-reduced-motion:reduce){.lead-hero .btn{transition:none}}

/* Completed reveal must not override actionable-card feedback timing. */
.card.reveal.in{transition:transform var(--motion-hover) var(--ease),box-shadow var(--motion-hover) var(--ease),border-color var(--motion-hover) var(--ease)}

/* Phone numbers stay intact while surrounding Hebrew wraps naturally. */
.page-hero bdi[dir="ltr"],a[href^="tel:"] bdi[dir="ltr"]{display:inline-block;white-space:nowrap}

/* Home brand refinement: one human line and restrained, scoped breathing room. */
.lead-human-note{font-family:var(--f-sans);font-size:17px;line-height:1.7;letter-spacing:normal;max-inline-size:64ch;margin-block:0 28px}
.lead-symptoms,.lead-why{padding-block:calc(clamp(76px,9vw,128px) + 8px)}
.lead-symptoms .lead-heading{margin-block-end:calc(clamp(32px,4vw,52px) + 4px)}
.lead-why .lead-reasons li{padding-block:24px}
.lead-hero-media img{filter:none}
@media(max-width:720px){
  .lead-symptoms,.lead-why{padding-block:64px}
  .lead-symptoms .lead-heading{margin-block-end:32px}
  .lead-human-note{margin-block-end:24px}
}

/* v78 / Batch 1: emphasis and tactile feedback within existing components. */
.lead-human-note{font-weight:600}
.btn-primary:active{transform:scale(.98);box-shadow:var(--cta-shadow)}
.btn-ghost:active,.btn-wa-soft:active{transform:none;box-shadow:inset 0 1px 2px rgba(0,0,0,.08)}
.hero-actions .btn-ghost,.lead-actions .btn-ghost,.hero-actions .btn-wa-soft,.lead-actions .btn-wa-soft{font-weight:600}
@media(hover:hover) and (pointer:fine){
  .btn-primary,.lead-hero .btn-primary{transition:background var(--motion-hover) var(--ease),border-color var(--motion-hover) var(--ease),box-shadow var(--motion-hover) var(--ease),transform var(--motion-focus) var(--ease)}
  .hero-actions .btn-ghost:hover,.lead-actions .btn-ghost:hover,.btn-wa-soft:hover{transform:none}
}
@media(max-width:720px){
  .lead-hero .lead-actions{margin-block:8px}
  .lead-symptom-grid{row-gap:16px}
}

/* v78 / Batch 2: opacity-only card entrance using the existing observer. */
.lead-symptom.reveal,.lead-review.reveal{transition:opacity 200ms var(--ease),border-color var(--motion-hover) var(--ease),box-shadow var(--motion-hover) var(--ease);transition-delay:0ms!important}
.lead-symptom.reveal.is-pending,.lead-review.reveal.is-pending{transform:none}
.lead-hero-media,.gallery-grid figure{box-shadow:var(--shadow-sm)}
/* Short existing symptom titles only; longer editorial titles stay untracked. */
.lead-symptom:nth-child(-n+3) h3{letter-spacing:.01em}

/* v79: homepage price help and editorial rhythm; preserve all destinations/copy. */
.lead-hero .lead-price-preview{max-width:none;padding:24px;background:var(--lead-paper);border:1px solid var(--lead-border);border-radius:16px;box-shadow:none}
.lead-price-detail{display:grid;gap:24px}
.lead-hero .home-price-help{margin:0;border:0;background:#fff;border-radius:12px;padding:0 16px}
.lead-hero .home-price-help summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:56px;padding:14px 0;font-size:1rem;line-height:1.6;font-weight:600;list-style:none}
.lead-hero .home-price-help summary::-webkit-details-marker{display:none}
.lead-hero .home-price-help summary::after{content:"";flex:none;inline-size:8px;block-size:8px;border-inline-end:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(45deg);margin-inline:4px;transition:transform 160ms ease}
.lead-hero .home-price-help[open] summary::after{transform:rotate(225deg)}
.lead-hero .home-price-help summary:focus-visible{outline:2px solid var(--red);outline-offset:4px;border-radius:8px}
.lead-hero .home-price-help p{max-width:65ch;padding-block:4px 20px;font-size:1rem;line-height:1.8}
.lead-price-links{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) auto;align-items:center;gap:16px;margin:0}
.lead-price-links .btn{min-height:52px;line-height:1.5;white-space:normal;text-align:center;padding:12px 20px}
.lead-price-links .text-link{display:flex;align-items:center;justify-content:center;min-height:52px;padding:10px 16px;font-size:1rem;line-height:1.5;white-space:normal;text-align:center;text-underline-offset:5px}
.lead-price-links .text-link:first-of-type{border:1px solid var(--lead-border);border-radius:8px;background:#fff;text-decoration:none}
.lead-price-links .text-link:first-of-type:hover{border-color:var(--red)}
.lead-symptoms .lead-heading{max-width:760px;margin-block-end:36px}
.lead-symptoms .lead-symptom{padding:28px;gap:12px}
.lead-symptoms .lead-symptom p{margin-block:0 20px;line-height:1.75}
.lead-reviews .lead-heading{max-width:760px}
.lead-reviews .lead-review-grid{margin-block-start:24px}

/* Owner photo refresh: native proportions, quiet human presence. */
.lead-human-presence{display:flex;align-items:center;gap:28px;margin-block:0 32px}
.lead-human-presence picture{display:block;flex:0 0 180px;max-inline-size:34%;border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm)}
.lead-human-presence img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain}
.lead-human-presence .lead-human-note{margin:0;flex:1;min-inline-size:0}
.workshop-person-media img{aspect-ratio:3/4;object-fit:contain;height:auto}
.arrival-photo picture{display:block}
.arrival-photo picture img{height:auto;aspect-ratio:3/4;object-fit:contain;object-position:center}
.gallery-grid .workshop-proof-photo img{object-fit:contain;background:var(--bg-2)}
@media(max-width:639px){.lead-human-presence{gap:16px;align-items:flex-start;margin-block-end:28px}.lead-human-presence picture{flex-basis:112px}}
@media(max-width:359px){.lead-human-presence{flex-direction:column}.lead-human-presence picture{flex-basis:auto;max-inline-size:112px;width:112px}}
@media(max-width:900px){.lead-price-links{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.lead-price-links>.text-link:last-child{grid-column:1/-1;min-height:44px;padding-block:4px}}
@media(max-width:720px){.lead-hero .lead-price-preview{padding:16px;margin:0}.lead-price-detail{gap:20px}.lead-hero .home-price-help{padding-inline:12px}.lead-hero .home-price-help summary{font-size:1rem;gap:12px}.lead-symptoms .lead-heading{margin-block-end:28px}.lead-symptoms .lead-symptom{padding:24px 20px}}
@media(max-width:420px){.lead-price-links{grid-template-columns:minmax(0,1fr);gap:12px}.lead-price-links>.text-link:last-child{grid-column:auto}}

/* v81: quiet, coherent photo presentation; original image pixels retained. */
.lead-hero-media,.lead-why-media,.workshop-person-media,.arrival-photo,.gallery-grid figure{border-radius:var(--r-lg,16px);box-shadow:var(--shadow-sm)}
.lead-hero-media picture,.lead-why-media picture,.arrival-photo picture{display:block}
.lead-human-presence{column-gap:24px}
.lead-why-media img{object-fit:contain}
@media(max-width:720px){
  .lead-hero-media{margin-block-start:4px}
  .lead-human-presence{gap:20px;margin-block-end:32px}
  .lead-human-presence picture{flex-basis:144px;max-inline-size:42%}
}
@media(max-width:359px){.lead-human-presence picture{flex-basis:auto;width:144px;max-inline-size:144px}}

/* Owner-edited photography: preserve full portrait equipment/arrival framing. */
.split-media picture:has(img[src*="fbk-22-v84"]) img,.split-media picture:has(img[src*="fbk-15-v84"]) img{object-fit:contain;background:var(--bg-2);}

/* Preserve natural owner-photo frames; no image filters or overlays. */
.split-media picture:has(img[src*="fbk-01-v85"]) img,.split-media picture:has(img[src*="fbk-02-v85"]) img{object-fit:contain;background:var(--bg-2);}


/* v94: let the desktop navigation reflow when enlarged text needs more room. */
@media (min-width:721px){
  .site-header .brand{flex-shrink:0}
  .site-header .main-nav{flex:1 1 0;min-inline-size:0;max-inline-size:100%;justify-content:flex-end}
  .site-header .nav-menu{flex-wrap:wrap;min-inline-size:0;max-inline-size:100%;row-gap:4px}
  .site-header .nav-menu>li{min-inline-size:0;max-inline-size:100%}
  .site-header .nav-menu a{max-inline-size:100%;white-space:normal;overflow-wrap:break-word}
}


/* v95: allow the contact grid item and its action labels to reflow. */
.lead-contact-copy{min-inline-size:0}
.lead-contact-actions .btn{white-space:normal}
