@font-face {
  font-family: "Mulish";
  src: url("../fonts/mulish-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

@font-face {
  font-family: "Almarai";
  src: url("../fonts/almarai-arabic-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Almarai";
  src: url("../fonts/almarai-arabic-700.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Almarai";
  src: url("../fonts/almarai-arabic-800.woff2") format("woff2");
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

:root {
  color-scheme: light;

  /* Brand primitives */
  --sage-50: #f4faf9;
  --sage-100: #e8f5f3;
  --sage-200: #d4ede9;
  --sage-500: #b8e1dc;
  --sage-700: #4a7772;
  --coral-50: #fff7f3;
  --coral-100: #f9e9e3;
  --coral-200: #f0d1c6;
  --coral-500: #e0a998;
  --coral-700: #895b4d;
  --shore-500: #3f6e86;
  --shore-700: #2e566b;
  --plum-900: #2e2a33;

  /* Semantic color system */
  --page: #fdfcf9;
  --surface: #ffffff;
  --surface-soft: #f6f7f5;
  --surface-sage: var(--sage-50);
  --surface-coral: var(--coral-50);
  --text: var(--plum-900);
  --text-soft: #625d66;
  --text-faint: #6f6873;
  --line: #e5e1dc;
  --line-strong: #d2cbc4;
  --action: var(--shore-500);
  --action-hover: var(--shore-700);
  --on-dark: #fffdf9;
  --danger: #9d3f3f;
  --success: #2f6b61;

  /* Rhythm and geometry */
  --max: 1240px;
  --measure: 64ch;
  --gutter: clamp(1.25rem, 4vw, 3.5rem);
  --section-y: clamp(4.5rem, 8vw, 7rem);
  --space-2xs: 0.25rem;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --radius-sm: 0.75rem;
  --radius-md: 1.125rem;
  --radius-lg: 1.75rem;
  --radius-xl: 2.25rem;
  --pill: 999px;
  --shadow-sm: 0 8px 24px rgba(46, 42, 51, 0.06);
  --shadow-md: 0 22px 56px rgba(46, 42, 51, 0.1);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--page);
  color: var(--text);
  font-family: "Mulish", "Avenir Next", system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  font-kerning: normal;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
[dir="rtl"] body,
[dir="rtl"] button,
[dir="rtl"] input,
[dir="rtl"] select,
[dir="rtl"] textarea { font-family: "Almarai", "Avenir Arabic", sans-serif; }
::selection { background: var(--sage-500); color: var(--text); }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }

.shell {
  width: min(100%, calc(var(--max) + var(--gutter) * 2));
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.skip-link {
  position: fixed;
  inset-inline-start: 1rem;
  top: 0.75rem;
  z-index: 1000;
  transform: translateY(-180%);
  padding: 0.625rem 1rem;
  border-radius: var(--pill);
  background: var(--text);
  color: var(--on-dark);
}
.skip-link:focus { transform: none; }
.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;
}

/* Header — quiet, precise, and independent from the hero canvas */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(253, 252, 249, 0.92);
  background: color-mix(in srgb, var(--page) 91%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--line) 84%, transparent);
  backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
}
.nav {
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-lg);
}
.brand {
  min-width: 14.5rem;
  display: inline-flex;
  align-items: center;
  gap: 0;
  direction: ltr;
  line-height: 0;
}
.brand-logo-mark,
.brand-logo-text {
  position: relative;
  display: block;
  flex: 0 0 auto;
  overflow: hidden;
}
.brand-logo-mark {
  width: 3.25rem;
  height: 3.25rem;
}
.brand-logo-mark img {
  position: absolute;
  width: 5.3rem;
  max-width: none;
  height: 5.3rem;
  inset-inline-start: 50%;
  top: 50%;
  transform: translate(-50%, -58%);
}
.brand-logo-text {
  width: 10.5rem;
  height: 2.9rem;
}
.brand-logo-text img {
  position: absolute;
  width: 10.5rem;
  max-width: none;
  height: 10.5rem;
  inset-inline-start: -0.75rem;
  top: 50%;
  transform: translateY(-50%);
}
[dir="rtl"] .brand-logo-mark { order: 2; }
[dir="rtl"] .brand-logo-text { order: 1; }
[dir="rtl"] .brand-logo-text img { inset-inline-start: 0.4rem; }
.brand-logo {
  width: 4.5rem;
  height: 4.5rem;
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}
.brand-mark { width: 2.75rem; height: 2.5rem; object-fit: contain; }
.brand-wordmark { width: 10.6rem; height: 2.75rem; object-fit: contain; }
.nav-links {
  display: flex;
  align-items: center;
  gap: clamp(0.25rem, 0.9vw, 0.625rem);
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.875rem;
  font-weight: 700;
}
.nav-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding-inline: 0.9rem;
  border-radius: var(--pill);
  color: var(--text-soft);
  transition: background-color 200ms var(--ease), color 200ms var(--ease);
}
.nav-links a:hover {
  background: rgba(46, 42, 51, 0.07);
  color: var(--text);
}
.nav-links a[aria-current="page"] {
  background: linear-gradient(105deg, rgba(184, 225, 220, 0.55), rgba(224, 169, 152, 0.55));
  color: var(--text);
}
[dir="rtl"] .nav-links a[aria-current="page"] {
  background: linear-gradient(-105deg, rgba(184, 225, 220, 0.55), rgba(224, 169, 152, 0.55));
}
.nav-actions { display: flex; align-items: center; gap: 0.625rem; }
.language {
  display: inline-flex;
  align-items: center;
  padding: 0.1875rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--pill);
  background: var(--surface);
  font-size: 0.75rem;
  font-weight: 800;
}
.language a {
  min-width: 2rem;
  min-height: 2rem;
  display: grid;
  place-items: center;
  padding-inline: 0.5rem;
  border-radius: var(--pill);
}
.language a[aria-current="true"] { background: var(--coral-100); color: var(--text); }
.menu-toggle {
  display: none;
  width: 2.875rem;
  height: 2.875rem;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--surface);
  color: var(--text);
  align-items: center;
  justify-content: center;
}
.menu-toggle svg { width: 1.4rem; }
.mobile-panel {
  position: fixed;
  inset: 5rem 0 0;
  z-index: 45;
  padding: var(--space-xl) var(--gutter);
  overflow: auto;
  background: var(--page);
  background-image: url("../brand/care-lines.svg");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 190% auto;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 480ms var(--ease);
  will-change: clip-path;
}
.mobile-panel.is-open { clip-path: inset(0 0 0 0); }
.mobile-panel nav { display: grid; }
.mobile-panel nav a {
  padding-block: 0.875rem;
  border-bottom: 1px solid var(--line);
  font-size: clamp(1.5rem, 7vw, 2.25rem);
  font-weight: 800;
}
.mobile-panel nav a[aria-current="page"] {
  padding-inline: 0.9rem;
  border-radius: var(--pill);
  border-bottom-color: transparent;
  background: linear-gradient(105deg, rgba(184, 225, 220, 0.55), rgba(224, 169, 152, 0.55));
}
[dir="rtl"] .mobile-panel nav a[aria-current="page"] {
  background: linear-gradient(-105deg, rgba(184, 225, 220, 0.55), rgba(224, 169, 152, 0.55));
}
.mobile-panel nav a,
.mobile-actions > * {
  opacity: 0;
  transform: translateY(0.85rem);
  transition: opacity 300ms var(--ease), transform 300ms var(--ease);
}
.mobile-panel.is-open nav a,
.mobile-panel.is-open .mobile-actions > * { opacity: 1; transform: none; }
.mobile-panel.is-open nav a:nth-child(1) { transition-delay: 90ms; }
.mobile-panel.is-open nav a:nth-child(2) { transition-delay: 140ms; }
.mobile-panel.is-open nav a:nth-child(3) { transition-delay: 190ms; }
.mobile-panel.is-open nav a:nth-child(4) { transition-delay: 240ms; }
.mobile-panel.is-open nav a:nth-child(5) { transition-delay: 290ms; }
.mobile-panel.is-open .mobile-actions > * { transition-delay: 340ms; }
.mobile-actions { display: grid; gap: var(--space-md); margin-top: var(--space-xl); }
.mobile-actions .language {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 0.25rem;
  font-size: 0.875rem;
}
.mobile-actions .language a {
  min-height: 2.6rem;
  border-radius: var(--pill);
  padding-inline: 0;
}

/* Actions */
.btn {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  padding: 0.75rem 1.4rem;
  border: 1px solid transparent;
  border-radius: var(--pill);
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.2;
  transition: transform 300ms var(--ease), background-color 300ms var(--ease), border-color 300ms var(--ease), box-shadow 300ms var(--ease);
}
.btn-primary { background: var(--action); color: var(--on-dark); }
.btn-secondary { background: var(--surface); border-color: var(--line-strong); color: var(--text); }
.btn-sm { min-height: 2.625rem; padding: 0.625rem 1.125rem; font-size: 0.8125rem; }
.btn svg { width: 1.1rem; height: 1.1rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
@media (hover: hover) {
  .btn:hover { transform: translateY(-2px); }
  .btn-primary:hover { background: var(--action-hover); box-shadow: 0 12px 28px rgba(63, 110, 134, 0.2); }
  .btn-secondary:hover { border-color: var(--sage-700); background: var(--sage-50); }
}
.btn:active { transform: translateY(0); }
.btn:focus-visible,
.menu-toggle:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--action);
  outline-offset: 3px;
}

/* Legacy homepage hero removed; the immersive hero below is canonical. */
/* Proof band */
.trust-band {
  position: relative;
  z-index: 2;
  background: transparent;
  border-block: 1px solid var(--line);
}
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-stat {
  position: relative;
  padding: 2rem clamp(1rem, 3vw, 2.25rem);
  border-inline-end: 1px solid var(--line);
}
.trust-stat:last-child { border-inline-end: 0; }
.trust-stat strong {
  display: block;
  color: var(--text);
  font-size: clamp(2rem, 4vw, 3rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
[dir="rtl"] .trust-stat strong { text-align: right; }
.trust-stat span { display: block; margin-top: 0.5rem; color: var(--text-faint); font-size: 0.8125rem; }

/* Shared sections */
.section { position: relative; padding-block: var(--section-y); }
.section-cream { background: linear-gradient(180deg, var(--page) 0%, var(--coral-50) 45%); }
.section-plum {
  background: linear-gradient(180deg, var(--page) 0%, var(--sage-50) 50%, var(--page) 100%);
  color: var(--text);
}
.section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.56fr);
  gap: clamp(2rem, 6vw, 5rem);
  align-items: end;
  margin-bottom: clamp(2.5rem, 6vw, 4rem);
}
.section-head h2,
.visit-copy h2,
.feature-copy h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(2.25rem, 4.5vw, 4.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.07;
}
[dir="rtl"] .section-head h2,
[dir="rtl"] .visit-copy h2,
[dir="rtl"] .feature-copy h2 { letter-spacing: 0; line-height: 1.35; }
.section-head p { max-width: 52ch; margin: 0; color: var(--text-soft); }
.kicker {
  display: inline-flex;
  margin-bottom: var(--space-md);
  color: var(--shore-700);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
[dir="rtl"] .kicker { letter-spacing: 0; }

/* Legacy homepage service cards removed. */
/* Legacy homepage journey removed. */
/* Legacy homepage needs grid removed. */
/* Visit request */
.visit-section {
  padding-block: clamp(3.75rem, 6vw, 5.5rem);
  background: linear-gradient(180deg, var(--coral-50) 0%, var(--page) 100%);
}
.visit-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(24rem, 1fr);
  gap: clamp(3rem, 8vw, 7rem);
  align-items: start;
  width: min(100%, 64rem);
}
.visit-eyebrow {
  margin: 0 0 1rem;
  color: var(--shore-700);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
[dir="rtl"] .visit-eyebrow { letter-spacing: 0; }
.visit-copy h2 {
  margin-bottom: var(--space-md);
  font-size: clamp(2.1rem, 3.4vw, 3rem);
  letter-spacing: -0.015em;
  line-height: 1.12;
}
.visit-copy p { max-width: 44ch; color: var(--text-soft); }
.visit-privacy {
  margin-top: var(--space-lg);
  padding-top: var(--space-md);
  border-top: 1px solid var(--line);
  color: var(--text-faint);
  font-size: 0.8125rem;
  line-height: 1.6;
}
.visit-form {
  display: grid;
  gap: 1.375rem;
}
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.field { display: grid; gap: 0.5rem; }
.field label, .field-label { color: var(--text); font-size: 0.8125rem; font-weight: 800; }
.field input, .field select, .field textarea {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.8125rem 0.9375rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--surface);
  color: var(--text);
}
.field textarea { min-height: 7rem; resize: vertical; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--sage-700); }
.field input:focus, .field select:focus, .field textarea:focus {
  outline: 3px solid color-mix(in srgb, var(--action) 22%, transparent);
  outline-offset: 1px;
  border-color: var(--action);
}
.consent { display: flex; align-items: flex-start; gap: 0.625rem; color: var(--text-soft); font-size: 0.8125rem; }
.consent input { margin-top: 0.25rem; accent-color: var(--action); }
.form-help { margin: -0.5rem 0 0; color: var(--text-faint); font-size: 0.75rem; }
.form-submit { justify-self: start; }
/* Consultation request */
.consultation-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4.5rem, 9vw, 7.5rem);
  background: linear-gradient(125deg, var(--sage-100), var(--page) 58%, var(--coral-50));
}
[dir="rtl"] .consultation-hero { background: linear-gradient(-125deg, var(--sage-100), var(--page) 58%, var(--coral-50)); }
.consultation-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, var(--sage-500), var(--coral-500));
}
.consultation-hero-inner { position: relative; z-index: 1; }
.consultation-kicker {
  margin: 0 0 1rem;
  color: var(--shore-700);
  font-size: 0.875rem;
  font-weight: 800;
}
.consultation-hero h1 {
  max-width: 14ch;
  margin: 0;
  color: var(--text);
  font-size: clamp(3rem, 6vw, 5.25rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.04;
}
[dir="rtl"] .consultation-hero h1 { letter-spacing: 0; line-height: 1.3; }
.consultation-hero p:last-child {
  max-width: 58ch;
  margin: 1.5rem 0 0;
  color: var(--text-soft);
  font-size: clamp(1rem, 1.3vw, 1.125rem);
}
.consultation-section { padding-block: clamp(4rem, 8vw, 7rem); }
.consultation-layout {
  display: grid;
  grid-template-columns: minmax(16rem, 0.48fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 7vw, 6rem);
  align-items: start;
}
.consultation-intro h2 {
  max-width: 12ch;
  margin: 0 0 1rem;
  color: var(--text);
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  line-height: 1.14;
}
[dir="rtl"] .consultation-intro h2 { line-height: 1.45; }
.consultation-intro p { max-width: 36ch; color: var(--text-soft); }
.consultation-file-note {
  margin-top: 1.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  font-size: 0.875rem;
}
.consultation-form {
  gap: 0;
  padding: clamp(1.5rem, 4vw, 2.75rem);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
}
.consultation-progress {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 2.5rem;
  padding: 0 0 1.5rem;
  border-bottom: 1px solid var(--line);
  list-style: none;
}
.consultation-progress li {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  color: var(--text-faint);
  font-size: 0.75rem;
}
.consultation-progress li + li { padding-inline-start: 0.75rem; border-inline-start: 1px solid var(--line); }
.consultation-progress span {
  width: 1.75rem;
  height: 1.75rem;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  background: var(--page);
  font-weight: 800;
}
.consultation-progress li[aria-current="step"] { color: var(--text); }
.consultation-progress li[aria-current="step"] span { border-color: var(--action); background: var(--action); color: var(--on-dark); }
.consultation-form:not(.is-enhanced) .consultation-progress,
.consultation-form:not(.is-enhanced) .step-next,
.consultation-form:not(.is-enhanced) .step-back { display: none; }
.consultation-step {
  min-width: 0;
  display: grid;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  border: 0;
}
.consultation-step[hidden] { display: none; }
.consultation-step legend {
  width: 100%;
  margin: 0 0 1.75rem;
  padding: 0;
  color: var(--text);
  font-size: clamp(1.5rem, 2.4vw, 2.15rem);
  font-weight: 800;
  line-height: 1.25;
}
[dir="rtl"] .consultation-step legend { line-height: 1.55; }
.choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.choice-option {
  min-height: 3.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--page);
  color: var(--text);
  cursor: pointer;
  transition: border-color 200ms var(--ease), background-color 200ms var(--ease);
}
.choice-option:has(input:checked) { border-color: var(--action); background: var(--sage-50); }
.field .choice-option input {
  width: 1.125rem;
  height: 1.125rem;
  min-height: 0;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  border: 0;
  accent-color: var(--action);
}
.optional-label { color: var(--text-faint); font-size: 0.75rem; font-weight: 400; }
.consultation-form input[type="file"] { padding: 0.55rem; }
.consultation-form input[type="file"]::file-selector-button {
  margin-inline-end: 0.75rem;
  padding: 0.5rem 0.875rem;
  border: 0;
  border-radius: var(--pill);
  background: var(--sage-100);
  color: var(--text);
  font-weight: 800;
  cursor: pointer;
}
.consultation-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding-top: 0.5rem;
}
.consultation-actions--end { justify-content: flex-end; }
.consultation-actions .form-submit { justify-self: auto; }

/* Footer — the single grounding dark plane */
.footer {
  padding: 2.75rem 0 1.5rem;
  background: var(--plum-900);
  color: var(--on-dark);
}
.footer-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.5rem 2.5rem;
  padding-bottom: 2rem;
}
.footer-brand { display: inline-flex; align-items: center; line-height: 0; }
.footer-brand .brand-logo {
  width: 7.5rem;
  height: 7.5rem;
  filter: brightness(0) invert(1);
  opacity: 0.94;
}
.footer-brand .brand-mark { width: 2.9rem; height: 2.7rem; }
.footer-brand .brand-wordmark { width: 11rem; height: 2.75rem; }
.footer-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 1.75rem;
  font-size: 0.875rem;
  font-weight: 700;
}
.footer a { color: rgba(255, 253, 249, 0.75); }
.footer-lang { font-size: 0.875rem; font-weight: 800; }
@media (hover: hover) { .footer a:hover { color: var(--on-dark); } }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  padding-top: 1.375rem;
  border-top: 1px solid rgba(255, 253, 249, 0.14);
  color: rgba(255, 253, 249, 0.5);
  font-size: 0.75rem;
}

/* Interior page hero */
.page-hero {
  padding: clamp(4rem, 8vw, 6.5rem) 0 clamp(3.5rem, 7vw, 5.5rem);
  background: linear-gradient(180deg, var(--coral-50) 0%, var(--page) 100%);
}
.page-hero-inner { max-width: 56rem; }
.page-hero h1 {
  max-width: 13ch;
  margin-bottom: var(--space-lg);
  color: var(--text);
  font-size: clamp(2.6rem, 5vw, 4.25rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.08;
}
[dir="rtl"] .page-hero h1 { letter-spacing: 0; line-height: 1.28; }
.page-hero p { max-width: 64ch; margin: 0; color: var(--text-soft); font-size: clamp(1.0625rem, 1.5vw, 1.25rem); }
.page-hero .hero-actions { margin-top: var(--space-xl); }
.page-hero-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(21rem, 0.72fr);
  gap: clamp(3rem, 7vw, 6rem);
  align-items: center;
}
.page-hero-image {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-lg);
}
.page-hero-image img { width: 100%; height: 100%; object-fit: cover; }

/* About hero - layered care canvas inspired by the reference composition. */
.about-page-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: max(47rem, calc(100svh - 5rem));
  min-height: max(47rem, calc(100dvh - 5rem));
  padding: 0;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(244, 250, 249, 0) 58%, var(--sage-50) 100%),
    linear-gradient(118deg, rgba(249, 233, 227, 0.88) 0%, rgba(232, 245, 243, 0.68) 45%, rgba(246, 247, 245, 0.95) 100%),
    var(--page);
}
.about-hero-shell {
  position: relative;
  z-index: 3;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  gap: clamp(2rem, 5vh, 3.5rem);
  padding-block: clamp(12rem, 28vh, 18rem) 1.5rem;
}
.about-hero-copy {
  max-width: min(50rem, 67%);
  padding: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.about-page-hero h1 {
  max-width: 16ch;
  margin-bottom: 1.35rem;
  font-size: clamp(3.25rem, 6.2vw, 5.6rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 0.98;
}
[dir="rtl"] .about-page-hero h1 {
  max-width: 13ch;
  font-size: clamp(3rem, 5.6vw, 5.1rem);
  letter-spacing: 0;
  line-height: 1.22;
}
.about-page-hero p {
  max-width: 57ch;
  font-size: clamp(1rem, 1.35vw, 1.2rem);
  line-height: 1.75;
  text-shadow: 0 1px 18px rgba(253, 252, 249, 0.9);
}
.about-page-hero .about-hero-lede--dark {
  color: var(--plum-900);
}
.about-hero-photo {
  position: absolute;
  z-index: 0;
  inset-block: 0;
  inset-inline-end: 0;
  width: 100%;
  aspect-ratio: auto;
  border-radius: 0;
  opacity: 0.72;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 46%, rgba(0, 0, 0, 0.76) 64%, rgba(0, 0, 0, 0.22) 84%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 46%, rgba(0, 0, 0, 0.76) 64%, rgba(0, 0, 0, 0.22) 84%, transparent 100%);
}
.about-hero-photo img {
  object-position: 58% center;
  filter: saturate(0.82) contrast(0.92);
}
[dir="rtl"] .about-hero-photo img { object-position: 42% center; }
.about-hero-geometry {
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
}
.about-hero-geometry span {
  position: absolute;
  top: -7%;
  height: 48%;
  clip-path: polygon(0 0, 100% 0, 100% 74%, 0 100%);
  border-inline: 1px solid rgba(255, 255, 255, 0.42);
}
.about-hero-geometry span:nth-child(1) {
  inset-inline-start: -3%;
  width: 25%;
  background: linear-gradient(160deg, rgba(240, 209, 198, 0.75), rgba(255, 247, 243, 0.25));
}
.about-hero-geometry span:nth-child(2) {
  inset-inline-start: 19%;
  width: 24%;
  height: 39%;
  background: linear-gradient(160deg, rgba(212, 237, 233, 0.72), rgba(255, 255, 255, 0.3));
}
.about-hero-geometry span:nth-child(3) {
  inset-inline-start: 40%;
  width: 27%;
  height: 53%;
  background: linear-gradient(160deg, rgba(184, 225, 220, 0.6), rgba(63, 110, 134, 0.12));
}
.about-hero-geometry span:nth-child(4) {
  inset-inline-end: -2%;
  width: 38%;
  height: 44%;
  background: linear-gradient(160deg, rgba(63, 110, 134, 0.26), rgba(255, 255, 255, 0.22));
}
.about-hero-stats {
  width: 100%;
  background: transparent;
}
.about-hero-stats .trust-stat {
  padding-block: 1.25rem;
  background: transparent;
  border-color: rgba(46, 42, 51, 0.13);
}
.about-hero-stats .trust-stat strong { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.about-hero-stats .trust-stat span { color: var(--text-soft); }
.about-page-hero + .section {
  background: linear-gradient(180deg, var(--sage-50) 0%, var(--page) 22%);
}
.about-hero-shell.branches-hero-shell {
  justify-content: flex-end;
  padding-block-end: clamp(4.5rem, 9vh, 6.5rem);
}
.branches-hero-photo img { object-position: 54% center; }
[dir="rtl"] .branches-hero-photo img { object-position: 46% center; }
.branches-page-hero .kicker {
  margin-bottom: 1.25rem;
  color: var(--shore-700);
}
.about-hero-shell.services-hero-shell {
  justify-content: flex-end;
  padding-block-end: clamp(3.75rem, 8vh, 5.5rem);
}
.services-hero-photo img { object-position: 58% center; }
[dir="rtl"] .services-hero-photo img { object-position: 42% center; }
.services-page-hero h1 {
  max-width: 18ch;
  font-size: clamp(3rem, 5vw, 4.8rem);
  line-height: 1.04;
}
[dir="rtl"] .services-page-hero h1 {
  max-width: 20ch;
  font-size: clamp(2.8rem, 4.7vw, 4.4rem);
  line-height: 1.28;
}

@media (prefers-reduced-transparency: reduce) {
  .about-hero-photo { opacity: 0.62; }
}

/* Interior content patterns */
.content-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.info-card {
  padding: 2rem;
  border-inline-end: 1px solid var(--line);
  background: transparent;
}
.info-card:last-child { border-inline-end: 0; }
.info-card h2, .info-card h3 { margin-bottom: 0.75rem; color: var(--text); font-size: 1.5rem; line-height: 1.3; }
.info-card p { margin: 0; color: var(--text-soft); }

.program-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); }
.program-card {
  position: relative;
  min-height: 14.5rem;
  display: flex;
  flex-direction: column;
  padding: 1.75rem 1.5rem;
  border-inline-end: 1px solid var(--line);
  background: transparent;
}
.program-card:last-child { border-inline-end: 0; }
.program-card h3 { margin: 0 0 0.625rem; color: var(--text); font-size: 1.25rem; line-height: 1.35; }
.program-card p { margin: 0; color: var(--text-soft); font-size: 0.875rem; }
.program-note {
  margin-top: 1.75rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  color: var(--text-faint);
  font-size: 0.875rem;
}

/* Services index — layered ScrollTrigger panels on desktop, native list elsewhere. */
.services-story-section {
  position: relative;
  padding-block: var(--section-y);
  overflow: clip;
  background: var(--page);
}
.services-story-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.52fr);
  gap: clamp(2rem, 7vw, 6rem);
  align-items: end;
  margin-bottom: clamp(3rem, 7vw, 5.5rem);
}
.services-story-intro--single {
  grid-template-columns: minmax(0, 1fr);
}
.services-story-intro--single h2 {
  max-width: 19ch;
}
.services-story-intro h2 {
  max-width: 16ch;
  margin: 0;
  color: var(--text);
  font-size: clamp(2.5rem, 4.8vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.04;
}
[dir="rtl"] .services-story-intro h2 {
  max-width: 18ch;
  letter-spacing: 0;
  line-height: 1.35;
}
.services-story-intro p {
  max-width: 52ch;
  margin: 0;
  color: var(--text-soft);
  font-size: clamp(1rem, 1.25vw, 1.125rem);
}
.services-story-frame,
.services-story-deck { position: relative; }
.services-story-deck {
  display: grid;
  gap: 1.5rem;
}
.services-story-progress { display: none; }
.services-story-panel {
  --story-surface: var(--sage-50);
  position: relative;
  min-height: 30rem;
  overflow: hidden;
  border: 1px solid rgba(46, 42, 51, 0.08);
  border-radius: clamp(1.75rem, 3vw, 2.75rem);
  background: var(--story-surface);
}
.services-story-panel:nth-child(even) { --story-surface: var(--coral-50); }
.services-story-panel:nth-child(3) { --story-surface: var(--sage-100); }
.services-story-panel:nth-child(4) { --story-surface: var(--page); }
.services-story-list {
  position: relative;
  z-index: 1;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.services-story-item {
  position: relative;
  min-width: 0;
  min-height: 30rem;
  display: grid;
  grid-template-rows: minmax(15rem, 1.35fr) minmax(12rem, 0.85fr);
  overflow: hidden;
}
.services-story-item + .services-story-item {
  border-inline-start: 1px solid rgba(46, 42, 51, 0.1);
}
.services-story-media {
  position: relative;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: var(--story-surface);
}
.services-story-media::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 55% 0 0;
  background: linear-gradient(180deg, transparent, var(--story-surface));
  pointer-events: none;
}
.services-story-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.9) contrast(0.97);
}
.services-story-copy {
  position: relative;
  z-index: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.35rem, 2.2vw, 2.25rem) clamp(1.4rem, 2.8vw, 2.75rem) clamp(1.6rem, 2.8vw, 2.75rem);
  background: var(--story-surface);
}
.services-story-item > span {
  position: absolute;
  z-index: 3;
  inset-block-start: clamp(1rem, 1.8vw, 1.5rem);
  inset-inline-start: clamp(1rem, 1.8vw, 1.5rem);
  min-width: 2.75rem;
  padding: 0.55rem 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: var(--pill);
  background: rgba(31, 44, 47, 0.38);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-align: center;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.16);
}
[dir="rtl"] .services-story-item > span { letter-spacing: 0; }
.services-story-item h3 {
  max-width: 16ch;
  margin: 0 0 1rem;
  color: var(--text);
  font-size: clamp(1.55rem, 2.25vw, 2.25rem);
  line-height: 1.16;
}
[dir="rtl"] .services-story-item h3 { max-width: 18ch; line-height: 1.55; }
.services-story-item p {
  max-width: 35ch;
  margin: 0;
  color: var(--text-soft);
  font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
  line-height: 1.7;
}
[dir="rtl"] .services-story-item p { line-height: 1.9; }

@media (min-width: 60.0625rem) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .services-story-section.is-animated .services-story-stage {
    height: calc(100svh - 5rem);
    height: calc(100dvh - 5rem);
    min-height: 40rem;
    overflow: hidden;
    padding-block: clamp(1rem, 2.5vh, 2rem);
  }
  .services-story-section.is-animated .services-story-frame {
    height: 100%;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: clamp(1rem, 2vh, 1.5rem);
  }
  .services-story-section.is-animated .services-story-progress {
    display: grid;
    grid-template-columns: auto minmax(6rem, 1fr) auto;
    gap: 1rem;
    align-items: center;
    color: var(--text-faint);
    font-size: 0.75rem;
    font-weight: 800;
  }
  .services-story-progress-track {
    height: 1px;
    overflow: hidden;
    background: var(--line);
  }
  .services-story-progress-track i {
    display: block;
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transform-origin: left center;
    background: var(--shore-500);
  }
  [dir="rtl"] .services-story-progress-track i { transform-origin: right center; }
  .services-story-section.is-animated .services-story-deck {
    height: 100%;
    display: block;
  }
  .services-story-section.is-animated .services-story-panel {
    position: absolute;
    inset: 0;
    min-height: 0;
    box-shadow: 0 1.5rem 4.5rem rgba(46, 42, 51, 0.1);
    will-change: transform, opacity, filter, clip-path;
  }
}

@media (max-width: 60rem) {
  .services-story-intro { grid-template-columns: 1fr; gap: 1.5rem; }
  .services-story-intro h2 { font-size: clamp(2.4rem, 8vw, 3.75rem); }
  .services-story-deck { gap: 1rem; }
  .services-story-panel { min-height: 0; }
  .services-story-list { grid-template-columns: 1fr; }
  .services-story-item {
    min-height: 28rem;
    grid-template-rows: clamp(14rem, 48vw, 22rem) auto;
  }
  .services-story-item + .services-story-item {
    border-inline-start: 0;
    border-top: 1px solid rgba(46, 42, 51, 0.1);
  }
  .services-story-item > span {
    inset-block-start: 1rem;
    inset-inline-start: 1rem;
  }
  .services-story-copy { min-height: 12.5rem; }
}

@media (max-width: 34rem) {
  .services-story-section { padding-block: clamp(4.5rem, 14vw, 6rem); }
  .services-story-intro { margin-bottom: 2.5rem; }
  .services-story-intro h2 { font-size: clamp(2.3rem, 10vw, 3.15rem); }
  .services-story-item {
    min-height: 28rem;
    grid-template-rows: 14.5rem auto;
  }
  .services-story-item h3 { font-size: 1.55rem; }
}

.feature-split {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  gap: clamp(3rem, 8vw, 7rem);
  align-items: center;
}
.feature-media { position: relative; isolation: isolate; }
.feature-media img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-lg); }
.feature-copy h2 { margin-bottom: var(--space-lg); }
.feature-copy > p { max-width: var(--measure); color: var(--text-soft); font-size: 1.0625rem; }
.feature-split--centered {
  grid-template-columns: minmax(0, 48rem);
  justify-content: center;
  text-align: center;
}
.feature-split--centered .feature-copy > p { margin-inline: auto; }
.feature-split--centered .hero-actions { justify-content: center; }
.services-family-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.services-family-copy h2 { margin: 0; }
.services-family-copy > p {
  margin: clamp(1rem, 1.6vw, 1.25rem) 0 0;
}
.services-family-copy .pill-list {
  margin-top: clamp(1.4rem, 2.4vw, 1.8rem);
}
.services-family-copy .hero-actions {
  width: 100%;
  margin-top: clamp(1.5rem, 2.5vw, 2rem);
}
.pill-list { display: flex; flex-wrap: wrap; gap: 0.625rem; margin-top: 1.75rem; }
.pill-list span {
  padding: 0.5625rem 0.875rem;
  border: 1px solid var(--line);
  border-radius: var(--pill);
  color: var(--text-soft);
  font-size: 0.8125rem;
  font-weight: 800;
}

/* About values - pinned horizontal gallery on desktop, native swipe on touch. */
.values-gallery-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--page) 0%, var(--sage-50) 18%, var(--sage-100) 74%, var(--page) 100%);
}
.values-gallery-stage {
  min-height: 100svh;
  min-height: 100dvh;
  height: 100svh;
  height: 100dvh;
  display: grid;
  align-content: center;
  padding-block: clamp(4.5rem, 8vh, 6rem) clamp(4.5rem, 9vh, 6.5rem);
}
.values-gallery-heading { margin-bottom: clamp(1.75rem, 3.5vh, 2.75rem); }
.values-gallery-heading h2 {
  max-width: 15ch;
  margin: 0;
  scroll-margin-top: 6rem;
  color: var(--text);
  font-size: clamp(2.5rem, 4.6vw, 4.5rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.04;
}
[dir="rtl"] .values-gallery-heading h2 { max-width: 17ch; letter-spacing: 0; line-height: 1.32; }
.values-gallery-heading p {
  max-width: 58ch;
  margin: 1.25rem 0 0;
  color: var(--text-soft);
  font-size: clamp(1rem, 1.35vw, 1.125rem);
  line-height: 1.7;
}
.values-gallery-viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  scroll-snap-type: inline mandatory;
  scroll-padding-inline: var(--gutter);
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
}
[dir="rtl"] .values-gallery-viewport { direction: rtl; }
.values-gallery-viewport::-webkit-scrollbar { display: none; }
.values-gallery-viewport:focus-visible {
  outline: 3px solid var(--action);
  outline-offset: -3px;
}
.values-gallery-track {
  width: max-content;
  display: flex;
  flex-wrap: nowrap;
  gap: clamp(1rem, 2vw, 1.5rem);
  padding-inline: max(var(--gutter), calc((100vw - var(--max)) / 2));
  will-change: transform;
}
[dir="rtl"] .values-gallery-track { flex-direction: row-reverse; direction: ltr; }
.values-gallery-section.is-pinned .values-gallery-viewport {
  direction: ltr;
  overflow: hidden;
  scroll-snap-type: none;
}
.value-gallery-card {
  position: relative;
  flex: 0 0 clamp(20rem, 31vw, 27rem);
  height: clamp(24rem, 50vh, 31rem);
  display: block;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(255, 253, 249, 0.34);
  border-radius: var(--radius-lg);
  background: var(--surface-soft);
  box-shadow: 0 1.5rem 3.5rem rgba(63, 110, 134, 0.1);
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
[dir="rtl"] .value-gallery-card { direction: rtl; text-align: right; }
.value-gallery-media {
  position: absolute;
  z-index: -2;
  inset: 0;
  overflow: hidden;
  background: var(--surface-soft);
}
.value-gallery-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.88) contrast(0.95);
  transition: transform 700ms var(--ease), filter 700ms var(--ease);
}
.value-gallery-media--end img { object-position: 72% center; }
.value-gallery-media--start img { object-position: 28% center; }
.value-gallery-copy {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  min-height: 48%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(1.4rem, 2.6vw, 2rem);
  color: var(--on-dark);
}
.value-gallery-copy::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -5rem 0 0;
  background: linear-gradient(180deg, rgba(46, 42, 51, 0) 0%, rgba(46, 42, 51, 0.34) 42%, rgba(46, 42, 51, 0.86) 100%);
  backdrop-filter: blur(10px) saturate(112%);
  -webkit-backdrop-filter: blur(10px) saturate(112%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.28) 26%, #000 58%);
  mask-image: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.28) 26%, #000 58%);
  pointer-events: none;
}
.value-gallery-copy strong {
  display: block;
  color: var(--on-dark);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.18;
  text-shadow: 0 2px 18px rgba(20, 17, 22, 0.28);
}
[dir="rtl"] .value-gallery-copy strong { line-height: 1.5; }
.value-gallery-copy p {
  max-width: 34ch;
  margin: 0.75rem 0 0;
  color: rgba(255, 253, 249, 0.84);
  font-size: 0.9375rem;
  line-height: 1.65;
  text-shadow: 0 1px 14px rgba(20, 17, 22, 0.24);
}
[dir="rtl"] .value-gallery-copy p { line-height: 1.85; }
@media (hover: hover) {
  .value-gallery-card:hover .value-gallery-media img { transform: scale(1.025); filter: saturate(1) contrast(1); }
}

.value-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--line); }
.value-card { padding: 1.75rem; border-inline-end: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.value-card:nth-child(3n) { border-inline-end: 0; }
.value-card:nth-child(n + 4) { border-bottom: 0; }
.value-card strong { display: block; margin-bottom: 0.625rem; color: var(--text); font-size: 1.125rem; }
.value-card p { margin: 0; color: var(--text-soft); font-size: 0.875rem; }

/* Branch directory */
.branch-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 1.5rem; margin-bottom: 2.125rem; }
.branch-toolbar p { margin: 0; color: var(--text-soft); }
.branch-directory-title { margin: 0; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.15; }
.branch-notice { margin-bottom: 1.75rem; }
.branch-regions { display: grid; gap: 1.5rem; }
.region-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface); }
.region-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--line);
}
.region-head h2 { margin: 0; color: var(--text); font-size: 1.25rem; }
.region-head span { color: var(--text-soft); font-size: 0.75rem; font-weight: 800; }
.branch-list { display: grid; grid-template-columns: repeat(2, 1fr); }
.branch-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  align-items: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--line);
  transition: background-color 220ms var(--ease);
}
.branch-row:nth-child(odd) { border-inline-end: 1px solid var(--line); }
.branch-row:nth-last-child(-n + 2) { border-bottom: 0; }
.branch-place { display: flex; align-items: center; gap: 0.625rem; font-weight: 800; }
.branch-tag {
  display: inline-flex;
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--line);
  border-radius: var(--pill);
  color: var(--text-soft);
  font-size: 0.625rem;
  font-weight: 800;
}
.branch-tag--boys {
  border-color: #c7dfea;
  background: #e8f4fa;
  color: var(--shore-700);
}
.branch-tag--girls {
  border-color: var(--coral-200);
  background: var(--coral-100);
  color: var(--coral-700);
}
.branch-phone { color: var(--action-hover); font-size: 0.875rem; font-weight: 800; direction: ltr; }
.branch-phone.unavailable { color: var(--text-faint); font-weight: 600; text-decoration: none; direction: inherit; }
@media (hover: hover) {
  .branch-row:hover { background: color-mix(in srgb, var(--sage-100) 62%, var(--surface)); }
  .branch-row:hover .branch-place { color: var(--shore-700); }
  .branch-phone:hover:not(.unavailable) { text-decoration: underline; text-underline-offset: 0.25rem; }
}
.branch-row:focus-within { background: color-mix(in srgb, var(--sage-100) 62%, var(--surface)); }
.notice {
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--line);
  color: var(--text-faint);
  font-size: 0.875rem;
}

/* Empty, confirmation, and error states */
.empty-state {
  max-width: 48rem;
  margin-inline: auto;
  padding: clamp(2.5rem, 7vw, 5rem);
  text-align: center;
  border-block: 1px solid var(--line);
}
.empty-state .mark { width: 8rem; height: 8rem; margin: 0 auto 1.5rem; object-fit: contain; }
.empty-state h2 { margin-bottom: 1.125rem; color: var(--text); font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.15; }
.empty-state p { max-width: 58ch; margin: 0 auto 1.75rem; color: var(--text-soft); }
.confirmation {
  min-height: calc(100vh - 5rem);
  display: grid;
  place-items: center;
  padding: 3.75rem var(--gutter);
  background: var(--page) url("../brand/care-lines.svg") center bottom / 80rem auto no-repeat;
}
.confirmation-card {
  width: min(42rem, 100%);
  padding: clamp(2.25rem, 7vw, 4.5rem);
  text-align: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--surface);
  box-shadow: var(--shadow-md);
}
.confirmation-icon {
  width: 4.125rem;
  height: 4.125rem;
  display: grid;
  place-items: center;
  margin: 0 auto 1.5rem;
  border-radius: 50%;
  background: var(--sage-500);
  color: var(--sage-700);
  font-size: 1.875rem;
  font-weight: 800;
}
.confirmation-card h1 { margin-bottom: 1.125rem; color: var(--text); font-size: clamp(2.25rem, 5vw, 4rem); line-height: 1.13; }
.confirmation-card p { margin-bottom: 1.75rem; color: var(--text-soft); }
.confirmation-mark { width: 8rem; height: 8rem; margin: 0 auto 1.5rem; object-fit: contain; }
.confirmation-actions { justify-content: center; }
.confirmation-language { margin: 1.75rem 0 0; }
.confirmation-language a { color: var(--action-hover); font-weight: 800; }
.error-code { color: var(--coral-500); font-size: clamp(5rem, 18vw, 11rem); font-weight: 800; letter-spacing: -0.07em; line-height: 0.8; }

/* Responsive composition */
@media (max-width: 68rem) {
  .nav-links, .nav-actions > .btn, .nav-actions .language { display: none; }
  .menu-toggle { display: inline-flex; }
  .section-head { grid-template-columns: 1fr; gap: var(--space-lg); }
  .visit-layout, .feature-split, .page-hero-split { grid-template-columns: 1fr 1fr; gap: 3.5rem; }
  .visit-copy { position: static; }
  .program-grid { grid-template-columns: repeat(2, 1fr); }
  .program-card:nth-child(2) { border-inline-end: 0; }
  .program-card:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .value-grid { grid-template-columns: repeat(2, 1fr); }
  .value-card:nth-child(3n) { border-inline-end: 1px solid var(--line); }
  .value-card:nth-child(even) { border-inline-end: 0; }
  .value-card:nth-child(n + 4) { border-bottom: 1px solid var(--line); }
  .value-card:nth-child(n + 5) { border-bottom: 0; }
  .about-hero-copy { max-width: 74%; }
  .value-gallery-card { flex-basis: min(72vw, 26rem); }
}

@media (max-width: 48rem) {
  :root { --section-y: clamp(3.75rem, 14vw, 5rem); }
  .nav { min-height: 4.5rem; }
  .brand { min-width: 0; gap: 0; }
  .brand-logo-mark { width: 2.75rem; height: 2.75rem; }
  .brand-logo-mark img { width: 4.5rem; height: 4.5rem; }
  .brand-logo-text { width: 8.4rem; height: 2.3rem; }
  .brand-logo-text img { width: 8.4rem; height: 8.4rem; }
  .brand-logo { width: 4rem; height: 4rem; }
  .brand-mark { width: 2.35rem; height: 2.2rem; }
  .brand-wordmark { width: 8.8rem; height: 2.3rem; }
  .mobile-panel { inset-block-start: 4.5rem; }
  .hero-actions .btn { width: 100%; }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-stat:nth-child(2) { border-inline-end: 0; }
  .trust-stat:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
  .visit-layout, .feature-split, .page-hero-split { grid-template-columns: 1fr; }
  .consultation-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .consultation-intro h2 { max-width: none; }
  .consultation-intro p { max-width: 60ch; }
  .consultation-progress strong { display: none; }
  .consultation-progress li { justify-content: center; }
  .consultation-progress li + li { padding-inline-start: 0; }
  .choice-grid { grid-template-columns: 1fr; }
  .consultation-actions .btn { flex: 1; }
  .feature-media { width: calc(100% - 1rem); }
  .field-row { grid-template-columns: 1fr; }
  .content-grid { grid-template-columns: 1fr; }
  .info-card { border-inline-end: 0; border-bottom: 1px solid var(--line); }
  .info-card:last-child { border-bottom: 0; }
  .page-hero h1 { font-size: clamp(2.65rem, 13vw, 4.25rem); }
  .page-hero-image { width: calc(100% - 1rem); }
  .about-page-hero {
    min-height: max(48rem, calc(100svh - 4.5rem));
    min-height: max(48rem, calc(100dvh - 4.5rem));
  }
  .about-hero-shell {
    min-height: inherit;
    justify-content: flex-end;
    gap: 1.5rem;
    padding-block: 13.5rem 0.75rem;
  }
  .about-hero-copy {
    max-width: 100%;
    padding: 0;
    background: transparent;
  }
  .about-page-hero h1 {
    max-width: 12ch;
    margin-bottom: 1rem;
    font-size: clamp(2.8rem, 12vw, 4rem);
    line-height: 1;
  }
  [dir="rtl"] .about-page-hero h1 {
    max-width: 13ch;
    font-size: clamp(2.65rem, 10.5vw, 3.7rem);
    line-height: 1.25;
  }
  .services-page-hero h1 {
    max-width: 16ch;
    font-size: clamp(2.6rem, 10.5vw, 3.55rem);
    line-height: 1.08;
  }
  [dir="rtl"] .services-page-hero h1 {
    max-width: 18ch;
    font-size: clamp(2.45rem, 9.5vw, 3.3rem);
    line-height: 1.3;
  }
  .about-page-hero p { font-size: 1rem; line-height: 1.7; }
  .about-hero-photo {
    inset-block: 0;
    width: 100%;
    height: auto;
    opacity: 0.72;
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 32%, rgba(0, 0, 0, 0.72) 55%, rgba(0, 0, 0, 0.16) 82%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 32%, rgba(0, 0, 0, 0.72) 55%, rgba(0, 0, 0, 0.16) 82%, transparent 100%);
  }
  [dir="rtl"] .about-hero-photo {
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 32%, rgba(0, 0, 0, 0.72) 55%, rgba(0, 0, 0, 0.16) 82%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 32%, rgba(0, 0, 0, 0.72) 55%, rgba(0, 0, 0, 0.16) 82%, transparent 100%);
  }
  .about-hero-geometry span { height: 31%; }
  .about-hero-geometry span:nth-child(2) { height: 25%; }
  .about-hero-geometry span:nth-child(3) { height: 34%; }
  .about-hero-geometry span:nth-child(4) { height: 29%; }
  .about-hero-stats { grid-template-columns: repeat(2, 1fr); }
  .about-hero-stats .trust-stat { padding: 1rem 0.75rem; }
  .about-hero-stats .trust-stat:nth-child(2) { border-inline-end: 0; }
  .about-hero-stats .trust-stat:nth-child(-n + 2) { border-bottom: 0; }
  .values-gallery-stage {
    min-height: auto;
    height: auto;
    padding-block: 5rem;
  }
  .values-gallery-heading { margin-bottom: 2rem; }
  .values-gallery-heading h2 { font-size: clamp(2.4rem, 10vw, 3.5rem); }
  .values-gallery-track { gap: 0.9rem; will-change: auto; }
  .value-gallery-card {
    flex-basis: min(82vw, 22rem);
    height: 31rem;
  }
  .branch-toolbar { display: grid; align-items: start; }
  .branch-list { grid-template-columns: 1fr; }
  .branch-row, .branch-row:nth-child(odd) { border-inline-end: 0; border-bottom: 1px solid var(--line); }
  .branch-row:last-child { border-bottom: 0; }
  .footer-band { flex-direction: column; align-items: flex-start; }
  .footer-bottom { display: grid; }
}

@media (max-width: 34rem) {
  .trust-stat { padding: 1.75rem 1rem; }
  .program-grid { grid-template-columns: 1fr; }
  .program-card { border-inline-end: 0; border-bottom: 1px solid var(--line); }
  .program-card:last-child { border-bottom: 0; }
  .value-grid { grid-template-columns: 1fr; }
  .value-card, .value-card:nth-child(3n), .value-card:nth-child(even) { border-inline-end: 0; border-bottom: 1px solid var(--line); }
  .value-card:last-child { border-bottom: 0; }
  .branch-row { grid-template-columns: 1fr; }
  .about-page-hero,
  .about-hero-shell {
    min-height: max(46rem, calc(100svh - 4.5rem));
    min-height: max(46rem, calc(100dvh - 4.5rem));
  }
  .about-hero-shell { padding-block: 12rem 0.5rem; }
  .about-hero-copy { padding: 0; }
  .about-page-hero h1 { font-size: clamp(2.45rem, 12.5vw, 3.15rem); }
  [dir="rtl"] .about-page-hero h1 { font-size: clamp(2.35rem, 11vw, 3rem); }
  .services-page-hero h1 { max-width: 16ch; font-size: clamp(2.25rem, 10vw, 2.9rem); }
  [dir="rtl"] .services-page-hero h1 { max-width: 18ch; font-size: clamp(2.15rem, 9.5vw, 2.75rem); }
  .about-hero-photo { height: auto; }
  .value-gallery-card { flex-basis: 86vw; height: 29rem; }
  .value-gallery-copy { padding: 1.3rem; }
}

@media (pointer: coarse) {
  .nav-links a, .footer a { min-height: 2.75rem; display: inline-flex; align-items: center; }
  .values-gallery-stage { min-height: auto; height: auto; padding-block: clamp(4.5rem, 10vw, 6rem); }
  .values-gallery-track { will-change: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .visit-form .field.is-field-active { transform: none !important; }
}

/* Homepage approval system — Immersive Story */
.home-page {
  background: var(--surface);
}
.home-page .site-header--home {
  position: absolute;
  inset: 0 0 auto;
  z-index: 50;
  border-bottom-color: rgba(255, 255, 255, 0.16);
  background: rgba(46, 42, 51, 0.38);
  color: var(--on-dark);
  backdrop-filter: blur(10px) saturate(110%);
  -webkit-backdrop-filter: blur(10px) saturate(110%);
}
.home-page .site-header--home .brand-logo-text img {
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
.home-page .site-header--home .nav { min-height: 5.75rem; }
.home-page .site-header--home .nav-links a { color: rgba(255, 253, 249, 0.82); }
.home-page .site-header--home .nav-links a:hover {
  background: rgba(255, 253, 249, 0.14);
  color: var(--on-dark);
}
.home-page .site-header--home .nav-links a[aria-current="page"] {
  background: linear-gradient(105deg, rgba(184, 225, 220, 0.72), rgba(224, 169, 152, 0.72));
  color: var(--plum-900);
}
[dir="rtl"] .home-page .site-header--home .nav-links a[aria-current="page"] {
  background: linear-gradient(-105deg, rgba(184, 225, 220, 0.72), rgba(224, 169, 152, 0.72));
}
.home-page .site-header--home .language {
  border-color: rgba(255, 255, 255, 0.36);
  background: rgba(46, 42, 51, 0.34);
  color: var(--on-dark);
}
.home-page .site-header--home .language a[aria-current="true"] {
  background: var(--coral-500);
  color: var(--plum-900);
}
.home-page .site-header--home .menu-toggle {
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(46, 42, 51, 0.3);
  color: var(--on-dark);
}
.btn-home-outline {
  border-color: rgba(255, 255, 255, 0.52);
  background: transparent;
  color: var(--on-dark);
}
@media (hover: hover) {
  .btn-home-outline:hover { border-color: var(--sage-500); background: rgba(184, 225, 220, 0.12); }
}
.home-page .mobile-panel {
  background-color: var(--page);
  color: var(--text);
}

.immersive-hero {
  position: relative;
  z-index: 2;
  min-height: 48rem;
  min-height: clamp(43rem, 82svh, 59rem);
  display: grid;
  place-items: center;
  isolation: isolate;
  margin-bottom: 0;
  color: var(--on-dark);
}
.immersive-media,
.immersive-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
}
.immersive-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 42%;
  transform: scale(1.002);
}
.immersive-shade {
  z-index: -1;
  background: rgba(46, 42, 51, 0.52);
  box-shadow: inset 0 -11rem 12rem rgba(23, 20, 26, 0.2), inset 0 9rem 9rem rgba(23, 20, 26, 0.16);
}
.immersive-content {
  display: grid;
  justify-items: center;
  padding-top: clamp(7rem, 13vh, 9rem);
  padding-bottom: clamp(9rem, 15vh, 11rem);
  text-align: center;
}
.immersive-content > p {
  max-width: 46ch;
  margin: 0 0 1.25rem;
  color: var(--sage-500);
  font-size: clamp(0.95rem, 1.25vw, 1.1rem);
  font-weight: 700;
  line-height: 1.55;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.22);
}
.immersive-content h1 {
  max-width: 19ch;
  margin: 0;
  color: var(--on-dark);
  font-size: clamp(2.9rem, 5vw, 5rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.05;
  text-shadow: 0 2px 28px rgba(20, 17, 22, 0.3);
}
[dir="rtl"] .immersive-content h1 {
  max-width: 17ch;
  font-size: clamp(2.8rem, 4.6vw, 4.75rem);
  letter-spacing: 0;
  line-height: 1.3;
}
.hero-cta-group {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-top: 1.75rem;
}
.hero-cta {
  min-height: 3rem;
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  padding-inline: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: var(--pill);
  background: rgba(46, 42, 51, 0.26);
  color: var(--on-dark);
  font-size: 0.875rem;
  font-weight: 800;
  transition: background-color 300ms var(--ease), border-color 300ms var(--ease), transform 300ms var(--ease);
}
.hero-cta--primary { border-color: var(--shore-500); background: rgba(63, 110, 134, 0.9); }
@media (hover: hover) {
  .hero-cta:hover { transform: translateY(-2px); border-color: var(--sage-500); background: rgba(63, 110, 134, 0.76); }
  .hero-cta--primary:hover { background: var(--shore-700); }
}
.care-dock {
  position: absolute;
  z-index: 3;
  inset-inline: 0;
  bottom: -4.5rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding-inline: var(--gutter);
}
.care-dock a {
  min-height: 9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  padding: 1.25rem;
  border: 1px solid var(--line);
  border-inline-end: 0;
  background: var(--surface);
  color: var(--action-hover);
  text-align: center;
  transition: transform 360ms var(--ease), background-color 360ms var(--ease), color 360ms var(--ease);
}
.care-dock a:first-child { border-radius: var(--radius-md) 0 0 var(--radius-md); }
.care-dock a:last-child { border-inline-end: 1px solid var(--line); border-radius: 0 var(--radius-md) var(--radius-md) 0; }
[dir="rtl"] .care-dock a:first-child { border-radius: 0 var(--radius-md) var(--radius-md) 0; }
[dir="rtl"] .care-dock a:last-child { border-radius: var(--radius-md) 0 0 var(--radius-md); }
.care-dock a:nth-child(2) { background: var(--sage-100); }
.care-dock a:nth-child(3) { background: var(--coral-100); }
.care-dock strong { font-size: 0.9rem; }
.dock-symbol {
  width: 1.25rem;
  aspect-ratio: 1;
  flex: 0 0 auto;
  border: 1.5px solid var(--action);
}
.dock-symbol--evaluation { border-radius: 50%; border-style: dotted; }
.dock-symbol--intervention { border-width: 3px; border-radius: 50%; box-shadow: inset 0 0 0 3px var(--surface); }
.dock-symbol--rehabilitation { width: 0.9rem; transform: rotate(45deg); }
.dock-symbol--family { border-color: transparent transparent var(--action) var(--action); transform: rotate(-45deg); }
[dir="rtl"] .dock-symbol--family { transform: rotate(135deg); }
@media (hover: hover) {
  .care-dock a:hover { transform: translateY(-0.35rem); background: var(--action); color: var(--on-dark); }
  .care-dock a:hover .dock-symbol { border-color: var(--on-dark); box-shadow: none; }
}

.home-section {
  position: relative;
  padding-block: clamp(5.5rem, 9vw, 8.5rem);
  scroll-margin-top: 5.5rem;
}
.section-intro {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 1rem;
  color: var(--coral-700);
  font-size: 0.8125rem;
  font-weight: 800;
}
.section-intro::before {
  content: "";
  width: 1.7rem;
  height: 0.28rem;
  border-radius: var(--pill);
  background: var(--sage-500);
}
.home-about {
  overflow: visible;
  padding-top: clamp(9.5rem, 12vw, 12rem);
  background: var(--sage-50);
}
.home-about::after {
  content: "";
  position: absolute;
  z-index: 2;
  width: clamp(13rem, 25vw, 24rem);
  aspect-ratio: 1;
  inset-inline-start: -11rem;
  bottom: -13rem;
  border: clamp(2rem, 4vw, 3.75rem) solid var(--sage-500);
  border-radius: 50%;
  opacity: 0.6;
  pointer-events: none;
}
.about-layout {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(22rem, 0.78fr);
  gap: clamp(3rem, 8vw, 7rem);
  align-items: center;
}
.about-copy h2 {
  max-width: 12ch;
  margin: 0;
  color: var(--text);
  font-size: clamp(2.5rem, 4vw, 3.75rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.05;
}
[dir="rtl"] .about-copy h2 { letter-spacing: 0; line-height: 1.34; }
.about-origin {
  max-width: 61ch;
  margin: 2rem 0 0;
  color: #514b55;
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  line-height: 1.85;
  text-wrap: pretty;
}
[dir="rtl"] .about-origin { line-height: 2.05; }
.about-media {
  --about-shape-y: 0px;
  position: relative;
  width: min(31rem, 100%);
  justify-self: center;
  margin: 0;
  padding: 0 0 3.75rem 2.5rem;
}
[dir="rtl"] .about-media { padding: 0 2.5rem 3.75rem 0; }
.about-media::before {
  content: "";
  position: absolute;
  inset: 1.75rem 0 1.5rem 4.25rem;
  border-radius: var(--radius-xl) 8rem var(--radius-xl) var(--radius-xl);
  background: var(--coral-500);
  transform: translate3d(0, var(--about-shape-y), 0);
}
[dir="rtl"] .about-media::before { inset: 1.75rem 4.25rem 1.5rem 0; border-radius: 8rem var(--radius-xl) var(--radius-xl) var(--radius-xl); }
.about-image {
  position: relative;
  z-index: 1;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-xl) 8rem var(--radius-xl) var(--radius-xl);
  background: var(--coral-200);
}
[dir="rtl"] .about-image { border-radius: 8rem var(--radius-xl) var(--radius-xl) var(--radius-xl); }
.about-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 52% center;
}
.about-media figcaption {
  position: absolute;
  z-index: 2;
  inset-inline-start: 0;
  bottom: 0;
  width: min(16rem, 72%);
  padding: 1.1rem 1.2rem;
  border: 0;
  border-radius: var(--radius-md);
  background: rgba(255, 253, 249, 0.68);
  color: var(--text);
  box-shadow: 0 18px 44px rgba(46, 42, 51, 0.1);
  backdrop-filter: blur(15px) saturate(112%);
  -webkit-backdrop-filter: blur(15px) saturate(112%);
}
.about-media figcaption span,
.about-media figcaption strong { display: block; }
.about-media figcaption span { color: var(--coral-700); font-size: 0.75rem; font-weight: 800; }
.about-media figcaption strong { margin-top: 0.2rem; font-size: clamp(2rem, 3.2vw, 2.8rem); line-height: 1.05; }
.about-media figcaption p { margin: 0.6rem 0 0; color: var(--text-soft); font-size: 0.78rem; line-height: 1.55; }

.purpose-section {
  overflow: clip;
  padding-block: clamp(3.75rem, 6vw, 5.5rem);
  background: var(--surface);
}
.purpose-layout { width: min(100%, 70rem); }
.purpose-layout > h2 {
  max-width: 18ch;
  margin: 0 auto clamp(2.5rem, 4vw, 3.75rem);
  color: var(--sage-700);
  font-size: clamp(2.4rem, 4.2vw, 4rem);
  font-weight: 800;
  letter-spacing: -0.035em;
  line-height: 1.06;
  text-align: center;
}
[dir="rtl"] .purpose-layout > h2 {
  max-width: 17ch;
  font-size: clamp(2.35rem, 3.8vw, 3.75rem);
  letter-spacing: 0;
  line-height: 1.35;
}
.purpose-statements {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
}
.purpose-statement {
  min-height: 0;
  display: grid;
  grid-template-columns: minmax(8.5rem, 0.28fr) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
  padding: clamp(1.5rem, 2.6vw, 2.25rem);
  border-bottom: 1px solid var(--line);
}
.purpose-statement:last-child { border-bottom: 0; }
.purpose-vision { background: var(--sage-100); }
.purpose-goals { background: var(--surface); }
.purpose-mission { background: var(--coral-100); }
.purpose-statement h3 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
}
[dir="rtl"] .purpose-statement h3 { line-height: 1.4; }
.purpose-vision h3 { color: var(--sage-700); }
.purpose-goals h3 { color: var(--action-hover); }
.purpose-mission h3 { color: var(--coral-700); }
.purpose-statement p {
  max-width: 72ch;
  margin: 0;
  color: #514b55;
  font-size: clamp(0.95rem, 1.15vw, 1.025rem);
  line-height: 1.75;
  text-wrap: pretty;
}
[dir="rtl"] .purpose-statement p { line-height: 1.9; }

/* Superseded homepage story, journey, and approach layouts removed. */
/* Homepage content sections: intentionally compact and content-driven. */
.compact-section-shell { width: min(100%, 70rem); }
.offerings-section,
.target-groups-section { padding-block: clamp(3.75rem, 6vw, 5.5rem); }
.center-overview-section {
  position: relative;
  overflow: hidden;
  padding-block: 0;
  background: var(--surface);
}
.compact-section-shell > h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(2.35rem, 4vw, 3.75rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.08;
}
[dir="rtl"] .compact-section-shell > h2 {
  font-size: clamp(2.3rem, 3.7vw, 3.5rem);
  letter-spacing: 0;
  line-height: 1.35;
}

/* About our centers — a responsive, pinned typographic story. */
.center-story-pin {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  isolation: isolate;
  background: var(--surface);
}
.center-story-background,
.center-story-gradient {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.center-story-background {
  z-index: -1;
  overflow: hidden;
  background: var(--surface);
  contain: paint;
}
.center-story-gradient { opacity: 0; }
.center-story-gradient--intro {
  background:
    radial-gradient(circle at 18% 20%, rgba(184, 225, 220, 0.72), transparent 38%),
    radial-gradient(circle at 82% 76%, rgba(224, 169, 152, 0.62), transparent 42%),
    linear-gradient(135deg, #fdfcf9 0%, #edf7f5 48%, #fff1eb 100%);
}
.center-story-gradient--therapy {
  background:
    radial-gradient(circle at 78% 22%, rgba(253, 252, 249, 0.58), transparent 36%),
    linear-gradient(135deg, #f4faf9 0%, #b8e1dc 56%, #d7eeeb 100%);
}
.center-story-gradient--clinical {
  background:
    radial-gradient(circle at 20% 78%, rgba(253, 252, 249, 0.54), transparent 38%),
    linear-gradient(135deg, #fff7f3 0%, #e0a998 58%, #f3d4c9 100%);
}
.center-story-stage {
  position: relative;
  z-index: 1;
  width: min(100%, 86rem);
}
.center-story-scene {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(5.5rem, 10vh, 8rem) 0;
  scroll-margin-top: 5rem;
}
.center-story-scene--intro {
  background:
    linear-gradient(180deg, var(--surface) 0%, rgba(255, 255, 255, 0) 26%),
    linear-gradient(135deg, #fdfcf9 0%, #edf7f5 48%, #fff1eb 100%);
}
.center-story-scene--therapy {
  background: linear-gradient(135deg, #f4faf9 0%, #b8e1dc 56%, #d7eeeb 100%);
}
.center-story-scene--clinical {
  background:
    linear-gradient(0deg, var(--coral-50) 0%, rgba(255, 247, 243, 0) 28%),
    linear-gradient(135deg, #fff7f3 0%, #e0a998 58%, #f3d4c9 100%);
}
.center-story-copy {
  width: min(100%, 64rem);
  margin-inline: auto;
  text-align: center;
}
.center-story-copy h2,
.center-story-copy h3 {
  max-width: 13ch;
  margin: 0 auto;
  color: var(--plum-900);
  font-size: clamp(3rem, min(7vw, 8vh), 5.75rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.04;
  text-wrap: balance;
}
[dir="rtl"] .center-story-copy h2,
[dir="rtl"] .center-story-copy h3 {
  font-size: clamp(2.75rem, min(6.5vw, 7.4vh), 5rem);
  letter-spacing: 0;
  line-height: 1.35;
}
.center-story-copy p {
  max-width: 58ch;
  margin: clamp(1.35rem, 3vh, 2rem) auto 0;
  color: #49434d;
  font-size: clamp(1.05rem, min(1.7vw, 2.4vh), 1.45rem);
  line-height: 1.7;
  text-wrap: pretty;
}
[dir="rtl"] .center-story-copy p { line-height: 1.9; }
.center-story-copy ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.7rem clamp(1rem, 2.5vw, 2rem);
  max-width: 58rem;
  margin: clamp(1.6rem, 4vh, 2.75rem) auto 0;
  padding: 0;
  list-style: none;
}
.center-story-copy li {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  color: var(--plum-900);
  font-size: clamp(0.9rem, 1.25vw, 1.08rem);
  font-weight: 800;
}
.center-story-copy li::before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  flex: 0 0 auto;
  border: 2px solid var(--shore-500);
  border-radius: 50%;
}
.center-story-progress {
  position: absolute;
  z-index: 3;
  inset-block-start: 50%;
  inset-inline: auto clamp(0.9rem, 3vw, 2rem);
  display: none;
  flex-direction: column;
  gap: 0.05rem;
  transform: translateY(-50%);
}
.center-story-progress button {
  width: 2.75rem;
  height: 2.75rem;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: rgba(46, 42, 51, 0.26);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.center-story-progress button::before {
  content: "";
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: currentColor;
  transform: scale(0.72);
  transition: transform 220ms var(--ease);
}
.center-story-progress button.is-current { color: var(--shore-500); }
.center-story-progress button.is-current::before {
  transform: scale(1.15);
}
.center-story-progress button:focus-visible {
  outline: 2px solid var(--shore-500);
  outline-offset: -0.3rem;
}
@media (hover: hover) {
  .center-story-progress button:hover::before { transform: scale(1); }
  .center-story-progress button.is-current:hover::before { transform: scale(1.2); }
}

.center-overview-section.has-center-story-motion .center-story-pin {
  height: 100vh;
  height: 100svh;
  min-height: 0;
}
.center-overview-section.has-center-story-motion .center-story-stage { height: 100%; }
.center-overview-section.has-center-story-motion .center-story-progress { display: flex; }
.center-overview-section.has-center-story-motion .center-story-scene {
  position: absolute;
  inset: 0;
  min-height: 0;
  padding-block: clamp(5.25rem, 10vh, 7rem);
  background: transparent;
  opacity: 0;
  pointer-events: none;
}
.center-overview-section.has-center-story-motion .center-story-scene:first-child {
  opacity: 1;
}
.center-overview-section.has-center-story-motion .center-story-gradient { will-change: opacity; }
.center-overview-section.has-center-story-motion .center-story-line { will-change: transform; }

.offerings-section {
  overflow: hidden;
  background: var(--coral-50);
}
.offerings-layout {
  display: grid;
  grid-template-columns: minmax(13rem, 0.32fr) minmax(0, 1fr);
  gap: clamp(2.5rem, 6vw, 5.5rem);
  align-items: center;
}
.offerings-intro {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: clamp(1.5rem, 2.5vw, 2.25rem);
}
.offerings-intro > h2 { max-width: 8ch; }
.section-action-link {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-top: 0;
  color: var(--action-hover);
  font-size: 0.875rem;
  font-weight: 800;
  text-decoration: none;
}
.section-action-text {
  text-decoration: underline;
  text-decoration-color: var(--coral-500);
  text-decoration-thickness: 0.08rem;
  text-underline-offset: 0.35rem;
}
.section-action-arrow { transition: transform 260ms var(--ease); }
@media (hover: hover) { .section-action-link:hover .section-action-arrow { transform: translateX(0.2rem); } }
[dir="rtl"] .section-action-link:hover .section-action-arrow { transform: translateX(-0.2rem); }
.offerings-flow {
  grid-column: 2;
  grid-row: 1;
  position: relative;
}
.offerings-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 5.5rem;
  gap: clamp(0.75rem, 1.6vw, 1.1rem);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}
.offerings-list li {
  position: relative;
  z-index: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  min-height: 0;
  padding: 0.65rem 0.45rem;
  color: var(--text);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.45;
  transition: color 260ms var(--ease), transform 320ms var(--ease);
}
.offerings-list li[id] { scroll-margin-top: 6rem; }
.offerings-list .offerings-number {
  display: grid;
  width: 2.25rem;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: var(--coral-500);
  border: 0.35rem solid var(--coral-50);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--coral-700) 34%, transparent);
  color: var(--text);
  font-size: 0.72rem;
  font-weight: 800;
  transition: background-color 260ms var(--ease), color 260ms var(--ease), box-shadow 260ms var(--ease), transform 320ms var(--ease);
}
.offerings-list li:nth-child(even) .offerings-number {
  background: var(--sage-500);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--sage-700) 38%, transparent);
}
.offerings-list li.is-current { color: var(--action-hover); transform: translateY(-0.18rem); }
.offerings-list li.is-current .offerings-number {
  background: var(--shore-500);
  color: var(--on-dark);
  box-shadow: 0 0 0 0.28rem color-mix(in srgb, var(--shore-500) 16%, transparent);
  transform: scale(1.08);
}

.target-groups-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--coral-50) 0%, var(--surface) 72%);
}
.target-groups-shell { width: min(100%, 82rem); }
.target-icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.njtg {
  position: relative;
  isolation: isolate;
}
.njtg-lines {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.njtg-lines path {
  fill: none;
  stroke: #bad2cf;
  stroke-width: 1.5;
  transition: stroke 150ms var(--ease), stroke-width 150ms var(--ease);
}
.njtg-lines path.hl { stroke: var(--shore-500); stroke-width: 2.5; }
.njtg-head {
  position: relative;
  z-index: 1;
  width: clamp(9.5rem, 19vw, 13.25rem);
  aspect-ratio: 1;
  margin: 0 auto;
}
.njtg-halo {
  position: absolute;
  inset: -10%;
  border-radius: 50%;
  background: #def0ed;
  animation: njtgBreathe 9s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}
.njtg-core {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 0.9rem 2.5rem rgba(46, 84, 104, 0.1);
  text-align: center;
  animation: njtgPop 0.7s cubic-bezier(0.2, 0, 0, 1) 0.05s both;
}
.njtg-core h2 {
  margin: 0;
  color: var(--text);
  font-size: clamp(1.2rem, 2.1vw, 1.7rem);
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: normal;
}
.njtg-core h2 span { display: block; }
.njtg-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  column-gap: 0.625rem;
  row-gap: 3rem;
  margin: 21.25rem 0 0;
  padding: 0;
  list-style: none;
}
.njtg-grid li {
  display: flex;
  flex-direction: column;
  align-items: center;
  align-self: start;
  gap: 0.75rem;
  min-width: 0;
  color: var(--text);
  text-align: center;
  cursor: pointer;
  will-change: transform;
}
.njtg-icon {
  position: relative;
  flex: none;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #def0ed;
  color: var(--shore-700);
  box-shadow: 0 0.5rem 1.4rem rgba(46, 84, 104, 0.14);
  transform-origin: 50% 100%;
  transition: transform 160ms cubic-bezier(0.2, 0, 0, 1), box-shadow 250ms var(--ease);
}
.njtg-icon::after {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline-end: 0;
  width: 0.69rem;
  aspect-ratio: 1;
  border: 2px solid var(--surface);
  border-radius: 50%;
  background: var(--coral-500);
}
.njtg-icon svg {
  width: 46%;
  height: 46%;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.njtg-label {
  max-width: 14ch;
  font-size: clamp(0.8125rem, 1.3vw, 1.0625rem);
  font-weight: 700;
  line-height: 1.4;
  transition: color 300ms var(--ease);
}
[dir="rtl"] .njtg-label { line-height: 1.65; }
.njtg-grid li.hv .njtg-icon { box-shadow: 0 0.9rem 1.9rem rgba(46, 84, 104, 0.24); }
.njtg-grid li.hv .njtg-label { color: var(--shore-700); }
@keyframes njtgPop { from { opacity: 0; transform: scale(0.92); } }
@keyframes njtgFloat { 50% { transform: translateY(-6px); } }
@keyframes njtgBreathe { 50% { transform: scale(1.03); } }

.presence-section {
  position: relative;
  overflow: hidden;
  padding-block: clamp(3.75rem, 6vw, 5.5rem);
  background: linear-gradient(180deg, var(--surface) 0%, var(--coral-50) 100%);
  text-align: center;
}
.presence-shell { width: min(100%, 70rem); }
.presence-eyebrow {
  margin: 0;
  color: var(--shore-700);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
[dir="rtl"] .presence-eyebrow { letter-spacing: 0; }
.presence-section h2 {
  max-width: 24ch;
  margin: 1rem auto 0;
  color: var(--text);
  font-size: clamp(2.1rem, 3.4vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.015em;
  line-height: 1.12;
  text-wrap: balance;
}
[dir="rtl"] .presence-section h2 { letter-spacing: 0; line-height: 1.4; }
.presence-lede {
  max-width: 58ch;
  margin: 1.5rem auto 0;
  color: var(--text-soft);
  font-size: 1.0625rem;
  line-height: 1.65;
}
[dir="rtl"] .presence-lede { line-height: 1.9; }
.presence-globe {
  position: relative;
  height: clamp(24rem, 52vw, 35rem);
  max-width: 48.75rem;
  margin: 0.5rem auto 0;
  overflow: hidden;
}
.presence-glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 42%, rgba(224, 169, 152, 0.16), rgba(224, 169, 152, 0) 62%);
}
.presence-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}
.presence-card {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid var(--line);
  border-radius: 0.75rem;
  background: var(--page);
  box-shadow: 0 2px 12px rgba(168, 86, 54, 0.1);
  opacity: 0;
  white-space: nowrap;
  pointer-events: none;
  will-change: transform, opacity;
  text-align: start;
}
.presence-card-name { color: var(--text); font-size: 0.84rem; font-weight: 800; }
.presence-card-sub { color: var(--text-faint); font-size: 0.72rem; }
.presence-stats {
  position: absolute;
  z-index: 1;
  inset-block-start: 1.5rem;
  inset-inline: 0;
  display: flex;
  justify-content: center;
  gap: clamp(3rem, 9vw, 6.875rem);
  pointer-events: none;
}
.presence-stat { display: grid; gap: 0.25rem; }
.presence-statnum {
  color: var(--text);
  font-size: clamp(2.1rem, 3.6vw, 2.75rem);
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.presence-statlabel { color: var(--text-faint); font-size: 0.9375rem; }
.presence-regions {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin: 0.25rem 0 0;
  padding: 0;
  list-style: none;
}
.presence-regions li {
  border-top: 2px solid var(--line);
  border-radius: 0 0 0.75rem 0.75rem;
  padding: 0.875rem 0.75rem 0.75rem;
  text-align: start;
  transition: background-color 200ms var(--ease), border-color 200ms var(--ease);
}
.presence-regions li.is-active {
  border-top-color: #c8714e;
  background: #fbf3ec;
}
.presence-regions strong {
  display: block;
  color: var(--text);
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.4;
}
.presence-regions small {
  display: block;
  margin-top: 0.25rem;
  color: var(--text-faint);
  font-size: 0.8125rem;
  line-height: 1.4;
}
.presence-cta { display: flex; justify-content: center; margin-top: 2.75rem; }
@media (max-width: 53.75rem) {
  .presence-regions { grid-template-columns: 1fr 1fr; }
}


/* Homepage motion system — meaningful choreography with visible static defaults. */
.home-page .site-header--home {
  transition: background-color 260ms var(--ease), border-color 260ms var(--ease), box-shadow 260ms var(--ease);
}
.home-page .site-header--home.is-scrolled {
  position: fixed;
  background: rgba(46, 42, 51, 0.94);
  border-bottom-color: rgba(184, 225, 220, 0.22);
  box-shadow: 0 10px 28px rgba(23, 20, 26, 0.14);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
}
.home-page .site-header--home.is-scrolled .nav { min-height: 4.75rem; }
.home-page .site-header--home .nav-links { position: relative; }
.home-page .site-header--home .nav-links a { position: relative; z-index: 1; }
.care-dock a:focus-visible {
  outline: 3px solid var(--shore-500);
  outline-offset: -4px;
}

.about-image { clip-path: inset(0 round 0); }
.purpose-statement {
  transition: border-color 240ms var(--ease), box-shadow 240ms var(--ease), background-color 240ms var(--ease);
}
.purpose-statement.is-current {
  border-color: color-mix(in srgb, var(--shore-500) 42%, var(--line));
  box-shadow: 0 20px 48px rgba(46, 42, 51, 0.09);
}


.visit-form .field { transition: transform 200ms var(--ease); }
.visit-form .field.is-field-active { transform: translateY(-2px); }
.visit-form .field.is-field-active label { color: var(--action-hover); }

@media (min-width: 48.0625rem) {
  .purpose-layout {
    display: grid;
    grid-template-columns: minmax(15rem, 0.54fr) minmax(0, 1fr);
    gap: clamp(3rem, 8vw, 7rem);
    align-items: start;
  }
  .purpose-layout > h2 {
    position: sticky;
    top: 7rem;
    align-self: start;
    margin: 0;
    text-align: start;
  }
  .purpose-statements {
    display: grid;
    gap: 1rem;
    overflow: visible;
    border: 0;
    border-radius: 0;
  }
  .purpose-statement {
    min-height: 13rem;
    grid-template-columns: 1fr;
    gap: 0.8rem;
    align-content: center;
    border: 1px solid var(--line);
    border-radius: var(--radius-lg);
  }
  .purpose-statement:last-child { border-bottom: 1px solid var(--line); }
}

@media (max-width: 68rem) {
  .home-page .site-header--home .nav { min-height: 5rem; }
  .immersive-hero { min-height: 47rem; }
  .immersive-content { padding-top: 8rem; }
  .about-layout { grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.75fr); gap: 3.5rem; }
}

@media (max-width: 48rem) {
  .home-page .site-header--home .nav { min-height: 4.5rem; }
  .immersive-hero { min-height: 43rem; margin-bottom: 0; }
  .home-about { padding-top: 11rem; }
  .immersive-media img { object-position: 48% center; }
  .immersive-shade { background: rgba(46, 42, 51, 0.58); }
  .immersive-content { align-content: center; padding-top: 6.5rem; padding-bottom: 10rem; }
  .immersive-content h1 { font-size: clamp(2.5rem, 10vw, 3.6rem); }
  [dir="rtl"] .immersive-content h1 { font-size: clamp(2.4rem, 9.5vw, 3.35rem); line-height: 1.32; }
  .care-dock { bottom: -7.5rem; grid-template-columns: repeat(2, 1fr); }
  .care-dock a { min-height: 7.5rem; border-bottom: 0; }
  .care-dock a:nth-child(2) { border-inline-end: 1px solid var(--line); }
  .care-dock a:nth-child(3), .care-dock a:nth-child(4) { border-bottom: 1px solid var(--line); }
  .care-dock a:first-child,
  [dir="rtl"] .care-dock a:first-child { border-radius: var(--radius-md) 0 0 0; }
  .care-dock a:nth-child(2) { border-radius: 0 var(--radius-md) 0 0; }
  .care-dock a:nth-child(3) { border-radius: 0 0 0 var(--radius-md); }
  .care-dock a:last-child,
  [dir="rtl"] .care-dock a:last-child { border-radius: 0 0 var(--radius-md) 0; }
  [dir="rtl"] .care-dock a:first-child { border-radius: 0 var(--radius-md) 0 0; }
  [dir="rtl"] .care-dock a:nth-child(2) { border-radius: var(--radius-md) 0 0 0; }
  [dir="rtl"] .care-dock a:nth-child(3) { border-radius: 0 0 var(--radius-md) 0; }
  [dir="rtl"] .care-dock a:last-child { border-radius: 0 0 0 var(--radius-md); }
  .about-layout { grid-template-columns: 1fr; }
  .about-media { order: -1; width: min(30rem, 100%); margin-inline: auto; }
  .purpose-layout > h2,
  [dir="rtl"] .purpose-layout > h2 { font-size: clamp(2.15rem, 9vw, 3.1rem); }
  .purpose-statement { grid-template-columns: 1fr; gap: 0.65rem; min-height: 0; padding: 1.4rem 1.25rem; }
  .purpose-statement p { max-width: 100%; }
  .center-story-scene { padding-block: 4.75rem; }
  .center-story-copy h2,
  .center-story-copy h3 { font-size: clamp(2.5rem, min(10vw, 7.5vh), 4rem); }
  [dir="rtl"] .center-story-copy h2,
  [dir="rtl"] .center-story-copy h3 { font-size: clamp(2.35rem, min(9.5vw, 7vh), 3.75rem); }
  .center-story-copy p { max-width: 42ch; font-size: clamp(0.98rem, min(4vw, 2.2vh), 1.2rem); }
  .center-story-copy ul { max-width: 32rem; gap: 0.65rem 1.15rem; }
  .center-story-copy li { font-size: clamp(0.82rem, 3.4vw, 0.98rem); }
  .offerings-layout { grid-template-columns: 1fr; gap: 2rem; }
  .offerings-intro { display: contents; }
  .offerings-intro > h2 { max-width: none; }
  .section-action-link,
  .offerings-flow { grid-column: 1; grid-row: auto; }
  .section-action-link { margin-top: -1.4rem; }
  .offerings-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
  }
  .offerings-list li {
    border-bottom: 1px solid color-mix(in srgb, var(--coral-700) 18%, transparent);
  }
}

@media (max-width: 34rem) {
  .immersive-hero { min-height: 40rem; }
  .immersive-content { padding-inline: 1.35rem; }
  .immersive-content > p { max-width: 28ch; }
  .immersive-content h1 { font-size: clamp(2.25rem, 10.5vw, 3rem); }
  [dir="rtl"] .immersive-content h1 { font-size: clamp(2.15rem, 10vw, 2.85rem); }
  .hero-cta-group { width: min(100%, 20rem); margin-top: 1.4rem; }
  .hero-cta { flex: 1 1 100%; }
  .care-dock a { min-height: 7rem; flex-direction: column; gap: 0.55rem; padding: 0.9rem 0.6rem; }
  .care-dock strong { font-size: 0.78rem; }
  .about-media { padding: 0 0 4rem 1.25rem; }
  [dir="rtl"] .about-media { padding: 0 1.25rem 4rem 0; }
  .about-media::before { inset: 1.5rem 0 1.5rem 2.75rem; border-radius: var(--radius-lg) 7rem var(--radius-lg) var(--radius-lg); }
  [dir="rtl"] .about-media::before { inset: 1.5rem 2.75rem 1.5rem 0; border-radius: 7rem var(--radius-lg) var(--radius-lg) var(--radius-lg); }
  .about-image { border-radius: var(--radius-lg) 7rem var(--radius-lg) var(--radius-lg); }
  [dir="rtl"] .about-image { border-radius: 7rem var(--radius-lg) var(--radius-lg) var(--radius-lg); }
  .about-copy h2 { font-size: clamp(2.4rem, 11vw, 3.5rem); }
  .offerings-section,
  .target-groups-section { padding-block: 3.5rem; }
  .offerings-list { grid-template-columns: 1fr; }
  .njtg-head { width: 9.5rem; }
  .presence-section { padding-block: 3.5rem; }
  .presence-regions { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
}

@media (max-height: 32rem) and (prefers-reduced-motion: no-preference) {
  .center-overview-section.has-center-story-motion .center-story-scene { padding-block: 3.75rem 2.75rem; }
  .center-overview-section.has-center-story-motion .center-story-copy h2,
  .center-overview-section.has-center-story-motion .center-story-copy h3 { font-size: clamp(2rem, 9vh, 2.8rem); }
  .center-overview-section.has-center-story-motion .center-story-copy p {
    max-width: 52ch;
    margin-top: 0.75rem;
    font-size: 0.9rem;
    line-height: 1.55;
  }
  [dir="rtl"] .center-overview-section.has-center-story-motion .center-story-copy p { line-height: 1.7; }
  .center-overview-section.has-center-story-motion .center-story-copy ul { margin-top: 0.9rem; gap-block: 0.4rem; }
  .center-overview-section.has-center-story-motion .center-story-copy li { font-size: 0.78rem; }
  .center-story-progress { inset-inline-end: 0.75rem; }
}
