/* ============================================================
   Dr. Vivek Allahbadia | styles.css
   Full custom CSS — zero Tailwind dependency.
   ============================================================ */

/* ── 1. Design Tokens ───────────────────────────────────────── */
:root {
  --primary:        #00355f;
  --primary-mid:    #0f4c81;
  --teal:           #5dc8d8;
  --teal-bright:    #97f0ff;

  --surface:        #E8EAED;
  --surface-low:    #DFE2E6;
  --surface-base:   #D8DBE0;
  --surface-high:   #e6e8ea;
  --surface-white:  #ffffff;

  --text:           #191c1e;
  --text-muted:     #42474f;
  --text-faint:     #727780;

  --grey-50:        #f8fafc;
  --grey-200:       #e2e8f0;
  --grey-400:       #94a3b8;
  --grey-500:       #64748b;

  --font-headline:  'Newsreader', serif;
  --font-body:      'Manrope', sans-serif;

  --container-max:        80rem;
  --container-max-wide:   87.5rem;
  --container-max-narrow: 64rem;
  --container-px:         2rem;
  --section-py:           6rem;

  --radius-sm:    0.5rem;
  --radius-md:    0.875rem;
  --radius-lg:    1rem;
  --radius-xl:    1.5rem;
  --radius-2xl:   2rem;
  --radius-3xl:   3rem;
  --radius-full:  9999px;

  --shadow-soft:  0 2px 32px rgba(0, 53, 95, 0.05);
  --shadow-lift:  0 8px 40px rgba(0, 53, 95, 0.10);
  --shadow-deep:  0 32px 64px -12px rgba(0, 53, 95, 0.06);

  --ease:         cubic-bezier(0.22, 0.6, 0.36, 1);
  --ease-spring:  cubic-bezier(0.16, 0.6, 0.3, 1);
}

/* ── 2. Base & Reset ────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--font-body);
  background: var(--surface);
  color: var(--text);
  overflow-x: hidden;
  line-height: 1.6;
}
::selection { background: var(--primary-mid); color: white; }
h1, h2, h3, h4 { font-family: var(--font-headline); line-height: 1; }
img { display: block; max-width: 100%; }
a { color: inherit; }
ul, ol { list-style: none; }
address { font-style: normal; }
button { font-family: var(--font-body); }

.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;
}
.material-symbols-outlined {
  font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
  vertical-align: middle; line-height: 1;
}

/* ── 3. Layout ──────────────────────────────────────────────── */
.container        { max-width: var(--container-max);        margin-inline: auto; padding-inline: var(--container-px); }
.container--wide  { max-width: var(--container-max-wide);   margin-inline: auto; padding-inline: var(--container-px); }
.container--narrow{ max-width: var(--container-max-narrow); margin-inline: auto; padding-inline: var(--container-px); }
.container--2xl   { max-width: 96rem; width:100%; margin-inline: auto; padding-inline: 1.25rem; }
.section          { padding-block: var(--section-py); }

/* ── 4. Page Transitions ────────────────────────────────────── */
@keyframes pageIn { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
main { animation: pageIn 0.6s var(--ease) both; }
body.page-exit * { transition: opacity 0.28s ease, transform 0.28s ease !important; }
body.page-exit main { opacity:0 !important; transform:translateY(-14px) !important; }

/* ── 5. Scroll Reveal ───────────────────────────────────────── */
.fade-in-up { opacity:0; transform:translateY(36px); transition:opacity 0.7s var(--ease),transform 0.7s var(--ease); }
.fade-in-up.visible { opacity:1; transform:translateY(0); }

/* ── 6. Header ──────────────────────────────────────────────── */
.site-header {
  position: fixed; top:0; left:0; right:0; z-index:50;
  height: 5rem;
  background: rgba(232, 234, 237, 0.85);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border-bottom: 1px solid rgba(203, 213, 225, 0.5);
  box-shadow: 0 2px 40px rgba(0,53,95,0.06);
  transition: box-shadow 0.3s ease;
}
.site-header.scrolled { box-shadow: 0 4px 40px rgba(0,53,95,0.10); }

.site-nav {
  display: flex; align-items: center; justify-content: space-between;
  height: 100%; gap: 1.5rem;
  max-width: var(--container-max); margin-inline: auto; padding-inline: var(--container-px);
}

.nav-brand {
  font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  font-size: 1.5rem; font-style: italic;
  font-weight: 400; color: #1e3a8a; text-decoration: none; white-space: nowrap; flex-shrink: 0;
}

.nav-links { display: flex; align-items: center; gap: 1.75rem; }

.nav-link {
  font-size: 0.9375rem; font-weight: 700; color: #475569;
  text-decoration: none; transition: color 0.2s ease;
}
.nav-link:hover { color: #1e40af; }
.nav-link.active { color: #1d4ed8; border-bottom: 2px solid #1d4ed8; padding-bottom: 0.25rem; font-weight: 700; }

.nav-actions { display: flex; align-items: center; gap: 0.75rem; flex-shrink: 0; }

.menu-btn {
  display: none; align-items: center; justify-content: center;
  width: 2.5rem; height: 2.5rem; border: none; background: transparent;
  border-radius: var(--radius-md); cursor: pointer; color: var(--primary);
  transition: background 0.2s ease;
}
.menu-btn:hover { background: var(--surface-base); }

/* ── 7. Mobile Menu ─────────────────────────────────────────── */

/* Hamburger button icon swap */
.menu-btn .icon-menu  { display: block; }
.menu-btn .icon-close { display: none; }
.menu-btn.is-open .icon-menu  { display: none; }
.menu-btn.is-open .icon-close { display: block; }

/* Drawer — slides in from the right */
.mobile-menu {
  display: block;
  position: fixed;
  inset: 0;
  z-index: 200;
  visibility: hidden;
  pointer-events: none;
}

/* Backdrop */
.mobile-menu::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0);
  transition: background 0.38s ease;
}
.mobile-menu.open::before {
  background: rgba(0, 0, 0, 0.35);
}

/* Drawer panel */
.mobile-menu__panel {
  position: absolute;
  top: 0; right: 0; bottom: 0;
  width: min(82vw, 340px);
  background: #ffffff;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition: transform 0.38s cubic-bezier(0.22, 0.6, 0.36, 1);
  box-shadow: -8px 0 40px rgba(0, 53, 95, 0.12);
  overflow-y: auto;
}
.mobile-menu.open {
  visibility: visible;
  pointer-events: auto;
}
.mobile-menu.open .mobile-menu__panel {
  transform: translateX(0);
}

/* Top bar */
.mobile-menu__topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 1.25rem 1rem;
  border-bottom: 1px solid #f0f2f4;
  flex-shrink: 0;
}
.mobile-menu__brand {
  font-family: var(--font-headline);
  font-size: 1rem;
  font-style: italic;
  font-weight: 500;
  color: var(--primary);
  letter-spacing: -0.01em;
}
.mobile-menu__close {
  width: 2.25rem; height: 2.25rem;
  display: flex; align-items: center; justify-content: center;
  background: #f0f2f4; border: none; border-radius: 50%;
  cursor: pointer; color: var(--primary);
  transition: background 0.2s, transform 0.2s;
  flex-shrink: 0;
}
.mobile-menu__close:hover { background: #e2e6ea; transform: rotate(90deg); }
.mobile-menu__close .material-symbols-outlined { font-size: 1.1rem; }

/* Nav list */
.mobile-menu__nav {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 0.5rem 0;
}

/* Individual nav items */
.mobile-menu__item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  text-decoration: none;
  color: var(--primary);
  border-bottom: 1px solid #f3f4f6;
  transition: background 0.18s ease, padding-left 0.18s ease;

  /* staggered fade-in state */
  opacity: 0;
  transform: translateX(18px);
  transition: background 0.18s ease, padding-left 0.18s ease,
              opacity 0.35s ease, transform 0.35s ease;
}
.mobile-menu__item:last-child { border-bottom: none; }
.mobile-menu__item:hover {
  background: #f0fafb;
  padding-left: 1.5rem;
}

/* Staggered in — added by JS when menu opens */
.mobile-menu__item.item-visible {
  opacity: 1;
  transform: translateX(0);
}

.mobile-menu__icon {
  font-size: 1.2rem;
  color: #8fa3b5;
  flex-shrink: 0;
  font-variation-settings: 'FILL' 0;
  transition: color 0.2s;
}
.mobile-menu__item:hover .mobile-menu__icon { color: #5dc8d8; }

.mobile-menu__label {
  flex: 1;
  font-family: var(--font-body);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: color 0.2s;
}
.mobile-menu__item:hover .mobile-menu__label { color: #5dc8d8; }

.mobile-menu__arrow {
  font-size: 1.1rem;
  color: #c8d0d8;
  flex-shrink: 0;
  transition: transform 0.18s, color 0.2s;
}
.mobile-menu__item:hover .mobile-menu__arrow {
  transform: translateX(3px);
  color: #5dc8d8;
}

/* Active page highlight */
.mobile-menu__item.active {
  background: #f0fafb;
  border-left: 3px solid #5dc8d8;
  padding-left: calc(1.25rem - 3px);
}
.mobile-menu__item.active .mobile-menu__icon,
.mobile-menu__item.active .mobile-menu__label { color: #00355f; }

/* Nudge text box */
.mobile-menu__nudge {
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  background: #f0fafb;
  border: 1px solid rgba(93, 200, 216, 0.3);
  border-radius: 0.75rem;
  padding: 0.75rem 0.875rem;
  margin-bottom: 0.875rem;

  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease 0.38s, transform 0.4s ease 0.38s;
}
.mobile-menu.open .mobile-menu__nudge {
  opacity: 1;
  transform: translateY(0);
}
.mobile-menu__nudge-icon {
  font-size: 1rem;
  color: #5dc8d8;
  flex-shrink: 0;
  margin-top: 1px;
  font-variation-settings: 'FILL' 1;
}
.mobile-menu__nudge-text {
  font-size: 0.75rem;
  line-height: 1.55;
  color: #42474f;
  font-weight: 500;
}

/* CTA button */
.mobile-menu__cta-wrap {
  padding: 1.25rem;
  border-top: 1px solid #f0f2f4;
  flex-shrink: 0;
}
.mobile-menu__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  width: 100%;
  padding: 0.9rem 1.25rem;
  background: linear-gradient(135deg, #00355f, #0f4c81);
  color: #ffffff;
  font-family: var(--font-body);
  font-size: 0.875rem;
  font-weight: 700;
  border-radius: 0.875rem;
  text-decoration: none;
  letter-spacing: 0.02em;
  box-shadow: 0 4px 18px rgba(0, 53, 95, 0.25);
  transition: opacity 0.2s, transform 0.15s;

  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease 0.45s, transform 0.4s ease 0.45s,
              background 0.2s;
}
.mobile-menu.open .mobile-menu__cta {
  opacity: 1;
  transform: translateY(0);
}
.mobile-menu__cta:hover { opacity: 0.9; transform: translateY(-1px); }
.mobile-menu__cta .material-symbols-outlined { font-size: 1.1rem; }

/* ── 8. Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: 0.5rem;
  font-family: var(--font-body); font-weight: 500; font-size: 0.875rem;
  border: none; cursor: pointer; text-decoration: none;
  border-radius: 0.75rem;
  transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s;
}
.btn--primary {
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-mid) 100%);
  color: white; padding: 0.75rem 1.5rem;
  font-weight: 700;
  transform: scale(0.95);
  box-shadow: 0 8px 24px rgba(0,53,95,0.22);
}
.btn--primary:hover { opacity:0.92; transform:scale(0.95) translateY(-1px); box-shadow:0 12px 32px rgba(0,53,95,0.28); }
.btn--primary:active { transform:scale(0.93); opacity:0.8; }

.btn--ghost {
  background: transparent; color: var(--primary); padding: 0.25rem 0;
  font-size: 0.6875rem; letter-spacing: 0.18em; text-transform: uppercase;
  border: none; border-bottom: 1px solid var(--primary); border-radius: 0;
  gap: 0.375rem;
}
.btn--ghost:hover { opacity: 0.6; }
.btn--ghost .material-symbols-outlined { font-size: 0.875rem; }

.btn--white-outline {
  background: transparent; color: white; padding: 0.5rem 0;
  font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase;
  border: none; border-bottom: 1px solid rgba(255,255,255,0.5); border-radius: 0;
}
.btn--white-outline:hover { opacity: 0.7; }

.btn--book {
  display: block; width: 100%; text-align: center;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-mid) 100%);
  color: white; font-family: var(--font-body); font-weight: 700;
  font-size: 0.875rem; letter-spacing: 0.05em; padding: 1rem;
  border-radius: var(--radius-lg); border: none; text-decoration: none;
  box-shadow: 0 4px 12px rgba(0,53,95,0.2); transition: opacity 0.2s;
}
.btn--book:hover { opacity: 0.9; }

.btn--map {
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
  width: 100%; text-align: center; color: var(--primary); font-family: var(--font-body);
  font-weight: 700; font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase;
  padding: 0.75rem; background: none; border: none; text-decoration: none;
  transition: opacity 0.2s;
}
.btn--map:hover { opacity: 0.6; }

/* ── 9. Hero ────────────────────────────────────────────────── */
.hero { position: relative; overflow: hidden; min-height: 88vh; background: var(--surface); }

.hero__image-wrap {
  display: none; position: absolute; top: 9vh; bottom: 0;
  left: calc(39% - 20px); width: 36%; z-index: 1; pointer-events: none; overflow: hidden;
}
.hero__image { width:100%; height:100%; object-fit:contain; object-position:top center; transform:scaleX(-1); }

.hero__grid {
  position: relative; z-index: 10;
  display: grid; grid-template-columns: 1fr 260px;
  align-items: center; min-height: 88vh;
  max-width: 96rem; margin-inline: auto; padding: 5rem 1.25rem; gap: 0;
}

.hero__text {
  display: flex; flex-direction: column; justify-content: center;
  padding-right: 2rem; margin-top: -9vh;
}

.hero__eyebrow {
  font-size: 1.25rem; font-weight: 800; letter-spacing: 0.18em;
  text-transform: uppercase; color: #1d4f7a; margin-bottom: 1.5rem;
}

.hero__heading {
  font-size: clamp(2.5rem, 4.4vw, 4.5rem); font-weight: 300;
  color: var(--primary); letter-spacing: -0.01em; line-height: 0.93;
  margin-bottom: 2rem;
}

.hero__tagline {
  color: var(--text-muted); line-height: 1.65; font-size: 1.1rem;
  max-width: 26rem; margin-bottom: 2.5rem;
}

.hero__credentials { display: flex; flex-direction: column; gap: 1rem; }
.hero__credential  { display: flex; align-items: center; gap: 0.75rem; }
.hero__credential-icon { font-size: 1.0625rem; color: var(--primary); flex-shrink: 0; font-variation-settings:'FILL' 1; }
.hero__credential-text { font-size: 0.875rem; font-weight: 600; color: var(--primary); }

.hero__stats { display: flex; flex-direction: column; justify-content: center; padding-left: 0.7rem; }

.stat-block { padding-bottom: 2rem; margin-bottom: 2rem; }
.stat-block:last-child { padding-bottom: 0; margin-bottom: 0; }

.stat-counter { font-family: var(--font-headline); font-weight: 300; font-size: 4rem; color: var(--primary); line-height: 1; }
.stat-counter--teal { color: var(--teal); }
.stat-suffix { font-size: 2.6rem; vertical-align: middle; position: relative; top: -4px; }
.stat-label { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.2em; text-transform: uppercase; color: rgba(0,53,95,0.5); margin-top: 0.4rem; }

/* ── 10. Hero Animations ────────────────────────────────────── */
@keyframes slideLeft  { from{opacity:0;transform:translateX(260px)}  to{opacity:1;transform:translateX(0)} }
@keyframes slideRight { from{opacity:0;transform:translateX(-260px)} to{opacity:1;transform:translateX(0)} }
@keyframes heroImgIn  { from{opacity:0;transform:scale(1.06)}        to{opacity:1;transform:scale(1)} }

.hero-left  { opacity:0; animation:slideLeft  1.1s var(--ease-spring) 0.1s forwards; }
.hero-right { opacity:0; animation:slideRight 1.1s var(--ease-spring) 0.1s forwards; }
.hero-img   { opacity:0; animation:heroImgIn  0.7s var(--ease)        0s   forwards; }

/* ── 11. Editorial USP ──────────────────────────────────────── */
#editorial-usp {
  background: linear-gradient(160deg,#00264d 0%,#00355f 55%,#004a6e 100%) !important;
  padding-block: 7rem; overflow: hidden;
}
#editorial-usp, #editorial-usp * {
  opacity:1 !important; transform:none !important; animation:none !important; transition:none !important;
}

.usp__eyebrow {
  font-size: 0.625rem; font-weight: 800; letter-spacing: 0.35em;
  text-transform: uppercase; color: rgba(255,255,255,0.5);
  display: flex; align-items: center; gap: 1rem; margin-bottom: 4rem;
}
.usp__eyebrow::before { content:''; display:inline-block; width:2.5rem; height:1px; background:rgba(255,255,255,0.3); }

.usp__grid { display: grid; grid-template-columns: 1fr; gap: 4rem; }

.usp__badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  background: rgba(255,255,255,0.15); color: white;
  font-size: 0.625rem; font-weight: 800; letter-spacing: 0.25em; text-transform: uppercase;
  padding: 0.5rem 1rem; border-radius: var(--radius-full); margin-bottom: 2rem;
}
.usp__badge-dot { width:6px; height:6px; border-radius:50%; background:white; flex-shrink:0; }

.usp__heading {
  font-size: clamp(3rem, 8vw, 6rem); font-weight: 300; color: white;
  line-height: 0.95; letter-spacing: -0.02em; margin-bottom: 2rem;
}
.usp__body { color: rgba(255,255,255,0.7); line-height: 1.7; margin-bottom: 2.5rem; }

.usp__metrics { display: flex; align-items: flex-start; gap: 1.75rem; flex-wrap: nowrap; }
.usp__metrics--spaced { margin-bottom: 2.5rem; }
.usp__metric-value { font-family: var(--font-headline); font-size: 2rem; font-weight: 300; color: white; line-height: 1; }
.usp__metric-value--teal { color: var(--teal-bright); }
.usp__metric-unit { font-size: 1rem; margin-left: 0.375rem; }
.usp__metric-label { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: rgba(255,255,255,0.5); margin-top: 0.5rem; }
.usp__divider { width:1px; height:2rem; background:rgba(255,255,255,0.2); align-self:center; flex-shrink:0; }

.usp__link {
  display: inline-flex; align-items: center; gap: 0.375rem;
  color: white; font-weight: 700; font-size: 0.6875rem; letter-spacing: 0.18em; text-transform: uppercase;
  border-bottom: 1px solid rgba(255,255,255,0.5); padding-bottom: 2px;
  text-decoration: none; transition: opacity 0.2s;
}
.usp__link:hover { opacity: 0.7; }
.usp__link .material-symbols-outlined { font-size: 0.875rem; }

/* ── 12. Conditions ─────────────────────────────────────────── */
.conditions__grid { display:grid; grid-template-columns:1fr; gap:4rem; align-items:stretch; }

.conditions__image-wrap {
  border-radius: var(--radius-3xl); overflow: hidden; box-shadow: var(--shadow-deep);
  min-height: 400px; position: relative;
}
.conditions__image { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }

.conditions__heading { font-size:clamp(2rem,4vw,3rem); font-weight:400; color:var(--primary); margin-bottom:1rem; }
.conditions__intro { color:var(--text-muted); font-size:1rem; line-height:1.7; margin-bottom:1.5rem; }

.conditions__list { border-top:1px solid rgba(0,53,95,0.1); margin-bottom:2rem; }
.condition-item { display:flex; align-items:center; gap:1.5rem; padding-block:1rem; border-bottom:1px solid rgba(0,53,95,0.1); }
.condition-item:hover .condition-item__num { color:var(--primary); }
.condition-item__num { font-family:var(--font-headline); font-size:1.875rem; font-weight:300; color:rgba(114,119,128,0.4); width:2rem; flex-shrink:0; transition:color 0.2s; }
.condition-item__name { font-weight:700; color:var(--primary); margin-bottom:0.125rem; }
.condition-item__desc { font-size:0.75rem; color:var(--text-muted); }

/* ── 13. Video Feature ──────────────────────────────────────── */
.video-feature__header { text-align:center; margin-bottom:3rem; }

.video-feature__eyebrow {
  font-size: 0.625rem; font-weight: 800; letter-spacing: 0.35em; text-transform: uppercase;
  color: #07497d; display: flex; align-items: center; justify-content: center; gap: 1rem; margin-bottom: 1rem;
}
.video-feature__eyebrow::before,
.video-feature__eyebrow::after { content:''; display:inline-block; width:2.5rem; height:1px; background:var(--teal); }

.video-feature__heading { font-size:clamp(2rem,4vw,3rem); font-weight:300; color:var(--primary); margin-bottom:1rem; }
.video-feature__intro { color:var(--text-muted); max-width:36rem; margin-inline:auto; font-size:0.875rem; line-height:1.7; }

.video-thumbnail {
  display:block; position:relative; border-radius:var(--radius-2xl); overflow:hidden;
  box-shadow:var(--shadow-deep); aspect-ratio:16/9; text-decoration:none;
}
.video-thumbnail__img { width:100%; height:100%; object-fit:cover; }
.video-thumbnail__overlay { position:absolute; inset:0; background:rgba(0,53,95,0.20); transition:background 0.3s ease; }
.video-thumbnail:hover .video-thumbnail__overlay { background:rgba(0,53,95,0.40); }
.video-thumbnail__play-wrap { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.video-thumbnail__play-btn { width:5rem; height:5rem; border-radius:50%; background:rgba(255,255,255,0.95); display:flex; align-items:center; justify-content:center; box-shadow:0 0 40px rgba(0,0,0,0.3); transition:transform 0.3s; }
.video-thumbnail:hover .video-thumbnail__play-btn { transform:scale(1.1); }
.video-thumbnail__label {
  position:absolute; bottom:1rem; right:1.25rem;
  display:flex; align-items:center; gap:0.5rem;
  background:rgba(0,0,0,0.6); color:white; font-size:0.75rem; font-weight:700;
  padding:0.375rem 0.75rem; border-radius:var(--radius-full); backdrop-filter:blur(6px);
  opacity:0; transition:opacity 0.3s;
}
.video-thumbnail:hover .video-thumbnail__label { opacity:1; }

.video-feature__footer {
  display:flex; flex-direction:column; gap:1.5rem; align-items:center;
  margin-top:2rem; padding-top:2rem; border-top:1px solid rgba(194,199,209,0.4);
}
.video-quote { font-family:var(--font-headline); font-style:italic; font-size:0.9375rem; color:var(--primary); line-height:1.6; }
.video-quote__cite { display:block; margin-top:0.5rem; font-style:normal; font-family:var(--font-body); font-weight:700; font-size:0.6875rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--primary); }

/* ── 14. Testimonials ───────────────────────────────────────── */
.testimonials {
  padding-block: 6rem; overflow: hidden;
  background: linear-gradient(158deg,#002244 0%,#00355f 45%,#00404f 100%);
}

.testimonials__header { display:flex; flex-direction:column; gap:1.5rem; margin-bottom:3.5rem; }

.testimonials__eyebrow {
  font-size:0.625rem; font-weight:800; letter-spacing:0.35em; text-transform:uppercase;
  color:rgba(151,240,255,0.6); display:flex; align-items:center; gap:1rem;
  margin-bottom: 1rem;
}
.testimonials__eyebrow::before { content:''; width:2rem; height:1px; background:rgba(151,240,255,0.35); display:inline-block; }
.testimonials__heading { font-size:clamp(2rem,5vw,3rem); font-weight:300; color:white; line-height:1.25; }

.testimonials__meta { display:flex; align-items:center; gap:1.5rem; }
.testimonials__rating-row { display:flex; align-items:center; gap:0.375rem; margin-bottom:0.25rem; }
.testimonials__rating-num { color:white; font-family:var(--font-headline); font-size:1.125rem; font-weight:700; }
.testimonials__rating-denom { color:rgba(255,255,255,0.35); font-size:0.6875rem; }
.testimonials__rating-label { color:rgba(255,255,255,0.4); font-size:0.5625rem; font-weight:700; letter-spacing:0.15em; text-transform:uppercase; }
.testimonials__meta-divider { width:1px; height:2.5rem; background:rgba(255,255,255,0.12); }
.testimonials__all-link { color:var(--teal-bright); font-weight:700; font-size:0.625rem; letter-spacing:0.18em; text-transform:uppercase; display:inline-flex; align-items:center; gap:6px; text-decoration:none; transition:opacity 0.2s; }
.testimonials__all-link:hover { opacity:0.6; }

.testimonials__footer { display:flex; flex-direction:column; gap:1.25rem; align-items:center; margin-top:3rem; }
.testimonials__hint { color:rgba(255,255,255,0.4); font-size:0.8125rem; font-style:italic; font-family:var(--font-headline); }
.testimonials__fb-btn {
  display:inline-flex; align-items:center; gap:0.625rem;
  background:rgba(255,255,255,0.09); border:1px solid rgba(255,255,255,0.14);
  color:white; font-weight:700; font-size:0.8125rem; padding:0.85rem 1.75rem;
  border-radius:var(--radius-md); text-decoration:none; transition:background 0.2s;
}
.testimonials__fb-btn:hover { background:rgba(255,255,255,0.16); }

/* Video cards */
@keyframes scroll-fwd { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes scroll-rev { 0%{transform:translateX(-50%)} 100%{transform:translateX(0)} }

.vcarousel-row { overflow:hidden; }
.vcarousel-row + .vcarousel-row { margin-top:1rem; }
.vtrack-fwd { animation:scroll-fwd 52s linear infinite; display:flex; gap:1rem; width:max-content; }
.vtrack-rev { animation:scroll-rev 46s linear infinite; display:flex; gap:1rem; width:max-content; }
.vcarousel-row:hover .vtrack-fwd,
.vcarousel-row:hover .vtrack-rev { animation-play-state:paused; }
.vmask { -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%); mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%); }

.vcard { flex-shrink:0; width:320px; border-radius:1.25rem; overflow:hidden; background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.11); cursor:pointer; display:block; text-decoration:none; transition:transform 0.3s var(--ease),box-shadow 0.3s ease; }
.vcard:hover { transform:translateY(-6px); box-shadow:0 24px 48px rgba(0,0,0,0.3); }
.vcard-thumb { position:relative; width:100%; padding-top:56.25%; background:rgba(0,0,0,0.3); overflow:hidden; }
.vcard-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(0.75); transition:filter 0.3s,transform 0.5s; }
.vcard:hover .vcard-thumb img { filter:brightness(0.9); transform:scale(1.05); }
.vplay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; }
.vplay-btn { width:52px; height:52px; border-radius:50%; background:rgba(255,255,255,0.92); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px rgba(0,0,0,0.35); transition:transform 0.25s,background 0.2s; }
.vcard:hover .vplay-btn { transform:scale(1.12); background:white; }
.fb-badge { position:absolute; bottom:10px; left:10px; display:flex; align-items:center; gap:6px; background:rgba(24,119,242,0.85); backdrop-filter:blur(6px); padding:4px 10px; border-radius:50px; color:white; font-size:10px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; }
.vdur { position:absolute; bottom:10px; right:10px; background:rgba(0,0,0,0.65); color:white; font-size:10px; font-weight:700; padding:3px 8px; border-radius:4px; }
.vcard-body { padding:1.1rem 1.25rem 1.25rem; }
.vstars { color:var(--teal-bright); font-size:11px; letter-spacing:1px; margin-bottom:0.5rem; }
.vquote { font-family:var(--font-headline); font-style:italic; font-size:0.875rem; line-height:1.55; color:rgba(255,255,255,0.88); margin-bottom:0.85rem; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.vprocedure { color:rgba(255,255,255,0.42); font-size:9px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; }

/* ── 15. FAQ ────────────────────────────────────────────────── */
.faq { background:var(--surface-low); padding-block:6rem; }

.faq__eyebrow { font-size:0.625rem; font-weight:800; letter-spacing:0.22em; text-transform:uppercase; color:rgba(0,53,95,0.5); margin-bottom:1.25rem; }
.faq__heading { font-size:clamp(3rem,6vw,5.5rem); font-weight:300; color:var(--primary); line-height:0.92; margin-bottom:2rem; }
.faq__pull-quote {
  font-family:var(--font-headline); font-size:clamp(1.4rem,2.5vw,2rem); font-weight:600;
  color:var(--primary); line-height:1.3;
  padding:1.75rem 2rem; background:rgba(0,53,95,0.05);
  border-left:4px solid var(--teal); border-radius:0 1rem 1rem 0; margin-bottom:2rem;
}
.faq__pull-quote span { color:#0a7a8a; }

.faq__intro-grid { display:grid; grid-template-columns:1fr; gap:1.5rem; margin-bottom:4rem; }
.faq__intro-text { color:var(--text-muted); font-size:1.05rem; line-height:1.9; }
.faq__intro-text strong { color:var(--primary); }

.faq__item { border-bottom:1px solid rgba(0,53,95,0.1); }
.faq__btn { width:100%; display:flex; justify-content:space-between; align-items:center; padding:2rem 0; background:none; border:none; cursor:pointer; text-align:left; gap:2rem; }
.faq__question { font-family:var(--font-headline); font-size:clamp(1.1rem,1.8vw,1.35rem); color:var(--primary); font-weight:400; line-height:1.3; }
.faq__icon { flex-shrink:0; color:var(--teal); font-size:1.8rem; transition:transform 0.3s ease; }
.faq__btn.open .faq__icon { transform:rotate(45deg); }
.faq__body { max-height:0; overflow:hidden; transition:max-height 0.5s var(--ease); }
.faq__answer { padding:1.75rem 2rem; background:white; border-radius:1.5rem; margin-bottom:1.5rem; margin-right:8%; border:2.5px solid rgba(0,53,95,0.2); box-shadow:0 4px 20px rgba(0,53,95,0.08),inset 0 2px 14px rgba(0,53,95,0.05); }
.faq__answer p { color:#2d3340; font-size:1rem; line-height:1.9; font-weight:500; }
.faq__answer p+p { margin-top:1rem; }
.faq__answer strong { color:var(--primary); }
.faq__note { display:flex; gap:0.75rem; align-items:flex-start; margin-top:1rem; padding-top:1.25rem; color:var(--text-muted); font-size:0.875rem; line-height:1.6; }
.faq__note-icon { color:var(--teal); flex-shrink:0; margin-top:0.1rem; font-variation-settings:'FILL' 1; }

/* ── 16. Section shared eyebrow ────────────────────────────── */
.section-eyebrow {
  font-size:0.625rem; font-weight:800; letter-spacing:0.22em; text-transform:uppercase;
  color:rgba(0,53,95,0.5); display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem;
}
.section-eyebrow::before { content:''; display:inline-block; width:2.5rem; height:1px; background:currentColor; }
.section-eyebrow--no-rule::before { display:none; }
.section-heading { font-size:clamp(2rem,4vw,3rem); font-weight:300; color:var(--primary); }

/* ── 17. Locations ──────────────────────────────────────────── */
.locations__header { margin-bottom:3.5rem; }
.locations__grid { display:grid; grid-template-columns:1fr; gap:2rem; }

.location-card { background:var(--surface-white); border-radius:1.5rem; overflow:hidden; box-shadow:var(--shadow-deep); transition:transform 0.5s ease; }
.location-card:hover { transform:translateY(-8px); }
.location-card__img-wrap { height:14rem; position:relative; overflow:hidden; background:var(--surface-high); }
.location-card__img { width:100%; height:100%; object-fit:cover; }
.location-card__img-fade { position:absolute; inset:0; background:linear-gradient(to bottom,transparent,white); }
.location-card__body { padding:2.5rem; }
.location-card__badge { font-size:0.6875rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal); display:block; margin-bottom:0.75rem; }
.location-card__name { font-size:1.5rem; font-weight:600; color:var(--primary); margin-bottom:0.75rem; }
.location-card__status { font-size:0.75rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; color:#16a34a; margin-bottom:1.25rem; }
.location-card__address { display:flex; flex-direction:column; gap:0.75rem; margin-bottom:2rem; color:var(--text-muted); font-size:0.875rem; }
.location-card__address-row { display:flex; gap:0.75rem; align-items:flex-start; }
.location-card__address-icon { color:var(--primary); flex-shrink:0; }
.location-card__address a { color:inherit; text-decoration:none; transition:color 0.2s; }
.location-card__address a:hover { color:var(--primary); }
.location-card__actions { display:flex; flex-direction:column; gap:0.75rem; }

/* ── 18. Footer ─────────────────────────────────────────────── */
.site-footer { background:var(--grey-50); padding-block:4rem; border-top:1px solid var(--grey-200); }
.footer__grid { display:grid; grid-template-columns:1fr; gap:3rem; }
.footer__brand-name { font-family:var(--font-headline); font-size:1.25rem; color:var(--primary); margin-bottom:0.4rem; }
.footer__tagline { color:var(--grey-500); font-size:0.875rem; margin-bottom:0.25rem; }
.footer__social { margin-top:1.25rem; }
.footer__social-link { color:var(--primary); opacity:0.6; transition:opacity 0.2s; text-decoration:none; display:inline-block; }
.footer__social-link:hover { opacity:1; }
.footer__col-heading { font-weight:700; color:var(--primary); font-size:0.625rem; letter-spacing:0.18em; text-transform:uppercase; margin-bottom:1.25rem; }
.footer__links { display:flex; flex-direction:column; gap:0.75rem; }
.footer__link { color:var(--grey-500); text-decoration:none; font-size:0.875rem; transition:color 0.2s; }
.footer__link:hover { color:var(--primary); }
.footer__expertise-list { display:flex; flex-direction:column; gap:0.75rem; }
.footer__expertise-item { color:var(--grey-500); font-size:0.875rem; }
.footer__newsletter-desc { color:var(--grey-500); font-size:0.875rem; margin-bottom:1rem; }
.footer__email-form { display:flex; background:white; border-radius:var(--radius-sm); padding:0.25rem; border:1px solid rgba(194,199,209,0.3); }
.footer__email-input { background:transparent; border:none; outline:none; font-size:0.75rem; flex:1; padding:0.375rem 0.5rem; font-family:var(--font-body); }
.footer__email-btn { background:var(--primary); color:white; border:none; padding:0.5rem; border-radius:0.25rem; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:opacity 0.2s; }
.footer__email-btn:hover { opacity:0.85; }
.footer__bottom { display:flex; flex-direction:column; gap:1rem; align-items:center; margin-top:2.5rem; padding-top:2.5rem; border-top:1px solid var(--grey-200); }
.footer__copy { color:var(--grey-400); font-size:0.75rem; }
.footer__badges { display:flex; gap:2rem; }
.footer__badge { color:var(--grey-400); font-size:0.625rem; font-weight:700; letter-spacing:0.18em; text-transform:uppercase; }

/* ── 19. Scroll-to-top ──────────────────────────────────────── */
#scroll-top {
  position:fixed; bottom:2rem; right:2rem; z-index:99;
  width:3rem; height:3rem; border-radius:var(--radius-full);
  background:linear-gradient(135deg,var(--primary),var(--primary-mid));
  color:white; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 20px rgba(0,53,95,0.3); cursor:pointer; border:none;
  opacity:0; transform:translateY(10px); transition:opacity 0.3s,transform 0.3s;
}
#scroll-top.visible { opacity:1; transform:translateY(0); }

/* ── 20. Celebrity card shimmer ─────────────────────────────── */
@property --angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes spin-angle { to{--angle:360deg} }
.celeb-card { position:relative; border-radius:1rem; transition:transform 0.35s var(--ease),box-shadow 0.35s ease; }
.celeb-card::before { content:''; position:absolute; inset:-2px; border-radius:1.15rem; background:conic-gradient(from var(--angle),transparent 0%,transparent 35%,#c0c0c0 45%,#e8e0c8 50%,#d4af37 53%,#f5e6a3 57%,#d4af37 60%,#e8e0c8 63%,#c0c0c0 67%,transparent 75%,transparent 100%); opacity:0; transition:opacity 0.4s; z-index:0; }
.celeb-card::after { content:''; position:absolute; inset:1px; border-radius:0.95rem; background:var(--surface); z-index:1; }
.celeb-card > * { position:relative; z-index:2; }
.celeb-card:hover { transform:translateY(-5px); box-shadow:0 20px 50px rgba(0,53,95,0.13); }
.celeb-card:hover::before { opacity:1; animation:spin-angle 2s linear infinite; }

/* ── 21. Marquee ────────────────────────────────────────────── */
@keyframes marquee { from{transform:translateX(0)} to{transform:translateX(-50%)} }
.marquee-track { animation:marquee 32s linear infinite; }
.marquee-track:hover { animation-play-state:paused; }

/* ── 22. Patient Reviews Section ────────────────────────────── */
.reviews { background: var(--surface); padding-block: 5rem; }

.reviews__header {
  display: flex; flex-direction: column; gap: 1.5rem;
  margin-bottom: 3rem;
}
.reviews__eyebrow { font-size:0.625rem; font-weight:800; letter-spacing:0.3em; text-transform:uppercase; color:#07497d; margin-bottom:0.75rem; }
.reviews__heading { font-size:clamp(1.75rem,3vw,2.5rem); font-weight:400; color:var(--primary); margin-bottom:0.5rem; }
.reviews__sub { color:var(--text-muted); font-size:0.875rem; margin-bottom:0.75rem; }

.reviews__agg-stars { display:flex; align-items:center; gap:0.75rem; }
.reviews__stars { color:#eab308; display:flex; gap:2px; }
.reviews__stars .material-symbols-outlined { font-size:1.25rem; font-variation-settings:'FILL' 1; }
.reviews__agg-num { font-weight:700; color:var(--primary); font-size:1.125rem; }
.reviews__agg-label { color:var(--text-muted); font-size:0.875rem; }

.reviews__platform-links { display:flex; flex-wrap:wrap; gap:0.75rem; }
.reviews__platform-btn {
  display:inline-flex; align-items:center; gap:0.5rem;
  border:1px solid rgba(194,199,209,0.6); color:var(--primary);
  padding:0.625rem 1.25rem; border-radius:0.75rem;
  font-weight:700; font-size:0.75rem; text-decoration:none;
  transition:background 0.2s ease;
}
.reviews__platform-btn:hover { background:var(--surface-base); }
.reviews__platform-btn .material-symbols-outlined { font-size:0.875rem; }

.reviews__grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }

.review-card {
  background:var(--surface-white); padding:1.75rem; border-radius:1rem;
  box-shadow:var(--shadow-deep);
}
.review-card__header { display:flex; align-items:center; gap:0.75rem; margin-bottom:1rem; }
.review-card__avatar {
  width:2.5rem; height:2.5rem; border-radius:50%; flex-shrink:0;
  background:rgba(0,53,95,0.08);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-headline); font-weight:700; color:var(--primary); font-size:1rem;
}
.review-card__name { font-weight:700; color:var(--primary); font-size:0.875rem; }
.review-card__source { font-size:0.625rem; color:var(--text-muted); display:flex; align-items:center; gap:0.375rem; margin-top:2px; }
.review-card__stars { display:flex; gap:2px; color:#eab308; margin-left:auto; }
.review-card__stars .material-symbols-outlined { font-size:0.875rem; font-variation-settings:'FILL' 1; }
.review-card__text { color:var(--text-muted); font-size:0.875rem; line-height:1.7; }
.review-card__tag { font-size:0.5625rem; color:rgba(0,53,95,0.45); font-weight:700; letter-spacing:0.18em; text-transform:uppercase; margin-top:1rem; }

/* Dark stat card */
.review-stat-card {
  background:var(--primary); padding:1.75rem; border-radius:1rem;
  box-shadow:var(--shadow-deep);
  display:flex; flex-direction:column; justify-content:space-between;
}
.review-stat-card__eyebrow { font-size:0.5625rem; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:1rem; }
.review-stat-card__num { font-family:var(--font-headline); font-size:3.5rem; font-weight:300; color:white; line-height:1; margin-bottom:0.75rem; }
.review-stat-card__desc { color:rgba(255,255,255,0.8); font-size:0.875rem; line-height:1.6; }
.review-stat-card__list { margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,0.15); display:flex; flex-direction:column; gap:0.5rem; }
.review-stat-card__row { display:flex; justify-content:space-between; font-size:0.875rem; }
.review-stat-card__platform { color:rgba(255,255,255,0.6); }
.review-stat-card__value { color:white; font-weight:700; }

/* CTA card */
.review-cta-card {
  background:var(--surface-white); padding:1.75rem; border-radius:1rem;
  box-shadow:var(--shadow-deep);
  display:flex; flex-direction:column; justify-content:space-between;
}
.review-cta-card__eyebrow { font-size:0.5625rem; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:#07497d; margin-bottom:1rem; }
.review-cta-card__heading { font-size:1.5rem; font-weight:400; color:var(--primary); margin-bottom:0.75rem; }
.review-cta-card__desc { color:var(--text-muted); font-size:0.875rem; line-height:1.6; }
.review-cta-card__actions { display:flex; flex-direction:column; gap:0.75rem; margin-top:1.5rem; }
.review-cta-card__btn-primary { display:block; width:100%; text-align:center; background:var(--primary); color:white; font-weight:700; font-size:0.875rem; padding:0.75rem; border-radius:0.75rem; text-decoration:none; transition:opacity 0.2s; }
.review-cta-card__btn-primary:hover { opacity:0.9; }
.review-cta-card__btn-outline { display:block; width:100%; text-align:center; border:1px solid rgba(194,199,209,0.6); color:var(--primary); font-weight:700; font-size:0.875rem; padding:0.75rem; border-radius:0.75rem; text-decoration:none; transition:background 0.2s; }
.review-cta-card__btn-outline:hover { background:var(--surface); }
.review-cta-card__btn-link { display:inline-flex; align-items:center; justify-content:center; gap:0.5rem; width:100%; color:var(--primary); font-weight:700; font-size:0.75rem; letter-spacing:0.18em; text-transform:uppercase; padding:0.5rem; text-decoration:none; transition:opacity 0.2s; }
.review-cta-card__btn-link:hover { opacity:0.6; }
.review-cta-card__btn-link__text { text-decoration:underline; text-underline-offset:4px; }
.review-cta-card__btn-link .material-symbols-outlined { font-size:0.75rem; }

.reviews__footer { display:flex; justify-content:center; margin-top:2.5rem; }
.reviews__footer-link { display:inline-flex; align-items:center; gap:0.5rem; color:var(--primary); font-weight:700; font-size:0.6875rem; letter-spacing:0.18em; text-transform:uppercase; border-bottom:1px solid var(--primary); padding-bottom:2px; text-decoration:none; transition:opacity 0.2s; }
.reviews__footer-link:hover { opacity:0.6; }
.reviews__footer-link .material-symbols-outlined { font-size:0.875rem; }

/* ── About Page ─────────────────────────────────────────────── */

/* Hero */
.about-hero { padding-top: 4rem; padding-bottom: 6rem; }
.about-hero__grid {
  display: grid; grid-template-columns: 1fr;
  gap: 3rem; align-items: center;
}
.about-hero__heading {
  font-size: 3.75rem; font-weight: 300;
  color: var(--primary); line-height: 1.05; margin-bottom: 0.75rem;
}
@media (min-width: 768px) { .about-hero__heading { font-size: 6rem; } }
.about-hero__degrees {
  font-size: 0.75rem; font-weight: 700; color: var(--text-muted);
  letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 1.25rem;
}
.about-hero__badge {
  display: inline-flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 1rem; background: var(--primary); color: white;
  font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; border-radius: var(--radius-full); margin-bottom: 2rem;
}
.about-hero__tagline {
  font-family: var(--font-headline); font-style: italic;
  font-size: 1.25rem; color: var(--text-muted); margin-bottom: 2.5rem; max-width: 32rem;
}
.about-hero__creds { border-top: 1px solid rgba(0,53,95,0.1); padding-top: 2rem; display: flex; flex-direction: column; gap: 1rem; }
.about-hero__cred { display: flex; align-items: flex-start; gap: 1rem; }
.about-hero__cred-icon { color: var(--primary-mid); flex-shrink: 0; font-variation-settings: 'FILL' 1; }
.about-hero__cred-title { font-weight: 700; color: var(--primary); margin-bottom: 0.125rem; }
.about-hero__cred-sub { font-size: 0.8125rem; color: var(--text-muted); }

.about-hero__image-col { position: relative; }
.about-hero__image-wrap {
  border-radius: var(--radius-2xl); overflow: hidden;
  aspect-ratio: 4/5; box-shadow: var(--shadow-deep);
  background: var(--surface-high); position: relative;
}
.about-hero__image {
  width: 100%; height: 100%; object-fit: cover;
  filter: grayscale(20%); transition: filter 0.7s ease;
}
.about-hero__image-wrap:hover .about-hero__image { filter: grayscale(0%); }
.about-hero__image-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(0,53,95,0.2), transparent);
}
.about-hero__glow {
  position: absolute; bottom: -1.5rem; right: -1.5rem;
  width: 8rem; height: 8rem;
  background: rgba(108, 213, 230, 0.3); border-radius: 50%; filter: blur(3rem);
}

/* CORI dark section */
.about-cori {
  background: linear-gradient(155deg, #00264d 0%, #00355f 55%, #00425a 100%);
  padding-block: 6rem;
}
.about-cori__grid { display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: center; }
.about-cori__eyebrow { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(151,240,255,0.6); margin-bottom: 1.25rem; }
.about-cori__heading { font-size: clamp(2.5rem, 6vw, 3.75rem); font-weight: 300; color: white; line-height: 1.0; margin-bottom: 1.5rem; }
.about-cori__body { color: rgba(255,255,255,0.75); line-height: 1.8; margin-bottom: 2rem; max-width: 28rem; font-size: 1rem; }
.about-cori__link { display: inline-flex; align-items: center; gap: 0.5rem; color: white; font-weight: 700; font-size: 0.6875rem; letter-spacing: 0.18em; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,0.4); padding-bottom: 2px; text-decoration: none; transition: opacity 0.2s; }
.about-cori__link:hover { opacity: 0.6; }
.about-cori__link .material-symbols-outlined { font-size: 0.875rem; }

.about-cori__image-card {
  border-radius: 1.5rem; overflow: hidden;
  border: 1px solid rgba(255,255,255,0.1);
  box-shadow: 0 32px 80px rgba(0,0,0,0.4);
  width: 100%; max-width: 32.5rem; margin: 0 auto;
}
.about-cori__image { width: 100%; height: 26rem; object-fit: contain; object-position: center; display: block; background: white; padding: 1.5rem; }
.about-cori__caption {
  background: rgba(0,0,0,0.55); backdrop-filter: blur(12px);
  padding: 0.875rem 1.25rem; display: flex; align-items: center; justify-content: space-between;
}
.about-cori__caption-name { font-size: 0.6875rem; font-weight: 800; color: rgba(255,255,255,0.95); letter-spacing: 0.12em; text-transform: uppercase; }
.about-cori__caption-sub { font-size: 0.625rem; color: rgba(255,255,255,0.45); margin-top: 2px; }

/* Treatment pills */
.about-treatments { padding-block: 6rem; }
.about-treatments__grid { display: grid; grid-template-columns: 1fr; gap: 3rem; }
.about-treatments__sidebar { }
.about-treatments__heading { font-size: clamp(2rem, 5vw, 3rem); font-weight: 300; color: var(--primary); line-height: 1.1; margin-bottom: 1.25rem; }
.about-treatments__intro { font-size: 1rem; color: var(--text-muted); line-height: 1.7; margin-bottom: 1.5rem; }
.about-treatments__categories { display: flex; flex-direction: column; gap: 3rem; }
.treatment-category__eyebrow { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(0,53,95,0.65); margin-bottom: 1.25rem; }
.treatment-pills { display: flex; flex-wrap: wrap; gap: 0.625rem; }
.pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 0.5rem 1rem; border-radius: var(--radius-full);
  background: rgba(0,53,95,0.07); border: 1px solid rgba(0,53,95,0.12);
  font-size: 0.8125rem; font-weight: 700; color: var(--primary);
}

/* Qualifications */
.qualifications { background: var(--surface-low); padding-block: 6rem; }
.qual__header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 3.5rem; gap: 1rem; }
.qual__heading { font-size: clamp(2rem, 5vw, 3rem); font-weight: 300; color: var(--primary); }
.qual__linkedin { display: none; align-items: center; gap: 0.5rem; color: var(--primary); font-weight: 700; font-size: 0.6875rem; letter-spacing: 0.18em; text-transform: uppercase; border-bottom: 1px solid var(--primary); padding-bottom: 2px; text-decoration: none; transition: opacity 0.2s; }
.qual__linkedin:hover { opacity: 0.6; }
.qual__linkedin .material-symbols-outlined { font-size: 0.875rem; }

.qual-row {
  display: grid; grid-template-columns: 1fr;
  gap: 0.5rem; padding-block: 2.25rem; border-top: 1px solid rgba(255,255,255,0.35);
}
.qual-row--highlighted { background: rgba(0,53,95,0.04); border-bottom: 1px solid rgba(255,255,255,0.35); padding-inline: 0.5rem; border-radius: 0.25rem; }
.qual-row__category { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(0,53,95,0.65); }
.qual-row__degree { font-family: var(--font-headline); font-size: 1.875rem; font-weight: 400; color: var(--primary); }
.qual-row__subtitle { font-size: 0.75rem; color: var(--text-muted); margin-top: 0.25rem; }

.qual-row__desc { font-size: 1rem; color: var(--text-muted); line-height: 1.7; }

/* Publications */
.publications {
  background: linear-gradient(160deg, #00264d 0%, #00355f 60%, #004a6e 100%);
  padding-block: 6rem;
}
.pub__header { display: grid; grid-template-columns: 1fr; gap: 2rem; margin-bottom: 4rem; }
.pub__eyebrow { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(151,240,255,0.6); margin-bottom: 0.75rem; }
.pub__heading { font-size: clamp(2.8rem, 6vw, 5rem); font-weight: 300; color: white; line-height: 0.95; }
.pub__intro { color: rgba(255,255,255,0.55); font-size: 0.9375rem; line-height: 1.8; }

.pub-list { border-top: 1px solid rgba(255,255,255,0.08); }
.pub-item {
  display: grid; grid-template-columns: auto 1fr auto;
  gap: 2rem; align-items: start;
  padding-block: 2.5rem; border-bottom: 1px solid rgba(255,255,255,0.08);
}
.pub-item__num { font-family: var(--font-headline); font-size: 3.5rem; font-weight: 300; color: rgba(151,240,255,0.15); line-height: 1; padding-top: 0.2rem; }
.pub-item__content { }
.pub-item__title { font-family: var(--font-headline); color: white; font-size: 1.35rem; font-weight: 400; line-height: 1.3; margin-bottom: 0.5rem; }
.pub-item__type { font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(151,240,255,0.7); margin-bottom: 0.75rem; }
.pub-item__desc { color: rgba(255,255,255,0.5); font-size: 0.9rem; line-height: 1.7; }
.pub-item__journal-wrap { text-align: right; flex-shrink: 0; }
.pub-item__journal-chip {
  background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1);
  border-radius: 0.75rem; padding: 0.75rem 1.25rem; min-width: 10rem;
}
.pub-item__journal-label { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(151,240,255,0.6); margin-bottom: 0.3rem; }
.pub-item__journal-name { color: rgba(255,255,255,0.7); font-size: 0.8125rem; line-height: 1.4; }
.pub-item__journal-sub { color: rgba(255,255,255,0.4); font-size: 0.78rem; }

.pub__note { display: flex; align-items: flex-start; gap: 1.5rem; margin-top: 3.5rem; }
.pub__note-rule { width: 3rem; height: 1px; background: rgba(151,240,255,0.25); margin-top: 0.7rem; flex-shrink: 0; }
.pub__note-text { color: rgba(255,255,255,0.35); font-size: 0.82rem; line-height: 1.7; }

/* Hospitals / Practice Locations */
.hospitals { padding-block: 6rem; }
.hospitals__header { margin-bottom: 3rem; }
.hospitals__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; }
.hospital-card { border-radius: 1.5rem; padding: 2rem; }
.hospital-card--primary {
  background: var(--primary); position: relative; overflow: hidden;
}
.hospital-card--primary .hospital-card__hod-badge {
  position: absolute; top: 1rem; right: 1rem;
  font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase;
  background: var(--teal-bright); color: #001f24; padding: 3px 10px; border-radius: var(--radius-full);
}
.hospital-card--primary .hospital-card__icon { color: rgba(255,255,255,0.3); font-size: 1.5rem; margin-bottom: 1.25rem; display: block; font-variation-settings: 'FILL' 1; }
.hospital-card--primary .hospital-card__name { font-size: 1.5rem; font-weight: 400; color: white; margin-bottom: 0.5rem; }
.hospital-card--primary .hospital-card__tag { font-size: 0.5625rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; color: rgba(255,255,255,0.4); margin-bottom: 1rem; }
.hospital-card--primary .hospital-card__detail { color: rgba(255,255,255,0.65); font-size: 0.9375rem; line-height: 1.6; }
.hospital-card--primary .hospital-card__cori { color: rgba(151,240,255,0.7); font-size: 0.625rem; margin-top: 0.5rem; }

.hospital-card--opd { background: transparent; box-shadow: none; padding: 0; }
.hospital-card--opd .hospital-card__rule { height: 1px; background: rgba(0,53,95,0.1); margin-bottom: 1.25rem; }

.verified-links { display: flex; flex-direction: column; }
.verified-link {
  display: flex; align-items: center; justify-content: space-between;
  padding-block: 0.875rem;
  text-decoration: none; transition: opacity 0.2s;
}
.verified-link:last-child { border-bottom: none; }
.verified-link:hover { opacity: 0.6; }
.verified-link__name { font-weight: 700; color: var(--primary); font-size: 1rem; }
.verified-link__icon { color: var(--text-muted); font-size: 0.75rem; }

/* CTA section */
.about-cta { background: var(--surface-low); padding-block: 5rem; }
.about-cta__grid { display: grid; grid-template-columns: 1fr; gap: 4rem; align-items: center; }
.about-cta__eyebrow { font-size: 0.625rem; font-weight: 800; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(0,53,95,0.65); margin-bottom: 1.25rem; }
.about-cta__heading { font-size: clamp(2.25rem, 5vw, 3rem); font-weight: 300; color: var(--primary); line-height: 1.25; margin-bottom: 1rem; }
.about-cta__body { font-size: 1rem; color: var(--text-muted); line-height: 1.7; max-width: 22rem; margin-bottom: 2rem; }
.about-cta__btns { display: flex; flex-direction: column; gap: 1rem; }
.btn--cta-outline {
  display: inline-flex; align-items: center; gap: 0.5rem;
  border: 1px solid rgba(0,0,0,0.15); color: var(--primary);
  padding: 1rem 2rem; border-radius: 0.75rem; font-weight: 700;
  font-size: 0.875rem; text-decoration: none; background: transparent;
  transition: background 0.2s;
}
.btn--cta-outline:hover { background: rgba(0,0,0,0.05); }

.about-cta__info-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0; border-radius: 1rem; overflow: hidden;
}
.about-cta__info-cell { background: var(--surface-low); padding: 1.5rem; }
.about-cta__info-label { font-size: 0.75rem; font-weight: 700; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 0.5rem; }
.about-cta__info-value { font-size: 0.875rem; font-weight: 700; color: var(--primary); }
.about-cta__info-sub { font-size: 0.875rem; color: var(--text-muted); }
.about-cta__info-link { color: var(--teal); text-decoration: underline; text-underline-offset: 2px; }

/* ── About Page: extracted inline styles ────────────────────── */
.page-main { padding-top: 5rem; }

.about-hero__badge .material-symbols-outlined { font-size: 1rem; font-variation-settings: 'FILL' 1; }

.about-cori__image-col { display: flex; align-items: center; justify-content: center; }

.about-treatments__sidebar { position: sticky; top: 7rem; align-self: start; }

.hospital-card__detail a { color: inherit; text-decoration: none; }
.hospital-card--opd .section-eyebrow { margin-bottom: 0.75rem; }
.hospital-card--opd .treatment-pills  { margin-bottom: 1rem; }
.opd-schedule { font-size: 0.875rem; color: var(--text-muted); line-height: 1.7; }
.opd-schedule--spaced { margin-top: 1rem; }
.hospital-card--opd a[href^="tel"] { color: var(--primary); font-weight: 600; text-decoration: none; }

.verified-profiles__eyebrow { margin-bottom: 1.25rem; }

.about-cta__info-value a { color: inherit; text-decoration: none; }

/* ── Testimonials Page ──────────────────────────────────────── */

/* Hero */
.test-hero { padding-block: 5rem 4rem; }
.test-hero__eyebrow { font-size: 10px; font-weight: 800; letter-spacing: 0.35em; text-transform: uppercase; color: var(--text-muted); display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.test-hero__eyebrow::before { content:''; display:inline-block; width:2.5rem; height:1px; background:var(--teal); }
.test-hero__grid { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: flex-end; }
.test-hero__heading { font-size: clamp(3rem, 8vw, 6rem); font-weight: 300; color: var(--primary); line-height: 0.95; letter-spacing: -0.01em; }
.test-hero__body { color: var(--text-muted); font-size: 1.125rem; line-height: 1.65; max-width: 32rem; }
.test-hero__stats { display: flex; align-items: flex-start; gap: 2.5rem; margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(194,199,209,0.4); flex-wrap: wrap; }
.test-hero__stat-num { font-family: var(--font-headline); font-size: 1.875rem; font-weight: 300; color: var(--primary); line-height: 1; }
.test-hero__stat-unit { font-size: 1.125rem; margin-left: 0.5rem; }
.test-hero__stat-label { font-size: 10px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-muted); margin-top: 0.25rem; }
.test-hero__divider { width: 1px; height: 2.5rem; background: rgba(194,199,209,0.4); align-self: center; }

/* Video zigzag section */
.video-section { padding-block: 4rem; background: var(--surface-low); }
.video-section__header { margin-bottom: 4rem; }
.video-section__eyebrow { font-size: 10px; font-weight: 800; letter-spacing: 0.3em; text-transform: uppercase; color: #07497d; margin-bottom: 0.75rem; }
.video-section__heading { font-family: var(--font-headline); font-size: 2.25rem; font-weight: 400; color: var(--primary); }
.video-section__footer { margin-top: 3.5rem; text-align: center; }

.fb-watch-btn { display: inline-flex; align-items: center; gap: 0.75rem; background: var(--primary); color: white; padding: 1rem 2rem; border-radius: 0.75rem; font-weight: 700; font-size: 0.875rem; text-decoration: none; box-shadow: var(--shadow-deep); transition: opacity 0.2s; }
.fb-watch-btn:hover { opacity: 0.9; }
.fb-watch-btn .material-symbols-outlined { font-size: 0.875rem; }

/* Zigzag layout */
.zigzag-container { position: relative; }
.zigzag-container::before { content: ''; position: absolute; left: 50%; top: 0; bottom: 0; width: 1.5px; background: linear-gradient(to bottom, transparent 0%, #a0c9ff 5%, #a0c9ff 95%, transparent 100%); transform: translateX(-50%); pointer-events: none; z-index: 1; }
.zigzag-item { display: grid; grid-template-columns: 1fr 1fr; gap: 0; align-items: center; position: relative; padding-block: 3rem; }
.zigzag-item::before { content: ''; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 10px; height: 10px; border-radius: 50%; background: var(--primary); border: 2px solid #a0c9ff; z-index: 2; }
.zigzag-item.odd  .video-side   { order: 1; padding-right: 3.5rem; }
.zigzag-item.odd  .content-side { order: 2; padding-left:  3.5rem; }
.zigzag-item.even .video-side   { order: 2; padding-left:  3.5rem; }
.zigzag-item.even .content-side { order: 1; padding-right: 3.5rem; }
.video-wrap { width: 100%; max-width: 520px; }
.zigzag-item.odd  .video-wrap { margin-left: auto;  margin-right: 0; }
.zigzag-item.even .video-wrap { margin-left: 0;     margin-right: auto; }
.video-wrap:has([data-format="portrait"])  { max-width: 300px; }
.video-wrap:has([data-format="landscape"]) { max-width: 520px; }

/* Video thumbnail box */
.video-thumb { position: relative; width: 100%; padding-top: 56.25%; border-radius: 1rem; overflow: hidden; box-shadow: 0 16px 48px rgba(0,53,95,0.14); background: #000; cursor: pointer; }
.video-thumb img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; background: #000; }
.video-thumb video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; object-fit: contain; display: block; border: none; }
.video-thumb.is-playing { cursor: default; }

.vthumb-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,35,72,0.28); transition: background 0.25s; }
.vthumb-overlay:hover { background: rgba(0,35,72,0.45); }
.vthumb-play-btn { width: 64px; height: 64px; border-radius: 50%; background: rgba(255,255,255,0.93); display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 28px rgba(0,0,0,0.3); }

/* Tag badge */
.tag-badge { display: inline-block; margin-top: 10px; background: var(--teal-bright); color: #001f24; font-size: 10px; font-weight: 700; padding: 3px 12px; border-radius: 999px; letter-spacing: 0.08em; text-transform: uppercase; }

/* Quote and patient text */
.quote { font-family: var(--font-headline); font-size: clamp(1.25rem, 2.2vw, 1.6rem); font-style: italic; line-height: 1.4; color: var(--primary); margin-bottom: 1rem; }
.patient-name { font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--text-muted); margin-bottom: 6px; }
.patient-note { font-size: 13px; color: var(--text-muted); line-height: 1.7; }

/* Zigzag split-from-centre animation */
.zigzag-item .video-side,
.zigzag-item .content-side { overflow: hidden; }
.zigzag-item.odd  .video-side   .side-wrap,
.zigzag-item.even .content-side .side-wrap { opacity: 0; transform: translateX(220px);  transition: opacity 0.85s var(--ease-spring), transform 0.85s var(--ease-spring); }
.zigzag-item.odd  .content-side .side-wrap,
.zigzag-item.even .video-side   .side-wrap { opacity: 0; transform: translateX(-220px); transition: opacity 0.85s var(--ease-spring), transform 0.85s var(--ease-spring); }
.zigzag-item.zz-visible .video-side   .side-wrap,
.zigzag-item.zz-visible .content-side .side-wrap { opacity: 1; transform: translateX(0); }

/* Reviews section */
.reviews-section { padding-block: 5rem; background: var(--surface); }
.reviews-section__header { margin-bottom: 4rem; }
.reviews-section__eyebrow { font-size: 10px; font-weight: 800; letter-spacing: 0.3em; text-transform: uppercase; color: #07497d; margin-bottom: 0.75rem; }
.reviews-section__top { display: flex; flex-direction: column; gap: 2rem; }
.reviews-section__heading { font-size: clamp(2rem, 4vw, 3rem); font-weight: 300; color: var(--primary); }
.reviews-section__sub { color: var(--text-muted); font-size: 0.875rem; margin-top: 0.75rem; }
.reviews-section__agg { display: flex; flex-wrap: wrap; gap: 2rem; flex-shrink: 0; }
.agg-stat { text-align: center; }
.agg-stat__num { font-family: var(--font-headline); font-size: 1.875rem; font-weight: 300; color: var(--primary); line-height: 1; }
.agg-stat__num--teal { color: var(--teal); }
.agg-stat__unit { font-size: 1rem; }
.agg-stat__label { font-size: 10px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; color: var(--text-muted); margin-top: 0.25rem; }
.agg-stat__sub { font-size: 10px; color: rgba(66,71,79,0.6); }
.agg-divider { width: 1px; height: 2.5rem; background: rgba(194,199,209,0.3); align-self: center; }

/* Review masonry */
.reviews-masonry { columns: 1; gap: 1.25rem; }

/* Review cards */
.review-card { break-inside: avoid; margin-bottom: 1.25rem; background: var(--surface-white); border-radius: 1rem; padding: 1.75rem; border: 1px solid rgba(194,199,209,0.2); }
.review-card--dark { background: var(--primary); border: none; }
.review-card__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.review-card__who { display: flex; align-items: center; gap: 0.75rem; }
.review-card__avatar { width: 2.25rem; height: 2.25rem; border-radius: 50%; background: rgba(0,53,95,0.1); display: flex; align-items: center; justify-content: center; color: var(--primary); font-weight: 700; font-family: var(--font-headline); font-size: 0.875rem; flex-shrink: 0; }
.review-card--dark .review-card__avatar { background: rgba(255,255,255,0.15); color: white; }
.review-card__name { font-weight: 700; color: var(--primary); font-size: 0.875rem; }
.review-card--dark .review-card__name { color: white; }
.review-card__procedure { font-size: 10px; color: var(--text-muted); }
.review-card--dark .review-card__procedure { color: rgba(255,255,255,0.5); }
.review-card__right { text-align: right; flex-shrink: 0; }
.review-card__body { font-size: 0.875rem; color: var(--text-muted); line-height: 1.7; }
.review-card--dark .review-card__body { color: rgba(255,255,255,0.85); }

/* Platform badges */
.review-badge { font-size: 9px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.25rem 0.625rem; border-radius: 999px; display: inline-block; }
.review-badge--justdial   { background: rgba(255,103,0,0.08); color: #ff6700; }
.review-badge--google     { background: #eff6ff; color: #1d4ed8; }
.review-badge--google-dark{ color: rgba(255,255,255,0.6); }
.review-badge--hexahealth { background: rgba(0,128,96,0.08); color: #008060; }
.review-stars { display: flex; gap: 2px; color: #eab308; font-size: 0.875rem; justify-content: flex-end; margin-top: 0.25rem; }
.review-stars--light { color: #fde68a; }
.review-google-logo { display: flex; align-items: center; gap: 4px; }

/* Zigzag + reviews responsive */
@media (max-width: 767px) {
  .zigzag-container::before { left: 20px; transform: none; }
  .zigzag-item { grid-template-columns: 1fr; padding: 2rem 0 2rem 2.75rem; }
  .zigzag-item::before { left: 20px; top: 0; transform: translateX(-50%); }
  .zigzag-item.odd  .video-side,
  .zigzag-item.even .video-side  { order: 1; padding: 0 0 1.25rem 0; }
  .zigzag-item.odd  .content-side,
  .zigzag-item.even .content-side { order: 2; padding: 0; }
  .zigzag-item.odd  .video-side   .side-wrap,
  .zigzag-item.even .content-side .side-wrap,
  .zigzag-item.odd  .content-side .side-wrap,
  .zigzag-item.even .video-side   .side-wrap { transform: translateY(24px); }
  .zigzag-item.zz-visible .video-side   .side-wrap,
  .zigzag-item.zz-visible .content-side .side-wrap { transform: translateY(0); }
}
@media (min-width: 768px) {
  .reviews-masonry { columns: 2; }
  .reviews-section__top { flex-direction: row; align-items: flex-end; justify-content: space-between; }
  .test-hero__grid { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .reviews-masonry { columns: 3; }
}

/* ── Robot / CORI Page ──────────────────────────────────────── */

.dark-eyebrow { font-size:10px; font-weight:800; letter-spacing:0.22em; text-transform:uppercase; color:rgba(151,240,255,0.55); margin-bottom:1.5rem; }
.dark-eyebrow-row { display:flex; align-items:center; gap:1rem; }
.dark-eyebrow-rule { width:2rem; height:1px; background:rgba(151,240,255,0.4); display:inline-block; flex-shrink:0; }

/* Context overrides — advantages uses mb-4, CTA uses mb-5 */
.advantages-section .dark-eyebrow { margin-bottom:1rem; }
.robot-cta .dark-eyebrow          { margin-bottom:1.25rem; }

/* Hero */
.robot-hero { position:relative; overflow:hidden; min-height:92vh; }
.robot-hero__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(0.32) saturate(0.65); }
.robot-hero__overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,25,55,0.78) 0%,rgba(0,53,95,0.42) 60%,transparent 100%); }
.robot-hero__content { position:relative; z-index:10; min-height:92vh; display:flex; flex-direction:column; justify-content:center; padding-block:3rem; width:100%; }
.robot-hero__inner { max-width: 64rem; }
.robot-hero__heading { font-family:var(--font-headline); font-weight:300; color:white; letter-spacing:-0.01em; line-height:0.9; font-size:clamp(3.5rem,7vw,7rem); margin-bottom:1.5rem; }
.robot-hero__heading em { color:var(--teal-bright); }
.robot-hero__tagline { font-size:1.25rem; line-height:1.65; color:rgba(255,255,255,0.72); max-width:30rem; margin-bottom:2.5rem; }
.robot-hero__btns { display:flex; flex-wrap:wrap; gap:1rem; margin-bottom:3rem; }
.robot-hero__stats { display:flex; flex-wrap:wrap; gap:1rem; }

/* Stat pill (hero glass cards) */
.stat-pill { background:rgba(255,255,255,0.12); backdrop-filter:blur(14px); border:1px solid rgba(255,255,255,0.18); border-radius:0.875rem; padding:1.25rem 1.5rem; text-align:center; }
.stat-pill__num { font-family:var(--font-headline); font-weight:300; color:white; font-size:2.5rem; line-height:1; }
.stat-pill__num--teal { color:var(--teal-bright); }
.stat-pill__unit { font-size:1.2rem; margin-left:0.375rem; }
.stat-pill__label { font-size:9px; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:rgba(151,240,255,0.7); margin-top:0.3rem; }

/* Step rows (How it works, FAQ) */
.cori-step { display:flex; gap:1.25rem; align-items:flex-start; padding:1.25rem 0; border-top:1px solid rgba(0,53,95,0.09); }
.cori-step--last { border-bottom:1px solid rgba(0,53,95,0.09); }
.cori-step__dot { width:2.2rem; height:2.2rem; border-radius:50%; background:var(--primary); color:white; font-size:11px; font-weight:800; display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:0.15rem; }
.cori-step__dot--faq { width:1.4rem; height:1.4rem; background:var(--teal); }
.cori-step__title { font-weight:700; color:var(--primary); margin-bottom:0.25rem; }
.cori-step__body { font-size:0.875rem; color:var(--text-muted); line-height:1.65; }

/* What is CORI */
.cori-what { padding-block:6rem; }
.cori-what__grid { display:grid; grid-template-columns:1fr; gap:4rem; align-items:start; }
.cori-what__heading { font-size:clamp(2.2rem,4vw,3.8rem); font-weight:300; color:var(--primary); line-height:0.95; margin-bottom:1.5rem; }
.cori-what__body { color:var(--text-muted); font-size:1rem; line-height:1.7; margin-bottom:1.25rem; }
.cori-what__body strong { color:var(--primary); }

/* How it works */
.cori-how { padding-block:6rem; background:var(--surface-low); }
.cori-how__grid { display:grid; grid-template-columns:1fr; gap:3rem; align-items:start; }
.cori-how__heading { font-size:clamp(2.2rem,4vw,3.5rem); font-weight:300; color:var(--primary); }
.cori-how__image-card { position:relative; border-radius:1.5rem; overflow:hidden; height:420px; background:#00264d; display:flex; align-items:center; justify-content:center; }
.cori-how__image-card img { width:112%; height:112%; object-fit:contain; }
.cori-how__mini-stats { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
.cori-mini-stat { border-radius:1rem; padding:1.5rem; }
.cori-mini-stat--dark { background:var(--primary); }
.cori-mini-stat--teal { background:var(--teal-bright); }
.cori-mini-stat__num { font-family:var(--font-headline); font-weight:300; font-size:2.2rem; line-height:1; color:white; }
.cori-mini-stat__num--dark { color:#001f24; }
.cori-mini-stat__unit { font-size:1.1rem; }
.cori-mini-stat__label { font-size:9px; font-weight:800; letter-spacing:0.15em; text-transform:uppercase; margin-top:0.5rem; color:rgba(255,255,255,0.5); }
.cori-mini-stat--teal .cori-mini-stat__label { color:rgba(0,31,36,0.55); }

/* Advantages */
.advantages-section { padding-block:6rem; background:linear-gradient(155deg,#00264d,#00355f 55%,#00425a); }
.advantages-section__heading { font-size:clamp(2.5rem,5vw,4.5rem); font-weight:300; color:white; line-height:0.93; margin-bottom:3.5rem; }
.advantages-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; }
.advantage-card { background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1); border-radius:1.25rem; padding:1.75rem; }
.advantage-card__icon { font-size:1.5rem; color:var(--teal-bright); display:block; margin-bottom:1rem; font-variation-settings:'FILL' 1; }
.advantage-card__title { font-family:var(--font-headline); color:white; font-size:1.25rem; margin-bottom:0.5rem; }
.advantage-card__body { font-size:0.875rem; color:rgba(255,255,255,0.6); line-height:1.65; }

/* Videos */
.cori-videos { padding-block:5rem; background:var(--surface-low); }
.cori-videos__heading { font-size:clamp(2.2rem,4vw,3.5rem); font-weight:300; color:var(--primary); }
.cori-videos__grid { display:grid; grid-template-columns:1fr; gap:2rem; }
.cori-video__title { font-family:var(--font-headline); font-weight:700; color:var(--primary); font-size:1.125rem; margin-top:1rem; }
.cori-video__desc { font-size:0.875rem; color:var(--text-muted); margin-top:0.25rem; }

/* FAQ */
.robot-faq { padding-block:5rem; background:var(--surface-low); }
.robot-faq__heading { font-size:clamp(2.2rem,4vw,3.5rem); font-weight:300; color:var(--primary); }
.robot-faq__grid { display:grid; grid-template-columns:1fr; gap:0; }

/* CTA */
.robot-cta { position:relative; overflow:hidden; min-height:48vh; }
.robot-cta__bg { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:brightness(0.9) saturate(0.1); }
.robot-cta__overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(0,25,55,0.82),rgba(0,53,95,0.5)); }
.robot-cta__content { position:relative; z-index:10; min-height:48vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding-block:4rem; }
.robot-cta__eyebrow-row { display:flex; align-items:center; justify-content:center; gap:1rem; margin-bottom:1.25rem; }
.robot-cta__heading { font-size:clamp(2.8rem,6vw,5rem); font-weight:300; color:white; line-height:0.93; margin-bottom:1.25rem; }
.robot-cta__heading em { color:var(--teal-bright); }
.robot-cta__body { font-size:1.125rem; color:rgba(255,255,255,0.68); max-width:26rem; margin-bottom:2.5rem; }
.robot-cta__address { font-size:0.8125rem; color:rgba(255,255,255,0.5); margin-top:-1.5rem; margin-bottom:2rem; font-style:normal; }
.robot-cta__address a { color:rgba(255,255,255,0.7); text-decoration:none; transition:color 0.2s; }
.robot-cta__address a:hover { color:white; }
.btn--ghost-white { display:inline-flex; align-items:center; gap:0.5rem; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.25); color:white; padding:1rem 2.5rem; border-radius:0.75rem; font-weight:700; font-size:0.875rem; font-family:var(--font-body); text-decoration:none; backdrop-filter:blur(4px); cursor:pointer; transition:background 0.2s; }
.btn--ghost-white:hover { background:rgba(255,255,255,0.2); }

/* CORI page responsive */
@media (min-width: 768px) {
  .robot-cta__btns { flex-direction:row; justify-content:center; }
  .advantages-grid { grid-template-columns:repeat(3,1fr); }
  .cori-videos__grid { grid-template-columns:repeat(2,1fr); }
  .robot-faq__grid { grid-template-columns:repeat(2,1fr); gap:0 4rem; }
}
@media (min-width: 1024px) {
  .cori-what__grid { grid-template-columns:1fr 1fr; }
  .cori-how__grid { grid-template-columns:1fr 1fr; }
}

.section--surface     { background-color: var(--surface); }
.section--surface-low { background-color: var(--surface-low); }
.section-header-mb-sm { margin-bottom: 2.5rem; }
.section-header-mb    { margin-bottom: 3rem; }

/* ── Gallery Page ───────────────────────────────────────────── */

/* Page header */
.gallery-header { max-width:80rem; margin-inline:auto; padding:2.2rem 2.5rem 0.8rem; display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:start; }
.gallery-header__eyebrow { font-size:10.5px; font-weight:800; letter-spacing:0.25em; text-transform:uppercase; color:rgba(0,53,95,0.45); margin-bottom:0.65rem; }
.gallery-header__heading { font-family:var(--font-headline); font-size:clamp(4.5rem,9vw,8rem); font-weight:300; color:var(--primary); line-height:0.88; margin-bottom:0.8rem; }
.gallery-header__sub { font-size:0.96rem; color:var(--text-muted); line-height:1.6; }
.gallery-main { position:relative; overflow:hidden; }

/* Photo grid */
.gallery-grid { max-width:80rem; margin-inline:auto; padding:0.5rem 1rem 1.5rem; display:grid; grid-template-columns:repeat(3,1fr); column-gap:0.6rem; row-gap:0.8rem; align-items:start; }

/* Grid cell */
.pol-cell { display:flex; justify-content:center; }
.pol-cell--pt0  { padding-top:0; }
.pol-cell--pt4  { padding-top:4px; }
.pol-cell--pt6  { padding-top:6px; }
.pol-cell--pt8  { padding-top:8px; }
.pol-cell--pt12 { padding-top:12px; }
.pol-cell--pt14 { padding-top:14px; }
.pol-cell--pt18 { padding-top:18px; }
.pol-cell--pt20 { padding-top:20px; }
.pol-cell--pt24 { padding-top:24px; }
.pol-cell--pt26 { padding-top:26px; }
.pol-cell--pt30 { padding-top:30px; }

/* Polaroid base */
.pol {
  position:relative; background:#fffdf0;
  padding:9px 9px 44px 9px;
  box-shadow:2px 5px 18px rgba(0,0,0,0.2), 0 1px 3px rgba(0,0,0,0.1);
  cursor:pointer;
  transition:transform 0.28s var(--ease), box-shadow 0.28s;
}
.pol:hover { transform:scale(1.05) rotate(0deg) !important; box-shadow:0 16px 48px rgba(0,0,0,0.25); z-index:30 !important; }
.pol img { display:block; width:100%; height:100%; object-fit:cover; }
.pol .cap { position:absolute; bottom:9px; left:10px; right:10px; font-family:'Caveat',cursive; font-size:16px; color:rgba(0,30,60,0.58); }
.pol-img { overflow:hidden; }

/* Per-polaroid sizes and rotations */
.pol--1  { width:360px; transform:rotate(-1.8deg); }
.pol--2  { width:355px; transform:rotate(2.5deg); }
.pol--3  { width:355px; transform:rotate(-3.2deg); }
.pol--4  { width:360px; transform:rotate(1.2deg); }
.pol--5  { width:360px; transform:rotate(-2.8deg); }
.pol--6  { width:355px; transform:rotate(3.5deg); }
.pol--7  { width:358px; transform:rotate(-1.5deg); }
.pol--8  { width:370px; transform:rotate(4.0deg); }
.pol--9  { width:358px; transform:rotate(2.0deg); }
.pol--10 { width:352px; transform:rotate(-2.2deg); }
.pol--11 { width:365px; transform:rotate(1.8deg); }

/* Photo container dimensions */
.pol-img--1  { width:342px; height:220px; }
.pol-img--2  { width:337px; height:260px; }
.pol-img--3  { width:337px; height:250px; }
.pol-img--4  { width:342px; height:270px; }
.pol-img--5  { width:342px; height:260px; }
.pol-img--6  { width:337px; height:215px; }
.pol-img--7  { width:340px; height:195px; }
.pol-img--8  { width:352px; height:340px; }
.pol-img--9  { width:340px; height:260px; }
.pol-img--10 { width:334px; height:185px; }
.pol-img--11 { width:347px; height:205px; }

/* Tape strips */
.tape { position:absolute; z-index:10; background:rgba(195,180,148,0.52); background-image:repeating-linear-gradient(90deg,transparent 0,transparent 3px,rgba(255,255,255,0.18) 3px,rgba(255,255,255,0.18) 4px); border-radius:1px; box-shadow:0 1px 2px rgba(0,0,0,0.09); }
.tape--c  { width:58px; height:20px; top:-10px; left:50%; transform:translateX(-50%) rotate(-1deg); }
.tape--tl { width:54px; height:20px; top:-10px; left:8px; transform:rotate(-3deg); }
.tape--tr { width:54px; height:20px; top:-10px; right:8px; transform:rotate(2.5deg); }

/* Paper clip */
.clip { position:absolute; top:-22px; left:50%; transform:translateX(-50%); z-index:10; }

/* Pin */
.pin { position:absolute; top:-14px; left:50%; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; z-index:10; background:radial-gradient(circle at 35% 30%,#c09090,#7a4040); box-shadow:0 2px 5px rgba(0,0,0,0.32); }
.pin--blue { background:radial-gradient(circle at 35% 30%,#9090c0,#404070); }

/* Lightbox */
#lb { position:fixed; inset:0; background:rgba(0,15,35,0.9); z-index:200; display:none; align-items:center; justify-content:center; backdrop-filter:blur(14px); }
#lb.open { display:flex; }
#lb img { max-width:88vw; max-height:86vh; object-fit:contain; border-radius:4px; box-shadow:0 24px 80px rgba(0,0,0,0.55); }
#lb-x { position:fixed; top:1.2rem; right:1.5rem; background:rgba(255,255,255,0.14); border:none; color:white; font-size:1.3rem; width:2.3rem; height:2.3rem; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background 0.2s; }
#lb-x:hover { background:rgba(255,255,255,0.25); }

/* Gallery responsive */
@media (max-width: 900px) {
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 600px) {
  .gallery-grid { grid-template-columns:1fr; }
  .pol--1,.pol--2,.pol--3,.pol--4,.pol--5,.pol--6,
  .pol--7,.pol--8,.pol--9,.pol--10,.pol--11 { width:100%; max-width:360px; }
}

/* ── Hero — Mobile Responsive ───────────────────────────────── */

/* ── Tablet: 768px and below ── */
@media (max-width: 768px) {

  .hero {
    min-height: unset;
    padding-bottom: 3rem;
  }

  /* Override slideRight — on mobile stats stack below text at x:0,
     so translateX(-260px) pushes them off-screen and overflow:hidden clips them.
     Use a plain fade-up instead. */
  .hero-right {
    animation: pageIn 0.8s cubic-bezier(0.22, 0.6, 0.36, 1) 0.35s both !important;
  }

  /* Also override slideLeft for the text block — a gentler fade-up reads better
     in a single-column stacked layout */
  .hero-left {
    animation: pageIn 0.8s cubic-bezier(0.22, 0.6, 0.36, 1) 0.1s both !important;
  }

  /* Show inline mobile doctor photo */
  .hero__mobile-photo {
    display: block !important;
  }

  /* Hide the floating doctor image — shown inline instead */
  .hero__image-wrap {
    display: none !important;
  }

  .hero__grid {
    grid-template-columns: 1fr;
    min-height: unset;
    padding: 6rem 1.25rem 2rem;
    gap: 2.5rem;
  }

  .hero__text {
    padding-right: 0;
    margin-top: 0;
    align-items: center;
    text-align: center;
  }

  .hero__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    margin-bottom: 1rem;
  }

  .hero__heading {
    font-size: clamp(2.4rem, 9vw, 3.4rem);
    text-align: center;
    margin-bottom: 1.25rem;
  }

  .hero__tagline {
    font-size: 0.95rem;
    text-align: center;
    margin-bottom: 1.75rem;
    max-width: 100%;
  }

  .hero__credentials {
    align-items: flex-start;
    width: 100%;
    gap: 0.875rem;
  }

  .hero__credential {
    align-items: flex-start;
  }

  .hero__credential-text {
    font-size: 0.8rem;
    text-align: left;
    line-height: 1.4;
  }

  /* Stats — switch to 2×2 grid on tablet */
  .hero__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding-left: 0;
    border-top: 1px solid rgba(0,53,95,0.1);
    padding-top: 2rem;
  }

  .stat-block {
    padding: 1.25rem 1rem;
    margin-bottom: 0;
    text-align: center;
    border-bottom: 1px solid rgba(0,53,95,0.08);
  }

  .stat-block:nth-child(odd) {
    border-right: 1px solid rgba(0,53,95,0.08);
  }

  .stat-block:nth-last-child(-n+2) {
    border-bottom: none;
  }

  .stat-counter {
    font-size: 3rem;
  }

  .stat-suffix {
    font-size: 2rem;
  }
}

/* ── Mobile: 480px and below ── */
@media (max-width: 480px) {

  .hero__grid {
    padding: 5.5rem 1rem 2rem;
    gap: 2rem;
  }

  .hero__heading {
    font-size: clamp(2rem, 10vw, 2.8rem);
    line-height: 1.0;
  }

  .hero__eyebrow {
    font-size: 0.625rem;
  }

  .hero__tagline {
    font-size: 0.875rem;
  }

  .hero__credential-text {
    font-size: 0.75rem;
  }

  .stat-counter {
    font-size: 2.5rem;
  }

  .stat-suffix {
    font-size: 1.75rem;
  }

  .stat-label {
    font-size: 0.55rem;
    letter-spacing: 0.15em;
  }
}

/* ── Small phones: 360px and below ── */
@media (max-width: 360px) {

  .hero__grid {
    padding: 5rem 0.875rem 1.75rem;
  }

  .hero__heading {
    font-size: 1.9rem;
  }

  .hero__stats {
    grid-template-columns: 1fr 1fr;
  }

  .stat-counter {
    font-size: 2.2rem;
  }
}



/* Hero */
.appt-hero { padding-block: 4rem; }
.appt-hero__grid { display:grid; grid-template-columns:1fr; gap:2rem; align-items:start; }
.appt-hero__eyebrow { font-size:0.75rem; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal); display:block; margin-bottom:1.5rem; }
.appt-hero__heading { font-size:clamp(2.5rem,4.4vw,4.5rem); font-weight:300; color:var(--primary); letter-spacing:-0.01em; line-height:0.93; margin-bottom:2rem; }
.appt-hero__body { color:var(--text-muted); line-height:1.7; font-size:1.1rem; font-weight:300; margin-bottom:1.5rem; }
.appt-hero__body strong { color:var(--primary); font-weight:600; }
.appt-hero__secondary { color:var(--text-muted); font-size:1rem; line-height:1.7; font-weight:300; margin-bottom:2rem; }
.appt-hero__checklist { display:flex; flex-direction:column; gap:1rem; margin-bottom:2rem; }
.appt-hero__check { display:flex; align-items:flex-start; gap:0.75rem; font-size:0.875rem; color:var(--text-muted); }
.appt-hero__check-icon { color:var(--teal); flex-shrink:0; margin-top:0.125rem; font-variation-settings:'FILL' 1; }
.appt-hero__check strong { color:var(--primary); }
.appt-hero__sign { color:var(--primary); font-weight:600; font-size:0.875rem; font-style:italic; font-family:var(--font-headline); }
.appt-hero__photo-wrap { border-radius:1.5rem; overflow:hidden; background:var(--surface-high); max-width:520px; aspect-ratio:4/5; box-shadow: 0 8px 16px rgba(0,0,0,0.08), 0 24px 64px rgba(0,0,0,0.12), 0 2px 4px rgba(0,0,0,0.06); }
.appt-hero__photo-wrap img { width:100%; height:100%; object-fit:cover; }

/* What to expect — dark section */
.appt-expect { padding-block:5rem; background:linear-gradient(160deg,#00264d 0%,#00355f 60%,#004a6e 100%); }
.appt-expect__eyebrow { font-size:0.625rem; font-weight:800; letter-spacing:0.22em; text-transform:uppercase; color:rgba(151,240,255,0.6); display:block; margin-bottom:1rem; }
.appt-expect__heading { font-size:clamp(2.5rem,5vw,4rem); font-weight:300; color:white; line-height:1.05; }
.appt-expect__heading em { color:white; }
.appt-expect__grid { display:grid; grid-template-columns:1fr; gap:1px; background:rgba(255,255,255,0.1); border-radius:1.25rem; overflow:hidden; margin-top:3rem; }
.appt-expect__card { background:rgba(255,255,255,0.06); padding:2rem 1.75rem; transition:background 0.25s; cursor:default; }
.appt-expect__card:hover { background:rgba(255,255,255,0.11); }
.appt-expect__card--teal { background:rgba(151,240,255,0.1); }
.appt-expect__card--teal:hover { background:rgba(151,240,255,0.16); }
.appt-expect__icon { font-size:2rem; color:var(--teal-bright); display:block; margin-bottom:1.25rem; font-variation-settings:'FILL' 1; }
.appt-expect__title { font-family:var(--font-headline); font-weight:300; font-size:1.35rem; color:white; line-height:1.2; margin-bottom:0.75rem; }
.appt-expect__rule { width:2rem; height:1.5px; background:rgba(151,240,255,0.4); margin-bottom:1rem; border-radius:2px; }
.appt-expect__card--teal .appt-expect__rule { background:rgba(151,240,255,0.6); }
.appt-expect__body { font-size:0.82rem; color:rgba(255,255,255,0.6); line-height:1.65; }

/* Patient journey / International timeline */
.appt-journey { padding-block:6rem; background:var(--surface-low); }
.appt-journey__heading { font-size:clamp(2rem,5vw,3rem); font-weight:600; color:var(--primary); line-height:1.1; margin-bottom:1.25rem; }
.appt-journey__intro { color:var(--text-muted); font-size:1rem; line-height:1.7; font-weight:300; }

/* International patient CTA button */
.intl-cta-btn {
  display:block; width:100%; border:none; cursor:pointer;
  background:linear-gradient(135deg,#00264d 0%,#00355f 55%,#004a6e 100%);
  border-radius:1rem; padding:2.5rem; text-align:left;
  transition:opacity 0.2s;
}
.intl-cta-btn:hover { opacity:0.95; }
.intl-cta-btn__inner { display:flex; flex-direction:column; gap:1.5rem; align-items:flex-start; }
.intl-cta-btn__eyebrow { font-size:10px; font-weight:800; letter-spacing:0.22em; text-transform:uppercase; color:rgba(151,240,255,0.6); margin-bottom:0.75rem; display:block; }
.intl-cta-btn__heading { font-family:var(--font-headline); font-weight:300; color:white; font-size:2.4rem; line-height:1.0; margin-bottom:0.75rem; }
.intl-cta-btn__heading em { color:var(--teal-bright); }
.intl-cta-btn__sub { font-size:0.875rem; color:rgba(255,255,255,0.6); }
.intl-cta-btn__arrow { width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.2); display:flex; align-items:center; justify-content:center; transition:background 0.2s; flex-shrink:0; }
.intl-cta-btn:hover .intl-cta-btn__arrow { background:rgba(255,255,255,0.2); }

/* Timeline component */
.intl-timeline { position:relative; padding-left:2px; }
.intl-timeline::before { content:''; position:absolute; left:23px; top:8px; bottom:calc(36px + 24px); width:1px; background:linear-gradient(to bottom,#a0c9ff 0%,#c2c7d1 100%); }
.intl-timeline-step { display:flex; gap:1.5rem; align-items:flex-start; padding-bottom:2.25rem; position:relative; }
.intl-timeline-step:last-child { padding-bottom:0; }
.intl-node { width:48px; height:48px; border-radius:50%; background:white; border:1.5px solid #c2c7d1; display:flex; align-items:center; justify-content:center; flex-shrink:0; position:relative; z-index:1; box-shadow:0 2px 8px rgba(0,53,95,0.08); transition:border-color 0.3s,box-shadow 0.3s; }
.intl-timeline-step:hover .intl-node { border-color:#a0c9ff; box-shadow:0 4px 16px rgba(0,53,95,0.13); }
.intl-node--accent { background:var(--primary); border-color:var(--primary); }
.intl-node__icon { color:var(--primary); font-variation-settings:'FILL' 1; }
.intl-card { flex:1; background:white; border:1px solid #e8eaed; border-radius:0.875rem; padding:1.25rem 1.5rem; transition:box-shadow 0.3s,border-color 0.3s; }
.intl-timeline-step:hover .intl-card { box-shadow:0 8px 32px -8px rgba(0,53,95,0.12); border-color:#d2e4ff; }
.intl-card--highlight { border-color:#c8ddf5; background:linear-gradient(135deg,#f0f6ff 0%,white 100%); }
.intl-card__step { font-size:0.625rem; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-muted); }
.intl-card__step--primary { color:rgba(0,53,95,0.6); }
.intl-card__title { font-family:var(--font-headline); font-weight:600; color:var(--primary); font-size:1.125rem; margin-top:0.25rem; margin-bottom:0.375rem; }
.intl-card__body { color:var(--text-muted); font-size:0.875rem; line-height:1.65; }
.intl-card__list { display:flex; flex-direction:column; gap:0.375rem; }
.intl-card__list-item { display:flex; gap:0.5rem; font-size:0.875rem; color:var(--text-muted); }
.intl-card__list-dash { color:var(--teal); font-weight:700; margin-top:0.125rem; flex-shrink:0; }

/* Consultation slot cards */
.appt-slots { padding-block:5rem; }
.appt-slots__eyebrow { font-size:0.75rem; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:var(--teal); display:block; margin-bottom:1rem; }
.appt-slots__heading { font-size:clamp(2rem,4vw,3rem); font-weight:600; color:var(--primary); line-height:1.1; margin-bottom:3rem; }
.appt-slots__grid { display:grid; grid-template-columns:1fr; gap:1.5rem; }
.slot-card { background:white; border-radius:1rem; overflow:hidden; box-shadow:0 2px 8px rgba(0,53,95,0.06); transition:box-shadow 0.3s; }
.slot-card:hover { box-shadow:0 8px 32px rgba(0,53,95,0.12); }
.slot-card__header { background:var(--primary); padding:1.25rem 1.75rem; }
.slot-card__type { font-size:0.625rem; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:rgba(255,255,255,0.7); margin-bottom:0.25rem; display:block; }
.slot-card__name { font-family:var(--font-headline); font-weight:600; color:white; font-size:1.25rem; line-height:1.2; }
.slot-card__body { padding:1.75rem; display:flex; flex-direction:column; gap:1.25rem; }
.slot-card__row { display:flex; gap:1rem; align-items:flex-start; }
.slot-card__icon { color:var(--primary); flex-shrink:0; }
.slot-card__label { font-size:0.625rem; font-weight:800; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-muted); margin-bottom:0.125rem; }
.slot-card__value { color:var(--primary); font-weight:700; font-size:1rem; }
.slot-card__value--no-walkins { color:#dc2626; font-style:italic; font-size:0.75rem; font-weight:400; margin-left:0.25rem; }
.slot-card__address { color:var(--text-muted); font-size:0.875rem; line-height:1.5; }
.slot-card__phone { color:var(--text-muted); font-size:0.875rem; }
.appt-slots__cta { margin-top:2.5rem; text-align:center; }

/* ── MODAL ──────────────────────────────────────────────────── */
#intl-modal {
  position:fixed; inset:0; z-index:100;
  display:flex; align-items:center; justify-content:center; padding:1rem;
  background:rgba(0,20,45,0.75);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  /* Closed state */
  opacity:0;
  pointer-events:none;
  transition:opacity 0.25s ease;
}
#intl-modal.modal-open {
  opacity:1;
  pointer-events:all;
}
.modal-inner {
  position:relative; width:100%; max-width:48rem;
  background:white;
  border-radius:1rem;
  box-shadow:0 32px 80px rgba(0,0,0,0.35);
  max-height:90vh;
  display:flex; flex-direction:column;
  /* Closed state */
  transform:translateY(32px) scale(0.96);
  opacity:0;
  transition:transform 0.35s var(--ease), opacity 0.3s ease;
}
#intl-modal.modal-open .modal-inner {
  transform:translateY(0) scale(1);
  opacity:1;
}
.modal-header {
  position:sticky; top:0; z-index:10;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.25rem 2rem;
  background:var(--primary);
  border-radius:1rem 1rem 0 0;
  border-bottom:1px solid rgba(194,199,209,0.25);
  flex-shrink:0;
}
.modal-header__eyebrow { font-size:9px; font-weight:800; letter-spacing:0.22em; text-transform:uppercase; color:rgba(151,240,255,0.6); margin-bottom:0.3rem; }
.modal-header__heading { font-family:var(--font-headline); font-weight:300; color:white; font-size:1.6rem; line-height:1.1; }
.modal-header__heading em { font-style:italic; }
.modal-close { width:2.5rem; height:2.5rem; border-radius:50%; background:rgba(255,255,255,0.15); border:none; cursor:pointer; display:flex; align-items:center; justify-content:center; color:white; font-size:1.2rem; flex-shrink:0; margin-left:1rem; transition:background 0.2s; }
.modal-close:hover { background:rgba(255,255,255,0.25); }

/* Scrollable body with styled scrollbar */
.modal-body {
  padding:2rem;
  overflow-y:auto;
  flex:1;
  border-radius:0 0 1rem 1rem;
  /* Firefox */
  scrollbar-width:thin;
  scrollbar-color:rgba(0,53,95,0.25) transparent;
}
/* WebKit */
.modal-body::-webkit-scrollbar          { width:4px; }
.modal-body::-webkit-scrollbar-track    { background:transparent; }
.modal-body::-webkit-scrollbar-thumb    { background:rgba(0,53,95,0.3); border-radius:9999px; }
.modal-body::-webkit-scrollbar-button  { display:none; height:0; width:0; }

.modal-intro { color:var(--text-muted); font-size:1rem; line-height:1.7; margin-bottom:2rem; }

.modal-cta { margin-top:2.5rem; background:var(--primary); border-radius:0.75rem; padding:1.5rem; display:flex; flex-direction:column; gap:1.25rem; align-items:flex-start; }
.modal-cta__heading { font-family:var(--font-headline); font-weight:600; color:white; font-size:1.125rem; margin-bottom:0.25rem; }
.modal-cta__sub { color:rgba(255,255,255,0.6); font-size:0.875rem; }
.modal-cta__btn { display:inline-flex; align-items:center; gap:0.75rem; background:white; color:var(--primary); padding:0.875rem 1.75rem; border-radius:0.75rem; font-weight:700; font-size:0.875rem; text-decoration:none; white-space:nowrap; flex-shrink:0; transition:opacity 0.2s; box-shadow:0 4px 12px rgba(0,0,0,0.1); }
.modal-cta__btn:hover { opacity:0.9; }

/* Appointments utility classes */
.appt-section-header     { max-width:32rem; }
.appt-section-header--mb { max-width:32rem; margin-bottom:4rem; }
.intl-cta-wrap           { margin-top:3.5rem; }
.icon-filled             { font-variation-settings:'FILL' 1; }
.icon-white              { color:white; }

/* Appointments responsive */
@media (min-width: 768px) {
  .appt-hero__grid { grid-template-columns:7fr 5fr; }
  .appt-hero__photo-wrap { margin-left:auto; }
  .appt-expect__grid { grid-template-columns:repeat(4,1fr); }
  .appt-slots__grid { grid-template-columns:repeat(3,1fr); }
  .intl-cta-btn__inner { flex-direction:row; align-items:center; }
  .modal-cta { flex-direction:row; align-items:center; justify-content:space-between; }
}

.test-book-cta { text-align:center; }
.test-book-cta__eyebrow { justify-content:center; }
.test-book-cta__heading { font-family:var(--font-headline); font-size:clamp(2rem,4vw,2.75rem); font-weight:300; color:var(--primary); margin-bottom:1rem; }
.test-book-cta__address { font-style:normal; color:var(--text-muted); font-size:0.875rem; margin-bottom:2rem; }
.test-book-cta__address a { color:var(--primary); font-weight:600; text-decoration:none; transition:opacity 0.2s; }
.test-book-cta__address a:hover { opacity:0.7; }

/* ── 23. Responsive ─────────────────────────────────────────── */
@media (min-width: 768px) {
  .hero__image-wrap { display:block; }
  .testimonials__header { flex-direction:row; align-items:flex-end; justify-content:space-between; }
  .testimonials__footer { flex-direction:row; justify-content:space-between; align-items:center; }
  .video-feature__footer { flex-direction:row; justify-content:space-between; align-items:center; }
  .footer__grid { grid-template-columns:repeat(2,1fr); }
  .footer__bottom { flex-direction:row; justify-content:space-between; }
  .faq__intro-grid { grid-template-columns:1fr 1fr; }
  .locations__grid { grid-template-columns:repeat(2,1fr); }
  .usp__col--left { border-right:1px solid rgba(255,255,255,0.15); padding-right:2rem; padding-bottom:0; }
  .usp__col--right { padding-left:5rem; padding-top:0; }
  .reviews__header { flex-direction:row; align-items:flex-end; justify-content:space-between; }
  .reviews__grid { grid-template-columns:repeat(2,1fr); }

  /* About */
  .about-hero__grid { grid-template-columns: 7fr 5fr; gap: 4rem; }
  .about-cori__grid { grid-template-columns: 1fr 1fr; }
  .about-treatments__grid { grid-template-columns: 3fr 9fr; }
  .qual-row { grid-template-columns: 2fr 4fr 6fr; gap: 1rem; }
  .pub__header { grid-template-columns: 1fr 1fr; align-items: flex-end; }
  .pub-item { grid-template-columns: auto 1fr auto; gap: 2rem; }
  .pub-item__journal-wrap { margin-top: 0; }
  .pub-item__journal-chip { margin-top: 0; }
  .hospitals__grid { grid-template-columns: repeat(3,1fr); }
  .about-cta__grid { grid-template-columns: 1fr 1fr; }
  .about-cta__btns { flex-direction: row; }
  .qual__linkedin { display: inline-flex; }
}

@media (min-width: 1024px) {
  .nav-links { display:flex; }
  .nav-cta { display:inline-flex; }
  .menu-btn { display:none; }
  .usp__grid { grid-template-columns:1fr 1fr; gap:0; }
  .conditions__grid { grid-template-columns:1fr 1fr; }
  .conditions__image-wrap { min-height:520px; }
  .footer__grid { grid-template-columns:repeat(4,1fr); }
  .reviews__grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width: 1023px) {
  .nav-links { display:none; }
  .nav-cta { display:none; }
  .menu-btn { display:flex; }
  .hero__grid { grid-template-columns:1fr; }
  .hero__stats { display:grid; } /* was display:none — stats now visible on mobile */
  .hero__text { padding-right:0; margin-top:0; }
}

@media (max-width: 767px) {
  :root { --container-px:1.25rem; --section-py:4rem; }
  .stat-counter { font-size:2.75rem; }
  .faq__btn { padding:1.5rem 0; }
  .faq__answer { margin-right:0; }
  .vcard { width:280px; }
  .usp__metrics { gap:1.5rem; }
}

@media (prefers-reduced-motion: reduce) {
  .fade-in-up { opacity:1; transform:none; transition:none; }
  .hero-left,.hero-right,.hero-img { animation:none; opacity:1; }
  .marquee-track,.vtrack-fwd,.vtrack-rev { animation:none; }
  main { animation:none; }
}
