/* =========================================================================
   AposTherapy - Redesign  ·  Design System
   Mood: Premium tech · deep-ink · clinical precision
   Direction: RTL (Hebrew)
   ========================================================================= */

:root{
  /* --- Ink (deep cool graphite grays - luxury medical) --- */
  --ink-950:#063795;
  --ink-900:#0a4fc4;
  --ink-850:#1157cb;
  --ink-800:#1a63d6;
  --ink-700:#2673de;
  --ink-600:#3d85e7;

  /* --- Paper (clean cool whites) --- */
  --paper:#f5f7fa;
  --paper-2:#eceff4;
  --white:#ffffff;
  --line:#e1e6ee;
  --line-soft:#edf0f5;

  /* --- Primary blue (soft, sophisticated medical blue) --- */
  --blue-800:#0047ba;
  --blue-700:#0058b8;
  --blue-600:#0071e3;   /* primary action */
  --blue-500:#1e87f0;
  --blue-400:#6ab0f7;
  --blue-300:#a5cfff;
  --blue-100:#e1eeff;
  --blue-050:#f0f7ff;

  /* --- Logo red (micro-accent only) --- */
  --red:#d8463b;

  /* --- Text (deep grays) --- */
  --text-strong:#1a1f28;
  --text:#434c59;
  --text-mut:#6e7888;
  --on-dark:#eaf2fb;
  --on-dark-mut:#b8d3f7;
  --on-dark-faint:#82a8dd;

  /* --- Type --- */
  --sans:'Heebo', system-ui, 'Segoe UI', Arial, sans-serif;
  /* V4: site-wide display font is Secular One. The legacy var name "--serif"
     is kept so the dozens of existing heading/number rules need no edits;
     Frank Ruhl Libre stays as a graceful fallback while Secular One loads. */
  --serif:'Secular One', 'Frank Ruhl Libre', Georgia, 'Times New Roman', serif;
  --display:'Secular One', 'Frank Ruhl Libre', Georgia, serif;

  /* --- Radii --- */
  --r-xs:6px;
  --r-sm:10px;
  --r-md:16px;
  --r-lg:24px;
  --r-pill:999px;

  /* --- Shadows --- */
  --sh-1:0 1px 2px rgba(20,25,35,.05), 0 1px 3px rgba(20,25,35,.04);
  --sh-2:0 4px 14px rgba(20,25,35,.07), 0 1px 4px rgba(20,25,35,.05);
  --sh-3:0 18px 48px rgba(20,25,35,.12), 0 6px 16px rgba(20,25,35,.07);
  --sh-blue:0 14px 34px rgba(0,113,227,.26);

  /* --- Motion --- */
  --e-out:cubic-bezier(.16,.84,.36,1);
  --e-soft:cubic-bezier(.33,.86,.4,1);
  --d-1:.45s;
  --d-2:.7s;

  --maxw:1240px;
  --gutter:clamp(20px,5vw,64px);
}

/* High-contrast mode overrides */
html.hc{
  --text:#0a1726;
  --text-mut:#26384b;
  --line:#9fb1c6;
  --line-soft:#aebfd2;
  --on-dark:#ffffff;
  --on-dark-mut:#dbe8f5;
  --blue-600:#0a4f8f;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
html.reduce-motion{ scroll-behavior:auto; }

body{
  margin:0;
  font-family:var(--sans);
  font-size:var(--fs-base,18px);
  line-height:1.7;
  color:var(--text);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  /* V4: never let the browser fake-bold a single-weight face (Secular One).
     Safe for Heebo - it ships real 400-900 faces, so nothing is synthesized. */
  font-synthesis:none;
}

h1,h2,h3,h4{ color:var(--text-strong); line-height:1.12; margin:0; font-weight:700; text-wrap:balance; }
p{ margin:0; text-wrap:pretty; }
a{ color:inherit; text-decoration:none; }
img{ display:block; max-width:100%; }
ul{ margin:0; padding:0; list-style:none; }
strong{ color:var(--text-strong); font-weight:700; }

/* ---------- Accessibility helpers ---------- */
.skip-link{
  position:fixed; inset-block-start:-200px; inset-inline-start:50%;
  transform:translateX(50%);
  background:var(--ink-900); color:#fff; padding:14px 24px; border-radius:0 0 var(--r-sm) var(--r-sm);
  z-index:2000; font-weight:600; transition:inset-block-start .2s var(--e-out);
}
.skip-link:focus{ inset-block-start:0; outline:3px solid var(--blue-500); outline-offset:2px; }

:where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:3px solid var(--blue-500);
  outline-offset:3px;
  border-radius:4px;
}
html.hc :where(a,button,input,textarea,select,[tabindex]):focus-visible{
  outline:3px solid #ffd400; outline-offset:3px;
}

.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;
}

/* ---------- Layout ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:clamp(32px,4.5vw,56px); }
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:13px; font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--blue-600);
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--blue-600); border-radius:2px; }
.section--dark .eyebrow{ color:var(--blue-300); }
.section--dark .eyebrow::before{ background:var(--blue-300); }
/* Bright royal-blue sections don't carry .section--dark, so their eyebrows
   (small overline titles) must be forced light or they vanish on the blue. */
.gaitlab .eyebrow, .stats3d .eyebrow, .process .eyebrow, .cta .eyebrow,
.feature-band .eyebrow, .chero .eyebrow, .phero .eyebrow, .global .eyebrow,
.fasttrack .eyebrow, .page-hero .eyebrow, .trustwave .eyebrow{ color:#bfe0ff !important; }
.gaitlab .eyebrow::before, .stats3d .eyebrow::before, .process .eyebrow::before, .cta .eyebrow::before,
.feature-band .eyebrow::before, .chero .eyebrow::before, .phero .eyebrow::before, .global .eyebrow::before,
.fasttrack .eyebrow::before, .page-hero .eyebrow::before, .trustwave .eyebrow::before{ background:#bfe0ff; }

.h-display{ font-family:var(--serif); font-weight:900; }
.lead{ font-size:clamp(18px,2vw,21px); color:var(--text-mut); line-height:1.65; }

/* ---------- Buttons ---------- */
.btn{
  --bg:var(--blue-600); --fg:#fff;
  display:inline-flex; align-items:center; justify-content:center; gap:10px; white-space:nowrap;
  font-family:var(--sans); font-weight:700; font-size:17px;
  padding:15px 28px; border-radius:var(--r-pill); border:2px solid transparent;
  background:var(--bg); color:var(--fg); cursor:pointer;
  transition:transform .25s var(--e-out), box-shadow .25s var(--e-out), background .2s, color .2s;
  will-change:transform;
}
.btn:hover{ transform:translateY(-2px); box-shadow:var(--sh-blue); }
.btn:active{ transform:translateY(0); }
.btn .arr{ transition:transform .3s var(--e-out); display:inline-block; }
/* RTL arrow points left */
.btn:hover .arr{ transform:translateX(-5px); }
.btn--ghost{ --bg:transparent; --fg:var(--blue-600); border-color:currentColor; }
.btn--ghost:hover{ background:var(--blue-100); box-shadow:none; }
.btn--light{ --bg:#fff; --fg:var(--ink-900); }
.btn--light:hover{ box-shadow:0 14px 34px rgba(0,0,0,.28); }
.btn--onDarkGhost{ --bg:transparent; --fg:var(--on-dark); border-color:rgba(255,255,255,.4); }
.btn--onDarkGhost:hover{ background:rgba(255,255,255,.08); border-color:#fff; box-shadow:none; }
.btn--lg{ font-size:18px; padding:17px 34px; }

html.reduce-motion .btn:hover{ transform:none; }
html.reduce-motion .btn:hover .arr{ transform:none; }

/* ---------- Header ---------- */
.header{
  position:sticky; inset-block-start:0; z-index:900;
  background:rgba(255,255,255,.82);
  backdrop-filter:saturate(160%) blur(14px);
  -webkit-backdrop-filter:saturate(160%) blur(14px);
  border-block-end:1px solid var(--line-soft);
  transition:box-shadow .3s, background .3s;
}
.header.is-stuck{ box-shadow:var(--sh-2); }
html.hc .header{ background:#fff; }
.header__bar{ display:flex; align-items:center; gap:10px; min-height:80px; max-width:1380px; }
.brand{ display:flex; align-items:center; gap:12px; flex:0 0 auto; }
.brand img{ height:44px; width:auto; }
.nav{ display:flex; align-items:center; gap:0; margin-inline-start:auto; }
.nav a{
  position:relative; padding:8px 9px; border-radius:var(--r-sm);
  font-weight:500; font-size:14.5px; color:var(--text); white-space:nowrap;
  transition:color .2s, background .2s;
}
.nav a:hover{ color:var(--blue-700); background:var(--blue-050); }
.nav a::after{
  content:""; position:absolute; inset-inline:12px; inset-block-end:6px; height:2px;
  background:var(--blue-600); border-radius:2px; transform:scaleX(0); transform-origin:center;
  opacity:0; transition:transform .28s var(--e-out), opacity .2s;
}
.nav a:hover::after, .nav a[aria-current]::after{ transform:scaleX(.7); opacity:1; }
/* V4: align ALL top-level nav links to one baseline & identical height.
   Plain links are direct flex children (auto-blockified, ~41px) while
   .has-mega labels are inline <a> inside a wrapper (~37px, sat 2px lower).
   Normalize both to inline-flex centered so the whole row sits perfectly.
   Child combinators (>) keep the .mega dropdown links untouched. */
.nav > .has-mega{ display:inline-flex; align-items:center; }
.nav > a,
.nav > .has-mega > a{ display:inline-flex; align-items:center; line-height:1.25; }
.header__cta{ display:flex; align-items:center; gap:8px; flex:0 0 auto; }
.iconbtn{
  display:inline-grid; place-items:center; width:46px; height:46px; border-radius:var(--r-pill);
  border:1.5px solid var(--line); background:#fff; color:var(--ink-800); cursor:pointer;
  transition:border-color .2s, background .2s, transform .2s;
}
.iconbtn:hover{ border-color:var(--blue-500); background:var(--blue-050); }
.iconbtn svg{ width:22px; height:22px; }
.nav-toggle{ display:none; }
#mobile-nav{ padding-block-end:18px; }
#mobile-nav[hidden]{ display:none; }
#mobile-nav:not([hidden]){ display:grid; gap:4px; }

/* Tablet / narrow desktop: keep the FULL nav visible as a scrollable second row
   instead of hiding it - so all sections stay reachable at the top. */
@media (max-width:1300px) and (min-width:621px){
  .header__bar{ flex-wrap:wrap; row-gap:0; }
  .nav{ order:5; flex-basis:100%; width:100%; margin-inline-start:0; overflow:visible;
        flex-wrap:wrap; gap:2px 4px; padding-block:6px 4px; margin-block-start:6px;
        border-block-start:1px solid var(--line-soft); }
  .nav > *{ flex:0 0 auto; }
  .nav a{ font-size:14px; padding:9px 10px; }
  .nav .has-mega{ position:relative; }
  .nav .mega{ inset-block-start:calc(100% + 6px); }   /* dropdowns ENABLED on hover/focus */
  .nav-toggle{ display:none; }
  .header__cta .btn--nav-hide{ display:none; }      /* phone text hides; red CTA stays */
}
/* True phones: collapse to the complete hamburger menu */
@media (max-width:620px){
  .nav{ display:none; }
  .nav-toggle{ display:inline-grid; }
  .header__cta .btn--nav-hide{ display:none; }
}

/* ---------- A11y panel ---------- */
.a11y-panel{
  position:fixed; inset-block-start:84px; inset-inline-start:var(--gutter);
  width:min(340px,calc(100vw - 32px)); z-index:1200;
  background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  box-shadow:var(--sh-3); padding:20px;
  opacity:0; visibility:hidden; transform:translateY(-10px) scale(.98);
  transition:opacity .25s var(--e-out), transform .25s var(--e-out), visibility .25s;
}
.a11y-panel.open{ opacity:1; visibility:visible; transform:none; }
.a11y-panel h3{ font-size:18px; display:flex; align-items:center; gap:8px; margin-bottom:4px; }
.a11y-panel .a11y-sub{ font-size:13.5px; color:var(--text-mut); margin-bottom:16px; }
.a11y-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; border-block-start:1px solid var(--line-soft); }
.a11y-row:first-of-type{ border-block-start:0; }
.a11y-row .lbl{ font-weight:600; color:var(--text-strong); font-size:15.5px; }
.a11y-row .desc{ font-size:12.5px; color:var(--text-mut); }

/* toggle switch */
.switch{ position:relative; width:52px; height:30px; flex:0 0 auto; }
.switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.switch .track{
  position:absolute; inset:0; background:#c7d3e0; border-radius:var(--r-pill);
  transition:background .25s var(--e-out);
}
.switch .thumb{
  position:absolute; inset-block-start:3px; inset-inline-end:3px; width:24px; height:24px;
  background:#fff; border-radius:50%; box-shadow:var(--sh-1);
  transition:transform .25s var(--e-out);
}
.switch input:checked ~ .track{ background:var(--blue-600); }
.switch input:checked ~ .thumb{ transform:translateX(-22px); }
.switch input:focus-visible ~ .track{ outline:3px solid var(--blue-500); outline-offset:3px; }

.fontsize-ctrl{ display:flex; align-items:center; gap:8px; }
.fontsize-ctrl button{
  width:34px; height:34px; border-radius:var(--r-sm); border:1.5px solid var(--line);
  background:#fff; font-weight:800; cursor:pointer; color:var(--ink-800); font-size:16px;
}
.fontsize-ctrl button:hover{ border-color:var(--blue-500); background:var(--blue-050); }
.fontsize-ctrl .val{ min-width:42px; text-align:center; font-weight:700; font-size:14px; }

/* ---------- Hero ---------- */
.hero{
  position:relative; overflow:hidden; color:var(--on-dark);
  /* Brighter royal-blue hero (AposHealth-inspired) - still dark enough for
     white/AA-contrast text on the copy side. */
  background:
    radial-gradient(125% 125% at 85% -10%, #2f95ff 0%, transparent 60%),
    radial-gradient(100% 100% at 0% 110%, #0c48ac 0%, transparent 52%),
    linear-gradient(160deg, #0a4fc4 0%, #063795 100%);
}
.hero__grid-bg{
  position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:
    linear-gradient(rgba(220,235,250,.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(220,235,250,.10) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%);
          mask-image:radial-gradient(120% 90% at 70% 0%, #000 30%, transparent 75%);
}
.hero__inner{
  position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,72px);
  align-items:center; padding-block:clamp(28px,4vw,56px) clamp(40px,6vw,72px);
}
.hero h1{
  color:#fff; font-family:var(--serif); font-weight:900;
  font-size:clamp(31px,4.3vw,54px); line-height:1.12; letter-spacing:-.01em;
}
/* the ? renders in the clean sans (Heebo) — Secular One's own ? reads
   detached/heavy next to Hebrew; Heebo's is a tidy, connected glyph. */
.hero h1 .q{ font-family:var(--sans); font-weight:700; font-size:.9em; }
.hero h1 .accent{ color:var(--blue-300); }
.hero .lead{ color:var(--on-dark-mut); max-width:46ch; margin-block-start:22px; font-size:clamp(17px,1.7vw,21px); }
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-block-start:34px; }
.hero__trust{
  display:flex; flex-wrap:wrap; align-items:center; gap:22px 28px; margin-block-start:40px;
  padding-block-start:28px; border-block-start:1px solid rgba(255,255,255,.12);
}
.hero__trust .t-item{ display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--on-dark-mut); }
.hero__trust .t-item b{ color:#fff; }
.badge-chip{
  display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border-radius:var(--r-pill);
  border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.05);
  font-size:13px; font-weight:600; color:var(--on-dark); letter-spacing:.02em;
}
.dot-pulse{ width:9px; height:9px; border-radius:50%; background:#3fd07a; box-shadow:0 0 0 0 rgba(63,208,122,.6); }
:root:not(.reduce-motion) .dot-pulse{ animation:pulse 2.4s var(--e-soft) infinite; }
@keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(63,208,122,.55)} 70%{box-shadow:0 0 0 12px rgba(63,208,122,0)} 100%{box-shadow:0 0 0 0 rgba(63,208,122,0)} }

/* ---- Hero device stage (faked 3D) ---- */
.stage{
  position:relative; aspect-ratio:1/1; width:100%; max-width:520px; margin-inline:auto;
  display:grid; place-items:center;
  transform-style:preserve-3d; will-change:transform; transition:transform .35s var(--e-out);
}
html.reduce-motion .stage{ transform:none !important; }
.stage__ring{
  position:absolute; border-radius:50%; border:1px solid rgba(96,169,255,.18);
}
.stage__ring.r1{ inset:2%; }
.stage__ring.r2{ inset:14%; border-style:dashed; border-color:rgba(96,169,255,.14); }
.stage__ring.r3{ inset:28%; }
:root:not(.reduce-motion) .stage__ring.r1{ animation:spin 60s linear infinite; }
:root:not(.reduce-motion) .stage__ring.r2{ animation:spin 44s linear infinite reverse; }
@keyframes spin{ to{ transform:rotate(360deg); } }

.shoe-core{
  position:relative; width:62%; aspect-ratio:1/1; border-radius:30% 30% 38% 38%/40% 40% 50% 50%;
  background:
    radial-gradient(80% 70% at 50% 30%, #2f3b48 0%, #1e2630 60%, #14181f 100%);
  border:1px solid rgba(96,169,255,.25);
  box-shadow:inset 0 2px 30px rgba(96,169,255,.18), var(--sh-3);
  display:grid; place-items:center;
  transition:transform .6s var(--e-out);
}
.shoe-core .core-label{
  font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--on-dark-mut);
  font-weight:700; text-align:center; line-height:1.5;
}
.shoe-core .core-label span{ display:block; color:#fff; font-size:15px; letter-spacing:.06em; margin-top:4px; }

/* pods detach progressively via --ex (0..1) driven by scroll / hover / demo */
.pod{
  position:absolute; width:64px; height:64px; border-radius:50%; z-index:3;
  background:radial-gradient(60% 60% at 40% 35%, #5b9fd8 0%, #1f6db0 55%, #0a4f8f 100%);
  transform:translate(calc(var(--dx,0px) * var(--ex,0)), calc(var(--dy,0px) * var(--ex,0))) scale(calc(1 + .06 * var(--ex,0)));
  border:2px solid rgba(255,255,255,.5);
  box-shadow:0 10px 24px rgba(8,30,55,.5), inset 0 2px 8px rgba(255,255,255,.4);
  display:grid; place-items:center;
  transition:transform .28s var(--e-out), opacity .5s;
}
.pod::after{ content:""; width:40%; height:40%; border-radius:50%; border:2px solid rgba(255,255,255,.55); }
.pod.p1{ inset-block-start:18%; inset-inline-start:24%; --dx:70px; --dy:-78px; }
.pod.p2{ inset-block-start:20%; inset-inline-end:22%; --dx:-78px; --dy:-64px; }
.pod.p3{ inset-block-end:24%; inset-inline-start:30%; --dx:64px; --dy:86px; }
.pod.p4{ inset-block-end:22%; inset-inline-end:28%; width:52px; height:52px; --dx:-72px; --dy:78px; }
.shoe-core{ transform:scale(calc(1 - .08 * var(--ex,0))); transition:transform .28s var(--e-out); }

html.reduce-motion .pod{ transition:none; }

.stage__hint{
  position:absolute; inset-block-end:-6px; inset-inline:0; text-align:center;
  font-size:12.5px; color:var(--on-dark-mut); letter-spacing:.04em;
}
.demo-toggle{
  position:absolute; inset-block-start:0; inset-inline-start:0; z-index:6;
  display:inline-flex; align-items:center; gap:8px; padding:9px 15px; border-radius:var(--r-pill);
  background:linear-gradient(135deg, rgba(20,42,67,.86), rgba(10,23,38,.78));
  backdrop-filter:blur(10px) saturate(150%); -webkit-backdrop-filter:blur(10px) saturate(150%);
  border:1px solid rgba(255,255,255,.28); color:var(--on-dark);
  font-family:var(--sans); font-weight:600; font-size:13.5px; cursor:pointer;
  box-shadow:0 6px 18px rgba(4,14,26,.4); white-space:nowrap;
  transition:background .2s, border-color .2s, transform .2s;
}
.demo-toggle:hover{ border-color:#fff; transform:translateY(-1px); }

@media (max-width:920px){
  .hero__inner{ grid-template-columns:1fr; text-align:start; }
  .stage{ order:-1; max-width:360px; }
}

/* ---------- Stats band ---------- */
.stats{ background:var(--white); border-block:1px solid var(--line-soft); }
.stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line-soft); }
.stat{ background:#fff; padding:clamp(28px,4vw,52px) clamp(18px,3vw,34px); text-align:center; }
.stat .num{ font-family:var(--serif); font-weight:900; font-size:clamp(44px,5.5vw,68px); color:var(--blue-700); line-height:1; letter-spacing:-.02em; }
.stat .num .suf{ font-size:.5em; color:var(--blue-500); margin-inline-start:2px; }
.stat .label{ margin-block-start:12px; font-size:15.5px; color:var(--text-mut); font-weight:500; line-height:1.5; }
.stat .src{ font-size:11.5px; color:var(--text-mut); opacity:.7; margin-block-start:6px; }
@media (max-width:780px){ .stats__grid{ grid-template-columns:repeat(2,1fr); } }

/* ---------- Stats 3D (premium glass + extruded numbers) ---------- */
.stats3d{ position:relative; overflow:hidden; padding-block:clamp(40px,5vw,72px);
  background:radial-gradient(120% 120% at 85% -10%, #2f95ff 0%, transparent 58%), radial-gradient(100% 100% at 0% 110%, #0c48ac 0%, transparent 52%), linear-gradient(160deg, #0a4fc4 0%, #063795 100%);
  color:var(--on-dark); }
.stats3d__bg{ position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(rgba(220,235,250,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(220,235,250,.10) 1px, transparent 1px);
  background-size:54px 54px; -webkit-mask-image:radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 78%); mask-image:radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 78%); }
.stats3d .wrap{ position:relative; z-index:1; }
.stats3d__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2vw,26px); perspective:1200px; }
.stat3d{ transform-style:preserve-3d; }
.stat3d__inner{
  position:relative; padding:clamp(26px,3vw,40px) clamp(18px,2vw,28px); text-align:center;
  border-radius:var(--r-lg); transform-style:preserve-3d;
  transition:transform .35s var(--e-out), box-shadow .35s var(--e-out);
  will-change:transform;
}
.stat3d__inner::after{ /* glare */
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0;
  background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%), rgba(96,169,255,.30), transparent 45%);
  transition:opacity .3s; z-index:2;
}
.stat3d.tilting .stat3d__inner::after{ opacity:1; }
.stat3d__num{
  position:relative; font-family:var(--serif); font-weight:900; line-height:1; letter-spacing:-.02em;
  font-size:clamp(46px,6vw,82px); color:#fff; transform:translateZ(46px);
  background:linear-gradient(180deg,#ffffff 0%, #a5cfff 60%, #5aa9ff 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:0 1px 0 rgba(255,255,255,.1);
  filter:drop-shadow(0 10px 18px rgba(0,88,200,.45));
}
.stat3d__num .suf{ font-size:.5em; -webkit-text-fill-color:var(--blue-300); }
.stat3d__label{ position:relative; margin-block-start:14px; font-size:clamp(15px,1.5vw,17px); font-weight:600; color:var(--on-dark-mut); transform:translateZ(28px); }
@media (max-width:820px){ .stats3d__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:420px){ .stats3d__grid{ grid-template-columns:1fr; } }
html.reduce-motion .stat3d__inner{ transform:none !important; }

/* ---------- Gait-lab proof stat (glass) ---------- */
.gait-proof{ display:flex; align-items:center; justify-content:center; text-align:center; gap:20px; padding:20px 26px; border-radius:var(--r-lg); }
.gait-proof__num{ font-family:var(--serif); font-weight:900; font-size:clamp(48px,6vw,72px); line-height:1; letter-spacing:-.02em; flex:0 0 auto;
  background:linear-gradient(180deg,#fff,#5aa9ff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 8px 16px rgba(0,88,200,.4)); }
.gait-proof__num .suf{ font-size:.5em; -webkit-text-fill-color:var(--blue-300); }
.gait-proof__txt{ display:flex; flex-direction:column; gap:3px; }
.gait-proof__txt b{ color:#fff; font-size:18px; }
.gait-proof__txt span{ color:var(--on-dark-mut); font-size:14px; line-height:1.45; }

/* graceful fallback if background-clip:text is unsupported */
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .stat3d__num, .gait-proof__num{ background:none !important; -webkit-text-fill-color:#fff !important; color:#fff !important; }
  .stat3d__num .suf, .gait-proof__num .suf{ -webkit-text-fill-color:var(--blue-300) !important; }
}

/* =========================================================================
   LIQUID GLASS - applied site-wide to shared card components (all templates)
   ========================================================================= */
/* dark frosted glass for the research stat card (Research / Condition / home) */
.research__card{
  background:linear-gradient(155deg, rgba(39,72,110,.5), rgba(20,40,66,.38)) !important;
  backdrop-filter:blur(18px) saturate(160%); -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), 0 18px 48px rgba(4,10,18,.4);
}
html.hc .research__card{ background:var(--ink-900) !important; backdrop-filter:none; -webkit-backdrop-filter:none; }

/* light frosted glass for content cards across pages */
.acard, .cond, .article, .stat3d__inner{
  position:relative;
}
.acard, .cond, .article{
  background:linear-gradient(145deg, rgba(255,255,255,.92), rgba(244,248,252,.74)) !important;
  backdrop-filter:blur(10px) saturate(140%); -webkit-backdrop-filter:blur(10px) saturate(140%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), var(--sh-1);
}
.acard:hover, .cond:hover, .article:hover{ box-shadow:inset 0 1px 0 rgba(255,255,255,.9), var(--sh-3); }
html.hc .acard, html.hc .cond, html.hc .article{ background:#fff !important; backdrop-filter:none; -webkit-backdrop-filter:none; }

/* glass panel behind inner-page hero text - consistent premium feel everywhere */
.page-hero__inner{
  display:inline-block; padding:clamp(24px,3vw,38px) clamp(26px,4vw,46px);
  border-radius:var(--r-lg); margin-block:clamp(20px,3vw,36px) 0;
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  backdrop-filter:blur(14px) saturate(150%); -webkit-backdrop-filter:blur(14px) saturate(150%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28), 0 16px 44px rgba(4,14,26,.28);
}
.page-hero{ padding-block:clamp(24px,4vw,44px); }
html.hc .page-hero__inner{ background:rgba(10,23,38,.7); backdrop-filter:none; -webkit-backdrop-filter:none; border-color:rgba(255,255,255,.4); }

/* ---------- Generic reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity var(--d-2) var(--e-out), transform var(--d-2) var(--e-out); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
html.reduce-motion .reveal{ opacity:1 !important; transform:none !important; transition:none !important; }

/* ---------- Section heads ---------- */
.sec-head{ max-width:760px; margin-block-end:clamp(22px,3vw,36px); }
.sec-head h2{ font-size:clamp(30px,4.4vw,52px); margin-block-start:16px; letter-spacing:-.01em; }
.sec-head.center{ margin-inline:auto; text-align:center; }
.sec-head .lead{ margin-block-start:18px; }

/* ---------- Anatomy / how it works ---------- */
.anatomy{ background:var(--paper); }
.anatomy__layout{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,72px); align-items:center; }
.anatomy__visual{
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  background:linear-gradient(150deg,#232b36,#171c24); padding:30px; box-shadow:var(--sh-3);
}
.anatomy__visual img{ width:100%; border-radius:var(--r-md); }
.anatomy__visual .cap{ margin-block-start:16px; color:var(--on-dark-mut); font-size:13.5px; text-align:center; letter-spacing:.02em; }
.anatomy__steps{ display:grid; gap:14px; }
.acard{
  display:grid; grid-template-columns:auto 1fr; gap:18px; align-items:start;
  padding:22px 24px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line-soft);
  transition:border-color .25s, box-shadow .25s, transform .25s;
}
.acard:hover{ border-color:var(--blue-300); box-shadow:var(--sh-2); transform:translateY(-2px); }
.acard .ic{ width:50px; height:50px; border-radius:14px; background:var(--blue-100); color:var(--blue-700); display:grid; place-items:center; }
.acard .ic svg{ width:26px; height:26px; }
.acard h3{ font-size:19px; }
.acard p{ font-size:15.5px; color:var(--text-mut); margin-block-start:6px; }
@media (max-width:900px){ .anatomy__layout{ grid-template-columns:1fr; } }

/* ---------- Process timeline ---------- */
.process{ background:radial-gradient(120% 130% at 15% -10%, #2f95ff 0%, transparent 58%), linear-gradient(160deg,#0a4fc4 0%,#063795 100%); color:var(--on-dark); position:relative; overflow:hidden; }
.process .sec-head h2{ color:#fff; }
.process .sec-head .lead{ color:var(--on-dark-mut); }
.process__track{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.pstep{
  position:relative; padding:30px 26px; border-radius:var(--r-md);
  background:linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  backdrop-filter:blur(12px) saturate(150%); -webkit-backdrop-filter:blur(12px) saturate(150%);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
  transition:background .3s, border-color .3s, transform .3s, box-shadow .3s;
}
.pstep:hover{ background:linear-gradient(135deg, rgba(96,169,255,.16), rgba(255,255,255,.05)); border-color:rgba(96,169,255,.5); transform:translateY(-3px); box-shadow:inset 0 1px 0 rgba(255,255,255,.3), 0 16px 40px rgba(4,14,26,.34); }
.pstep .pnum{ font-family:var(--serif); font-weight:900; font-size:50px; color:var(--blue-300); line-height:1; opacity:.72; }
.pstep h3{ color:#fff; font-size:20px; margin-block-start:12px; }
.pstep p{ color:var(--on-dark-mut); font-size:15px; margin-block-start:10px; }
@media (max-width:980px){ .process__track{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:540px){ .process__track{ grid-template-columns:1fr; } }

/* ---------- Conditions ---------- */
.cond__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.cond{
  position:relative; padding:30px 26px 26px; border-radius:var(--r-md); overflow:hidden;
  background:#fff; border:1px solid var(--line-soft); min-height:230px;
  display:flex; flex-direction:column; transition:box-shadow .3s, transform .3s, border-color .3s;
}
.cond::before{ content:""; position:absolute; inset-block-start:0; inset-inline:0; height:4px; background:linear-gradient(90deg,var(--blue-500),var(--blue-700)); transform:scaleX(0); transform-origin:inline-end; transition:transform .4s var(--e-out); }
.cond:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); border-color:var(--blue-100); }
.cond:hover::before{ transform:scaleX(1); }
.cond .ci{ width:54px; height:54px; border-radius:16px; background:var(--blue-050); color:var(--blue-700); display:grid; place-items:center; margin-block-end:18px; }
.cond .ci svg{ width:30px; height:30px; }
.cond h3{ font-size:21px; }
.cond p{ font-size:14.5px; color:var(--text-mut); margin-block-start:8px; flex:1; }
.cond .more{ margin-block-start:16px; font-weight:700; color:var(--blue-600); font-size:14.5px; display:inline-flex; align-items:center; gap:6px; }
.cond .more .arr{ transition:transform .3s var(--e-out); }
.cond:hover .more .arr{ transform:translateX(-5px); }
@media (max-width:980px){ .cond__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .cond__grid{ grid-template-columns:1fr; } }

/* ---------- Patient stories ---------- */
.stories{ background:var(--paper); }
.stories__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.story{
  position:relative; border-radius:var(--r-md); overflow:hidden; min-height:380px;
  background:var(--ink-800); color:#fff; box-shadow:var(--sh-2);
  display:flex; flex-direction:column; justify-content:flex-end;
  isolation:isolate;
}
.story__photo{ position:absolute; inset:0; z-index:-2; }
.story__photo .ph{ width:100%; height:100%; }
.story::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgba(7,15,26,.92) 12%, rgba(7,15,26,.45) 55%, rgba(7,15,26,.15) 100%); }
.story__body{ padding:26px; }
.story .who{ font-weight:700; font-size:19px; }
.story .meta{ color:var(--blue-300); font-size:13.5px; margin-block-start:2px; }
.story__quote{
  margin-block-start:14px; font-size:15.5px; color:var(--on-dark-mut); line-height:1.6;
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .5s var(--e-out), opacity .4s var(--e-out), margin .4s;
}
.story__quote .qm{ font-family:var(--serif); color:var(--blue-300); font-size:22px; }
.story:hover .story__quote, .story:focus-within .story__quote{ max-height:240px; opacity:1; }
.story .tagline{ margin-block-start:14px; display:inline-flex; align-items:center; gap:8px; font-size:13px; color:#fff; font-weight:600; }
.story .tagline .arr{ transition:transform .3s var(--e-out); }
.story:hover .tagline .arr{ transform:translateX(-5px); }
html.reduce-motion .story__quote{ max-height:none; opacity:1; }
@media (max-width:900px){ .stories__grid{ grid-template-columns:1fr; } }

/* image placeholder pattern */
.ph{
  background-color:#1a2029;
  background-image:repeating-linear-gradient(135deg, rgba(96,169,255,.08) 0 12px, rgba(96,169,255,.02) 12px 24px);
  display:grid; place-items:center;
}
.ph .ph-label{ font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; color:rgba(255,255,255,.5); letter-spacing:.04em; text-align:center; padding:8px 12px; border:1px dashed rgba(255,255,255,.25); border-radius:6px; }

/* ---------- Media strip ---------- */
.media{ background:#fff; border-block:1px solid var(--line-soft); }
.media__row{ display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.media__row .ttl{ font-weight:700; color:var(--text-mut); font-size:14px; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; }
.media__logos{ display:flex; align-items:center; gap:clamp(20px,4vw,52px); flex-wrap:wrap; }
.mlogo{ font-family:var(--serif); font-weight:700; font-size:clamp(20px,2.4vw,30px); color:#9aa9bb; letter-spacing:.01em; transition:color .25s, transform .25s; cursor:default; }
.mlogo:hover{ color:var(--ink-800); transform:translateY(-2px); }

/* ---------- Research ---------- */
.research{ background:var(--paper); }
.research__layout{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(32px,5vw,64px); align-items:center; }
.research__card{
  background:linear-gradient(155deg,var(--ink-850),var(--ink-950)); color:#fff;
  border-radius:var(--r-lg); padding:clamp(32px,4vw,52px); box-shadow:var(--sh-3); position:relative; overflow:hidden;
}
.research__card .big{ font-family:var(--serif); font-weight:900; font-size:clamp(64px,10vw,120px); line-height:.9; color:var(--blue-300); letter-spacing:-.02em; }
.research__card .big .suf{ font-size:.42em; color:var(--blue-300); }
.research__card .cap{ font-size:18px; color:#fff; margin-block-start:14px; max-width:30ch; }
.research__card .ref{ font-size:12.5px; color:var(--on-dark-mut); margin-block-start:22px; padding-block-start:18px; border-block-start:1px solid rgba(255,255,255,.12); }
.research__list{ display:grid; gap:16px; margin-block-start:26px; }
.ritem{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; }
.ritem .ck{ width:30px; height:30px; border-radius:50%; background:var(--blue-100); color:var(--blue-700); display:grid; place-items:center; flex:0 0 auto; }
.ritem .ck svg{ width:18px; height:18px; }
.ritem p{ font-size:16px; color:var(--text); }
.ritem b{ color:var(--text-strong); }
@media (max-width:900px){ .research__layout{ grid-template-columns:1fr; } }

/* ---------- CTA band ---------- */
.cta{
  position:relative; overflow:hidden; color:#fff;
  background:radial-gradient(110% 140% at 80% 0%, #2f95ff 0%, transparent 55%), linear-gradient(160deg,#0a4fc4,#063795);
}
.cta__inner{ display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center; padding-block:clamp(56px,7vw,96px); }
.cta h2{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(30px,4.6vw,54px); }
.cta p{ color:var(--on-dark-mut); margin-block-start:16px; font-size:18px; max-width:48ch; }
.cta__actions{ display:flex; flex-direction:column; gap:14px; }
.cta__actions .note{ font-size:13.5px; color:var(--on-dark-mut); display:flex; align-items:center; gap:8px; }
@media (max-width:820px){ .cta__inner{ grid-template-columns:1fr !important; gap:26px; padding-block:clamp(40px,9vw,64px); } }
/* mobile: trust stats + note + phone line stack cleanly inside the CTA */
@media (max-width:600px){
  .cta__inner .hero__trust{ flex-direction:column; align-items:flex-start; gap:14px; }
  .cta__inner .hero__trust .t-item{ font-size:15px; }
  .cta .gait-proof{ flex-direction:row; text-align:start; }
}

/* ---------- single book-flip research card (one featured study) ---------- */
.study-book{ perspective:1800px; }
.study-book .book{ position:relative; min-height:340px; transform-style:preserve-3d; border-radius:var(--r-md); }
.study-book .book__page{ position:relative; z-index:1; min-height:340px; padding:26px; border-radius:var(--r-md);
  background:linear-gradient(150deg,#fff,#f4f8fc); border:1px solid var(--line-soft); box-shadow:var(--sh-1);
  display:flex; flex-direction:column; }
.study-book .book__page .p-tag{ font-size:12.5px; font-weight:700; color:var(--blue-600); }
.study-book .book__page h3{ font-size:18px; margin-top:8px; color:var(--text-strong); }
.study-book .book__page p{ font-size:14px; color:var(--text-mut); margin-top:9px; line-height:1.6; flex:1; }
.study-book .book__stats{ display:flex; gap:20px; margin-top:12px; padding-top:12px; border-top:1px solid var(--line-soft); }
.study-book .book__stats .s b{ display:block; font-family:var(--serif); font-weight:900; color:var(--blue-700); font-size:24px; line-height:1; }
.study-book .book__stats .s span{ font-size:11.5px; color:var(--text-mut); }
.study-book .book__page .more{ margin-top:14px; font-weight:700; color:var(--blue-600); font-size:14px; align-self:flex-start; }
.study-book .book__cover{ position:absolute; inset:0; z-index:3; border-radius:var(--r-md); overflow:hidden; cursor:pointer;
  transform-origin:left center; transform:rotateY(0deg); backface-visibility:hidden; background:var(--ink-850);
  transition:transform .9s cubic-bezier(.6,.02,.1,1), box-shadow .9s; box-shadow:var(--sh-2); }
.study-book .book__cover img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.6; }
.study-book .book__cover::after{ content:""; position:absolute; inset:0; background:linear-gradient(160deg, rgba(20,32,48,.5), rgba(8,14,22,.92)); }
.study-book .book__cover::before{ content:""; position:absolute; inset-block:0; inset-inline-start:0; width:13px; z-index:2; background:linear-gradient(-90deg, rgba(255,255,255,.22), rgba(255,255,255,0)); }
.study-book .c-in{ position:absolute; inset:0; z-index:3; padding:26px; display:flex; flex-direction:column; justify-content:space-between; color:#fff; }
.study-book .book__tag{ align-self:flex-start; font-size:12px; font-weight:700; color:var(--blue-300); background:rgba(96,169,255,.12); border:1px solid rgba(96,169,255,.3); padding:6px 12px; border-radius:999px; }
.study-book .book__cover h3{ color:#fff; font-size:20px; line-height:1.3; }
.study-book .book__open-hint{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--on-dark-mut); font-weight:600; }
.study-book .book__open-hint svg{ width:17px; height:17px; }
.study-book .book.is-open .book__cover{ transform:rotateY(160deg); box-shadow:0 30px 60px rgba(8,14,22,.4); }
html.reduce-motion .study-book .book__cover{ transition:none; }

/* ---------- Footer ---------- */
.footer{ background:linear-gradient(170deg,var(--ink-900) 0%,var(--ink-950) 100%); color:var(--on-dark-mut); padding-block:clamp(48px,6vw,80px) 32px; }
.footer__top{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:48px; }
/* V4: footer logo enlarged inside a liquid-glass plaque (glassmorphism)
   with a gentle 3D tilt on hover. Reuses the .liquid-glass tokens for
   blur/border/highlight so it matches the rest of the site. */
.footer__brand .flogo-glass{
  display:inline-flex; align-items:center; justify-content:center;
  padding:16px 24px; margin-block-end:20px;
  transform-style:preserve-3d; will-change:transform;
  transition:transform .45s var(--e-out), box-shadow .45s var(--e-out);
}
.footer__brand .flogo-glass img{
  height:62px; width:auto; display:block; margin:0;   /* wide logo (~3:1) - short & broad */
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.28));
}
.footer__brand .flogo-glass:hover{
  transform:perspective(900px) rotateX(5deg) rotateY(-6deg) translateY(-2px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5), inset 0 -8px 24px rgba(255,255,255,.06), 0 24px 56px rgba(4,14,26,.5);
}
html.reduce-motion .footer__brand .flogo-glass{ transition:none; }
html.reduce-motion .footer__brand .flogo-glass:hover{ transform:none; }
@media (max-width:600px){
  .footer__brand .flogo-glass{ padding:13px 20px; }
  .footer__brand .flogo-glass img{ height:52px; }
}
.footer__brand p{ font-size:14.5px; max-width:34ch; }
.footer h4{ color:#fff; font-size:15px; letter-spacing:.04em; margin-block-end:16px; }
.footer__col a{ display:block; padding:6px 0; font-size:14.5px; color:var(--on-dark-mut); transition:color .2s; }
.footer__col a:hover{ color:#fff; }
/* "המרכזים שלנו" - leading location pin + emphasized heading */
.footer__col a.ctr-link{ display:flex; align-items:center; gap:8px; }
.footer__col a.ctr-link .pin-ic{ width:15px; height:15px; flex:0 0 auto; color:var(--blue-300); transition:color .2s, transform .2s; }
.footer__col a.ctr-link:hover .pin-ic{ color:#fff; transform:translateY(-1px); }
.footer__col .ctr-head{ display:inline-block; font-size:1.18rem; padding-block-end:7px; margin-block-end:12px; border-block-end:3px solid var(--blue-500); }
.footer__bottom{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-block-start:48px; padding-block-start:24px; border-block-start:1px solid rgba(255,255,255,.1); font-size:13px; }
.footer__bottom .links{ display:flex; gap:18px; flex-wrap:wrap; }
.footer__bottom a:hover{ color:#fff; }
@media (max-width:840px){ .footer__top{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .footer__top{ grid-template-columns:1fr; } }

/* ---------- Reduced-motion global guard ---------- */
@media (prefers-reduced-motion: reduce){
  html:not(.motion-forced) *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
html.reduce-motion *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; }
html.reduce-motion .reveal{ transition:none !important; }

/* font-size scale hook */
html[data-fs="1"] body{ --fs-base:18px; }
html[data-fs="2"] body{ --fs-base:19.5px; }
html[data-fs="3"] body{ --fs-base:21px; }

/* =========================================================================
   REAL-CONTENT COMPONENTS  (apostherapy.co.il content integration)
   ========================================================================= */

/* ---- header phone + nav dropdowns ---- */
.header__phone{
  display:inline-flex; align-items:center; gap:6px; font-weight:800; font-size:16px;
  color:var(--blue-700); white-space:nowrap; padding-inline:4px;
}
.header__phone svg{ width:18px; height:18px; }
.header__phone .star{ color:var(--red); }

.nav .has-mega{ position:relative; }
/* V4: dropdown caret arrow removed from desktop nav parents (per request).
   The mega menu still opens on hover/focus; the chevron is just hidden. */
.nav .has-mega > a::before{ content:none; display:none; }
.mega{
  position:absolute; inset-block-start:calc(100% + 10px); inset-inline-end:0;
  min-width:250px; background:#fff; border:1px solid var(--line); border-radius:var(--r-md);
  box-shadow:var(--sh-3); padding:10px; display:grid; gap:2px;
  opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s var(--e-out), transform .2s var(--e-out), visibility .2s;
  z-index:50;
}
.nav .has-mega:hover .mega, .nav .has-mega:focus-within .mega{ opacity:1; visibility:visible; transform:none; }
.mega a{ padding:9px 14px; border-radius:var(--r-sm); font-size:15px; font-weight:500; color:var(--text); white-space:nowrap; }
.mega a:hover{ background:var(--blue-050); color:var(--blue-700); }
.mega a::after{ content:none; }

/* ---- pain-type quick nav ---- */
.painnav{ background:var(--white); border-block-end:1px solid var(--line-soft); }
.painnav__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.paincard{
  position:relative; border-radius:var(--r-md); overflow:hidden; min-height:230px;
  display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate;
  box-shadow:var(--sh-1); border:1px solid var(--line-soft);
  transition:transform .3s var(--e-out), box-shadow .3s;
}
.paincard:hover, .paincard:focus-visible{ transform:translateY(-4px); box-shadow:var(--sh-3); }
.paincard img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; filter:saturate(1.02); }
.paincard::after{ content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgba(10,23,38,.86) 8%, rgba(10,23,38,.18) 58%, rgba(10,23,38,.05)); }
.paincard__label{ padding:22px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.paincard__label .t{ font-family:var(--serif); font-weight:700; font-size:23px; color:#fff; }
.paincard__label .arr{ width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.4); color:#fff; display:grid; place-items:center; flex:0 0 auto; transition:background .25s, transform .25s; }
.paincard:hover .paincard__label .arr{ background:var(--blue-600); transform:translateX(-4px); }
@media (max-width:900px){ .painnav__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:460px){ .painnav__grid{ grid-template-columns:1fr 1fr; gap:12px; } .paincard{ min-height:160px; } .paincard__label .t{ font-size:18px; } }

/* ---- health funds strip ---- */
.funds{ background:var(--paper); }
.funds__head{ text-align:center; margin-block-end:30px; }
.funds__head .t{ font-family:var(--serif); font-weight:700; font-size:clamp(22px,3vw,30px); color:var(--text-strong); }
.funds__head .s{ color:var(--text-mut); margin-block-start:8px; font-size:16px; }
.funds__row{ display:flex; align-items:center; justify-content:center; gap:clamp(16px,3vw,40px) clamp(18px,4vw,44px); flex-wrap:wrap; }
.funds__break{ flex-basis:100%; height:0; margin:0; padding:0; }
.funds__row--grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,2.5vw,26px) clamp(18px,3vw,40px); max-width:820px; margin-inline:auto; }
@media (max-width:680px){ .funds__row--grid{ grid-template-columns:repeat(2,minmax(0,1fr)); max-width:420px; } }
.fund{ height:74px; display:grid; place-items:center; padding:14px 18px; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-md); box-shadow:var(--sh-1); transition:transform .25s, box-shadow .25s; }
.fund:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.fund img{ max-height:46px; width:auto; object-fit:contain; }

/* ---- gait lab ---- */
.gaitlab{ background:radial-gradient(120% 130% at 85% -10%, #2f95ff 0%, transparent 58%), linear-gradient(160deg,#0a4fc4 0%,#063795 100%); color:var(--on-dark); position:relative; overflow:hidden; }
.gaitlab__layout{ display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(32px,5vw,68px); align-items:start; }
.gaitlab__layout > .reveal:first-child{ display:flex; flex-direction:column; }
.gaitlab__media{ display:flex; flex-direction:column; margin-block-start:clamp(26px,3.2vw,46px); }
.gaitlab__media .video-thumb{ margin-inline-start:auto; }
.gaitlab__media .channel{ margin-block-start:16px !important; padding:14px 20px; border-radius:var(--r-md); max-width:500px; width:100%; margin-inline-start:auto; box-sizing:border-box; justify-content:center; text-align:center; }
@media (max-width:900px){ .gaitlab__media .channel{ margin-block-start:18px !important; } .gaitlab__media{ margin-block-start:6px; } }
.gaitlab h2{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(30px,4.4vw,52px); }
.gaitlab h2 .accent{ color:var(--blue-300); }
.gaitlab .lead{ color:var(--on-dark-mut); margin-block-start:18px; }
.gaitlab p.body{ color:var(--on-dark-mut); margin-block-start:16px; font-size:16.5px; line-height:1.7; }
.gaitlab .channel{ display:inline-flex; align-items:center; gap:10px; margin-block-start:20px; font-size:14px; color:var(--on-dark-mut); }
.gaitlab .channel b{ color:#fff; }
.gaitlab .channel .src{ color:#dfe8f5; }
/* Channel 13 press logo chip, sitting right after "כתבה בערוץ 13" */
.channel .ch13{ width:34px; height:34px; border-radius:8px; margin-inline-start:9px; flex:0 0 auto; box-shadow:0 3px 10px rgba(0,0,0,.28); outline:1px solid rgba(255,255,255,.14); outline-offset:-1px; vertical-align:middle; }
.video-thumb{ position:relative; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-3); cursor:pointer; aspect-ratio:16/9; background:#171c24; }
.video-thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--e-out); }
.video-thumb:hover img{ transform:scale(1.04); }
.video-thumb .play{ position:absolute; inset:0; display:grid; place-items:center; }
.video-thumb .play span{ width:84px; height:84px; border-radius:50%; background:rgba(0,88,200,.92); display:grid; place-items:center; box-shadow:0 10px 30px rgba(0,0,0,.4); transition:transform .25s, background .25s; }
.video-thumb:hover .play span{ transform:scale(1.08); background:var(--blue-600); }
.video-thumb .play svg{ width:30px; height:30px; color:#fff; margin-inline-start:4px; }
.video-thumb .cap{ position:absolute; inset-block-end:0; inset-inline:0; padding:16px 18px; background:linear-gradient(to top, rgba(7,15,26,.8), transparent); font-size:14px; color:#fff; }
html.reduce-motion .video-thumb:hover img{ transform:none; }
@media (max-width:900px){ .gaitlab__layout{ grid-template-columns:1fr; } }

/* ---- stories carousel ---- */
.carousel{ position:relative; }
.carousel__viewport{
  display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch; scrollbar-width:none; -ms-overflow-style:none;
  padding-block:6px;
}
.carousel__viewport::-webkit-scrollbar{ display:none; }
.carousel__viewport > *{ scroll-snap-align:start; flex:0 0 calc((100% - 44px)/3); }
.carousel .reveal{ opacity:1 !important; transform:none !important; }
.carousel__arrow{
  position:absolute; inset-block-start:50%; transform:translateY(-50%);
  width:52px; height:52px; border-radius:50%; background:#fff; border:1px solid var(--line);
  box-shadow:var(--sh-2); display:grid; place-items:center; cursor:pointer; z-index:5;
  color:var(--ink-800); transition:background .2s, border-color .2s, transform .2s;
}
.carousel__arrow:hover{ background:var(--blue-050); border-color:var(--blue-500); }
.carousel__arrow:active{ transform:translateY(-50%) scale(.94); }
.carousel__arrow svg{ width:22px; height:22px; }
.carousel__arrow.prev{ inset-inline-end:-14px; }
.carousel__arrow.next{ inset-inline-start:-14px; }
@media (max-width:900px){ .carousel__viewport > *{ flex-basis:calc((100% - 22px)/2); } }
@media (max-width:1120px){ .carousel__arrow.prev{ inset-inline-end:2px; } .carousel__arrow.next{ inset-inline-start:2px; } .carousel__arrow{ background:rgba(255,255,255,.92); } }
@media (max-width:620px){ .carousel__viewport > *{ flex-basis:86%; } .carousel__arrow{ width:44px; height:44px; } }

/* ---- patient story (real) monogram ---- */
.story--text{ justify-content:flex-start; padding-block-start:18px; }
.story--text::after{ background:linear-gradient(165deg, rgba(96,169,255,.12), rgba(7,15,26,.2) 70%); }
.story--text .story__body{ padding-block-start:64px; }
.story--text .story__quote{ max-height:none; opacity:1; margin-block-start:14px; font-size:16px; color:var(--on-dark); }
.story__mono{ position:absolute; inset-block-start:22px; inset-inline-end:22px; width:60px; height:60px; border-radius:50%; display:grid; place-items:center; font-family:var(--serif); font-weight:900; font-size:26px; color:#fff; background:linear-gradient(150deg,var(--blue-500),var(--blue-700)); box-shadow:var(--sh-2); z-index:2; }
/* Real patient photo - big and proud (falls back to the monogram above) */
.story__pic{
  position:absolute; inset-block-start:16px; inset-inline-end:16px; z-index:2;
  width:96px; height:96px; border-radius:50%; overflow:hidden; background:#0d2242;
  border:3px solid rgba(255,255,255,.9);
  box-shadow:0 10px 26px rgba(0,0,0,.38), 0 0 0 4px rgba(30,135,240,.42);
}
.story__pic img{ width:100%; height:100%; object-fit:cover; display:block; }
.story--text.has-pic .story__body{ padding-block-start:102px; }
@media (max-width:620px){ .story__pic{ width:84px; height:84px; } .story--text.has-pic .story__body{ padding-block-start:90px; } }
.story__cond{ display:inline-block; margin-block-end:6px; font-size:12.5px; font-weight:700; letter-spacing:.04em; color:var(--blue-300); }

/* ---- feature band (real shoe image) ---- */
.feature-band{ position:relative; min-height:clamp(320px,42vw,480px); display:grid; align-items:center; overflow:hidden; background:#0a1726; }
.feature-band img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:62% center; z-index:0; }
.feature-band::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(270deg, rgba(7,15,26,.9) 8%, rgba(7,15,26,.35) 34%, rgba(7,15,26,0) 58%); }
.feature-band .wrap{ position:relative; z-index:2; }
.feature-band .fb-copy{ max-width:40ch; color:#fff; margin-inline-end:auto; transform:translateX(110px); }
@media (max-width:980px){ .feature-band .fb-copy{ transform:translateX(40px); } }
@media (max-width:680px){ .feature-band .fb-copy{ transform:none; } }
.feature-band h2{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(30px,5vw,60px); line-height:1.05; }
.feature-band p{ color:var(--on-dark-mut); margin-block-start:16px; font-size:18px; }
.feature-band .hero__cta{ margin-block-start:26px; }

/* ---- articles ---- */
.articles__grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.article{ display:grid; grid-template-columns:200px 1fr; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--sh-1); transition:transform .3s, box-shadow .3s; }
.article:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.article__thumb{ background:var(--ink-800); }
.article__thumb img{ width:100%; height:100%; object-fit:cover; min-height:170px; }
.article__body{ padding:22px 24px; display:flex; flex-direction:column; }
.article__body h3{ font-size:19px; }
.article__body p{ font-size:14.5px; color:var(--text-mut); margin-block-start:8px; flex:1; }
.article__body .more{ margin-block-start:14px; color:var(--blue-600); font-weight:700; font-size:14.5px; }
@media (max-width:980px){ .articles__grid{ grid-template-columns:1fr; } }
@media (max-width:520px){ .article{ grid-template-columns:1fr; } .article__thumb img{ min-height:200px; } }

/* ---- contact form ---- */
.contactform{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(26px,3.5vw,40px); box-shadow:var(--sh-2); }
.contactform .fhead{ margin-block-end:20px; }
.contactform .fhead .l1{ font-family:var(--serif); font-weight:700; font-size:24px; color:var(--text-strong); }
.contactform .fhead .l2{ color:var(--text-mut); margin-block-start:6px; }
.contactform .fhead .l2 a{ color:var(--blue-700); font-weight:800; }
.fgrid{ display:grid; gap:14px; }
.field label{ display:block; font-size:14px; font-weight:600; color:var(--text-strong); margin-block-end:6px; }
.field input, .field select, .field textarea{
  width:100%; font-family:var(--sans); font-size:16px; color:var(--text-strong);
  padding:13px 15px; border:1.5px solid var(--line); border-radius:var(--r-sm); background:#fff;
  transition:border-color .2s, box-shadow .2s;
}
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--blue-500); box-shadow:0 0 0 3px var(--blue-100); }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.consent{ display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--text-mut); }
.consent input{ width:18px; height:18px; margin-top:3px; flex:0 0 auto; }
@media (max-width:520px){ .field-row{ grid-template-columns:1fr; } }

/* ---- centers (footer) ---- */
.centers{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-block-start:8px; }
.center-item{ display:flex; gap:12px; align-items:flex-start; }
.center-item .pin{ width:34px; height:34px; border-radius:50%; background:rgba(96,169,255,.15); color:var(--blue-300); display:grid; place-items:center; flex:0 0 auto; }
.center-item .pin svg{ width:18px; height:18px; }
.center-item .ctxt b{ color:#fff; display:block; font-size:15px; margin-block-end:3px; }
.center-item .ctxt span{ font-size:13.5px; color:var(--on-dark-mut); }
@media (max-width:860px){ .centers{ grid-template-columns:1fr 1fr; } }
@media (max-width:460px){ .centers{ grid-template-columns:1fr; } }

/* =========================================================================
   CONDITION (תחום פעילות) PAGE COMPONENTS
   ========================================================================= */

/* breadcrumb */
.breadcrumb{ background:var(--paper-2); border-block-end:1px solid var(--line-soft); }
.breadcrumb .wrap{ display:flex; align-items:center; gap:9px; padding-block:13px; font-size:13.5px; color:var(--text-mut); flex-wrap:nowrap; white-space:nowrap; overflow-x:auto; }
.breadcrumb a, .breadcrumb span{ flex:0 0 auto; }
.breadcrumb a{ color:var(--text-mut); } .breadcrumb a:hover{ color:var(--blue-700); }
.breadcrumb .sep{ opacity:.45; }
.breadcrumb [aria-current]{ color:var(--text-strong); font-weight:700; }

/* condition hero */
.chero{ position:relative; overflow:hidden; color:var(--on-dark); background:linear-gradient(160deg,var(--ink-900),var(--ink-950)); }
.chero__bgimg{ position:absolute; inset-block:0; inset-inline-end:0; width:55%; z-index:0; }
.chero__bgimg img{ width:100%; height:100%; object-fit:cover; opacity:.42; filter:grayscale(.1); }
.chero__bgimg::after{ content:""; position:absolute; inset:0; background:linear-gradient(to left, var(--ink-900) 10%, rgba(10,23,38,.35) 55%, transparent); }
.chero__inner{ position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,5vw,64px); align-items:center; padding-block:clamp(48px,7vw,92px); }
.chero h1{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(34px,5vw,62px); line-height:1.05; }
.chero h1 .accent{ color:var(--blue-300); }
.chero .lead{ color:var(--on-dark-mut); margin-block-start:18px; }
.feat-bullets{ display:grid; gap:13px; margin-block-start:26px; }
.feat-bullets li{ display:flex; gap:13px; align-items:flex-start; font-size:16.5px; color:var(--on-dark); }
.feat-bullets .ck{ width:27px; height:27px; border-radius:50%; background:rgba(96,169,255,.18); color:var(--blue-300); display:grid; place-items:center; flex:0 0 auto; margin-block-start:2px; }
.feat-bullets .ck svg{ width:16px; height:16px; }
.chero .hero__cta{ margin-block-start:30px; }
@media (max-width:900px){ .chero__inner{ grid-template-columns:1fr; } .chero__bgimg{ width:100%; opacity:.5; } .chero__bgimg::after{ background:linear-gradient(to top, var(--ink-900) 30%, rgba(10,23,38,.55)); } }

/* fast-track banner */
.fasttrack{ background:linear-gradient(110deg, var(--blue-700), var(--blue-600)); color:#fff; }
.fasttrack .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; padding-block:24px; flex-wrap:wrap; }
.fasttrack .ft-txt{ font-family:var(--serif); font-weight:700; font-size:clamp(18px,2.3vw,25px); display:flex; align-items:center; gap:14px; }
.fasttrack .ft-txt .bolt{ width:42px; height:42px; border-radius:50%; background:rgba(255,255,255,.16); display:grid; place-items:center; flex:0 0 auto; }
.fasttrack .ft-txt .bolt svg{ width:22px; height:22px; }

/* medical info center */
.medinfo{ background:var(--paper); }
.featured-article{ display:grid; grid-template-columns:380px 1fr; gap:0; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2); margin-block-end:40px; }
.featured-article__img{ background:var(--ink-800); }
.featured-article__img img{ width:100%; height:100%; object-fit:cover; min-height:240px; }
.featured-article__body{ padding:clamp(26px,3.5vw,44px); display:flex; flex-direction:column; justify-content:center; }
.featured-article__body .tag{ font-size:12.5px; font-weight:700; letter-spacing:.06em; color:var(--blue-600); text-transform:uppercase; }
.featured-article__body h3{ font-family:var(--serif); font-size:clamp(24px,3vw,34px); margin-block-start:10px; }
.featured-article__body p{ color:var(--text-mut); margin-block-start:14px; font-size:16px; }
@media (max-width:760px){ .featured-article{ grid-template-columns:1fr; } }

.linkgrid-head{ font-weight:700; font-size:17px; color:var(--text-strong); margin-block-end:6px; display:flex; align-items:center; gap:10px; }
.linkgrid-head::before{ content:""; width:22px; height:2px; background:var(--blue-600); }
.linkgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:0 32px; margin-block-start:14px; }
.linkgrid a{ display:flex; gap:9px; align-items:baseline; padding:10px 0; border-block-end:1px solid var(--line-soft); font-size:14.5px; color:var(--text); transition:color .2s; }
.linkgrid a::before{ content:"‹"; color:var(--blue-500); font-weight:800; }
.linkgrid a:hover{ color:var(--blue-700); }
@media (max-width:820px){ .linkgrid{ grid-template-columns:repeat(2,1fr); gap:0 24px; } }
@media (max-width:520px){ .linkgrid{ grid-template-columns:1fr; } }

/* =========================================================================
   ARTICLE (single medical article) TEMPLATE
   ========================================================================= */
.article-layout{ display:grid; grid-template-columns:300px 1fr; gap:clamp(28px,4vw,56px); align-items:start; }
@media (max-width:920px){ .article-layout{ grid-template-columns:1fr; } }

/* sidebar nav */
.asidenav{ position:sticky; inset-block-start:92px; align-self:start; }
.asidenav__card{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-md); box-shadow:var(--sh-1); overflow:hidden; }
.asidenav__head{ padding:16px 20px; background:var(--ink-900); color:#fff; font-weight:700; font-size:15.5px; display:flex; align-items:center; gap:10px; }
.asidenav__head svg{ width:18px; height:18px; color:var(--blue-300); }
.asidenav__list{ max-height:min(60vh,520px); overflow:auto; }
.asidenav__list a{ display:block; padding:11px 20px; font-size:14.5px; color:var(--text); border-block-start:1px solid var(--line-soft); transition:background .18s, color .18s, padding .18s; }
.asidenav__list a:first-child{ border-block-start:0; }
.asidenav__list a:hover{ background:var(--blue-050); color:var(--blue-700); padding-inline-start:24px; }
.asidenav__list a[aria-current]{ background:var(--blue-050); color:var(--blue-800); font-weight:700; border-inline-end:3px solid var(--blue-600); }
.asidenav__cta{ padding:18px 20px; border-block-start:1px solid var(--line-soft); }
.asidenav__cta .mini{ font-size:13.5px; color:var(--text-mut); margin-block-end:10px; }
@media (max-width:920px){ .asidenav{ position:static; } .asidenav__list{ max-height:none; } .asidenav details{ } .asidenav__card.collapsible .asidenav__list{ display:none; } .asidenav__card.collapsible.open .asidenav__list{ display:block; } }

/* article body */
.prose{ max-width:74ch; }
.prose .kicker{ color:var(--blue-600); font-weight:700; font-size:13px; letter-spacing:.12em; text-transform:uppercase; }
.prose h1{ font-family:var(--serif); font-weight:900; font-size:clamp(30px,4.4vw,50px); line-height:1.08; margin-block:14px 0; }
.prose .updated{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-block-start:16px; padding-block-end:22px; border-block-end:1px solid var(--line-soft); color:var(--text-mut); font-size:13.5px; }
.prose .updated .pill{ display:inline-flex; align-items:center; gap:7px; background:var(--paper-2); padding:5px 12px; border-radius:var(--r-pill); }
.prose .updated .pill svg{ width:14px; height:14px; color:var(--blue-600); }
.prose .figure{ margin-block:26px; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--line-soft); box-shadow:var(--sh-1); }
.prose .figure img{ width:100%; }
.prose .figure figcaption{ padding:11px 16px; font-size:13px; color:var(--text-mut); background:var(--paper); }
.prose h2{ font-family:var(--serif); font-weight:700; font-size:clamp(23px,3vw,32px); margin-block:34px 0; scroll-margin-top:92px; }
.prose h3{ font-size:20px; margin-block:24px 0; color:var(--text-strong); }
.prose p{ margin-block-start:15px; font-size:17px; line-height:1.78; color:var(--text); }
.prose ul.ticks{ margin-block-start:16px; display:grid; gap:11px; }
.prose ul.ticks li{ display:flex; gap:12px; align-items:flex-start; font-size:16.5px; color:var(--text); }
.prose ul.ticks .ck{ width:24px; height:24px; border-radius:50%; background:var(--blue-100); color:var(--blue-700); display:grid; place-items:center; flex:0 0 auto; margin-block-start:2px; }
.prose ul.ticks .ck svg{ width:14px; height:14px; }
.prose .callout{ margin-block:28px; padding:22px 24px; border-radius:var(--r-md); background:var(--blue-050); border:1px solid var(--blue-100); border-inline-start:4px solid var(--blue-600); }
.prose .callout .ct{ font-weight:800; color:var(--blue-800); margin-block-end:6px; }
.prose .callout p{ margin:0; font-size:16px; color:var(--ink-800); }

/* table of contents */
.toc{ margin-block:24px; padding:20px 22px; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--r-md); }
.toc .toc-h{ font-weight:800; font-size:14.5px; color:var(--text-strong); margin-block-end:10px; }
.toc ol{ list-style:none; counter-reset:t; display:grid; gap:7px; }
.toc li{ counter-increment:t; }
.toc a{ display:flex; gap:10px; font-size:15px; color:var(--text); }
.toc a::before{ content:counter(t,decimal-leading-zero); color:var(--blue-500); font-weight:800; font-family:var(--serif); }
.toc a:hover{ color:var(--blue-700); }

/* FAQ accordion */
.faq{ margin-block-start:18px; display:grid; gap:12px; }
.faq__item{ border:1px solid var(--line-soft); border-radius:var(--r-md); background:#fff; overflow:hidden; transition:box-shadow .25s, border-color .25s; }
.faq__item[open]{ box-shadow:var(--sh-2); border-color:var(--blue-100); }
.faq__q{ list-style:none; cursor:pointer; padding:18px 22px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-weight:700; font-size:17px; color:var(--text-strong); }
.faq__q::-webkit-details-marker{ display:none; }
.faq__q .chev{ width:30px; height:30px; border-radius:50%; background:var(--blue-050); color:var(--blue-700); display:grid; place-items:center; flex:0 0 auto; transition:transform .3s var(--e-out), background .2s; }
.faq__q .chev svg{ width:18px; height:18px; }
.faq__item[open] .faq__q .chev{ transform:rotate(180deg); background:var(--blue-600); color:#fff; }
.faq__a{ padding:0 22px 20px; }
.faq__a p{ margin:0; font-size:16px; color:var(--text-mut); line-height:1.72; }
.faq__item[open] .faq__a{ animation:faqIn .3s var(--e-out); }
@keyframes faqIn{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
html.reduce-motion .faq__item[open] .faq__a{ animation:none; }

/* article cta box */
.article-cta{ margin-block-start:38px; border-radius:var(--r-lg); overflow:hidden; background:linear-gradient(155deg,var(--ink-850),var(--ink-950)); color:#fff; padding:clamp(26px,3.5vw,40px); }
.article-cta h3{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(22px,2.6vw,30px); }
.article-cta p{ color:var(--on-dark-mut); margin-block-start:10px; }
.article-cta .hero__cta{ margin-block-start:20px; }

/* share row */
.share{ display:flex; align-items:center; gap:12px; margin-block-start:30px; padding-block-start:22px; border-block-start:1px solid var(--line-soft); }
.share .lbl{ font-size:14px; color:var(--text-mut); font-weight:600; }
.share a{ width:40px; height:40px; border-radius:50%; border:1.5px solid var(--line); display:grid; place-items:center; color:var(--ink-800); transition:border-color .2s, background .2s, color .2s; }
.share a:hover{ border-color:var(--blue-500); background:var(--blue-050); color:var(--blue-700); }
.share a svg{ width:18px; height:18px; }

/* =========================================================================
   CONTACT + BRANCH LOCATOR TEMPLATE
   ========================================================================= */
/* page hero (compact) */
.page-hero{ position:relative; overflow:hidden; color:var(--on-dark); background:linear-gradient(160deg,var(--ink-900),var(--ink-950)); }
.page-hero .wrap{ max-width:1340px; }
.page-hero .hero__grid-bg{ opacity:.4; }
.page-hero__inner{ position:relative; z-index:1; padding-block:clamp(44px,6vw,80px); max-width:60ch; }
.page-hero h1{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(32px,5vw,58px); line-height:1.06; }
.page-hero .lead{ color:var(--on-dark-mut); margin-block-start:16px; }
.page-hero .quickline{ display:flex; gap:22px; flex-wrap:wrap; margin-block-start:26px; }
.page-hero .quickline a{ display:inline-flex; align-items:center; gap:9px; color:#fff; font-weight:700; }
.page-hero .quickline svg{ width:18px; height:18px; color:var(--blue-300); }

/* branch locator */
.locator{ background:var(--paper); }
.locator__filters{ display:flex; gap:10px; flex-wrap:wrap; margin-block-end:26px; }
.chip{ padding:10px 20px; border-radius:var(--r-pill); border:1.5px solid var(--line); background:#fff; font-family:var(--sans); font-weight:600; font-size:15px; color:var(--text); cursor:pointer; transition:all .2s var(--e-out); }
.chip:hover{ border-color:var(--blue-400,#4a92d6); color:var(--blue-700); }
.chip.active{ background:var(--blue-600); border-color:var(--blue-600); color:#fff; box-shadow:var(--sh-blue); }
.branches{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.branch{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--sh-1); transition:box-shadow .25s, transform .25s, border-color .25s; display:grid; grid-template-columns:160px 1fr; }
.branch:hover{ box-shadow:var(--sh-2); transform:translateY(-2px); border-color:var(--blue-100); }
.branch__map{ position:relative; background:#dde6f0; }
.branch__map .ph{ width:100%; height:100%; min-height:160px; }
.branch__map iframe{ display:block; width:100%; height:100%; min-height:200px; border:0; filter:saturate(.92); }
.branch__map .pin{ position:absolute; inset-block-start:50%; inset-inline-start:50%; transform:translate(-50%,-60%); width:34px; height:34px; color:var(--red); }
.branch__body{ padding:20px 22px; }
.branch__body h3{ font-size:21px; display:flex; align-items:center; gap:8px; }
.branch__body .addr{ color:var(--text-mut); font-size:14.5px; margin-block-start:8px; display:grid; gap:5px; }
.branch__body .addr div{ display:flex; gap:8px; align-items:flex-start; }
.branch__body .addr svg{ width:15px; height:15px; color:var(--blue-600); flex:0 0 auto; margin-block-start:3px; }
.branch__actions{ display:flex; gap:10px; margin-block-start:16px; flex-wrap:wrap; }
.branch__actions a{ font-size:14px; font-weight:700; }
.btn--sm{ padding:9px 16px; font-size:14px; }
@media (max-width:1080px){ .branches{ grid-template-columns:1fr; } }
@media (max-width:520px){ .branch{ grid-template-columns:1fr; } }

/* form selector tabs */
.formtabs{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-block-end:30px; }
.formtab{ display:flex; align-items:center; gap:11px; padding:14px 20px; border-radius:var(--r-md); border:1.5px solid var(--line); background:#fff; cursor:pointer; transition:all .2s var(--e-out); text-align:start; font-family:var(--sans); }
.formtab:hover{ border-color:var(--blue-300); background:var(--blue-050); }
.formtab.active{ border-color:var(--blue-600); background:var(--blue-600); color:#fff; box-shadow:var(--sh-blue); }
.formtab .ic{ width:40px; height:40px; border-radius:10px; background:var(--blue-050); color:var(--blue-700); display:grid; place-items:center; flex:0 0 auto; transition:background .2s, color .2s; }
.formtab.active .ic{ background:rgba(255,255,255,.2); color:#fff; }
.formtab .ic svg{ width:22px; height:22px; }
.formtab .tt{ font-weight:700; font-size:15.5px; line-height:1.2; }
.formtab .ts{ font-size:12.5px; color:var(--text-mut); margin-block-start:3px; }
.formtab.active .ts{ color:rgba(255,255,255,.85); }

/* form panel */
.formpanel{ display:none; }
.formpanel.active{ display:block; animation:fpIn .35s var(--e-out); }
@keyframes fpIn{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:none;} }
html.reduce-motion .formpanel.active{ animation:none; }
.formwrap{ display:grid; grid-template-columns:1fr .85fr; gap:0; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-2); }
.formwrap__aside{ background:linear-gradient(155deg,var(--ink-850),var(--ink-950)); color:#fff; padding:clamp(26px,3vw,40px); }
.formwrap__aside h3{ color:#fff; font-family:var(--serif); font-weight:800; font-size:clamp(22px,2.6vw,30px); }
.formwrap__aside p{ color:var(--on-dark-mut); margin-block-start:12px; font-size:15.5px; }
.formwrap__aside .alist{ display:grid; gap:13px; margin-block-start:22px; }
.formwrap__aside .alist li{ display:flex; gap:11px; align-items:flex-start; font-size:15px; }
.formwrap__aside .alist .ck{ width:24px; height:24px; border-radius:50%; background:rgba(96,169,255,.2); color:var(--blue-300); display:grid; place-items:center; flex:0 0 auto; margin-block-start:1px; }
.formwrap__aside .alist .ck svg{ width:14px; height:14px; }
.formwrap__main{ padding:clamp(26px,3vw,40px); }
@media (max-width:840px){ .formwrap{ grid-template-columns:1fr; } .formwrap__aside{ order:2; } }

/* multi-step */
.msteps{ display:flex; align-items:center; gap:8px; margin-block-end:26px; }
.mstep-dot{ display:flex; align-items:center; gap:8px; flex:1; }
.mstep-dot .n{ width:32px; height:32px; border-radius:50%; background:var(--paper-2); color:var(--text-mut); display:grid; place-items:center; font-weight:800; font-size:14px; flex:0 0 auto; transition:all .3s var(--e-out); border:2px solid transparent; }
.mstep-dot .nm{ font-size:13px; font-weight:600; color:var(--text-mut); white-space:nowrap; }
.mstep-dot .bar{ height:2px; flex:1; background:var(--line); border-radius:2px; transition:background .3s; }
.mstep-dot:last-child .bar{ display:none; }
.mstep-dot.active .n{ background:var(--blue-600); color:#fff; }
.mstep-dot.active .nm{ color:var(--blue-700); }
.mstep-dot.done .n{ background:var(--blue-100); color:var(--blue-700); border-color:var(--blue-600); }
.mstep-dot.done .bar{ background:var(--blue-600); }
@media (max-width:560px){ .mstep-dot .nm{ display:none; } }

.step-panel{ display:none; }
.step-panel.active{ display:block; animation:fpIn .3s var(--e-out); }
html.reduce-motion .step-panel.active{ animation:none; }
.step-panel h4{ font-size:19px; margin-block-end:4px; }
.step-panel .sub{ color:var(--text-mut); font-size:14.5px; margin-block-end:18px; }

/* option pills (choices in steps) */
.optgrid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.optcard{ position:relative; display:flex; align-items:center; gap:12px; padding:16px; border:1.5px solid var(--line); border-radius:var(--r-md); cursor:pointer; transition:all .2s var(--e-out); }
.optcard:hover{ border-color:var(--blue-300); background:var(--blue-050); }
.optcard input{ position:absolute; opacity:0; }
.optcard .oc-ic{ width:42px; height:42px; border-radius:10px; background:var(--blue-050); color:var(--blue-700); display:grid; place-items:center; flex:0 0 auto; }
.optcard .oc-ic svg{ width:24px; height:24px; }
.optcard .oc-t{ font-weight:700; font-size:15.5px; }
.optcard .oc-s{ font-size:12.5px; color:var(--text-mut); }
.optcard:has(input:checked){ border-color:var(--blue-600); background:var(--blue-050); box-shadow:0 0 0 3px var(--blue-100); }
.optcard:has(input:checked) .oc-ic{ background:var(--blue-600); color:#fff; }
.optcard:has(input:focus-visible){ outline:3px solid var(--blue-500); outline-offset:2px; }
@media (max-width:480px){ .optgrid{ grid-template-columns:1fr; } }

.step-actions{ display:flex; justify-content:space-between; gap:12px; margin-block-start:24px; }
.step-actions .btn--back{ background:transparent; color:var(--text-mut); border-color:var(--line); }
.step-actions .btn--back:hover{ background:var(--paper); box-shadow:none; color:var(--text-strong); }
.field.invalid input, .field.invalid select{ border-color:#d9483b; box-shadow:0 0 0 3px rgba(217,72,59,.12); }
.field .err{ color:#d9483b; font-size:12.5px; margin-block-start:5px; display:none; }
.field.invalid .err{ display:block; }

/* success */
.form-success{ display:none; text-align:center; padding:30px 10px; }
.form-success.show{ display:block; animation:fpIn .4s var(--e-out); }
.form-success .ok{ width:74px; height:74px; border-radius:50%; background:var(--blue-100); color:var(--blue-700); display:grid; place-items:center; margin:0 auto 18px; }
.form-success .ok svg{ width:40px; height:40px; }
.form-success h4{ font-family:var(--serif); font-size:26px; }
.form-success p{ color:var(--text-mut); margin-block-start:10px; }

/* =========================================================================
   QUIZ MODAL (בדוק התאמתך לטיפול) + RED CTA + STD FOOTER + MORE ARTICLES
   ========================================================================= */
/* red quiz CTA button (matches original site) */
.btn--quiz{ --bg:var(--red); --fg:#fff; gap:7px; }
.btn--quiz.btn--nav-hide{ padding:11px 16px; font-size:15px; }
.btn--quiz:hover{ box-shadow:0 14px 34px rgba(230,51,41,.32); }

/* ---- Pulse effect on primary conversion CTAs (always-on, prominent) ---- */
@keyframes apos-pulse{
  0%{ box-shadow:0 0 0 0 rgba(216,70,59,.6); }
  70%{ box-shadow:0 0 0 22px rgba(216,70,59,0); }
  100%{ box-shadow:0 0 0 0 rgba(216,70,59,0); }
}
@keyframes apos-pulse-blue{
  0%{ box-shadow:0 0 0 0 rgba(255,255,255,.45); }
  70%{ box-shadow:0 0 0 18px rgba(255,255,255,0); }
  100%{ box-shadow:0 0 0 0 rgba(255,255,255,0); }
}
:root:not(.reduce-motion) .btn--quiz{ animation:apos-pulse 2s var(--e-soft) infinite; }
:root:not(.reduce-motion) .btn--pulse{ animation:apos-pulse-blue 2s var(--e-soft) infinite; }
.btn--quiz svg{ width:19px; height:19px; }

/* modal overlay */
.quiz-modal{ position:fixed; inset:0; z-index:2000; display:none; }
.quiz-modal.open{ display:block; }
.quiz-modal__backdrop{ position:absolute; inset:0; background:rgba(6,14,26,.62); backdrop-filter:blur(3px); -webkit-backdrop-filter:blur(3px); opacity:0; transition:opacity .3s var(--e-out); }
.quiz-modal.open .quiz-modal__backdrop{ opacity:1; }
.quiz-modal__dialog{
  position:absolute; inset-block:0; inset-inline-end:0; width:min(680px,100%);
  background:var(--paper); box-shadow:-20px 0 60px rgba(6,14,26,.4);
  display:flex; flex-direction:column; transform:translateX(-100%); transition:transform .38s var(--e-out);
}
[dir="rtl"] .quiz-modal__dialog{ transform:translateX(100%); }
.quiz-modal.open .quiz-modal__dialog{ transform:none; }
html.reduce-motion .quiz-modal__backdrop,
html.reduce-motion .quiz-modal__dialog{ transition:none; }
.quiz-modal__head{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px clamp(22px,4vw,40px) 18px; background:var(--ink-900); color:#fff; }
.quiz-modal__head h2{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(24px,3.2vw,32px); }
.quiz-modal__head .q-intro{ color:var(--on-dark-mut); font-size:14.5px; margin-block-start:8px; line-height:1.6; }
.quiz-modal__head .q-intro b{ color:#fff; }
.quiz-modal__close{ width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.06); color:#fff; cursor:pointer; flex:0 0 auto; display:grid; place-items:center; transition:background .2s; }
.quiz-modal__close:hover{ background:rgba(255,255,255,.16); }
.quiz-modal__close svg{ width:20px; height:20px; }
.quiz-modal__body{ overflow:auto; padding:clamp(22px,4vw,38px); flex:1; }
.quiz-note-star{ font-size:13px; color:var(--text-mut); line-height:1.6; margin-block-start:14px; padding:14px 16px; background:var(--blue-050); border-radius:var(--r-sm); border:1px solid var(--blue-100); }
.quiz-note-star a{ color:var(--blue-700); font-weight:700; text-decoration:underline; }

/* quiz form */
.quizform{ display:grid; gap:24px; margin-block-start:8px; }
.qfield > .qlabel{ font-weight:700; font-size:17px; color:var(--text-strong); margin-block-end:12px; display:block; }
.qchecks{ display:grid; gap:10px; }
.qcheck{ display:flex; align-items:center; gap:12px; padding:13px 16px; border:1.5px solid var(--line); border-radius:var(--r-sm); background:#fff; cursor:pointer; transition:all .18s var(--e-out); font-size:16px; }
.qcheck:hover{ border-color:var(--blue-300); background:var(--blue-050); }
.qcheck input{ width:20px; height:20px; accent-color:var(--blue-600); flex:0 0 auto; }
.qcheck:has(input:checked){ border-color:var(--blue-600); background:var(--blue-050); font-weight:600; }
.quizform select, .quizform input[type=text], .quizform input[type=tel], .quizform input[type=email], .quizform input[type=number]{
  width:100%; font-family:var(--sans); font-size:16px; color:var(--text-strong);
  padding:13px 15px; border:1.5px solid var(--line); border-radius:var(--r-sm); background:#fff;
  transition:border-color .2s, box-shadow .2s;
}
.quizform select:focus, .quizform input:focus{ outline:none; border-color:var(--blue-500); box-shadow:0 0 0 3px var(--blue-100); }
.quizform .qfield.invalid select, .quizform .qfield.invalid input{ border-color:#d9483b; box-shadow:0 0 0 3px rgba(217,72,59,.12); }
.quizform .qerr{ color:#d9483b; font-size:12.5px; margin-block-start:6px; display:none; }
.quizform .qfield.invalid .qerr{ display:block; }
.quiz-personal{ margin-block-start:6px; padding-block-start:22px; border-block-start:2px solid var(--line); }
.quiz-personal__h{ color:var(--red); font-weight:800; font-size:18px; margin-block-end:16px; }
.quiz-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:520px){ .quiz-grid2{ grid-template-columns:1fr; } }
.quiz-consent{ display:flex; align-items:flex-start; gap:11px; font-size:13.5px; color:var(--text-mut); margin-block-start:18px; line-height:1.55; }
.quiz-consent input{ width:20px; height:20px; margin-block-start:2px; accent-color:var(--blue-600); flex:0 0 auto; }
.quiz-legal{ font-size:12.5px; color:var(--text-mut); line-height:1.7; margin-block-start:20px; padding-block-start:18px; border-block-start:1px solid var(--line-soft); }
.quiz-submit-row{ margin-block-start:22px; }
.quiz-submit-row .btn{ width:100%; }

/* more articles grid (article page) */
.morearts{ background:var(--paper); }
.morearts__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.minicard{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--sh-1); transition:transform .25s, box-shadow .25s; display:flex; flex-direction:column; }
.minicard:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.minicard__img{ aspect-ratio:16/10; background:var(--ink-800); overflow:hidden; }
.minicard__img img{ width:100%; height:100%; object-fit:cover; transition:transform .4s var(--e-out); }
.minicard:hover .minicard__img img{ transform:scale(1.05); }
html.reduce-motion .minicard:hover .minicard__img img{ transform:none; }
.minicard__body{ padding:16px 18px; display:flex; flex-direction:column; flex:1; }
.minicard__body h4{ font-size:16px; line-height:1.35; }
.minicard__body .ml{ margin-block-start:10px; color:var(--blue-600); font-weight:700; font-size:13.5px; }
@media (max-width:880px){ .morearts__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:460px){ .morearts__grid{ grid-template-columns:1fr; } }

/* standardized footer additions */
.footer__callbar{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-block:22px; margin-block-end:8px; border-block-end:1px solid rgba(255,255,255,.1); }
.footer__callbar .ct{ font-family:var(--serif); font-weight:700; font-size:clamp(20px,2.6vw,28px); color:#fff; display:flex; align-items:center; gap:14px; }
.footer__callbar .ct .ic{ width:46px; height:46px; border-radius:50%; background:rgba(96,169,255,.16); color:var(--blue-300); display:grid; place-items:center; flex:0 0 auto; }
.footer__callbar .ct .ic svg{ width:24px; height:24px; }
.footer__callbar .phone{ font-family:var(--sans); font-weight:900; font-size:clamp(26px,4vw,40px); color:#fff; white-space:nowrap; }
.footer__callbar .phone .star{ color:var(--red); }
.footer__legal-disc{ font-size:12.5px; color:var(--on-dark-mut); line-height:1.7; margin-block-start:30px; padding:18px 0; border-block-start:1px solid rgba(255,255,255,.1); }

/* bigger branch maps */
.branches--big{ gap:24px; }
.branches--big .branch{ grid-template-columns:420px 1fr; }
.branches--big .branch__map iframe, .branches--big .branch__map .ph{ min-height:300px; }
@media (max-width:1080px){ .branches--big .branch{ grid-template-columns:1fr; } .branches--big .branch__map iframe, .branches--big .branch__map .ph{ min-height:260px; } }

/* =========================================================================
   PATIENTS - archive (grid) + single story
   ========================================================================= */
.pgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
@media (max-width:980px){ .pgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .pgrid{ grid-template-columns:1fr; } }
.pcard{
  position:relative; display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--line-soft); border-radius:var(--r-md); overflow:hidden;
  box-shadow:var(--sh-1); transition:transform .28s var(--e-out), box-shadow .28s, border-color .28s;
}
.pcard:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); border-color:var(--blue-100); }
.pcard__media{ position:relative; aspect-ratio:4/3; background:var(--ink-800); overflow:hidden; }
.pcard__media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s var(--e-out); }
.pcard:hover .pcard__media img{ transform:scale(1.05); }
html.reduce-motion .pcard:hover .pcard__media img{ transform:none; }
.pcard__media .mono{ position:absolute; inset-block-end:-26px; inset-inline-end:18px; width:56px; height:56px; border-radius:50%; display:grid; place-items:center; font-family:var(--serif); font-weight:900; font-size:24px; color:#fff; background:linear-gradient(150deg,var(--blue-500),var(--blue-700)); box-shadow:var(--sh-2); border:3px solid #fff; }
.pcard__tag{ position:absolute; inset-block-start:14px; inset-inline-start:14px; background:rgba(10,23,38,.78); color:#fff; font-size:12px; font-weight:700; padding:6px 12px; border-radius:var(--r-pill); backdrop-filter:blur(4px); white-space:nowrap; }
.pcard__body{ padding:26px 22px 22px; display:flex; flex-direction:column; flex:1; }
.pcard__body .who{ font-size:20px; font-weight:800; color:var(--text-strong); }
.pcard__body .meta{ color:var(--blue-700); font-size:13.5px; font-weight:600; margin-block-start:3px; }
.pcard__body .quote{ color:var(--text-mut); font-size:15px; line-height:1.65; margin-block-start:12px; flex:1; }
.pcard__body .quote .qm{ font-family:var(--serif); color:var(--blue-400); font-size:20px; }
.pcard__body .more{ margin-block-start:16px; font-weight:700; color:var(--blue-600); font-size:14.5px; display:inline-flex; align-items:center; gap:6px; }
.pcard__body .more .arr{ transition:transform .3s var(--e-out); }
.pcard:hover .pcard__body .more .arr{ transform:translateX(-5px); }

.pfilter{ display:flex; gap:10px; flex-wrap:wrap; margin-block-end:30px; }

/* single patient */
.phero{ position:relative; overflow:hidden; color:var(--on-dark); background:linear-gradient(160deg,var(--ink-900),var(--ink-950)); }
.phero__inner{ position:relative; z-index:1; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(28px,5vw,56px); align-items:center; padding-block:clamp(40px,6vw,80px); }
.phero__photo{ border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-3); aspect-ratio:1/1; background:var(--ink-800); }
.phero__photo img{ width:100%; height:100%; object-fit:cover; }
.phero .tagrow{ display:flex; gap:10px; flex-wrap:wrap; margin-block-end:18px; }
.phero h1{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(32px,4.6vw,56px); line-height:1.06; }
.phero .who-meta{ color:var(--blue-300); font-size:17px; font-weight:600; margin-block-start:14px; }
.phero__pull{ font-family:var(--serif); color:#fff; font-size:clamp(20px,2.6vw,28px); line-height:1.5; margin-block-start:22px; }
.phero__pull .qm{ color:var(--blue-300); }

.pbody{ background:var(--paper); }
.pbody__layout{ display:grid; grid-template-columns:1fr 320px; gap:clamp(32px,5vw,56px); align-items:start; }
@media (max-width:900px){ .pbody__layout{ grid-template-columns:1fr; } .phero__inner{ grid-template-columns:1fr; } .phero__photo{ max-width:340px; } }
.pbody .prose{ max-width:none; }
.psidecard{ position:sticky; inset-block-start:92px; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-md); box-shadow:var(--sh-1); overflow:hidden; }
.psidecard__head{ background:linear-gradient(155deg,var(--ink-850),var(--ink-950)); color:#fff; padding:22px; }
.psidecard__head h3{ color:#fff; font-size:19px; }
.psidecard__head p{ color:var(--on-dark-mut); font-size:13.5px; margin-block-start:6px; }
.psidecard__facts{ padding:8px 22px; }
.pfact{ display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-block-end:1px solid var(--line-soft); }
.pfact:last-child{ border-block-end:0; }
.pfact .ic{ width:34px; height:34px; border-radius:9px; background:var(--blue-050); color:var(--blue-700); display:grid; place-items:center; flex:0 0 auto; }
.pfact .ic svg{ width:18px; height:18px; }
.pfact .ft{ font-size:12px; color:var(--text-mut); }
.pfact .fv{ font-size:15px; font-weight:700; color:var(--text-strong); }
.psidecard__cta{ padding:20px 22px; border-block-start:1px solid var(--line-soft); }

/* =========================================================================
   ABOUT · MEDIA · GAIT LAB · RESEARCH page components
   ========================================================================= */
/* about story split */
.about-story{ background:var(--paper); }
.about-story__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,5vw,68px); align-items:center; }
.about-story__visual{ border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-3); aspect-ratio:4/3; background:var(--ink-800); }
.about-story__visual img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:880px){ .about-story__grid{ grid-template-columns:1fr; } }

/* pillars */
.pillars{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.pillar{ background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-md); padding:30px 26px; box-shadow:var(--sh-1); transition:transform .25s, box-shadow .25s; }
.pillar:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.pillar .pic{ width:54px; height:54px; border-radius:14px; background:var(--blue-050); color:var(--blue-700); display:grid; place-items:center; margin-block-end:16px; }
.pillar .pic svg{ width:28px; height:28px; }
.pillar h3{ font-size:20px; }
.pillar p{ color:var(--text-mut); font-size:15px; margin-block-start:8px; }
@media (max-width:820px){ .pillars{ grid-template-columns:1fr; } }

/* timeline */
.timeline{ position:relative; display:grid; gap:0; }
.timeline::before{ content:""; position:absolute; inset-block:8px 8px; inset-inline-start:19px; width:2px; background:linear-gradient(var(--blue-300),var(--blue-600)); }
.tl-item{ position:relative; padding-inline-start:58px; padding-block:16px; }
.tl-item .dot{ position:absolute; inset-inline-start:8px; inset-block-start:22px; width:24px; height:24px; border-radius:50%; background:#fff; border:3px solid var(--blue-600); box-shadow:0 0 0 4px var(--paper); }
.tl-item .yr{ font-family:var(--serif); font-weight:900; color:var(--blue-700); font-size:24px; }
.tl-item h3{ font-size:18px; margin-block-start:2px; }
.tl-item p{ color:var(--text-mut); font-size:15px; margin-block-start:6px; }

/* team grid */
.team{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.tmember{ text-align:center; }
.tmember__photo{ aspect-ratio:1/1; border-radius:var(--r-lg); overflow:hidden; background:var(--ink-800); box-shadow:var(--sh-1); margin-block-end:14px; }
.tmember__photo .ph{ width:100%; height:100%; }
.tmember .nm{ font-weight:800; font-size:17px; color:var(--text-strong); }
.tmember .rl{ color:var(--blue-700); font-size:13.5px; font-weight:600; margin-block-start:2px; }
@media (max-width:880px){ .team{ grid-template-columns:repeat(2,1fr); } }

/* media cards */
.mediagrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.mediacard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-md); overflow:hidden; box-shadow:var(--sh-1); transition:transform .25s, box-shadow .25s; }
.mediacard:hover{ transform:translateY(-3px); box-shadow:var(--sh-2); }
.mediacard__top{ padding:22px 24px 0; }
.mediacard__src{ font-family:var(--serif); font-weight:700; font-size:20px; color:var(--ink-800); }
.mediacard__body{ padding:12px 24px 24px; display:flex; flex-direction:column; flex:1; }
.mediacard__body h3{ font-size:18px; line-height:1.4; }
.mediacard__body .dt{ font-size:12.5px; color:var(--text-mut); margin-block-start:10px; }
.mediacard__body .ml{ margin-block-start:14px; color:var(--blue-600); font-weight:700; font-size:14px; }
@media (max-width:880px){ .mediagrid{ grid-template-columns:1fr; } }

/* global presence */
.global{ background:var(--ink-900); color:var(--on-dark); }
.global__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-block-start:8px; }
.gcountry{ padding:22px; border-radius:var(--r-md); background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); text-align:center; }
.gcountry .flag{ font-size:30px; }
.gcountry .nm{ color:#fff; font-weight:700; margin-block-start:8px; }
@media (max-width:780px){ .global__grid{ grid-template-columns:repeat(2,1fr); } }

/* gait lab feature rows */
.featrow{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.featrow .fr{ padding:26px; border-radius:var(--r-md); background:#fff; border:1px solid var(--line-soft); box-shadow:var(--sh-1); }
.featrow .fr .n{ font-family:var(--serif); font-weight:900; font-size:36px; color:var(--blue-300); line-height:1; opacity:.7; }
.featrow .fr h3{ font-size:18px; margin-block-start:10px; }
.featrow .fr p{ color:var(--text-mut); font-size:14.5px; margin-block-start:8px; }
@media (max-width:820px){ .featrow{ grid-template-columns:1fr; } }

/* =========================================================================
   RESPONSIVE LAYER  -  phones · tablets · large screens
   Mobile-first refinements layered on top of the component rules above.
   ========================================================================= */

/* prevent any accidental horizontal scroll on small devices */
html, body{ max-width:100%; }
img, svg, video{ max-width:100%; height:auto; }

/* ---- Laptops / small desktops ---- */
@media (max-width:1180px){
  .footer__top{ gap:32px; }
}

/* ---- Below the desktop nav breakpoint ---- */
@media (max-width:1300px){
  .header__bar{ gap:12px; min-height:66px; }
  .header__cta{ margin-inline-start:auto; }
  .brand img{ height:42px; }
}

/* ---- Tablet ---- */
@media (max-width:860px){
  :root{ --gutter:clamp(18px,4.5vw,40px); }
  .section{ padding-block:clamp(40px,6vw,64px); }
  .hero__inner{ padding-block:36px 56px; gap:clamp(24px,5vw,40px); }
  .hero__trust{ gap:14px 22px; margin-block-start:30px; padding-block-start:22px; }
  .anatomy__visual{ padding:22px; }
  .research__card .cap{ font-size:16.5px; }
}

/* ---- Large phone / small tablet ---- */
@media (max-width:640px){
  body{ --fs-base:17px; }
  .lead{ font-size:16.5px; }
  .sec-head h2{ font-size:clamp(26px,7.6vw,38px); }
  .sec-head{ margin-block-end:32px; }

  /* hero */
  .hero h1{ font-size:clamp(27px,7.5vw,40px); }
  .hero .lead{ margin-block-start:18px; }
  .hero__cta{ flex-direction:column; align-items:stretch; gap:12px; }
  .hero__cta .btn{ width:100%; }
  .stage{ max-width:300px; }
  .demo-toggle{ inset-inline-start:auto; inset-inline-end:0; font-size:12.5px; padding:8px 12px; }
  .stage__hint{ font-size:11.5px; inset-block-end:-2px; }

  /* a11y panel becomes a near-full-width sheet that can scroll */
  .a11y-panel{
    inset-block-start:72px; inset-inline:10px; width:auto;
    max-height:calc(100dvh - 88px); overflow:auto;
  }

  /* stats: two compact columns */
  .stat{ padding:24px 12px; }
  .stat .num{ font-size:clamp(34px,12vw,52px); }
  .stat .label{ font-size:14px; margin-block-start:8px; }

  /* buttons a touch tighter */
  .btn{ font-size:16px; padding:14px 22px; }
  .btn--lg{ font-size:16.5px; padding:15px 24px; }

  /* research big stat */
  .research__card{ padding:26px 22px; }

  /* cta + footer */
  .cta__actions .btn{ width:100%; }
  .footer__bottom{ flex-direction:column; align-items:flex-start; gap:10px; }
}

/* ---- Small phones ---- */
@media (max-width:400px){
  :root{ --gutter:16px; }
  .stats__grid{ grid-template-columns:1fr; }
  .stat{ padding:22px 16px; text-align:start; display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
  .stat .num{ font-size:46px; }
  .stat .label{ flex:1 1 60%; }
  .badge-chip{ font-size:12px; padding:6px 12px; }
  .mlogo{ font-size:20px; }
}

/* ---- Touch devices: neutralise hover-only reveals so content is always reachable ---- */
@media (hover:none){
  .story__quote{ max-height:none; opacity:1; margin-block-start:14px; }
  .btn:hover{ transform:none; box-shadow:var(--sh-blue); }
}

/* ---- Short viewports (landscape phones): keep a11y panel usable ---- */
@media (max-height:560px){
  .a11y-panel{ max-height:calc(100dvh - 76px); overflow:auto; }
}

/* ---- Larger screens: cap line lengths, breathe ---- */
@media (min-width:1500px){
  :root{ --maxw:1320px; }
}

/* =========================================================================
   PREMIUM COMPONENTS (deep-ink)  ·  proof bento · trust wave · 6-step wizard
   ========================================================================= */

/* ---------- TRUST BANNER (gait wave) ---------- */
.trustwave__inner{
  position:relative; overflow:hidden; border-radius:var(--r-lg);
  background:linear-gradient(150deg,var(--ink-850),var(--ink-950));
  box-shadow:var(--sh-3);
}
.trustwave canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.trustwave__row{ position:relative; z-index:1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:26px; padding:clamp(30px,4vw,52px) clamp(24px,4vw,56px); }
.trustwave__copy{ max-width:48ch; }
.trustwave__copy .chip{ display:inline-flex; align-items:center; gap:8px; background:rgba(96,169,255,.12); color:var(--blue-300); font-weight:700; font-size:13px; padding:7px 14px; border-radius:var(--r-pill); margin-block-end:14px; }
.trustwave__copy h2{ color:#fff; font-family:var(--serif); font-weight:900; font-size:clamp(24px,3.4vw,38px); line-height:1.12; }
.trustwave__stats{ display:flex; align-items:center; gap:26px; color:#fff; }
.trustwave__stats .v{ font-family:var(--serif); font-weight:900; font-size:clamp(30px,4vw,46px); color:var(--blue-300); line-height:1; }
.trustwave__stats .l{ font-size:13.5px; color:var(--on-dark-mut); margin-block-start:4px; }
.trustwave__stats .sep{ width:1px; height:46px; background:rgba(255,255,255,.18); }
@media (max-width:560px){ .trustwave__stats{ gap:16px; } }

/* ---------- MEDICAL PROOF BENTO (tilt) ---------- */
.research-hero, .split-hero{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,52px); align-items:center; }
.research-hero .page-hero__inner, .split-hero .page-hero__inner{ display:flex; flex-direction:column; justify-content:center; margin-block:0; }
.research-hero__media, .split-hero__media{ display:flex; padding:10px; border-radius:calc(var(--r-lg) + 8px);
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.045));
  backdrop-filter:blur(16px) saturate(155%); -webkit-backdrop-filter:blur(16px) saturate(155%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.36), 0 16px 44px rgba(4,14,26,.34); }
html.hc .research-hero__media, html.hc .split-hero__media{ background:rgba(10,23,38,.6); backdrop-filter:none; -webkit-backdrop-filter:none; }
.split-hero .quickline{ margin-block-start:20px; }
.research-hero__media img, .split-hero__media img{ width:100%; height:100%; object-fit:cover; aspect-ratio:16/10; border-radius:var(--r-lg); box-shadow:var(--sh-3); border:1px solid rgba(255,255,255,.14); display:block; }
/* contact hero: TEXT panel small, IMAGE large; equal height, compact like research hero */
.split-hero--contact{ grid-template-columns:.92fr 1.6fr; gap:clamp(22px,3vw,40px); align-items:stretch; }
.split-hero--contact .page-hero__inner{ padding:clamp(16px,2vw,26px) clamp(20px,2.4vw,32px); }
.split-hero--contact .page-hero__inner h1{ font-size:clamp(26px,3.4vw,40px); margin-top:10px !important; }
.split-hero--contact .page-hero__inner .lead{ margin-top:12px; font-size:clamp(15px,1.5vw,17px); }
.split-hero--contact .quickline{ margin-block-start:16px; }
.split-hero--contact .split-hero__media{ align-self:stretch; padding:6px; }
.split-hero--contact .split-hero__media img{ aspect-ratio:auto; height:100%; width:100%; object-fit:cover; object-position:center; }
@media (max-width:860px){ .split-hero--contact{ grid-template-columns:1fr; } .split-hero--contact .split-hero__media img{ height:auto; max-height:none; aspect-ratio:1417/744; } }
.research-hero__media .ph{ width:100%; box-shadow:var(--sh-3); border:1px solid rgba(255,255,255,.14); }
/* visible image slot on dark heroes */
.img-slot{ aspect-ratio:4/3; width:100%; border-radius:var(--r-lg);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center;
  color:var(--blue-300);
  background:linear-gradient(135deg, rgba(96,169,255,.14), rgba(96,169,255,.04));
  border:2px dashed rgba(96,169,255,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.img-slot__label{ font-weight:700; font-size:16px; color:#fff; padding-inline:20px; }
.img-slot__hint{ font-family:ui-monospace,Menlo,monospace; font-size:12.5px; color:var(--on-dark-mut); }
@media (max-width:860px){ .research-hero{ grid-template-columns:1fr; } .research-hero__media{ order:-1; } .split-hero{ grid-template-columns:1fr; } .split-hero__media{ order:-1; } }
.proof__grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:18px; }
/* research stat row + study cards */
.rstat-row{ display:flex; align-items:center; justify-content:center; gap:clamp(18px,3vw,40px); flex-wrap:wrap; margin-top:22px; }
.rstat{ display:flex; flex-direction:column; gap:4px; align-items:center; text-align:center; }
.rstat__n{ font-family:var(--serif); font-weight:900; font-size:clamp(40px,5vw,64px); line-height:1; letter-spacing:-.02em;
  background:linear-gradient(180deg,#fff,#5aa9ff); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.rstat__n .suf{ font-size:.5em; -webkit-text-fill-color:var(--blue-300); }
.rstat__l{ font-size:14.5px; color:var(--on-dark-mut); font-weight:600; }
.rstat__sep{ width:1px; align-self:stretch; min-height:48px; background:linear-gradient(transparent,rgba(255,255,255,.28),transparent); }
@supports not ((-webkit-background-clip:text) or (background-clip:text)){ .rstat__n{ background:none !important; -webkit-text-fill-color:#fff !important; } }

.study-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.study-card{ display:flex; flex-direction:column; border-radius:var(--r-md); overflow:hidden;
  background:linear-gradient(145deg, rgba(255,255,255,.95), rgba(244,248,252,.82));
  border:1px solid var(--line-soft); box-shadow:inset 0 1px 0 rgba(255,255,255,.9), var(--sh-1);
  transition:transform .3s var(--e-out), box-shadow .3s, border-color .3s; }
.study-card:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); border-color:var(--blue-100); }
.study-card__thumb{ aspect-ratio:16/10; overflow:hidden; background:var(--ink-800); }
.study-card__thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--e-out); }
.study-card:hover .study-card__thumb img{ transform:scale(1.05); }
html.reduce-motion .study-card:hover .study-card__thumb img{ transform:none; }
.study-card__body{ display:flex; flex-direction:column; gap:8px; padding:22px 22px 24px; flex:1; }
.study-card__tag{ font-size:12px; font-weight:700; letter-spacing:.04em; color:var(--blue-600); text-transform:uppercase; }
.study-card h3{ font-size:18px; line-height:1.3; }
.study-card p{ font-size:14.5px; color:var(--text-mut); flex:1; }
.study-card__body .study-card__more{ margin-top:auto; }
.study-card__more{ margin-top:6px; font-weight:700; font-size:14px; color:var(--blue-600); display:inline-flex; align-items:center; gap:6px; }
.study-card__more span{ transition:transform .3s var(--e-out); }
.study-card:hover .study-card__more span{ transform:translateX(-5px); }
@media (max-width:880px){ .study-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .study-grid{ grid-template-columns:1fr; } .rstat__sep{ display:none; } }
.pcard{
  position:relative; background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-lg);
  padding:30px; box-shadow:var(--sh-1); transform-style:preserve-3d; will-change:transform;
  transition:transform .2s var(--e-out), box-shadow .3s; cursor:default;
}
.pcard.tilting{ box-shadow:var(--sh-3); }
.pcard__glow{ position:absolute; inset:0; border-radius:var(--r-lg); opacity:0; transition:opacity .3s; pointer-events:none;
  background:radial-gradient(420px circle at var(--gx,50%) var(--gy,50%), rgba(0,88,200,.12), transparent 45%); }
.pcard.tilting .pcard__glow{ opacity:1; }
.pcard__in{ transform:translateZ(28px); }
.pcard .ic{ width:52px; height:52px; border-radius:15px; background:var(--blue-050); color:var(--blue-700); display:grid; place-items:center; margin-block-end:16px; }
.pcard .ic svg{ width:28px; height:28px; }
.pcard h3{ font-size:20px; }
.pcard p{ color:var(--text-mut); font-size:14.5px; margin-block-start:8px; }
.pcard .pmetric{ overflow:hidden; max-height:0; transition:max-height .5s var(--e-out), margin .4s; }
.pcard:hover .pmetric, .pcard:focus-within .pmetric{ max-height:120px; }
.pcard .pmetric__in{ display:flex; align-items:flex-end; gap:10px; margin-block-start:16px; padding-block-start:16px; border-block-start:1px solid var(--line-soft); }
.pcard .pmetric__in .big{ font-family:var(--serif); font-weight:900; color:var(--blue-700); font-size:clamp(40px,5vw,54px); line-height:.9; }
.pcard .pmetric__in .lbl{ font-size:13.5px; color:var(--text-mut); font-weight:600; padding-block-end:6px; }
.pcard.span3{ grid-column:span 3; } .pcard.span2{ grid-column:span 2; }
.pcard.feature{ grid-column:span 6; background:linear-gradient(150deg,var(--ink-850),var(--ink-950)); color:#fff; border-color:transparent; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; }
.pcard.feature h3{ color:#fff; } .pcard.feature p{ color:var(--on-dark-mut); }
.pcard.feature .ic{ background:rgba(96,169,255,.15); color:var(--blue-300); }
.pcard.feature .fbig{ font-family:var(--serif); font-weight:900; color:var(--blue-300); font-size:clamp(48px,7vw,84px); line-height:.9; white-space:nowrap; }
@media (max-width:900px){ .proof__grid{ grid-template-columns:repeat(2,1fr); } .pcard.span3,.pcard.span2,.pcard.feature{ grid-column:span 2; } .pcard.feature{ grid-template-columns:1fr; text-align:center; } }
@media (max-width:560px){ .proof__grid{ grid-template-columns:1fr; } .pcard.span3,.pcard.span2,.pcard.feature{ grid-column:span 1; } }

/* ---------- 6-STEP WIZARD ---------- */
.wiz{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(24px,3.2vw,38px); box-shadow:var(--sh-2); position:relative; }
.wiz__bar{ display:flex; align-items:center; gap:12px; margin-block-end:26px; }
.wiz__track{ position:relative; flex:1; height:7px; background:var(--line); border-radius:var(--r-pill); overflow:hidden; }
.wiz__fill{ position:absolute; inset-block:0; inset-inline-start:0; width:16.6%; background:linear-gradient(90deg,var(--blue-600),var(--blue-500)); border-radius:var(--r-pill); transition:width .5s var(--e-out); }
.wiz__count{ font-size:13px; font-weight:700; color:var(--text-mut); white-space:nowrap; }
.wzstep{ display:none; }
.wzstep.active{ display:block; animation:wzIn .45s var(--e-out); }
@keyframes wzIn{ from{ transform:translateX(-22px); } to{ transform:none; } }
html.reduce-motion .wzstep.active{ animation:none; }
.wzstep h3{ font-size:clamp(21px,3vw,27px); }
.wzstep .wzsub{ color:var(--text-mut); margin-block:6px 20px; font-size:15px; }
.wzchips{ display:grid; gap:12px; }
.wzchips.cols2{ grid-template-columns:1fr 1fr; } .wzchips.cols3{ grid-template-columns:repeat(3,1fr); }
.wzchip{ display:flex; align-items:center; gap:12px; padding:15px 18px; border:1.5px solid var(--line); border-radius:var(--r-md); background:#fff; cursor:pointer; font-size:16px; font-weight:600; color:var(--text-strong); text-align:start; transition:border-color .2s, background .2s, transform .12s; font-family:var(--sans); }
.wzchip:hover{ border-color:var(--blue-300); background:var(--blue-050); }
.wzchip.selected{ border-color:var(--blue-600); background:var(--blue-100); color:var(--blue-800); }
.wzchip .tk{ width:22px; height:22px; border-radius:50%; border:2px solid var(--line); display:grid; place-items:center; flex:0 0 auto; transition:background .2s, border-color .2s; }
.wzchip.selected .tk{ background:var(--blue-600); border-color:var(--blue-600); }
.wzchip .tk svg{ width:12px; height:12px; color:#fff; opacity:0; transition:opacity .2s; }
.wzchip.selected .tk svg{ opacity:1; }
.wzfield{ margin-block-end:14px; }
.wzfield label{ display:block; font-size:14px; font-weight:700; color:var(--text-strong); margin-block-end:6px; }
.wzfield input, .wzfield select{ width:100%; font-family:var(--sans); font-size:16px; padding:13px 15px; border:1.5px solid var(--line); border-radius:var(--r-sm); background:#fff; transition:border-color .2s, box-shadow .2s; }
.wzfield input:focus, .wzfield select:focus{ outline:none; border-color:var(--blue-500); box-shadow:0 0 0 3px var(--blue-100); }
.wzfield input.invalid{ border-color:var(--red); box-shadow:0 0 0 3px rgba(230,51,41,.12); }
.wzrange{ width:100%; accent-color:var(--blue-600); }
.wzrange-row{ display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--text-mut); font-weight:600; margin-block-start:8px; }
.wzrange-row .val{ color:var(--blue-700); font-weight:800; font-size:20px; }
.wiz__nav{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-block-start:24px; }
.wzdone{ text-align:center; padding:8px 0 4px; }
.wzdone .ic{ width:76px; height:76px; border-radius:50%; background:var(--blue-100); color:var(--blue-700); display:grid; place-items:center; margin:0 auto 16px; }
.wzdone .ic svg{ width:38px; height:38px; }
.wzscore{ color:var(--blue-700); }

/* =========================================================================
   LIQUID GLASS  ·  frosted translucent surfaces
   ========================================================================= */
.liquid-glass{
  position:relative; isolation:isolate;
  background:linear-gradient(135deg, rgba(255,255,255,.14), rgba(255,255,255,.04));
  backdrop-filter:blur(16px) saturate(155%);
  -webkit-backdrop-filter:blur(16px) saturate(155%);
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--r-lg);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38), inset 0 -8px 24px rgba(255,255,255,.05), 0 16px 44px rgba(4,14,26,.34);
}
.liquid-glass::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:-1;
  background:radial-gradient(130% 90% at 12% -10%, rgba(255,255,255,.22), transparent 55%);
}
html.hc .liquid-glass{ background:rgba(10,23,38,.7); border-color:rgba(255,255,255,.5); backdrop-filter:none; -webkit-backdrop-filter:none; }
/* light-surface variant */
.liquid-glass--light{
  background:linear-gradient(135deg, rgba(255,255,255,.86), rgba(244,248,252,.6));
  border-color:rgba(255,255,255,.9);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 16px 44px rgba(10,23,38,.12);
}
.liquid-glass--light::before{ background:radial-gradient(130% 90% at 12% -10%, rgba(255,255,255,.7), transparent 55%); }
/* pill-shaped glass (keeps rounded-pill radius) */
.lg-pill{ border-radius:var(--r-pill) !important; }

/* ---- Hero trust as a liquid-glass stat card ---- */
.hero__trust.glass-card{
  display:grid; grid-template-columns:repeat(3, 1fr); align-items:center; gap:0;
  margin-block-start:34px; padding:18px 4px; border:1px solid rgba(255,255,255,.22);
}
.hero__trust.glass-card .t-stat{ display:flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; padding:4px 10px; text-align:center; min-width:0; }
/* crisp vertical dividers between the three stats (the old .t-sep spans are hidden) */
.hero__trust.glass-card .t-stat:not(:first-of-type){ border-inline-start:1px solid rgba(255,255,255,.20); }
.hero__trust.glass-card .t-sep{ display:none; }
.hero__trust.glass-card .t-stat b{ font-family:var(--sans); font-weight:800; color:#fff; font-size:clamp(20px,2.2vw,27px); line-height:1; letter-spacing:-.01em; white-space:nowrap; }
.hero__trust.glass-card .t-stat b .suf{ color:var(--blue-300); font-size:.6em; margin-inline-start:1px; }
.hero__trust.glass-card .t-stat .t-lbl{ font-size:12.5px; color:var(--on-dark-mut); line-height:1.3; }
@media (max-width:400px){
  .hero__trust.glass-card{ padding:14px 2px; }
  .hero__trust.glass-card .t-stat{ padding:4px 5px; gap:3px; }
  .hero__trust.glass-card .t-stat b{ font-size:19px; }
  .hero__trust.glass-card .t-stat .t-lbl{ font-size:10.5px; }
}

/* ---- hero arch video (arch shape, original implementation) ---- */
/* ---- hero media: GIANT circle bleeding off the screen edge (Sheba-style) ---- */
.hero__stage-wrap{ min-width:0; }
/* The circle's RIGHT edge hugs its column line (next to the headline); the
   excess width overflows to the LEFT, past the viewport edge - so the visible
   part reads as a big, nearly-full photo, not a thin sliver. */
.arch-media{ position:relative; width:min(67vw,940px); inset-inline-end:0; margin-block:clamp(-100px,-6vw,-36px); margin-inline-start:auto; display:block; }
/* colored arcs floating just outside the clean white band (Sheba-style) */
.arch-media::before{
  content:""; position:absolute; inset:calc(-1 * clamp(12px,1.3vw,18px)); border-radius:50%; z-index:0; pointer-events:none;
  background:conic-gradient(from 200deg, var(--blue-500) 0 24%, transparent 24% 52%, var(--blue-300) 52% 72%, transparent 72%);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - clamp(8px,1vw,12px)), #000 calc(100% - clamp(8px,1vw,12px)));
          mask:radial-gradient(farthest-side, transparent calc(100% - clamp(8px,1vw,12px)), #000 calc(100% - clamp(8px,1vw,12px)));
}
.arch-media__frame{
  position:relative; aspect-ratio:1; overflow:hidden; border-radius:50%;
  padding:clamp(10px,1.2vw,17px); border:0;
  background:#fff; /* crisp white band around the media */
  box-shadow:0 34px 90px rgba(2,12,40,.5);
}
.arch-media__frame video{ width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; background:var(--ink-850); }
/* "Living montage" - 3 real photos gently cross-fading inside the circle */
.hero-montage{ position:relative; width:100%; height:100%; border-radius:50%; overflow:hidden; background:var(--ink-850); }
.hero-montage .hm{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transition:opacity 1.4s var(--e-soft); }
.hero-montage .hm.is-on{ opacity:1; }
html.reduce-motion .hero-montage .hm{ transition:none; }
.arch-media__halo{ display:none; }
:root:not(.reduce-motion) .arch-media__halo{ animation:archGlow 5s var(--e-soft) infinite alternate; }
@keyframes archGlow{ from{ opacity:.35; } to{ opacity:.85; } }
.arch-media__badge{
  /* sits on the VISIBLE half of the bleeding circle */
  position:absolute; inset-block-end:12%; inset-inline-start:16%; transform:none;
  display:inline-flex; align-items:center; gap:9px; white-space:nowrap;
  padding:9px 18px; border-radius:var(--r-pill); font-size:13.5px; font-weight:700; color:#fff;
  margin:0;
}
@media (max-width:920px){
  .arch-media{ width:min(74vw,360px); inset-inline-end:0; margin:6px auto 0; }
  .arch-media__frame{ aspect-ratio:1; }
}

/* feature-band glass card: tidy type + breathing room so the CTA sits inside */
.feature-band h2{ font-size:clamp(26px,3.4vw,44px); text-wrap:balance; }
.feature-band .fb-copy{ padding:clamp(26px,3.5vw,40px) clamp(26px,3.5vw,40px) clamp(36px,4.4vw,54px) !important; }
.feature-band .fb-copy .hero__cta{ margin-block-start:22px; }

/* ---- shimmer headline (premium light sweep) ---- */
.shimmer-title{
  background:linear-gradient(100deg,
    #ffffff 0%, #ffffff 36%,
    #a6c6e6 45%,            /* soft azure */
    #ecdcb8 50%,            /* champagne glint */
    #a6c6e6 55%,
    #ffffff 64%, #ffffff 100%);
  background-size:230% 100%; background-position:230% 0;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent;
}
.shimmer-title .accent{ -webkit-text-fill-color:transparent; color:inherit; }
:root:not(.reduce-motion) .shimmer-title{ animation:shimmerSweep 7s linear infinite; }
@keyframes shimmerSweep{ 0%{ background-position:230% 0; } 100%{ background-position:-230% 0; } }
/* Reduced motion: stop the sweep but keep a soft STATIC glint - still premium. */
html.reduce-motion .shimmer-title{ animation:none; background-position:50% 0; }
html.reduce-motion .shimmer-title .accent{ -webkit-text-fill-color:transparent; color:inherit; }
@supports not ((-webkit-background-clip:text) or (background-clip:text)){
  .shimmer-title{ background:none; -webkit-text-fill-color:#fff; color:#fff; }
}

/* ---- hero badge: liquid glass ---- */
.badge-chip{
  background:linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  backdrop-filter:blur(10px) saturate(150%); -webkit-backdrop-filter:blur(10px) saturate(150%);
  border-color:rgba(255,255,255,.28);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22);
}
/* V4: hero eyebrow = plain running text (NOT a pill/button), emphasized colour */
.hero .badge-chip{
  padding:0 !important; border:0 !important; background:none !important;
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
  box-shadow:none !important; border-radius:0 !important;
  font-size:13.5px; font-weight:700; letter-spacing:.14em; color:var(--blue-300);
}
.hero .badge-chip .eb-txt{ letter-spacing:.14em; }
.hero .badge-chip .sep{ margin-inline:3px; letter-spacing:0; }

/* ---- generic 3D tilt for glass cards (driven by [data-tilt3d] JS) ---- */
.hero__trust[data-tilt3d], .gait-proof[data-tilt3d]{
  transition:transform .35s var(--e-out); will-change:transform; transform-style:preserve-3d;
}
html.reduce-motion .hero__trust[data-tilt3d], html.reduce-motion .gait-proof[data-tilt3d]{ transform:none !important; }

/* ---- hero pain-duration micro-quiz (engagement before the form) ---- */
.pain-ask{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-block-start:18px; }
.pain-ask__q{ font-size:14.5px; font-weight:600; color:var(--on-dark-mut); }
.pain-ask__chips{ display:flex; gap:8px; flex-wrap:wrap; }
.pain-ask__chips button{
  font-family:var(--sans); font-size:13.5px; font-weight:700; color:var(--on-dark);
  padding:8px 16px; border-radius:var(--r-pill); cursor:pointer;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.25);
  transition:background .2s, border-color .2s, transform .15s;
}
.pain-ask__chips button:hover{ background:var(--blue-600); border-color:var(--blue-600); transform:translateY(-1px); }

/* ---- CF7 (live WordPress form) styled to match the designed card ---- */
.contactform .wpcf7 input[type="text"],
.contactform .wpcf7 input[type="tel"],
.contactform .wpcf7 input[type="email"],
.contactform .wpcf7 select,
.contactform .wpcf7 textarea{
  width:100%; font-family:var(--sans); font-size:16px; color:var(--text-strong);
  padding:13px 15px; border:1.5px solid var(--line); border-radius:var(--r-sm); background:#fff;
  margin-block-end:13px; transition:border-color .2s, box-shadow .2s;
}
.contactform .wpcf7 input:focus,
.contactform .wpcf7 select:focus,
.contactform .wpcf7 textarea:focus{ outline:none; border-color:var(--blue-500); box-shadow:0 0 0 3px var(--blue-100); }
.contactform .wpcf7 input[type="submit"]{
  width:100%; font-family:var(--sans); font-weight:700; font-size:17px; color:#fff;
  background:var(--blue-600); border:0; border-radius:var(--r-pill); padding:15px 28px; cursor:pointer;
  transition:transform .25s var(--e-out), box-shadow .25s var(--e-out);
}
.contactform .wpcf7 input[type="submit"]:hover{ transform:translateY(-2px); box-shadow:var(--sh-blue); }
.contactform .wpcf7 .wpcf7-acceptance{ font-size:13px; color:var(--text-mut); }
.contactform .wpcf7 .wpcf7-acceptance input{ width:18px; height:18px; accent-color:var(--blue-600); }
.contactform .wpcf7 .wpcf7-not-valid-tip{ font-size:12.5px; color:var(--red); margin:-8px 0 10px; }
.contactform .wpcf7 .wpcf7-response-output{ border-radius:var(--r-sm); padding:10px 14px; font-size:14px; margin:10px 0 0; }

/* ---- A/B test: variant B turns the primary hero CTA warm red ---- */
html.ab-cta-red .hero__cta .btn--quiz{ --bg:#d8463b; }
html.ab-cta-red .hero__cta .btn--quiz:hover{ box-shadow:0 14px 34px rgba(216,70,59,.32); }

/* ---- Awards & approvals band ---- */
.awards__img{ text-align:center; }
.awards__img img{ width:100%; max-width:1100px; height:auto; margin-inline:auto; display:block; }
/* condition page: WP content styled inside the designed medical-info card */
.wp-content{ color:var(--text); font-size:16.5px; line-height:1.75; }
.wp-content h2,.wp-content h3{ margin-block:18px 8px; color:var(--text-strong); }
.wp-content p{ margin-block-end:12px; }
.wp-content img{ max-width:100%; height:auto; border-radius:var(--r-md); margin-block:12px; }
.wp-content ul,.wp-content ol{ margin-block-end:12px; padding-inline-start:22px; }
.wp-content a{ color:var(--blue-700); font-weight:600; }

/* ---- Sticky mobile CTA bar (phones only) ---- */
.mcta-bar{ display:none; }

/* =========================================================================
   LIQUID-GLASS + 3D UPGRADE PACK (items 2-9)
   ========================================================================= */

/* (2) fast-track banner - frosted glass sheen + top highlight */
.fasttrack{ position:relative; isolation:isolate;
  background:linear-gradient(110deg, rgba(31,78,122,.94), rgba(42,127,184,.9)); overflow:hidden; }
.fasttrack::before{ content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 40%);
  backdrop-filter:saturate(140%); -webkit-backdrop-filter:saturate(140%); }
.fasttrack .bolt{ backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.3); box-shadow:inset 0 1px 0 rgba(255,255,255,.4); }

/* (1) treatment-area cards - liquid glass */
.cond{
  background:linear-gradient(150deg, rgba(255,255,255,.86), rgba(244,248,252,.62)) !important;
  backdrop-filter:blur(14px) saturate(150%); -webkit-backdrop-filter:blur(14px) saturate(150%);
  border:1px solid rgba(255,255,255,.7);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 10px 30px rgba(20,25,35,.07);
}
.cond:hover{ box-shadow:inset 0 1px 0 rgba(255,255,255,.9), var(--sh-3); border-color:rgba(96,169,255,.5); }
html.hc .cond{ background:#fff !important; backdrop-filter:none; -webkit-backdrop-filter:none; }

/* (4) study / research cards - frosted glass + hover glow */
.study-card{
  backdrop-filter:blur(12px) saturate(150%); -webkit-backdrop-filter:blur(12px) saturate(150%);
}
.study-card:hover{ box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 18px 44px rgba(20,25,35,.14), 0 0 0 1px rgba(96,169,255,.3); }
html.hc .study-card{ backdrop-filter:none; -webkit-backdrop-filter:none; }

/* (3) mobile CTA bar - liquid glass tray (buttons keep their colors) */
@media (max-width:760px){
  .mcta-bar{
    background:linear-gradient(180deg, rgba(255,255,255,.5), rgba(255,255,255,.28)) !important;
    backdrop-filter:blur(16px) saturate(160%); -webkit-backdrop-filter:blur(16px) saturate(160%);
    border-block-start:1px solid rgba(255,255,255,.5);
    box-shadow:0 -8px 26px rgba(15,23,42,.14);
  }
  .mcta-bar a, .mcta-bar button{ backdrop-filter:saturate(130%); -webkit-backdrop-filter:saturate(130%); }
}

/* (8) hero video circle - layered depth (halo parallax driven by JS var) */
.arch-media{ transform-style:preserve-3d; }
.arch-media__halo{ transform:translate3d(var(--halo-x,0),var(--halo-y,0),0); transition:transform .25s var(--e-out); }
.arch-media__frame{ transform:translateZ(20px); }

/* (9) spotlight that follows the cursor on dark sections */
.spotlight{ position:relative; isolation:isolate; }
.spotlight::before{ content:""; position:absolute; inset:0; z-index:0; pointer-events:none; opacity:0;
  transition:opacity .4s var(--e-out);
  background:radial-gradient(460px circle at var(--mx,50%) var(--my,50%), rgba(96,169,255,.16), transparent 60%); }
.spotlight.lit::before{ opacity:1; }
.spotlight > *{ position:relative; z-index:1; }
html.reduce-motion .spotlight::before{ display:none; }

/* (7) count-up glow while numbers animate */
.stat3d__num.counting, .gait-proof__num.counting, .t-stat b.counting{
  filter:drop-shadow(0 0 14px rgba(96,169,255,.6)) drop-shadow(0 8px 18px rgba(0,88,200,.45));
}
@media (max-width:760px){
  .mcta-bar{ position:fixed; inset-inline:0; inset-block-end:0; z-index:950; display:grid; grid-template-columns:1fr 1fr; gap:1px;
    background:var(--line); box-shadow:0 -6px 20px rgba(15,23,42,.16); padding-bottom:env(safe-area-inset-bottom); }
  .mcta-bar--3{ grid-template-columns:1fr 1fr 1fr; }
  .mcta-bar--3 a, .mcta-bar--3 button{ font-size:13px; gap:5px; padding:11px 4px 12px; flex-direction:column; line-height:1.1; white-space:nowrap; font-weight:700; font-family:var(--sans); }
  .mcta-bar--3 svg{ width:21px; height:21px; }
  .mcta-bar a, .mcta-bar button{ display:flex; align-items:center; justify-content:center; gap:8px; padding:15px 10px; font-weight:700; font-size:16px; min-height:56px; }
  .mcta-bar svg{ width:20px; height:20px; }
  .mcta-bar__wa{ background:#0e7c5f; color:#fff; } /* WhatsApp deep green - 5:1 contrast (WCAG AA) */
  .mcta-bar__call{ background:#fff; color:var(--blue-700); }
  .mcta-bar__quiz{ background:var(--red); color:#fff; }
  /* lift the footer / page bottom so the bar never covers content */
  body{ padding-bottom:58px; }
  /* lift the Glassix chat launcher above the sticky CTA bar so they don't overlap */
  #glassix-widget-container, iframe[id*="glassix"], div[id*="glassix"][style*="fixed"],
  [class*="glassix"][style*="bottom"], #glassix-widget-launcher{
    bottom:72px !important; margin-bottom:env(safe-area-inset-bottom) !important;
  }
  /* lift the Nagich (נגיש בקליק) accessibility launcher above the bar too */
  #INDmenu-btn, [id*="INDmenu"], a[aria-label*="נגיש"], div[class*="nagich"]{
    bottom:72px !important;
  }
}
/* desktop WhatsApp FAB also clears nothing on mobile (hidden there) */
html.hc .mcta-bar__call{ color:#08406f; }
/* quiz is now a <button> - reset native button look so it matches the bar */
.mcta-bar__quiz{ border:0; font:inherit; cursor:pointer; }

/* ---- Floating lead form (every page except home, desktop only) ----
   position:fixed = glides along with the visitor while scrolling. */
.float-lead{
  position:fixed; left:18px; top:50%; transform:translateY(-50%); z-index:920;
  direction:rtl; text-align:right;
  width:300px; border-radius:20px; overflow:hidden;
  background:linear-gradient(165deg, rgba(10,79,196,.94), rgba(6,55,149,.96));
  -webkit-backdrop-filter:blur(10px) saturate(1.2); backdrop-filter:blur(10px) saturate(1.2);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 22px 60px rgba(6,40,110,.4), inset 0 1px 0 rgba(255,255,255,.3);
}
.float-lead[hidden], .float-lead-tab[hidden]{ display:none; }
.float-lead__close{
  position:absolute; top:8px; left:8px; z-index:2; width:26px; height:26px; border:0; border-radius:50%;
  background:rgba(255,255,255,.25); color:#fff; font-size:15px; line-height:1; cursor:pointer;
}
.float-lead__close:hover{ background:rgba(255,255,255,.4); }
.float-lead__media{ position:relative; height:128px; overflow:hidden; }
.float-lead__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.float-lead__media::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(8,48,130,.85), transparent 60%); }
.float-lead__t{ position:absolute; bottom:9px; right:13px; z-index:1; font-family:var(--serif); font-weight:400; font-size:18px; color:#fff; }
.float-lead__form{ padding:16px 18px 18px; }
.float-lead__d{ font-size:13.5px; color:#dbe9ff; line-height:1.55; margin:0 0 12px; }
.float-lead .fl-hp{ position:absolute; left:-9999px; top:-9999px; height:0; width:0; opacity:0; }
.float-lead__form input:not(.fl-hp):not([type="checkbox"]){
  display:block; width:100%; box-sizing:border-box; direction:rtl; text-align:right;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3);
  border-radius:10px; color:#fff; font-family:var(--sans); font-size:14px; padding:11px 14px; margin-bottom:9px;
}
.float-lead__form input::placeholder{ color:#c9ddfa; }
.float-lead__form input:focus-visible{ outline:2px solid #fff; outline-offset:1px; }
.float-lead__btn{
  width:100%; border:0; background:var(--red); color:#fff; font-family:var(--sans); font-weight:700;
  font-size:15px; padding:12px; border-radius:var(--r-pill); cursor:pointer;
}
:root:not(.reduce-motion) .float-lead__btn{ animation:apos-pulse-blue 2.4s var(--e-soft) infinite; }
.float-lead__consent{ display:flex; gap:7px; align-items:flex-start; font-size:11px; color:#c9dcf8; line-height:1.45; margin:2px 0 11px; cursor:pointer; }
.float-lead__consent input[type="checkbox"]{ width:14px; height:14px; margin:1px 0 0; padding:0; flex:0 0 auto; accent-color:#fff; }
.float-lead__consent span{ flex:1; min-width:0; }
.float-lead__note{ display:block; font-size:11px; color:#b3cdf3; margin-top:9px; text-align:center; }
.float-lead__ok{ padding:22px 16px; font-size:13.5px; color:#fff; text-align:center; line-height:1.6; }
.float-lead-tab{
  position:fixed; left:0; top:55%; z-index:920; border:0; cursor:pointer;
  background:var(--blue-600); color:#fff; font-family:var(--sans); font-weight:700; font-size:12.5px;
  padding:10px 14px; border-radius:0 999px 999px 0; box-shadow:0 8px 22px rgba(6,40,110,.35);
}
.float-lead-tab:hover{ background:var(--blue-500); }
@media (max-width:1180px){ .float-lead, .float-lead-tab{ display:none !important; } }

/* ---- Floating "scroll to top" button (appears after scrolling one screen) ---- */
.to-top{
  position:fixed; inset-block-end:24px; inset-inline-start:24px; z-index:900;
  width:48px; height:48px; border-radius:50%; border:0; cursor:pointer;
  display:grid; place-items:center; color:#fff;
  background:linear-gradient(150deg,var(--blue-500),var(--blue-700));
  box-shadow:0 8px 24px rgba(0,70,160,.42);
  opacity:0; visibility:hidden; transform:translateY(14px);
  transition:opacity .3s var(--e-out), transform .3s var(--e-out), visibility .3s, box-shadow .3s var(--e-out);
}
.to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.to-top:hover{ transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,70,160,.55); }
.to-top:focus-visible{ outline:3px solid var(--blue-300); outline-offset:2px; }
/* Anchor-jump offset so the sticky header never covers a section heading
   (used on direct #hash page loads; the JS handler adds it for in-page clicks) */
main [id], section[id]{ scroll-margin-top:92px; }
/* Cookie-consent plugin accept button - force WCAG-passing contrast */
.modal-cacsp-btn.modal-cacsp-btn-accept{ background:#0a4f8f !important; border-color:#0a4f8f !important; color:#fff !important; }
/* keyboard focus rings for the remaining custom controls (WCAG 2.4.7) */
.demo-toggle:focus-visible, .carousel__arrow:focus-visible, .quiz-modal__close:focus-visible,
.video-thumb:focus-visible, .mcta-bar__quiz:focus-visible{
  outline:3px solid var(--blue-300); outline-offset:2px;
}
.to-top svg{ width:22px; height:22px; }
html.reduce-motion .to-top{ transition:opacity .2s, visibility .2s; }
html.reduce-motion .to-top.is-visible{ transform:none; }
@media (max-width:760px){ .to-top{ inset-block-end:86px; inset-inline-start:16px; width:44px; height:44px; } }

/* ---- Desktop / tablet floating WhatsApp button - DISABLED (Glassix chat covers this) ---- */
.wa-fab{ display:none !important; }
/* Using external Nagich accessibility widget - hide the built-in panel/button */
#a11y-open, #a11y-panel{ display:none !important; }

/* ---- 3D dual proof cards (87% / 92%) ---- */
.proofduo{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-block-start:26px; perspective:1000px; }
.proofduo__card{ transform-style:preserve-3d; display:flex; }
.proofduo__inner{ position:relative; width:100%; padding:22px 20px; border-radius:var(--r-lg); text-align:center; transform-style:preserve-3d;
  display:flex; flex-direction:column; justify-content:center;
  transition:transform .35s var(--e-out), box-shadow .35s var(--e-out); will-change:transform; }
.proofduo__inner::after{ content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0;
  background:radial-gradient(360px circle at var(--gx,50%) var(--gy,50%), rgba(96,169,255,.3), transparent 45%); transition:opacity .3s; }
.proofduo__card.tilting .proofduo__inner::after{ opacity:1; }
.proofduo__num{ font-family:var(--serif); font-weight:900; line-height:1; font-size:clamp(40px,6vw,60px); transform:translateZ(40px);
  background:linear-gradient(180deg,#fff 0%,#a5cfff 60%,#5aa9ff 100%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 8px 16px rgba(42,127,184,.45)); }
.proofduo__num .suf{ font-size:.5em; -webkit-text-fill-color:var(--blue-300); }
.proofduo__lbl{ margin-block-start:10px; font-size:14.5px; font-weight:600; color:var(--on-dark-mut); transform:translateZ(24px); }
@supports not ((-webkit-background-clip:text) or (background-clip:text)){ .proofduo__num{ background:none; -webkit-text-fill-color:#fff; color:#fff; } }
@media (max-width:600px){ .proofduo{ gap:12px; } }

/* ============================================================
   Contact Form 7 - style native CF7 fields to match the design
   ============================================================ */
.contactform .wpcf7 p{ margin:0 0 14px; }
.contactform .wpcf7-form-control-wrap{ display:block; }
.contactform label{ display:block; font-size:14px; font-weight:600; color:var(--text-strong); margin-bottom:6px; }
.contactform .wpcf7 input[type=text],
.contactform .wpcf7 input[type=tel],
.contactform .wpcf7 input[type=email],
.contactform .wpcf7 input[type=number],
.contactform .wpcf7 select,
.contactform .wpcf7 textarea{
  width:100%; font-family:var(--sans); font-size:16px; color:var(--text-strong);
  padding:13px 15px; border:1.5px solid var(--line); border-radius:var(--r-sm); background:#fff;
  transition:border-color .2s, box-shadow .2s; box-sizing:border-box;
  direction:rtl; text-align:right;
}
.contactform .wpcf7 input[type=tel],
.contactform .wpcf7 input[type=email]{ direction:rtl; text-align:right; }
.contactform .wpcf7 input::placeholder, .contactform .wpcf7 textarea::placeholder{ text-align:right; }
.contactform .wpcf7 input:focus,
.contactform .wpcf7 select:focus,
.contactform .wpcf7 textarea:focus{ outline:none; border-color:var(--blue-500); box-shadow:0 0 0 3px var(--blue-100); }
.contactform .wpcf7 .wpcf7-acceptance label{ display:flex; align-items:flex-start; gap:9px; font-weight:400; font-size:13px; color:var(--text-mut); cursor:pointer; }
.contactform .wpcf7 .wpcf7-acceptance input{ width:18px; height:18px; margin-top:2px; flex:0 0 auto; accent-color:var(--blue-600); }
.contactform .wpcf7 .wpcf7-submit{
  width:100%; font-family:var(--sans); font-weight:700; font-size:17px; color:#fff; cursor:pointer;
  background:var(--blue-600); border:0; border-radius:var(--r-pill); padding:15px 28px; margin-top:4px;
  transition:transform .2s, box-shadow .2s, background .2s;
}
.contactform .wpcf7 .wpcf7-submit:hover{ background:var(--blue-700); transform:translateY(-2px); box-shadow:var(--sh-blue); }
.contactform .wpcf7-not-valid-tip{ color:var(--red); font-size:13px; margin-top:4px; }
.contactform .wpcf7 .wpcf7-not-valid{ border-color:var(--red) !important; }
/* Response box: force a readable colour (the .cta section sets color:#fff, which
   the white form card inherited - making the message text invisible). */
.contactform .wpcf7-response-output{ border-radius:var(--r-sm); font-size:14px; margin:12px 0 0 !important; padding:11px 14px !important; text-align:center; color:#8a4b00; background:#fff4de; border:1px solid #f0c14b; }
.contactform .wpcf7 form.sent .wpcf7-response-output{ color:#0f5a2e; background:#e7f8ef; border-color:#8ed3a9; }
.contactform .wpcf7 form.failed .wpcf7-response-output,
.contactform .wpcf7 form.spam .wpcf7-response-output,
.contactform .wpcf7 form.aborted .wpcf7-response-output{ color:#7a1f1f; background:#fdecec; border-color:#e79a9a; }
/* two-column rows on wider screens for short fields */
@media (min-width:560px){
  .contactform .wpcf7 .cf7-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
}
.gaitlab .video-thumb{ max-width:500px; margin-inline-start:auto; width:100%; }
@media (max-width:900px){ .gaitlab .video-thumb{ margin-inline:auto; } }
.video-thumb{ display:block; width:100%; padding:0; border:0; background:#171c24; cursor:pointer; font-family:inherit; }
.video-thumb .play span{ width:64px; height:64px; }
.video-thumb .play svg{ width:24px; height:24px; }
.video-thumb.playing{ cursor:default; aspect-ratio:16/9; }
.video-thumb .video-embed{ width:100%; height:100%; border:0; display:block; border-radius:var(--r-lg); aspect-ratio:16/9; }


/* ===== Article TOC (ראשי פרקים) - ported from original ===== */
.apos-toc{margin:18px 0 26px;border:1px solid var(--line-soft,#e6e6e6);border-radius:14px;background:var(--paper,#f7f9fc);padding:18px 22px}
.apos-toc__title{font-weight:800;color:var(--blue-700,#0b4a8f);margin-bottom:10px;font-size:17px}
.apos-toc ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.apos-toc li{margin:0}
.apos-toc a{display:block;padding:6px 10px;border-radius:8px;color:var(--text,#1d2733);text-decoration:none;font-weight:600;transition:background .15s}
.apos-toc a:hover{background:#fff}
.apos-toc a::before{content:"›";margin-inline-end:8px;color:var(--blue-700,#0b4a8f);font-weight:800}
.prose .wp-content :is(h2,h3){scroll-margin-top:120px}
/* sp_easy_accordion / FAQ inside article content stay readable in the new design */
.prose .ea-card,.prose .sp-easy-accordion{margin:14px 0}
.related-articles>h2{margin-bottom:18px}


/* ===================== נוכחות בינלאומית - premium glass world ===================== */
.apos-world{ position:relative; overflow:hidden; }
.apos-world__bg{ position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(75% 60% at 72% 6%, rgba(47,140,194,.45), transparent 60%),
             radial-gradient(60% 60% at 6% 104%, rgba(10,52,120,.5), transparent 55%); }
.apos-world .wrap{ position:relative; z-index:1; }
.apos-world__layout{ display:grid; grid-template-columns:1.12fr .88fr; gap:34px; align-items:center; margin-block-start:38px; }
@media (max-width:900px){ .apos-world__layout{ grid-template-columns:1fr; gap:26px; } }
.apos-world__stage{ position:relative; padding:24px; display:grid; place-items:center; }
.apos-world__globe{ width:100%; max-width:440px; height:auto; display:block; }
.apos-world__globe .wgrid *{ fill:none; stroke:rgba(188,217,245,.22); stroke-width:1; }
.apos-world__globe .wsphere{ stroke:rgba(188,217,245,.3); stroke-width:1.2; }
.apos-world__globe .warc{ fill:none; stroke:var(--blue-300); stroke-width:1.6; stroke-linecap:round;
  stroke-dasharray:5 7; opacity:.75; animation:aposWdash 3s linear infinite;
  filter:drop-shadow(0 0 4px rgba(188,217,245,.6)); }
@keyframes aposWdash{ to{ stroke-dashoffset:-48; } }
.apos-world__globe .wpin__core{ fill:#fff; filter:drop-shadow(0 0 6px rgba(255,255,255,.9)); }
.apos-world__globe .wpin__core--hub{ fill:var(--blue-300); }
.apos-world__globe .wpin__ring{ fill:none; stroke:var(--blue-300); stroke-width:2;
  transform-box:fill-box; transform-origin:center; animation:aposWpulse 2.6s ease-out infinite; }
@keyframes aposWpulse{ 0%{ transform:scale(.5); opacity:.9; } 100%{ transform:scale(3.4); opacity:0; } }
.apos-world__badge{ position:absolute; bottom:16px; inset-inline-end:16px; padding:13px 18px; text-align:center; }
.apos-world__badge .n{ font-family:var(--serif); font-weight:900; font-size:30px; color:#fff; line-height:1; }
.apos-world__badge .n .plus{ color:var(--blue-300); }
.apos-world__badge .l{ font-size:12px; color:var(--on-dark-mut); margin-block-start:4px; }
.apos-world__cards{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
@media (max-width:520px){ .apos-world__cards{ grid-template-columns:1fr; } }
.apos-world .wcard{ display:flex; align-items:center; gap:13px; padding:16px 18px; color:#fff;
  text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.apos-world a.wcard:hover{ transform:translateY(-3px); box-shadow:inset 0 1px 0 rgba(255,255,255,.4), 0 20px 50px rgba(4,14,26,.42); }
.apos-world .wcard__dot{ width:9px; height:9px; border-radius:50%; background:var(--blue-300);
  box-shadow:0 0 0 4px rgba(188,217,245,.18); flex:0 0 auto; }
.apos-world .wcard__flag{ font-size:26px; line-height:1; display:inline-flex; align-items:center; }
.apos-world .wcard__flag img{ max-height:30px; width:auto; display:block; }
.apos-world .wcard__nm{ font-weight:700; font-size:16px; }
html.reduce-motion .apos-world__globe .warc,
html.reduce-motion .apos-world__globe .wpin__ring{ animation:none; }


/* ===== flat world map (international locations) ===== */
.apos-world__map{ width:100%; height:auto; display:block; max-width:760px; margin-inline:auto; font-family:var(--sans, inherit); overflow:visible; }
.apos-world__mapwrap{ position:relative; padding:24px 18px 18px; margin-block-start:34px; }
.apos-world .wland ellipse{ fill:rgba(188,217,245,.09); }
.apos-world .wgrid2 line{ stroke:rgba(188,217,245,.12); stroke-width:1; }
.apos-world .warc{ fill:none; stroke:var(--blue-300); stroke-width:1.6; stroke-linecap:round;
  stroke-dasharray:5 7; opacity:.7; animation:aposWdash 3s linear infinite; filter:drop-shadow(0 0 4px rgba(188,217,245,.55)); }
.apos-world .wpin__core{ fill:#fff; filter:drop-shadow(0 0 6px rgba(255,255,255,.9)); }
.apos-world .wpin__core--hub{ fill:var(--blue-300); }
.apos-world .wpin__ring{ fill:none; stroke:var(--blue-300); stroke-width:2;
  transform-box:fill-box; transform-origin:center; animation:aposWpulse 2.6s ease-out infinite; }
.apos-world .wlabel{ fill:#e7f1fc; font-size:11px; font-weight:700; paint-order:stroke; stroke:rgba(10,23,38,.55); stroke-width:2.4px; }
.apos-world__chips{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-block-start:24px; }
.apos-world .wchip{ display:inline-flex; align-items:center; gap:9px; padding:10px 16px; border-radius:999px; color:#fff; }
.apos-world .wchip__flag{ font-size:20px; line-height:1; }
.apos-world .wchip__nm{ font-weight:700; font-size:15px; }
html.reduce-motion .apos-world .warc, html.reduce-motion .apos-world .wpin__ring{ animation:none; }
@media (max-width:560px){ .apos-world .wlabel{ font-size:13px; } .apos-world__mapwrap{ padding:16px 10px; } }


/* ===== world map - Israel HQ emphasis ===== */
.apos-world .wpin__halo{ fill:rgba(188,217,245,.10); stroke:rgba(188,217,245,.4); stroke-width:1.2; }
.apos-world .whqtag{ fill:rgba(188,217,245,.16); stroke:rgba(188,217,245,.55); stroke-width:1; }
.apos-world .wlabel--hq{ fill:var(--blue-300); font-size:10px; font-weight:800; letter-spacing:.03em; stroke:none; }
.apos-world .wlabel--name{ font-size:14px; font-weight:800; }
@media (max-width:560px){ .apos-world .wlabel--hq{ font-size:12px; } .apos-world .wlabel--name{ font-size:16px; } }


/* ===== hero media - consistent, compact size across all landing pages =====
   All image heroes share .research-hero/.split-hero with a 16/10 media; capping
   the media height keeps every hero (research/gait-lab/about/patients) the same
   compact height, and align-items:center stops the text card stretching empty. */
.research-hero__media img, .split-hero__media img{ max-height:380px; }
@media (max-width:860px){ .research-hero__media img, .split-hero__media img{ max-height:none; } }


/* ===== press / media list cards (כתבו עלינו) ===== */
.presslist{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; }
.presscard{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line-soft,#e6ecf3); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:var(--text); box-shadow:var(--sh-1); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.presscard:hover{ transform:translateY(-4px); box-shadow:var(--sh-3); border-color:var(--blue-300); }
.presscard__media{ position:relative; aspect-ratio:16/10; background:radial-gradient(120% 120% at 80% -10%, #1e87f0 0%, transparent 55%), linear-gradient(150deg,var(--blue-700),var(--ink-900)); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; overflow:hidden; }
.presscard__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.presscard__ph{ width:50px; height:50px; color:rgba(255,255,255,.9); display:block; }
.presscard__ph svg{ width:100%; height:100%; }
.presscard__src{ color:#fff; font-weight:800; font-size:18px; padding:0 14px; text-align:center; line-height:1.2; }
.presscard__body{ padding:18px 20px 20px; display:flex; flex-direction:column; gap:9px; flex:1; }
.presscard__tag{ display:inline-flex; align-items:center; gap:6px; align-self:flex-start; font-size:12px; font-weight:700; color:var(--blue-700); background:rgba(42,127,184,.10); border-radius:999px; padding:4px 11px; }
.presscard h3{ font-size:17px; line-height:1.32; color:var(--text-strong); margin:0; }
.presscard__body p{ font-size:14px; color:var(--text-mut); line-height:1.5; margin:0; }
.presscard .more{ margin-top:auto; color:var(--blue-700); font-weight:700; font-size:14px; }
.presscard:hover .more .arr{ transform:translateX(-4px); }
.presscard .more .arr{ display:inline-block; transition:transform .2s ease; }


/* ===== research - uniform study cards (expand in place, no book flip) ===== */
.studygrid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:20px; align-items:start; }
.scard{ background:#fff; border:1px solid var(--line-soft,#e6ecf3); border-radius:var(--r-lg); box-shadow:var(--sh-1); overflow:hidden; transition:box-shadow .2s ease, border-color .2s ease; }
.scard:hover{ box-shadow:var(--sh-2); border-color:var(--blue-300); }
.scard[open]{ grid-column:1 / -1; box-shadow:var(--sh-3); border-color:var(--blue-300); }
.scard__head{ display:flex; flex-direction:column; cursor:pointer; list-style:none; }
.scard__head::-webkit-details-marker{ display:none; }
.scard__thumb{ position:relative; width:100%; aspect-ratio:16/10; overflow:hidden; background:var(--paper); }
.scard__thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.scard:hover .scard__thumb img{ transform:scale(1.045); }
.scard__badge{ position:absolute; top:12px; inset-inline-start:12px; background:rgba(13,40,70,.85); color:#fff; font-size:11.5px; font-weight:700; padding:4px 11px; border-radius:999px; }
.scard__intro{ padding:16px 18px 18px; }
.scard__intro h3{ font-size:16.5px; line-height:1.34; color:var(--text-strong); margin:0; }
.scard__ex{ font-size:13.5px; color:var(--text-mut); margin:8px 0 0; line-height:1.55; }
.scard__toggle{ display:inline-flex; align-items:center; margin-top:12px; color:var(--blue-700); font-weight:700; font-size:13.5px; }
.scard__toggle .c, .scard__toggle .o{ display:inline-flex; align-items:center; gap:6px; }
.scard__toggle .o{ display:none; }
.scard[open] .scard__toggle .c{ display:none; }
.scard[open] .scard__toggle .o{ display:inline-flex; }
.scard[open] .scard__thumb{ max-height:300px; }
.scard__full{ padding:2px 22px 24px; }
.scard__full :is(h3,h4){ color:var(--text-strong); margin-top:18px; }
.scard__full p{ color:var(--text); line-height:1.7; }

/* ===== research stat box - vivid (was washed-out) ===== */
.research__card{
  background:
    radial-gradient(120% 130% at 86% -14%, rgba(90,166,214,.55) 0%, transparent 55%),
    radial-gradient(95% 100% at 0% 122%, rgba(10,52,120,.65) 0%, transparent 52%),
    linear-gradient(155deg,#0a3478,#001a4d);
  border:1px solid rgba(188,217,245,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.20), 0 22px 60px rgba(8,24,44,.4);
}
.research__card .rstat__n{ color:#fff; }
.research__card .rstat__n .suf{ color:var(--blue-300); }
.research__card .rstat__l{ color:var(--on-dark-mut); }


/* ===== sitemap - full tree ===== */
.sitemap-card{ background:#fff; border:1px solid var(--line-soft,#e6ecf3); border-radius:var(--r-lg); padding:24px 26px; box-shadow:var(--sh-1); margin-bottom:24px; }
.sitemap-card__h{ color:var(--text-strong); font-size:18px; margin:0 0 14px; padding-bottom:12px; border-bottom:1px solid var(--line-soft,#e6ecf3); }
.sitemap-card__h a{ color:var(--blue-700); text-decoration:none; }
.sitemap-tree{ column-width:300px; column-gap:34px; }
.sitemap-tree ul{ list-style:none; margin:0; padding:0; }
.sitemap-tree > ul > li{ break-inside:avoid; margin-bottom:16px; }
.sitemap-tree a{ display:block; padding:4px 0; color:var(--text); font-size:14.5px; text-decoration:none; }
.sitemap-tree a:hover{ color:var(--blue-700); }
.sitemap-tree > ul > li > a{ font-weight:800; color:var(--text-strong); font-size:15.5px; }
.sitemap-tree .children{ margin:4px 0 0; padding-inline-start:14px; border-inline-start:2px solid var(--line-soft,#e6ecf3); }
.sitemap-tree .children a{ font-size:13.5px; color:var(--text-mut); }
.sitemap-list{ display:grid; gap:1px; }
.sitemap-list a{ padding:5px 0; color:var(--text); font-size:14px; text-decoration:none; }
.sitemap-list a:hover{ color:var(--blue-700); }
.sitemap-cols{ display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; align-items:start; }


/* ===== FINAL: vivid research banner (force over any cache/override) ===== */
.research__card{
  background:
    radial-gradient(120% 150% at 85% -18%, rgba(70,150,210,.6) 0%, transparent 52%),
    linear-gradient(150deg, #0058c9 0%, #042a73 52%, #031c52 100%) !important;
  border:1px solid rgba(188,217,245,.28) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), 0 24px 64px rgba(8,24,44,.45) !important;
  opacity:1 !important;
}
.research__card .cap{ color:#fff !important; }
.research__card .rstat__n{ color:#fff !important; }
.research__card .rstat__n .suf{ color:var(--blue-300) !important; }

/* ===== FINAL: compact split-hero text card (gait-lab/about/patients) =====
   so the text card matches the (now compact) image card - same height, less blue. */
.split-hero .page-hero__inner{ padding:clamp(16px,2vw,28px) clamp(18px,2.4vw,32px) !important; }
.split-hero .page-hero__inner h1{ font-size:clamp(25px,3.2vw,38px) !important; line-height:1.12; }
.split-hero .page-hero__inner .lead{ font-size:clamp(14.5px,1.5vw,17px) !important; margin-block-start:12px; }
.split-hero .page-hero__inner .quickline{ margin-block-start:16px; }


/* ===== אפוסתרפיה עד הבית (at-home) ===== */
.aph-split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,52px); align-items:center; }
@media (max-width:780px){ .aph-split{ grid-template-columns:1fr; } .aph-split > div:first-child{ order:-1; } }
.pera-undreline{ color:var(--blue-700); border-bottom:2px solid var(--blue-300); padding-bottom:1px; white-space:nowrap; }

/* =========================================================================
   ACCESSIBILITY FIXES (WCAG 2.1 AA) - addresses Lighthouse audits:
   color-contrast, link-in-text-block, heading-order (footer h4→h2 sizing).
   ========================================================================= */
/* Footer column titles became <h2> for correct heading order - keep the old
   <h4> visual size/weight so the design is unchanged. */
.footer__col h2{ font-size:1rem; font-weight:700; line-height:1.2; margin:0 0 4px; color:#fff; }

/* Legal disclaimer: brighten body + make the <strong> full-white so contrast
   on the dark footer clears AA at the small 12.5px size. */
.footer__legal-disc{ color:#c7d8ec; }
.footer__legal-disc strong{ color:#fff; }

/* Links inside text/prose & on dark CTA bands must be distinguishable by more
   than colour alone → underline them (buttons are excluded). */
.wp-content a:not(.btn):not([class*="btn"]),
.prose a:not(.btn):not([class*="btn"]),
.footer__legal-disc a,
.footer__bottom .links a,
.footer__bottom span > a,
.cta a[href^="tel"],
.cta__inner p a{
  text-decoration:underline;
  text-underline-offset:2px;
}

/* AVIF <picture> wrappers are layout-transparent - the <img> participates in
   its container's flex/grid exactly as before the upgrade (no visual change). */
picture{ display:contents; }

/* =========================================================================
   HERO HEADLINE FONT - Secular One (self-hosted bold display).
   Overrides only the homepage hero <h1>; all other headings keep Frank Ruhl.
   ========================================================================= */
.hero h1, .hero .shimmer-title{ font-family:'Secular One', var(--serif); font-weight:400; letter-spacing:0; line-height:1.16; }

/* =========================================================================
   COOKIE CONSENT → compact card docked to the bottom corner (RTL: right),
   away from the bottom-left chat launcher, and far smaller than the default
   full-screen modal. The page stays visible & usable behind it.
   ========================================================================= */
.modal-cacsp-backdrop{ opacity:.18 !important; }
.modal-cacsp-position{ pointer-events:none !important; }
.modal-cacsp-position .modal-cacsp-box-info{
  pointer-events:auto !important;
  position:fixed !important; bottom:18px !important; right:18px !important;
  left:auto !important; top:auto !important;
  width:min(440px, calc(100% - 36px)) !important; max-width:440px !important; margin:0 !important;
  max-height:72vh !important; overflow:auto !important;
  border-radius:16px !important; border:1px solid #e6e6e6 !important;
  box-shadow:0 16px 48px rgba(0,0,0,.28) !important;
}
.modal-cacsp-box-info .modal-cacsp-box-header{ font-size:15px !important; padding:13px 18px !important; }
.modal-cacsp-box-info .modal-cacsp-box-content{ font-size:13px !important; line-height:1.55 !important; padding:13px 18px !important; }
.modal-cacsp-box-info .modal-cacsp-btns{ padding:0 18px 16px !important; display:flex !important; gap:10px !important; flex-wrap:wrap !important; }
/* mobile: full-width compact card, LIFTED above the chat launcher so the
   "accept" button is never hidden behind it */
@media (max-width:600px){
  .modal-cacsp-position .modal-cacsp-box-info{
    bottom:88px !important; right:10px !important; left:10px !important;
    width:auto !important; max-width:none !important; max-height:62vh !important;
  }
}
/* the detailed "settings" panel stays a normal centered dialog */
.modal-cacsp-position .modal-cacsp-box-settings{ pointer-events:auto !important; position:static !important; align-self:center !important; }

/* =========================================================================
   TEAM photos - real portrait fills the frame; placeholder stays if absent.
   ========================================================================= */
.tmember__photo img{ width:100%; height:100%; object-fit:cover; display:block; }

/* =========================================================================
   V4 - SECULAR ONE SITE-WIDE.
   Display font (--serif) is now Secular One, so every heading & decorative
   number already inherits it. Below we (a) force ALL headings h1-h6 - incl.
   inner pages, articles, prose & footer - onto it, and (b) extend it to the
   UI "chrome": buttons, primary menu, eyebrows, chips, tabs & form labels.
   Body copy / paragraphs deliberately STAY Heebo for readability & WCAG.
   letter-spacing:0 because Secular One is already tight; font-weight:400 is
   its only real weight (font-synthesis:none on <body> blocks any fake-bold).
   ========================================================================= */
/* Headings & decorative display - Secular One, tracking reset to 0 so the
   old serif-tuned negative letter-spacing doesn't cramp the chunkier face. */
h1, h2, h3, h4, h5, h6,
.sec-head h1, .sec-head h2,
.page-hero h1, .split-hero h1, .chero h1, .phero h1, .research-hero h1,
.wp-content h1, .wp-content h2, .wp-content h3,
.prose h1, .prose h2, .prose h3,
.apos-article-body h1, .apos-article-body h2, .apos-article-body h3,
.featured-article__body h3, .article-cta h3,
.cta h2, .gaitlab h2, .feature-band h2,
.footer h2, .footer__col h2{
  font-family:'Secular One', var(--serif);
  font-weight:400;
  letter-spacing:0;
}
/* UI chrome - Secular One, but each element KEEPS its own tracking
   (e.g. the eyebrow's .14em label spacing) so the small labels stay refined. */
.btn, .btn--lg, .btn--sm,
.nav a,
.eyebrow,
.chip, .formtab,
.h-display,
.contactform label, .field label, form label{
  font-family:'Secular One', var(--serif);
  font-weight:400;
}

/* =========================================================================
   MOBILE MENU - scrollable panel (never hidden under the bottom CTA bar) +
   clean category / sub-category hierarchy. (Only shown on mobile via toggle.)
   ========================================================================= */
#mobile-nav:not([hidden]){
  display:block;
  max-height:calc(100dvh - 130px);          /* header bar + bottom CTA bar */
  overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain;
  padding-block:8px 26px;
}
.mobile-menu-list, .mobile-menu-list li, .mobile-menu-list .sub-menu{ list-style:none; margin:0; padding:0; }
.mobile-menu-list > li{ border-block-end:1px solid var(--line); }
.mobile-menu-list > li:last-child{ border-block-end:0; }
/* top-level category */
.mobile-menu-list > li > a{
  display:block; padding:14px 8px; font-family:var(--sans); font-weight:800;
  font-size:16px; color:var(--ink-900); letter-spacing:-.01em; line-height:1.3;
}
.mobile-menu-list > li.menu-item-has-children > a{ color:var(--blue-800); }
/* sub-categories - indented, lighter, with a bullet */
.mobile-menu-list .sub-menu{ margin:0 0 10px; }
.mobile-menu-list .sub-menu > li > a{
  display:block; position:relative; padding:9px 8px 9px 28px;
  font-family:var(--sans); font-weight:500; font-size:14.5px; color:var(--text-mut); line-height:1.35;
}
.mobile-menu-list .sub-menu > li > a::before{
  content:""; position:absolute; inset-inline-start:12px; inset-block-start:50%;
  width:6px; height:6px; margin-block-start:-3px; border-radius:50%; background:var(--blue-400);
}
.mobile-menu-list a:hover, .mobile-menu-list a:focus-visible{ color:var(--blue-700); }

/* =========================================================================
   MOBILE MENU - collapsible accordion (sub-categories fold under a chevron).
   ========================================================================= */
.mobile-menu-list .mm-row{ display:flex; align-items:stretch; gap:4px; border-radius:10px; transition:background .2s; }
.mobile-menu-list .mm-row > a{ flex:1 1 auto; }
/* re-apply the bold category style to links now wrapped in .mm-row */
.mobile-menu-list > li > .mm-row > a{
  display:block; padding:14px 8px; font-family:var(--sans); font-weight:800;
  font-size:16px; color:var(--ink-900); letter-spacing:-.01em; line-height:1.3;
}
.mobile-menu-list > li.menu-item-has-children > .mm-row > a{ color:var(--blue-800); }
.mm-toggle{
  flex:0 0 auto; width:48px; display:grid; place-items:center; padding:0;
  background:transparent; border:0; color:var(--blue-700); cursor:pointer; border-radius:10px;
}
.mm-toggle:hover, .mm-toggle:focus-visible{ background:var(--blue-050); }
.mm-toggle svg{ width:21px; height:21px; transition:transform .28s var(--e-out); }
.mobile-menu-list .menu-item-has-children.open > .mm-row{ background:var(--blue-050); }
.mobile-menu-list .menu-item-has-children.open > .mm-row .mm-toggle{ color:var(--blue-800); }
.mobile-menu-list .menu-item-has-children.open > .mm-row .mm-toggle svg{ transform:rotate(180deg); }
/* the sub-menu collapses smoothly (height set by JS) */
.mobile-menu-list .sub-menu{ overflow:hidden; max-height:0; margin:0 !important; transition:max-height .30s var(--e-out); }
.mobile-menu-list .menu-item-has-children.open > .sub-menu{ margin-block-end:10px !important; }

/* =========================================================================
   V4 - "HOW IT WORKS" image disassembly demo (ported from the LP3 page).
   Auto-loops STAGE 01→04 cross-fading 3 real photos (sole → +pods → shoe)
   inside a light glass card with a gentle 3D tilt (tilt driven by main.js).
   The numbered steps on the right highlight in sync; click one to jump.
   ========================================================================= */
.stage--img{
  aspect-ratio:3/2; max-width:560px; width:100%; margin-inline:auto;
  padding:clamp(16px,2.4vw,28px); border-radius:var(--r-lg); overflow:hidden;
  place-items:stretch;
}
.stage--img .stage__imgs{ position:absolute; inset:clamp(16px,2.4vw,28px); }
.stage--img .si{ position:absolute; inset:0; display:grid; place-items:center; opacity:0; transition:opacity .7s var(--e-out); }
.stage--img .si img{ width:100%; height:100%; object-fit:contain; }
/* which photo shows per stage (stage 3 = "calibration" reuses the pods photo) */
.stage--img[data-stage="1"] .si[data-si="1"],
.stage--img[data-stage="2"] .si[data-si="2"],
.stage--img[data-stage="3"] .si[data-si="2"],
.stage--img[data-stage="4"] .si[data-si="4"]{ opacity:1; }
/* calibration aim rings - only on stage 3 */
.stage__aim{ position:absolute; z-index:2; border:2px dashed var(--red); border-radius:50%; opacity:0; transition:opacity .45s; pointer-events:none; }
.stage__aim.a1{ width:26%; height:26%; inset-block-start:26%; inset-inline-end:28%; }
.stage__aim.a2{ width:24%; height:24%; inset-block-end:22%; inset-inline-start:30%; }
.stage--img[data-stage="3"] .stage__aim{ opacity:.85; }
:root:not(.reduce-motion) .stage--img[data-stage="3"] .stage__aim{ animation:aimpulse 1.4s ease-in-out infinite; }
@keyframes aimpulse{ 50%{ transform:scale(1.1); } }
/* badge + caption overlays */
.stage__badge{
  position:absolute; z-index:3; inset-block-start:14px; inset-inline-start:14px;
  font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:1px; color:var(--blue-700);
  background:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.9);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border-radius:8px; padding:5px 11px;
}
.stage__cap{
  position:absolute; z-index:3; inset-block-end:14px; inset-inline:0; margin-inline:auto;
  width:max-content; max-width:84%; text-align:center;
  font-size:14px; font-weight:700; color:var(--blue-800);
  background:rgba(255,255,255,.86); border:1px solid rgba(255,255,255,.95);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border-radius:var(--r-pill); padding:7px 18px; box-shadow:0 6px 18px rgba(10,23,38,.14);
}
/* play/pause toggle */
.stage--img .demo-toggle{
  position:absolute; z-index:3; inset-block-start:12px; inset-inline-end:12px;
  display:inline-flex; align-items:center; gap:7px; cursor:pointer;
  background:rgba(255,255,255,.72); border:1px solid rgba(255,255,255,.9); color:var(--blue-700);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border-radius:var(--r-pill); padding:7px 13px; font-family:inherit; font-weight:600; font-size:12.5px;
  transition:background .2s, box-shadow .2s;
}
.stage--img .demo-toggle:hover{ background:#fff; box-shadow:var(--sh-1); }

/* numbered steps (right column) */
.anatomy__steps--num{ gap:12px; }
.astep{
  display:flex; gap:15px; align-items:flex-start; text-align:start; width:100%; cursor:pointer;
  /* inactive = slightly translucent CARD (not opacity on the text, which fails
     WCAG contrast); the active card pops via full white + gradient + shadow */
  background:rgba(255,255,255,.92); border:1px solid rgba(255,255,255,.45); border-radius:var(--r-md); padding:15px 18px;
  font-family:inherit; transition:opacity .35s var(--e-out), border-color .25s, background .35s, box-shadow .35s, transform .25s;
}
.astep__n{ font-family:var(--serif); font-weight:900; font-size:24px; color:var(--blue-700); line-height:1; flex:0 0 auto; min-width:34px; }
/* the step title is a real <h3> for SEO, in Secular One to match the site's
   other headings (margin-reset; font-weight:400 = Secular One's single weight). */
.astep__t{ margin:0; font-family:'Secular One', var(--serif); font-weight:400; font-size:17.5px; color:var(--text-strong); line-height:1.3; letter-spacing:0; }
.astep__d{ display:block; font-size:14.5px; color:#515c6e; margin-block-start:5px; line-height:1.55; }
.astep:hover{ border-color:var(--blue-300); background:rgba(255,255,255,.97); }
.astep:focus-visible{ outline:2px solid var(--blue-600); outline-offset:2px; opacity:1; }
.astep.is-active{
  opacity:1; border-color:var(--blue-300);
  background:linear-gradient(135deg, rgba(255,255,255,.96), var(--blue-050));
  box-shadow:var(--sh-2);
}
.astep.is-active .astep__n{ color:var(--blue-700); }
html.reduce-motion .stage--img .si{ transition:none; }
@media (max-width:900px){ .stage--img{ order:-1; max-width:480px; } }
@media (max-width:560px){ .astep{ padding:13px 15px; } .astep__t{ font-size:16px; } }

/* =========================================================================
   THANK-YOU PAGE (template-thankyou.php) - centered success + 4-step tracker
   ========================================================================= */
.ty{ position:relative; overflow:hidden; background:linear-gradient(180deg,#f0f6ff,#eaf2ff); padding:clamp(48px,8vw,100px) 0; }
.ty .wrap{ position:relative; z-index:1; }
.ty__card{ max-width:760px; margin-inline:auto; padding:0 20px; text-align:center; }
.ty__check{ width:96px; height:96px; border-radius:50%; background:#e7f8ef; display:flex; align-items:center; justify-content:center; margin:0 auto 22px; }
.ty__check span{ width:70px; height:70px; border-radius:50%; background:#1faa5a; display:flex; align-items:center; justify-content:center; }
.ty__check svg{ width:38px; height:38px; }
.ty__title{ font-family:var(--serif); font-weight:400; color:#042a73; font-size:clamp(28px,5vw,38px); line-height:1.15; margin:0; }
.ty__sub{ font-size:clamp(16px,2.4vw,19px); color:#3a4a63; line-height:1.6; margin:14px auto 0; max-width:480px; }
.ty__steps{ display:flex; direction:rtl; justify-content:space-between; position:relative; max-width:620px; margin:40px auto 0; padding:0; list-style:none; }
.ty__steps::before{ content:""; position:absolute; top:24px; right:11%; left:11%; height:4px; background:#d5deec; border-radius:2px; }
.ty__steps::after{ content:""; position:absolute; top:24px; right:11%; width:12%; height:4px; background:#1faa5a; border-radius:2px; }
.ty__step{ position:relative; z-index:1; width:24%; }
.ty__dot{ width:50px; height:50px; border-radius:50%; background:#fff; border:2px solid #d5deec; display:flex; align-items:center; justify-content:center; margin:0 auto; font-weight:800; font-size:18px; color:#9aa7bd; }
.ty__dot svg{ width:26px; height:26px; }
.ty__step.is-done .ty__dot{ background:#1faa5a; border-color:#1faa5a; color:#fff; box-shadow:0 0 0 5px #e7f8ef; }
.ty__lbl{ display:block; font-size:clamp(12px,1.6vw,14px); color:#64748b; line-height:1.35; margin-top:12px; }
.ty__step.is-done .ty__lbl{ color:#0f7a43; font-weight:600; }
.ty__cta{ margin-top:40px; }
.ty__phone{ margin-top:16px; font-size:16px; color:#64748b; }
.ty__phone a{ color:#042a73; font-weight:800; }
@media (max-width:560px){
  .ty__dot{ width:42px; height:42px; font-size:16px; }
  .ty__dot svg{ width:22px; height:22px; }
  .ty__steps::before,.ty__steps::after{ top:20px; }
  .ty__lbl{ font-size:11.5px; }
}
