/*
 * PHYSIO AALAYA — Main Stylesheet v2.0
 * ===========================================
 * 1.  DESIGN TOKENS
 * 2.  RESET & BASE
 * 3.  TYPOGRAPHY
 * 4.  LAYOUT UTILITIES
 * 5.  BUTTONS
 * 6.  BADGES & TAGS
 * 7.  SECTION BASE STYLES
 * 8.  SCROLL PROGRESS BAR
 * 9.  PAGE LOADER
 * 10. HEADER & NAVIGATION
 * 11. MEGA MENU
 * 12. MOBILE MENU
 * 13. HERO SECTION
 * 14. MARQUEE BAR
 * 15. ABOUT SECTION
 * 16. SERVICES BENTO
 * 17. POSTURAL LAB
 * 18. WHY CHOOSE US
 * 19. STATS SECTION
 * 20. DOCTOR SECTION
 * 21. GALLERY MARQUEE
 * 22. TESTIMONIALS CAROUSEL
 * 23. COMMUNITY SECTION
 * 24. CTA SECTION
 * 25. FLOATING BOOK BUTTON
 * 26. FOOTER
 * 27. SCROLL ANIMATIONS
 * 28. RESPONSIVE
 * ===========================================
*/

/* ─── 1. DESIGN TOKENS ─────────────────────── */
:root {
  --c-primary:    #0B2A6B;
  --c-mid:        #1E5FD8;
  --c-secondary:  #1AB889;
  --c-accent:     #00D4FF;
  --c-dark:       #1C1814;
  --c-bg:         #FAF8F5;
  --c-bg-alt:     #F3F0EA;
  --c-surface:    #FFFFFF;
  --c-frost:      #F3F0EA;
  --c-white:      #FFFFFF;
  --c-ink:        #111009;
  --c-body:       #2A2622;
  --c-sub:        #2A2622;
  --c-muted:      #5A5654;
  --c-border:     #E4E0D8;
  --c-border-lt:  rgba(255,255,255,0.1);

  --g-hero:       linear-gradient(135deg,#060F2A 0%,#0B2A6B 55%,#083D2E 100%);
  --g-brand:      linear-gradient(135deg,#0B2A6B,#1E5FD8,#1AB889);
  --g-accent:     linear-gradient(90deg,#1E5FD8,#00D4FF);
  --g-green:      linear-gradient(90deg,#1AB889,#00D4FF);
  --g-dark:       linear-gradient(160deg,#060F2A 0%,#0B2A6B 100%);
  --g-card:       linear-gradient(135deg,rgba(255,255,255,0.08) 0%,rgba(255,255,255,0.02) 100%);
  --g-radial-hero:
    radial-gradient(ellipse 55% 45% at 0% 0%, rgba(26,184,137,0.09) 0%, transparent 50%),
    radial-gradient(ellipse 50% 55% at 100% 100%, rgba(11,42,107,0.07) 0%, transparent 50%),
    linear-gradient(160deg, #FAF8F5 0%, #F3F0EA 100%);

  --f-display:    'Manrope', sans-serif;
  --f-head:       'Plus Jakarta Sans', sans-serif;
  --f-body:       'Inter', sans-serif;
  --f-serif:      'Playfair Display', Georgia, serif;

  --section-pad:    64px;
  --section-pad-sm: 40px;
  --container:      1200px;
  --header-h:       82px;

  --r-xs: 6px;  --r-sm: 10px; --r-md: 16px;
  --r-lg: 24px; --r-xl: 32px; --r-2xl: 48px;

  --s-sm:  0 2px 12px rgba(0,0,0,0.06);
  --s-md:  0 8px 32px rgba(0,0,0,0.10);
  --s-lg:  0 20px 60px rgba(0,0,0,0.14);
  --s-glow-blue:  0 0 40px rgba(30,95,216,0.25);
  --s-glow-green: 0 0 40px rgba(26,184,137,0.20);

  --t-fast: all 0.2s ease;
  --t-base: all 0.2s ease;
  --t-med:  all 0.2s ease;
  --t-slow: all 0.45s cubic-bezier(0.4,0,0.2,1);
}

/* ─── 2. RESET & BASE ──────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; font-size:16px; -webkit-text-size-adjust:100%; }
body {
  font-family: var(--f-body);
  background: var(--c-bg);
  color: var(--c-ink);
  line-height: 1.6;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
img { max-width:100%; height:auto; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { cursor:pointer; font-family:inherit; }
input,textarea,select { font-family:inherit; }

/* Custom scrollbar */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:#FAF8F5; }
::-webkit-scrollbar-thumb { background:linear-gradient(180deg,#1E5FD8,#1AB889); border-radius:4px; }
::-webkit-scrollbar-thumb:hover { background:#1E5FD8; }
/* Text selection */
::selection { background:rgba(30,95,216,0.18); color:inherit; }

/* ─── 3. TYPOGRAPHY ────────────────────────── */
h1,h2,h3,h4,h5,h6 { font-family:var(--f-head); font-weight:700; line-height:1.2; color:var(--c-ink); }
/* Brand gradient — cobalt #1E5FD8 → healing teal #1AB889 (matches logo) */
.text-gradient {
  background: linear-gradient(90deg, #1E5FD8, #1AB889);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
/* Logo-style brand text — Manrope 800, same gradient as logo */
.logo-brand { font-family:var(--f-display); font-weight:800; letter-spacing:-0.02em; }
.text-gradient-brand {
  background: var(--g-brand);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* ─── 4. LAYOUT UTILITIES ──────────────────── */
.container { max-width:var(--container); margin:0 auto; padding:0 40px; }
.section,.section-pad    { padding:var(--section-pad) 0; position:relative; }
.section-sm,.section-pad-sm { padding:var(--section-pad-sm) 0; position:relative; }
.text-white    { color:#fff !important; }
.text-muted    { color:var(--c-muted) !important; }
.text-muted-lt { color:rgba(255,255,255,0.6) !important; }
.text-secondary{ color:var(--c-secondary) !important; }
.text-accent   { color:var(--c-accent) !important; }
.text-center   { text-align:center; }

/* Stagger animation helpers */
.stagger > *:nth-child(1) { transition-delay:.05s!important; }
.stagger > *:nth-child(2) { transition-delay:.12s!important; }
.stagger > *:nth-child(3) { transition-delay:.19s!important; }
.stagger > *:nth-child(4) { transition-delay:.26s!important; }
.stagger > *:nth-child(5) { transition-delay:.33s!important; }
.stagger > *:nth-child(6) { transition-delay:.40s!important; }

/* ─── 5. BUTTONS ───────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--f-head); font-size:14px; font-weight:600;
  padding:14px 28px; border-radius:100px; border:none; cursor:pointer;
  transition:var(--t-med); white-space:nowrap; position:relative; overflow:hidden;
}
.btn::after { content:''; position:absolute; inset:0; background:rgba(255,255,255,0); transition:background .2s; }
.btn:hover::after { background:rgba(255,255,255,0.08); }

.btn-primary {
  background:linear-gradient(90deg,#1E5FD8,#1AB889); color:#fff;
  background-size:200% auto;
  box-shadow:0 4px 20px rgba(30,95,216,0.35);
}
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 32px rgba(30,95,216,0.45); background-position:right center; }
.btn-green  { background:var(--c-secondary); color:#fff; box-shadow:0 4px 20px rgba(26,184,137,0.3); }
.btn-green:hover  { transform:translateY(-2px); box-shadow:0 8px 28px rgba(26,184,137,0.4); }
.btn-white  { background:#fff; color:var(--c-primary); box-shadow:0 4px 20px rgba(0,0,0,0.15); }
.btn-white:hover  { transform:translateY(-2px); box-shadow:0 8px 28px rgba(0,0,0,0.2); }

/* btn-outline — defaults to light-bg (dark) variant now */
.btn-outline { background:transparent; color:var(--c-primary); border:1.5px solid rgba(11,42,107,0.3); }
.btn-outline:hover { background:rgba(11,42,107,0.06); color:var(--c-mid); border-color:var(--c-mid); transform:translateY(-2px); }
/* Hero slider: teal-accented outline for extra contrast on the dark panel */
.hs-panel-text .btn-outline { border-color:var(--c-secondary); color:#fff; }
.hs-panel-text .btn-outline:hover { background:rgba(26,184,137,0.15); border-color:var(--c-secondary); color:#fff; }
/* Override on light sections */
.why-section .btn-outline,.about-section .btn-outline,.services-section .btn-outline,
.doctor-section .btn-outline,.community-section .btn-outline,.stats-section .btn-outline {
  color:var(--c-primary); border-color:rgba(11,42,107,0.25);
}
.why-section .btn-outline:hover,.about-section .btn-outline:hover,.services-section .btn-outline:hover,
.doctor-section .btn-outline:hover,.community-section .btn-outline:hover {
  background:rgba(11,42,107,0.06); color:var(--c-mid); border-color:var(--c-mid); transform:translateY(-2px);
}
.btn-outline-dark  { background:transparent; color:var(--c-primary); border:1.5px solid var(--c-primary); }
.btn-outline-dark:hover  { background:var(--c-primary); color:#fff; }
.btn-outline-light { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,0.4); }
.btn-outline-light:hover { background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.75); }
.btn-ghost { background:transparent; color:var(--c-secondary); padding:0; border-radius:0; }
.btn-ghost::after { display:none; }
.btn-ghost:hover { gap:12px; }
.btn-sm { padding:10px 22px; font-size:13px; }
.btn-lg { padding:18px 36px; font-size:15px; }

/* ─── 6. BADGES & TAGS ─────────────────────── */
.badge {
  display:inline-block; font-family:var(--f-body); font-size:11px; font-weight:600;
  letter-spacing:1.5px; text-transform:uppercase; border-radius:100px; padding:5px 14px; line-height:1;
}
.badge-blue    { background:rgba(30,95,216,0.1);  color:var(--c-mid); }
.badge-green   { background:rgba(26,184,137,0.1); color:var(--c-secondary); }
.badge-cyan    { background:rgba(0,212,255,0.12); color:#008BAF; }
.badge-dark    { background:rgba(255,255,255,0.1); color:rgba(255,255,255,0.85); border:1px solid rgba(255,255,255,0.15); }
.badge-outline { background:transparent; color:var(--c-primary); border:1px solid rgba(11,42,107,0.2); }
.badge-outline:hover { background:rgba(11,42,107,0.05); }

/* ─── 7. SECTION BASE STYLES ──────────────── */

/* Eyebrow — styled pill badge above section titles */
.section-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--f-head); font-size:11px; font-weight:700;
  letter-spacing:2px; text-transform:uppercase;
  color:var(--c-mid);
  background:rgba(30,95,216,0.07);
  border:1px solid rgba(30,95,216,0.16);
  border-radius:100px; padding:6px 16px;
  margin-bottom:20px;
}
.section-eyebrow::before {
  content:''; width:6px; height:6px; border-radius:50%;
  background:linear-gradient(90deg,#1E5FD8,#1AB889); flex-shrink:0;
}
/* Light-background variant (formerly on-dark, now on light bg) */
.section-eyebrow.on-dark {
  color: var(--c-secondary);
  background: transparent;
  border-color: transparent;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 11px;
  text-transform: uppercase;
}
.section-eyebrow.on-dark::before { background: var(--c-secondary); }

/* Section titles */
.section-title {
  font-family:var(--f-display); font-size:clamp(28px,3.5vw,46px); font-weight:800;
  color:var(--c-ink); line-height:1.1; letter-spacing:-0.02em; margin-bottom:18px;
}
.section-title.white { color:#fff; }

/* Body / subtitle text below section titles */
.section-body {
  font-family:var(--f-head); font-size:16px; font-weight:500;
  color:var(--c-muted); line-height:1.68; max-width:560px; text-align:left;
}
.section-body.white { color:rgba(255,255,255,0.78); }
.section-body.wide  { max-width:720px; }

/* Aliases */
.section-sub  { font-family:var(--f-head); font-size:16px; font-weight:500; color:var(--c-muted); line-height:1.68; max-width:560px; }
.section-sub.white { color:rgba(255,255,255,0.78); }
.section-sub.wide  { max-width:720px; }
.section-label { font-family:var(--f-display); font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--c-secondary); margin-bottom:14px; display:block; }

/* Section header wrappers */
.section-header { margin-bottom:40px; }
/* Center eyebrow when inside a centered layout */
.section-header-center .section-eyebrow,
.cta-section .section-eyebrow { margin-left:auto; margin-right:auto; }
.section-header-center {
  text-align:center; display:flex; flex-direction:column;
  align-items:center; margin-bottom:36px;
}
.section-header-center .section-body,
.section-header-center .section-sub { max-width:600px; }

.divider-line { width:60px; height:3px; background:linear-gradient(90deg,#1E5FD8,#1AB889); border-radius:4px; margin-top:20px; }

/* ─── 8. SCROLL PROGRESS BAR ──────────────── */
.scroll-progress {
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,#0B2A6B,#1E5FD8,#00D4FF,#1AB889);
  z-index:9999; transition:width .08s linear; pointer-events:none;
}

/* ─── 10. HEADER & NAVIGATION ─────────────── */
.site-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  height: var(--header-h);
  background: rgba(250,248,245,0.82);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(196,182,160,0.45);
  box-shadow: 0 2px 24px rgba(28,24,20,0.06);
  transition: background .4s ease, box-shadow .4s ease;
  /* iOS Safari: force GPU layer to prevent fixed+backdrop-filter flicker */
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
.site-header.scrolled {
  background: rgba(250,248,245,0.95);
  box-shadow: 0 2px 32px rgba(28,24,20,0.10);
}
.nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  height: var(--header-h); gap: 32px;
}
.nav-logo { flex-shrink: 0; display: flex; align-items: center; }
.nav-logo img {
  height: 66px;
  width: auto;
  transition: var(--t-fast);
  filter: drop-shadow(0 1px 4px rgba(17,10,9,0.18));
}
.nav-logo:hover img {
  filter: drop-shadow(0 2px 8px rgba(17,10,9,0.25));
  opacity: 1;
}
.nav-menu { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nav-item { position: relative; }
.nav-link {
  font-family: var(--f-head); font-size: 14px; font-weight: 600;
  color: #1A1714; padding: 8px 14px; border-radius: var(--r-xs);
  transition: var(--t-fast); display: flex; align-items: center; gap: 4px; white-space: nowrap;
}
.nav-link:hover { color: var(--c-primary); }
.nav-link.active { color: var(--c-primary); font-weight: 600; }
.nav-link.active::after {
  content: ''; position: absolute; bottom: -2px; left: 14px; right: 14px;
  height: 2px; background: linear-gradient(90deg,#1E5FD8,#1AB889); border-radius: 2px;
}
.nav-arrow { display: inline-block; font-size: 10px; transition: transform .25s; margin-top: 1px; }
.nav-item.mega-open > .nav-link .nav-arrow { transform: rotate(180deg); }

/* ── Featured Nav Link (Postural Lab) ─────────────────── */
.nav-link--featured {
  background: linear-gradient(135deg, #1AB889 0%, #1073C6 100%);
  color: #fff !important;
  padding: 7px 16px;
  border-radius: 100px;
  gap: 7px;
  box-shadow: 0 2px 10px rgba(26,184,137,0.28);
}
.nav-link--featured:hover {
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 18px rgba(26,184,137,0.42);
  opacity: 0.96;
}
.nav-featured-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,0.75);
  flex-shrink: 0;
  animation: featuredPulse 2s ease-in-out infinite;
}
@keyframes featuredPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.45; transform: scale(0.7); }
}

/* Mobile variant */
.mobile-nav-link--featured {
  color: #1AB889 !important;
  font-weight: 700 !important;
  display: flex; align-items: center; gap: 8px;
}
.mobile-nav-link--featured .nav-featured-dot {
  background: #1AB889;
  animation: featuredPulse 2s ease-in-out infinite;
}
.nav-actions { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
.nav-phone { font-family: var(--f-body); font-size: 13px; font-weight: 500; color: #6B6460; transition: color .2s; }
.nav-phone:hover { color: var(--c-primary); }
.menu-toggle {
  display:none; flex-direction:column; justify-content:space-between;
  width:26px; height:18px; background:none; border:none; padding:0;
}
.menu-toggle span { display:block; height:2px; background:#2C2825; border-radius:2px; transition:var(--t-med); transform-origin:center; }
.menu-toggle.active span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
.menu-toggle.active span:nth-child(2) { opacity:0; transform:scaleX(0); }
.menu-toggle.active span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }

/* ─── 11. MEGA MENU ────────────────────────── */
.mega-menu {
  position: absolute; top: calc(var(--header-h) - 6px); left: 50%;
  transform: translateX(-50%) translateY(10px); width: 700px;
  background: rgba(250,248,245,0.97);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(196,182,160,0.4); border-radius: var(--r-lg); padding: 28px;
  box-shadow: 0 16px 48px rgba(28,24,20,0.12); opacity: 0; visibility: hidden;
  transition: opacity .25s ease, transform .25s ease, visibility .25s; pointer-events: none;
}
.mega-menu.open { opacity:1; visibility:visible; transform:translateX(-50%) translateY(0); pointer-events:all; }
.mega-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:8px 32px; margin-bottom:20px; }
.mega-grid--2col { grid-template-columns:1fr 1fr; }
.mega-col-title {
  font-family: var(--f-display); font-size: 10px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--c-secondary); padding: 4px 12px 10px;
  border-bottom: 1px solid rgba(196,182,160,0.4); margin-bottom: 8px;
}
.mega-item { display:flex; align-items:center; gap:10px; padding:9px 12px; border-radius:var(--r-sm); transition:background .18s; }
.mega-item:hover { background: rgba(11,42,107,0.05); }
.mega-item-dot { width:6px; height:6px; border-radius:50%; background:var(--c-secondary); flex-shrink:0; transition:background .2s; }
.mega-item:hover .mega-item-dot { background: var(--c-primary); }
.mega-item-text { font-family:var(--f-head); font-size:13px; font-weight:500; color:#4B4743; transition:color .18s; }
.mega-item:hover .mega-item-text { color: var(--c-primary); }
.mega-footer { display:flex; align-items:center; justify-content:space-between; padding-top:16px; border-top:1px solid rgba(196,182,160,0.35); }
.mega-highlight { display:flex; align-items:center; gap:12px; background:linear-gradient(135deg,rgba(26,184,137,0.08),rgba(11,42,107,0.06)); border:1px solid rgba(26,184,137,0.25); border-radius:var(--r-sm); padding:10px 16px; }
.mega-highlight-icon { font-size:20px; line-height:1; }
.mega-highlight-text { font-family:var(--f-head); font-size:13px; font-weight:600; color: var(--c-primary); }
.mega-highlight-sub  { font-family:var(--f-body); font-size:11px; color:var(--c-secondary); margin-top:1px; }
.mega-cta-link { font-family:var(--f-head); font-size:13px; font-weight:600; color:var(--c-primary); display:flex; align-items:center; gap:6px; transition:gap .2s; }
.mega-cta-link:hover { gap:10px; }

/* ─── 12. MOBILE MENU ──────────────────────── */
.mobile-menu {
  position: fixed; inset: 0;
  background: rgba(250,248,245,0.98);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  z-index: 800;
  display: flex; flex-direction: column; padding: calc(var(--header-h) + 24px) 32px 40px;
  transform: translateX(100%); transition: transform .4s cubic-bezier(0.4,0,0.2,1);
  overflow-y: auto; overscroll-behavior: contain;
}
.mobile-menu.open { transform: translateX(0); }
.mobile-nav-link {
  font-family: var(--f-display); font-size: 22px; font-weight: 700; color: #2C2825;
  padding: 16px 0; border-bottom: 1px solid rgba(196,182,160,0.35);
  display: flex; align-items: center; justify-content: space-between; transition: color .2s;
}
.mobile-nav-link:hover { color: var(--c-primary); }
.mobile-sub-links { padding: 8px 0 8px 16px; display: none; }
.mobile-sub-links.open { display: block; }
.mobile-sub-link {
  display: block; font-family: var(--f-head); font-size: 14px; font-weight: 500;
  color: #7B7773; padding: 9px 0; transition: color .2s;
}
.mobile-sub-link:hover { color: var(--c-secondary); }
/* ─── Mobile Mega Menu Categories ──────────── */
.mobile-sub-links.mob-mega { padding: 12px 0 4px 0; }
.mob-mega-cat { margin-bottom: 18px; }
.mob-mega-cat-title {
  font-family: var(--f-display); font-size: 10px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-secondary);
  padding: 6px 16px 8px; margin-bottom: 2px;
  border-bottom: 1px solid rgba(196,182,160,0.4);
}
/* Indent sub-links inside categories */
.mob-mega .mobile-sub-link {
  padding-left: 20px;
  position: relative;
}
.mob-mega .mobile-sub-link::before {
  content: '';
  position: absolute; left: 8px; top: 50%; transform: translateY(-50%);
  width: 4px; height: 4px; border-radius: 50%;
  background: rgba(26,184,137,0.45);
}
.mob-mega .mobile-sub-link:hover::before { background: var(--c-secondary); }
/* Highlight footer strip */
.mob-mega-highlight {
  display: flex; align-items: center; gap: 12px;
  background: linear-gradient(135deg, rgba(26,184,137,0.08), rgba(11,42,107,0.06));
  border: 1px solid rgba(26,184,137,0.25); border-radius: var(--r-sm);
  padding: 12px 14px; margin-top: 4px;
}
.mob-mega-highlight-icon { font-size: 18px; line-height: 1; flex-shrink: 0; }
.mob-mega-highlight-body { flex: 1; min-width: 0; }
.mob-mega-highlight-text {
  font-family: var(--f-head); font-size: 12px; font-weight: 700; color: var(--c-primary);
}
.mob-mega-highlight-sub {
  font-family: var(--f-body); font-size: 11px; color: var(--c-secondary); margin-top: 1px;
}
.mob-mega-cta {
  font-family: var(--f-head); font-size: 12px; font-weight: 700;
  color: var(--c-primary); white-space: nowrap; flex-shrink: 0;
  transition: color .2s;
}
.mob-mega-cta:hover { color: var(--c-secondary); }

.mobile-menu-cta { margin-top: 32px; display: flex; flex-direction: column; gap: 14px; }
/* Fix: btn-outline-light is white text — invisible on cream mobile menu background */
.mobile-menu-cta .btn-outline-light {
  color: var(--c-primary);
  border-color: var(--c-border);
  background: #fff;
}
.mobile-menu-cta .btn-outline-light:hover {
  background: var(--c-bg-alt);
  border-color: rgba(196,182,160,0.7);
  color: var(--c-primary);
}
.mobile-contact { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(196,182,160,0.35); }
.mobile-contact-item { display: flex; align-items: center; gap: 10px; font-family: var(--f-body); font-size: 14px; color: #7B7773; margin-bottom: 12px; }

/* ─── 13. HERO SLIDER ──────────────────────── */

.hero { position:relative; overflow:hidden; }
.hs-slider {
  height:100vh; min-height:680px; position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse 60% 65% at 2% 15%,   rgba(26,184,137,0.22) 0%, transparent 55%),
    radial-gradient(ellipse 55% 60% at 98% 85%,   rgba(11,42,107,0.16)  0%, transparent 50%),
    radial-gradient(ellipse 40% 45% at 55% 95%,   rgba(26,184,137,0.12) 0%, transparent 50%),
    linear-gradient(160deg, #FAF8F5 0%, #F3F0EA 100%);
}

/* ─── SLIDES: PUSH TRANSITION ─── */
.hs-slide {
  position:absolute; inset:0;
  display:grid; grid-template-columns:48% 52%; gap:0; column-gap:0;
  transform:translateX(100%);
  transition:transform 0.78s cubic-bezier(0.4,0,0.2,1);
  will-change:transform; z-index:1; pointer-events:none;
}
.hs-slide.active    { transform:translateX(0);     z-index:2; pointer-events:auto; }
.hs-slide.exit-left { transform:translateX(-100%); z-index:1; }
.hs-slide.exit-right{ transform:translateX(100%);  z-index:1; }

/* ─── TEXT COLUMN ─── */
.hs-text-col {
  position:relative; overflow:hidden;
  background:transparent;
  display:flex; align-items:center;
  padding:0 24px 0 72px;
}
.hs-text-glows { display:none; }
.hs-content { position:relative; z-index:2; max-width:560px; width:100%; }

/* Eyebrow chip */
.hs-eyebrow {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(26,184,137,0.08); border:1px solid rgba(26,184,137,0.22);
  border-radius:100px; padding:5px 14px 5px 10px; margin-bottom:14px;
  font-family:var(--f-head); font-size:11px; font-weight:700;
  color:var(--c-secondary); letter-spacing:0.6px;
  opacity:0; transform:translateY(16px);
  transition:opacity 0.5s 0.04s ease, transform 0.5s 0.04s ease;
}
.hs-eyebrow-pulse {
  width:7px; height:7px; border-radius:50%; background:var(--c-secondary); flex-shrink:0;
  box-shadow:0 0 0 0 rgba(26,184,137,0.4);
  animation:eyePulse 2.2s ease-in-out infinite;
}
@keyframes eyePulse {
  0%,100% { box-shadow:0 0 0 0 rgba(26,184,137,0.45); }
  60%      { box-shadow:0 0 0 5px rgba(26,184,137,0); }
}

/* Kicker — uppercase accent line above headline */
.hs-kicker {
  font-family:var(--f-head); font-size:11px; font-weight:700;
  color:var(--c-secondary); letter-spacing:3.5px; text-transform:uppercase;
  margin-bottom:14px;
  opacity:0; transform:translateY(14px);
  transition:opacity 0.5s 0.13s ease, transform 0.5s 0.13s ease;
}

/* Headline */
.hs-headline {
  font-family:var(--f-display); font-size:clamp(32px,3.2vw,54px);
  font-weight:800; color:var(--c-ink); line-height:1.06; letter-spacing:-0.025em;
  margin-bottom:18px;
}
.hs-word {
  display:inline-block;
  opacity:0; transform:translateY(28px);
  transition:opacity 0.5s ease, transform 0.5s ease;
  transition-delay:calc(var(--i, 1) * 0.10s + 0.20s);
}

/* Description */
.hs-desc {
  font-family:var(--f-head); font-size:15px; font-weight:500;
  color:var(--c-body); line-height:1.68;
  margin-bottom:26px; max-width:440px;
  opacity:0; transform:translateY(14px);
  transition:opacity 0.5s 0.62s ease, transform 0.5s 0.62s ease;
}

/* CTA row */
.hs-actions {
  display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:28px;
  opacity:0; transform:translateY(12px);
  transition:opacity 0.5s 0.76s ease, transform 0.5s 0.76s ease;
}
.hs-cta-pulse { animation:ctaPulse 3.4s ease-in-out 1.8s infinite; }
@keyframes ctaPulse {
  0%,100% { box-shadow:0 4px 18px rgba(30,95,216,0.28); }
  55%      { box-shadow:0 4px 32px rgba(30,95,216,0.52), 0 0 0 10px rgba(30,95,216,0); }
}
/* Ghost button — teal outline on light background */
.hs-btn-ghost {
  display:inline-flex; align-items:center; justify-content:center;
  height:48px; padding:0 22px; border-radius:8px;
  font-family:var(--f-head); font-size:14px; font-weight:600;
  color:var(--c-secondary); background:transparent;
  border:1.5px solid var(--c-secondary);
  transition:background 0.2s, border-color 0.2s, color 0.2s;
  text-decoration:none;
}
.hs-btn-ghost:hover { background:var(--c-secondary); color:#fff; border-color:var(--c-secondary); }

/* Stats row */
.hs-stats-row {
  display:flex; align-items:center;
  padding-top:20px; border-top:1px solid var(--c-border);
  opacity:0; transform:translateY(12px);
  transition:opacity 0.5s 0.90s ease, transform 0.5s 0.90s ease;
}
.hs-stat { flex:1; text-align:center; }
.hs-stat strong {
  display:block; font-family:var(--f-display); font-size:21px; font-weight:800;
  color:var(--c-ink); line-height:1; margin-bottom:4px;
}
.hs-stat span {
  font-family:var(--f-head); font-size:11px; font-weight:600;
  color:var(--c-muted); letter-spacing:0.3px; text-transform:uppercase;
}
.hs-stat-sep { width:1px; height:28px; background:var(--c-border); flex-shrink:0; }

/* ─── REVEAL ON ACTIVE ─── */
.hs-slide.active .hs-eyebrow,
.hs-slide.active .hs-kicker,
.hs-slide.active .hs-desc,
.hs-slide.active .hs-actions,
.hs-slide.active .hs-stats-row { opacity:1; transform:translateY(0); }
.hs-slide.active .hs-word       { opacity:1; transform:translateY(0); }

/* Instantly reset exiting slide content so it re-animates on return */
.hs-slide.exit-left .hs-word,  .hs-slide.exit-right .hs-word  { transition:none; opacity:0; transform:translateY(28px); }
.hs-slide.exit-left .hs-eyebrow, .hs-slide.exit-right .hs-eyebrow,
.hs-slide.exit-left .hs-kicker,  .hs-slide.exit-right .hs-kicker,
.hs-slide.exit-left .hs-desc,    .hs-slide.exit-right .hs-desc,
.hs-slide.exit-left .hs-actions, .hs-slide.exit-right .hs-actions,
.hs-slide.exit-left .hs-stats-row,.hs-slide.exit-right .hs-stats-row,
.hs-slide.exit-left .hs-badge,   .hs-slide.exit-right .hs-badge {
  transition:none; opacity:0; transform:translateY(10px);
}

/* ─── VISUAL COLUMN ─── */
.hs-visual-col {
  position:relative; overflow:visible;
  background:transparent;
  display:flex; align-items:center; justify-content:flex-start;
  padding:48px 72px 48px 0;
}
.hs-visual-glow { display:none; }

/* ─── IMAGE FRAME ─── */
.hs-img-frame {
  position:relative; z-index:2;
  width:100%; max-width:600px;
  height:68vh; min-height:420px; max-height:580px;
}
.hs-photo-wrap {
  width:100%; height:100%;
  border-radius:var(--r-lg); overflow:hidden;
  box-shadow:
    0 0 0 1px rgba(196,182,160,0.30),
    0 8px 32px rgba(28,24,20,0.10),
    0 24px 64px rgba(28,24,20,0.12),
    0 0 80px rgba(26,184,137,0.10),
    0 0 120px rgba(11,42,107,0.06);
}
.hs-photo {
  width:100%; height:100%; object-fit:cover;
  transform-origin:center center; will-change:transform;
}
.hs-slide.active .hs-photo { animation:kenBurns 11s ease-out forwards; }
@keyframes kenBurns {
  0%   { transform:scale(1.00) translate(0px, 0px); }
  100% { transform:scale(1.10) translate(-10px,-6px); }
}

/* ─── FLOATING GLASS BADGES ─── */
.hs-badge {
  position:absolute; display:flex; align-items:center; gap:10px;
  background:rgba(250,248,245,0.90); backdrop-filter:blur(20px);
  border:1px solid rgba(196,182,160,0.45);
  border-radius:14px; padding:10px 16px;
  box-shadow:0 8px 28px rgba(28,24,20,0.10), 0 1px 4px rgba(28,24,20,0.06);
  white-space:nowrap; z-index:10;
  opacity:0; transform:translateY(14px) scale(0.95);
  transition:opacity 0.5s ease, transform 0.5s ease;
}
.hs-badge-tl { top:-16px;  left:-20px;  transition-delay:0.74s; }
.hs-badge-br { bottom:-16px; right:-20px; transition-delay:0.92s; }
.hs-slide.active .hs-badge { opacity:1; transform:translateY(0) scale(1); }

.hs-badge-icon {
  width:34px; height:34px; border-radius:9px; flex-shrink:0;
  background:rgba(11,42,107,0.08);
  border:1px solid rgba(11,42,107,0.18);
  display:flex; align-items:center; justify-content:center; color:var(--c-primary);
}
.hs-badge-icon--teal {
  background:rgba(26,184,137,0.10);
  border-color:rgba(26,184,137,0.28); color:var(--c-secondary);
}
.hs-badge-body { display:flex; flex-direction:column; gap:2px; }
.hs-badge-body strong {
  font-family:var(--f-display); font-size:13px; font-weight:800;
  color:var(--c-ink); line-height:1;
}
.hs-badge-body span {
  font-family:var(--f-head); font-size:10.5px; font-weight:500;
  color:var(--c-muted); line-height:1;
}

/* ─── CONTROLS BAR — centred at bottom ─── */
.hs-controls-bar {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; gap:14px; z-index:20;
}
.hs-arrow {
  width:38px; height:38px; border-radius:50%;
  background:rgba(250,248,245,0.85); backdrop-filter:blur(12px);
  border:1px solid rgba(196,182,160,0.50); color:var(--c-ink);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background 0.2s, border-color 0.2s, transform 0.18s, box-shadow 0.2s;
  flex-shrink:0; box-shadow:0 2px 10px rgba(28,24,20,0.08);
}
.hs-arrow:hover {
  background:var(--c-primary); border-color:var(--c-primary); color:#fff;
  box-shadow:0 4px 20px rgba(11,42,107,0.25); transform:scale(1.1);
}
.hs-arrow svg { pointer-events:none; }

.hs-dots { display:flex; gap:6px; align-items:center; }
.hs-dot {
  width:7px; height:7px; border-radius:50%;
  background:rgba(28,24,20,0.18); border:none; cursor:pointer; padding:0;
  transition:background 0.2s, width 0.2s, border-radius 0.2s;
}
.hs-dot.active { background:var(--c-secondary); width:22px; border-radius:4px; }

/* ─── PROGRESS BAR ─── */
.hs-progress-track {
  position:absolute; bottom:0; left:0; right:0;
  height:3px; background:rgba(196,182,160,0.25); z-index:20;
}
.hs-progress-bar {
  height:100%; width:0%;
  background:linear-gradient(90deg, #1E5FD8, #00D4FF, #1AB889);
}

/* ─── SCROLL INDICATOR (kept for other pages) ─── */
.scroll-indicator {
  position:absolute; bottom:60px; right:80px;
  display:flex; flex-direction:column; align-items:center; gap:10px; z-index:10;
  animation:scrollBounce 2.4s ease-in-out infinite;
}
.scroll-indicator-text {
  font-family:var(--f-head); font-size:10px; font-weight:600;
  letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.28);
  writing-mode:vertical-lr; transform:rotate(180deg);
}
.scroll-indicator-icon {
  width:28px; height:44px; border:1.5px solid rgba(255,255,255,0.16);
  border-radius:14px; display:flex; align-items:flex-start;
  justify-content:center; padding-top:6px;
}
.scroll-indicator-dot {
  width:4px; height:8px;
  background:linear-gradient(180deg,rgba(255,255,255,0.55),rgba(26,184,137,0.9));
  border-radius:2px; animation:scrollDot 2.4s ease-in-out infinite;
}
@keyframes scrollBounce { 0%,100%{opacity:.5;transform:translateY(0)} 50%{opacity:.85;transform:translateY(7px)} }
@keyframes scrollDot    { 0%,100%{transform:translateY(0);opacity:.6} 50%{transform:translateY(12px);opacity:1} }

/* ─── 14. MARQUEE BAR ──────────────────────── */
.marquee-bar {
  background: radial-gradient(ellipse 70% 180% at 50% 50%, rgba(30,95,216,0.06) 0%, transparent 65%), #F3F0EA;
  padding:16px 0; border-top:1px solid rgba(11,42,107,0.06); border-bottom:1px solid rgba(11,42,107,0.06); overflow:hidden;
}
.marquee-track { display:flex; gap:0; animation:marqueeScroll 36s linear infinite; width:max-content; }
.marquee-track:hover { animation-play-state:paused; }
.marquee-item {
  display:flex; align-items:center; gap:10px; padding:0 36px;
  font-family:var(--f-head); font-size:13px; font-weight:600;
  color:var(--c-sub); white-space:nowrap; border-right:1px solid rgba(11,42,107,0.08);
}
.marquee-dot { width:8px; height:8px; border-radius:50%; background:var(--g-accent); flex-shrink:0; }
@keyframes marqueeScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ─── 15. ABOUT SECTION ────────────────────── */
.about-section {
  background:
    radial-gradient(ellipse 65% 80% at 5% 55%, rgba(30,95,216,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 55% 65% at 96% 8%,  rgba(26,184,137,0.06) 0%, transparent 55%),
    #FAF8F5;
}
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center; }
.about-img-wrap { position:relative; }
.about-img-wrap::after {
  content:''; position:absolute; inset:-6px;
  border-radius:calc(var(--r-xl) + 8px);
  background:linear-gradient(135deg,rgba(30,95,216,0.12),rgba(26,184,137,0.08),rgba(0,212,255,0.06));
  z-index:-1; pointer-events:none;
}
.about-img-main { border-radius:var(--r-xl); overflow:hidden; position:relative; box-shadow:var(--s-lg); }
.about-img-main img { width:100%; height:560px; object-fit:cover; }
.about-img-accent { position:absolute; bottom:-24px; right:-24px; width:220px; border-radius:var(--r-lg); overflow:hidden; border:4px solid #fff; box-shadow:var(--s-md); }
.about-img-accent img { width:100%; height:160px; object-fit:cover; }
.about-stat-card { position:absolute; top:32px; left:-24px; background:#fff; border-radius:var(--r-md); padding:18px 22px; box-shadow:var(--s-lg); min-width:130px; border:1px solid var(--c-border); }
.about-stat-num { font-family:var(--f-display); font-size:32px; font-weight:800; color:var(--c-ink); line-height:1; }
.about-stat-num span { color:var(--c-secondary); }
.about-stat-label { font-family:var(--f-body); font-size:12px; color:var(--c-muted); margin-top:4px; }
.about-year-badge { position:absolute; bottom:50%; left:-20px; background:var(--g-accent); border-radius:var(--r-sm); padding:10px 16px; font-family:var(--f-display); font-size:12px; font-weight:700; color:#fff; letter-spacing:1px; text-transform:uppercase; box-shadow:var(--s-md); }
.about-qualities { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:32px 0; }
.about-quality-item {
  display:flex; align-items:flex-start; gap:12px; padding:16px;
  background:#fff; border-radius:var(--r-sm); border:1px solid var(--c-border);
  box-shadow:var(--s-sm); transition:var(--t-fast);
}
.about-quality-item:hover { border-color:rgba(26,184,137,0.25); box-shadow:var(--s-md); transform:translateY(-2px); }
.quality-icon { width:36px; height:36px; border-radius:var(--r-xs); background:rgba(30,95,216,0.07); border:1px solid rgba(30,95,216,0.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:16px; }
.quality-title { font-family:var(--f-head); font-size:13px; font-weight:700; color:var(--c-ink); margin-bottom:2px; }
.quality-desc  { font-family:var(--f-body); font-size:12px; color:var(--c-muted); line-height:1.5; }
.about-certs { display:flex; flex-wrap:wrap; gap:8px; margin-top:28px; }

/* ─── 16. SERVICES BENTO ───────────────────── */
.services-section {
  background:
    radial-gradient(ellipse 60% 70% at 88% 8%,  rgba(26,184,137,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 55% 60% at 8%  88%, rgba(30,95,216,0.06) 0%, transparent 55%),
    #FAF8F5;
}
.services-bento {
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, auto);
  gap:20px;
  margin-top:56px;
}
/* Featured card spans 2 rows */
.svc-card-featured {
  grid-column:1;
  grid-row:1 / 3;
}
/* Row 3 spans all 3 cols differently */
.svc-card-wide {
  grid-column: 1 / 3;
}

.svc-card {
  background:#fff;
  border:1px solid rgba(0,0,0,0.06);
  border-radius:var(--r-xl);
  padding:32px 28px;
  position:relative;
  overflow:hidden;
  transition:var(--t-med);
  cursor:pointer;
}
.svc-card::before {
  content:''; position:absolute; inset:0;
  border-radius:var(--r-xl); padding:1.5px;
  background:var(--g-accent); mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
  opacity:0; transition:opacity .35s ease;
}
.svc-card:hover::before { opacity:1; }
.svc-card:hover { transform:translateY(-6px); box-shadow:0 24px 60px rgba(11,42,107,0.10); border-color:transparent; }

/* Individual card gradient tints */
.svc-tint-postural { background:linear-gradient(145deg,rgba(11,42,107,0.03) 0%,rgba(0,212,255,0.02) 100%); }
.svc-tint-sports   { background:linear-gradient(145deg,rgba(30,95,216,0.04) 0%,rgba(0,212,255,0.02) 100%); }
.svc-tint-ortho    { background:linear-gradient(145deg,rgba(26,184,137,0.04) 0%,transparent 100%); }
.svc-tint-postsurg { background:linear-gradient(145deg,rgba(0,212,255,0.04) 0%,rgba(11,42,107,0.02) 100%); }
.svc-tint-womens   { background:linear-gradient(145deg,rgba(26,184,137,0.05) 0%,rgba(0,212,255,0.03) 100%); }
.svc-tint-neuro    { background:linear-gradient(145deg,rgba(30,95,216,0.04) 0%,rgba(26,184,137,0.02) 100%); }

.svc-icon {
  width:52px; height:52px; border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center; margin-bottom:20px; flex-shrink:0;
}
.svc-icon-primary { background:linear-gradient(135deg,rgba(11,42,107,0.1),rgba(30,95,216,0.12)); }
.svc-icon-green   { background:linear-gradient(135deg,rgba(26,184,137,0.12),rgba(0,212,255,0.08)); }
.svc-icon-blue    { background:linear-gradient(135deg,rgba(30,95,216,0.1),rgba(0,212,255,0.1)); }
.svc-icon svg { width:24px; height:24px; }

.svc-title { font-family:var(--f-display); font-size:18px; font-weight:700; color:var(--c-ink); margin-bottom:10px; line-height:1.25; }
.svc-desc  { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.7; margin-bottom:18px; }
.svc-link  { display:inline-flex; align-items:center; gap:6px; font-family:var(--f-head); font-size:13px; font-weight:600; color:var(--c-secondary); transition:gap .2s,color .2s; }
.svc-link:hover { gap:10px; color:var(--c-mid); }

/* Featured card extras */
.svc-card-featured { display:flex; flex-direction:column; justify-content:space-between; }
.svc-featured-bg {
  position:absolute; inset:0; border-radius:var(--r-xl);
  background:linear-gradient(145deg,rgba(11,42,107,0.06) 0%,rgba(0,212,255,0.04) 100%);
  pointer-events:none;
}
.svc-featured-watermark {
  position:absolute; right:-20px; bottom:-20px; font-family:var(--f-display); font-size:140px;
  font-weight:800; color:rgba(11,42,107,0.07); line-height:1; pointer-events:none; user-select:none;
}
.svc-featured-features { margin:20px 0; display:flex; flex-direction:column; gap:10px; }
.svc-ff-item { display:flex; align-items:center; gap:10px; font-family:var(--f-body); font-size:13px; color:var(--c-sub); }
.svc-ff-dot { width:7px; height:7px; border-radius:50%; background:var(--c-secondary); flex-shrink:0; }
.services-cta { display:flex; justify-content:center; margin-top:40px; }

/* ─── 17. POSTURAL LAB SECTION ─────────────── */

/* Flagship callout strip above the postural section */
.postural-flagship-strip {
  background:linear-gradient(90deg,#0B2A6B 0%,#1E5FD8 50%,#1AB889 100%);
  padding:14px 0; text-align:center; position:relative; overflow:hidden;
}
.postural-flagship-strip::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,0.03) 0,rgba(255,255,255,0.03) 1px,transparent 1px,transparent 80px);
  pointer-events:none;
}
.postural-flagship-inner {
  display:inline-flex; align-items:center; gap:16px; position:relative; z-index:1;
  flex-wrap:wrap; justify-content:center;
}
.postural-flagship-label {
  font-family:var(--f-head); font-size:13px; font-weight:700;
  color:#fff; letter-spacing:.5px;
}
.postural-flagship-sep { color:rgba(255,255,255,0.3); font-size:10px; }
.postural-flagship-tag {
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.2);
  border-radius:100px; padding:3px 12px;
  font-family:var(--f-body); font-size:11px; font-weight:600;
  color:rgba(255,255,255,0.9); letter-spacing:.5px;
}
.postural-flagship-tag::before {
  content:''; width:5px; height:5px; border-radius:50%;
  background:#1AB889; flex-shrink:0;
}

.postural-section {
  background: var(--g-radial-hero);
  overflow:hidden; position:relative;
}
.postural-section::before {
  content:''; position:absolute; top:-200px; right:-100px; width:600px; height:600px;
  border-radius:50%; background:radial-gradient(circle,rgba(26,184,137,0.08) 0%,transparent 65%); pointer-events:none;
}
.postural-grid { display:grid; grid-template-columns:1fr 0.85fr; gap:56px; align-items:center; position:relative; z-index:1; }
.postural-features { margin:32px 0 36px; display:flex; flex-direction:column; gap:18px; }
.postural-feature {
  display:flex; align-items:flex-start; gap:16px; padding:16px 20px;
  background:#fff; border:1px solid var(--c-border);
  border-radius:var(--r-sm); transition:border-color .25s, box-shadow .25s;
}
.postural-feature:hover { border-color:rgba(26,184,137,0.35); box-shadow:var(--s-sm); }
.pf-check { width:24px; height:24px; border-radius:50%; background:rgba(26,184,137,0.12); border:1px solid rgba(26,184,137,0.3); display:flex; align-items:center; justify-content:center; flex-shrink:0; margin-top:1px; }
.pf-check svg { width:12px; height:12px; color:var(--c-secondary); }
.pf-title { font-family:var(--f-head); font-size:15px; font-weight:700; color:var(--c-ink); margin-bottom:3px; }
.pf-desc  { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; }
.postural-actions { display:flex; gap:16px; flex-wrap:wrap; }
.posture-viz-card { background:#fff; border:1px solid var(--c-border); border-radius:var(--r-xl); overflow:hidden; box-shadow:var(--s-lg); }
.posture-viz-header { display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border-bottom:1px solid var(--c-border); background:var(--c-bg); }
.posture-viz-title { font-family:var(--f-display); font-size:14px; font-weight:700; color:var(--c-ink); }
.posture-viz-status { display:flex; align-items:center; gap:6px; font-family:var(--f-body); font-size:11px; font-weight:600; color:var(--c-secondary); letter-spacing:.5px; }
.status-dot { width:7px; height:7px; border-radius:50%; background:var(--c-secondary); animation:dotBlink 1.2s ease-in-out infinite; }
@keyframes dotBlink { 0%,100%{opacity:1} 50%{opacity:.3} }
.posture-viz-body { padding:0; display:block; position:relative; min-height:0; overflow:hidden; }
.posture-viz-photo { width:100%; height:auto; display:block; }
.posture-label-group { position:absolute; top:0; left:0; right:0; bottom:0; pointer-events:none; }
.p-label { position:absolute; display:flex; align-items:center; gap:6px; font-family:var(--f-head); font-size:11px; font-weight:600; color:var(--c-ink); white-space:nowrap; }
.p-label-dot { width:8px; height:8px; border-radius:50%; flex-shrink:0; }
.p-label-dot.red    { background:#FF5656; }
.p-label-dot.orange { background:#FFA040; }
.p-label-dot.yellow { background:#FFD44A; }
.posture-score-bar { padding:16px 24px 20px; border-top:1px solid var(--c-border); background:var(--c-bg); }
.psb-top { display:flex; justify-content:space-between; margin-bottom:8px; }
.psb-label { font-family:var(--f-head); font-size:12px; font-weight:600; color:var(--c-muted); }
.psb-value { font-family:var(--f-display); font-size:12px; font-weight:700; color:var(--c-mid); }
.psb-track { height:6px; background:var(--c-border); border-radius:4px; overflow:hidden; margin-bottom:6px; }
.psb-fill  { height:100%; width:68%; background:var(--g-green); border-radius:4px; }
.psb-note  { font-family:var(--f-body); font-size:11px; color:var(--c-muted); }

/* ─── 18. WHY CHOOSE US (NUMBERED) ─────────── */
.why-section {
  background:
    radial-gradient(ellipse 80% 55% at 50% 0%,   rgba(30,95,216,0.07) 0%, transparent 55%),
    radial-gradient(ellipse 50% 55% at 92% 92%,  rgba(26,184,137,0.06) 0%, transparent 50%),
    #FAF8F5;
}
.why-header-row {
  display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:end; margin-bottom:40px;
}
.why-list { display:flex; flex-direction:column; }
.why-list-item {
  display:grid; grid-template-columns:80px 60px 1fr; gap:24px;
  align-items:center; padding:22px 0; border-bottom:1px solid rgba(0,0,0,0.05);
  position:relative; transition:var(--t-fast);
}
.why-list-item:last-child { border-bottom:none; }
.why-list-item::after {
  content:''; position:absolute; left:0; bottom:-1px; right:0; height:1px;
  background:var(--g-accent); transform:scaleX(0); transform-origin:left; transition:transform .4s ease;
}
.why-list-item:hover::after { transform:scaleX(1); }
.why-list-num {
  font-family:var(--f-display); font-size:56px; font-weight:800;
  color:rgba(11,42,107,0.07); line-height:1; transition:color .3s;
  user-select:none;
}
.why-list-item:hover .why-list-num { color:rgba(11,42,107,0.14); }
.why-list-icon {
  width:64px; height:64px; border-radius:var(--r-md); display:flex; align-items:center; justify-content:center;
  font-size:26px; flex-shrink:0; transition:var(--t-med); border:1px solid var(--c-border);
}
.why-list-item:hover .why-list-icon { transform:scale(1.08); box-shadow:var(--s-sm); }
.why-icon-bg-1 { background:linear-gradient(135deg,rgba(11,42,107,0.06),rgba(30,95,216,0.08)); }
.why-icon-bg-2 { background:linear-gradient(135deg,rgba(26,184,137,0.08),rgba(0,212,255,0.06)); }
.why-icon-bg-3 { background:linear-gradient(135deg,rgba(0,212,255,0.08),rgba(30,95,216,0.06)); }
.why-icon-bg-4 { background:linear-gradient(135deg,rgba(30,95,216,0.06),rgba(26,184,137,0.06)); }
.why-list-title { font-family:var(--f-display); font-size:20px; font-weight:700; color:var(--c-ink); margin-bottom:8px; }
.why-list-desc  { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; }

/* ─── 19. STATS SECTION ────────────────────── */
.stats-section {
  background:
    radial-gradient(ellipse 90% 100% at 50% 50%, rgba(11,42,107,0.06) 0%, rgba(11,42,107,0.02) 55%, transparent 75%),
    radial-gradient(ellipse 40% 40% at 0%   0%,  rgba(30,95,216,0.06) 0%, transparent 50%),
    radial-gradient(ellipse 40% 40% at 100% 100%,rgba(26,184,137,0.05) 0%, transparent 50%),
    #F3F0EA;
  overflow:hidden; position:relative;
}
.stats-section::before {
  content:'PHYSIO AALAYA'; position:absolute; left:50%; top:50%;
  transform:translate(-50%,-50%); font-family:var(--f-display); font-size:clamp(60px,10vw,140px);
  font-weight:800; color:rgba(11,42,107,0.045); white-space:nowrap; letter-spacing:.08em;
  pointer-events:none; user-select:none;
}
.stats-showcase {
  display:grid; grid-template-columns:1.3fr 1fr 1fr 1.3fr; gap:2px;
  position:relative; z-index:1;
}
.stat-show-item {
  padding:60px 40px; text-align:center;
  border-right:1px solid rgba(11,42,107,0.07); position:relative;
}
.stat-show-item:last-child { border-right:none; }
.stat-show-item:nth-child(1) .stat-show-num,
.stat-show-item:nth-child(4) .stat-show-num { font-size:clamp(52px,5vw,68px); }
.stat-show-item:nth-child(2) .stat-show-num,
.stat-show-item:nth-child(3) .stat-show-num { font-size:clamp(44px,4vw,58px); }
.stat-show-icon { font-size:28px; margin-bottom:16px; }
.stat-show-num {
  font-family:var(--f-display); font-weight:800; line-height:1; margin-bottom:10px;
  background:linear-gradient(90deg,#1E5FD8,#1AB889); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
}
.stat-show-label { font-family:var(--f-head); font-size:14px; font-weight:500; color:var(--c-sub); line-height:1.4; }
.stat-show-sup { font-size:.45em; vertical-align:super; }

/* ─── 20. DOCTOR SECTION ───────────────────── */
.doctor-section {
  background:
    radial-gradient(ellipse 65% 80% at 94% 48%, rgba(26,184,137,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 55% at 4%  92%, rgba(30,95,216,0.06) 0%, transparent 55%),
    #FAF8F5;
}
.doctor-grid { display:grid; grid-template-columns:40% 60%; gap:56px; align-items:start; }
.doctor-img-wrap { position:sticky; top:90px; align-self:start; }
.doctor-img-wrap::after {
  content:''; position:absolute; inset:-6px;
  border-radius:calc(var(--r-xl) + 8px);
  background:linear-gradient(135deg,rgba(26,184,137,0.12),rgba(30,95,216,0.08));
  z-index:-1; pointer-events:none;
}
.doctor-img-frame { border-radius:var(--r-xl); overflow:hidden; position:relative; box-shadow:var(--s-lg); }
.doctor-img-frame img { width:100%; height:580px; object-fit:cover; }
.doctor-img-frame::after { content:''; position:absolute; bottom:0; left:0; right:0; height:160px; background:linear-gradient(transparent,rgba(28,24,20,0.35)); }
.doctor-name-tag { position:absolute; bottom:24px; left:24px; right:24px; background:rgba(255,255,255,0.92); backdrop-filter:blur(12px); border:1px solid var(--c-border); border-radius:var(--r-md); padding:16px 20px; z-index:1; }
.doctor-name-title { font-family:var(--f-display); font-size:17px; font-weight:700; color:var(--c-ink); margin-bottom:4px; }
.doctor-name-cred  { font-family:var(--f-body); font-size:12px; color:var(--c-secondary); font-weight:500; letter-spacing:.5px; }
.doctor-credentials { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 32px; }
.cred-tag { font-family:var(--f-body); font-size:12px; font-weight:600; color:var(--c-primary); background:rgba(11,42,107,0.08); border:1px solid rgba(11,42,107,0.15); border-radius:100px; padding:5px 14px; }
.doctor-timeline { display:flex; flex-direction:column; gap:0; margin-bottom:32px; }
.timeline-item { display:flex; gap:20px; padding-bottom:24px; position:relative; }
.timeline-item:last-child { padding-bottom:0; }
.timeline-item::before { content:''; position:absolute; left:19px; top:28px; bottom:0; width:1px; background:var(--c-border); }
.timeline-item:last-child::before { display:none; }
.timeline-dot { width:40px; height:40px; border-radius:50%; background:var(--c-frost); border:2px solid var(--c-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:15px; z-index:1; }
.timeline-item.current .timeline-dot { background:var(--c-primary); border-color:var(--c-primary); }
.tl-year  { font-family:var(--f-display); font-size:12px; font-weight:700; color:var(--c-secondary); letter-spacing:.5px; margin-bottom:3px; }
.tl-place { font-family:var(--f-head); font-size:15px; font-weight:700; color:var(--c-ink); margin-bottom:3px; }
.tl-role  { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; }

/* ─── 21. GALLERY MARQUEE ──────────────────── */
.gallery-section {
  background:
    radial-gradient(ellipse 50% 60% at 20% 50%, rgba(30,95,216,0.04) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 80% 30%, rgba(26,184,137,0.03) 0%, transparent 50%),
    #FAF8F5;
  overflow:hidden;
}
.gallery-marquee { overflow:hidden; padding:8px 0; cursor:default; }
.gallery-track {
  display:flex; gap:16px; width:max-content;
  animation:galleryScroll 35s linear infinite;
}
.gallery-track:hover { animation-play-state:paused; }
.gallery-photo {
  width:440px; height:300px; object-fit:cover;
  border-radius:var(--r-lg); flex-shrink:0;
  box-shadow:var(--s-sm); transition:transform .4s ease,box-shadow .4s ease,filter .4s;
  filter:brightness(.95);
}
.gallery-photo:hover { transform:scale(1.03) translateY(-6px); box-shadow:var(--s-lg); filter:brightness(1.02); }
@keyframes galleryScroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ─── 22. TESTIMONIALS CAROUSEL ────────────── */
.testimonials-section {
  background:
    radial-gradient(ellipse 70% 65% at 50% 108%, rgba(26,184,137,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 50% 50% at 96% 4%,  rgba(30,95,216,0.06) 0%, transparent 50%),
    #FAF8F5;
}
/* Marquee track */
.tc-marquee-outer { overflow:hidden; position:relative; margin-top:36px; }
.tc-marquee-outer::before,
.tc-marquee-outer::after {
  content:''; position:absolute; top:0; bottom:0; width:100px; z-index:2; pointer-events:none;
}
.tc-marquee-outer::before { left:0;  background:linear-gradient(90deg, #FAF8F5, transparent); }
.tc-marquee-outer::after  { right:0; background:linear-gradient(270deg,#FAF8F5, transparent); }
.tc-track { display:flex; gap:20px; width:max-content; padding-bottom:8px; animation:tcScroll 42s linear infinite; }
.tc-track:hover { animation-play-state:paused; }
@keyframes tcScroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
/* Individual card */
.tc-card {
  width:320px; flex-shrink:0;
  background:#fff; border:1px solid var(--c-border);
  border-radius:var(--r-lg); padding:24px 24px 20px;
  position:relative; overflow:hidden;
  transition:box-shadow .3s ease, transform .3s ease;
}
.tc-card:hover { box-shadow:0 12px 40px rgba(11,42,107,0.1); transform:translateY(-4px); }
.tc-card::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg,var(--c-mid),var(--c-secondary));
}
.tc-stars { display:flex; gap:3px; margin-bottom:14px; }
.tc-stars span { color:#F59E0B; font-size:15px; }
.tc-text { font-family:var(--f-head); font-size:14px; font-weight:400; color:var(--c-sub); line-height:1.7; margin-bottom:20px; font-style:italic; }
.tc-author { display:flex; align-items:center; gap:12px; }
.tc-avatar { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:var(--f-display); font-size:15px; font-weight:700; color:#fff; flex-shrink:0; }
.tc-name { font-family:var(--f-head); font-size:13px; font-weight:700; color:var(--c-ink); }
.tc-role { font-family:var(--f-body); font-size:11px; color:var(--c-muted); margin-top:2px; }

/* ─── 23. COMMUNITY SECTION ────────────────── */
.community-section {
  background:
    radial-gradient(ellipse 70% 60% at 50% 0%,    rgba(30,95,216,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 55% 55% at 100% 100%, rgba(26,184,137,0.06) 0%, transparent 55%),
    #F3F0EA;
}
.community-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:32px; }

/* Flip card container */
.comm-flip-card {
  perspective:1000px; height:320px;
}
.comm-flip-inner {
  position:relative; width:100%; height:100%;
  transition:transform 0.6s cubic-bezier(0.4,0,0.2,1);
  transform-style:preserve-3d;
}
.comm-flip-card:hover .comm-flip-inner { transform:rotateY(180deg); }

/* Front & back shared */
.comm-flip-front,
.comm-flip-back {
  position:absolute; top:0; left:0; width:100%; height:100%;
  backface-visibility:hidden; -webkit-backface-visibility:hidden;
  border-radius:var(--r-xl); overflow:hidden;
}

/* Front - content */
.comm-flip-front {
  background:#fff; padding:36px 32px;
  border:1px solid var(--c-border);
  display:flex; flex-direction:column; justify-content:flex-start;
}

/* Back - image */
.comm-flip-back {
  transform:rotateY(180deg);
  background:#f5f5f5;
  display:flex; align-items:center; justify-content:center;
}
.comm-flip-back img {
  width:100%; height:100%; object-fit:contain;
}

/* Hint text */
.comm-flip-hint {
  margin-top:auto; padding-top:16px;
  font-family:var(--f-body); font-size:12px; color:var(--c-muted);
  opacity:0.6; letter-spacing:0.3px;
}

.comm-icon { width:60px; height:60px; border-radius:var(--r-md); display:flex; align-items:center; justify-content:center; margin-bottom:22px; font-size:26px; }
.comm-icon-1 { background:linear-gradient(135deg,rgba(11,42,107,0.08),rgba(30,95,216,0.1)); }
.comm-icon-2 { background:linear-gradient(135deg,rgba(26,184,137,0.08),rgba(0,212,255,0.08)); }
.comm-icon-3 { background:linear-gradient(135deg,rgba(30,95,216,0.08),rgba(26,184,137,0.06)); }
.comm-title { font-family:var(--f-display); font-size:20px; font-weight:700; color:var(--c-ink); margin-bottom:12px; }
.comm-desc  { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; }

/* ─── 24. CTA SECTION ──────────────────────── */
.cta-section { background:var(--g-dark); overflow:hidden; position:relative; text-align:center; }
/* Subtle clinic image layer */
.cta-section::after {
  content:''; position:absolute; inset:0;
  background:url('../images/32543.jpeg') center/cover no-repeat;
  opacity:0.08;
  z-index:0; pointer-events:none;
  animation:ctaDrift 18s ease-in-out infinite alternate;
}
/* Gradient highlights on top of image */
.cta-section::before {
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 700px 500px at 50% 50%,rgba(30,95,216,0.22) 0%,transparent 65%),
    radial-gradient(ellipse 400px 300px at 20% 80%,rgba(26,184,137,0.12) 0%,transparent 55%);
  z-index:1; pointer-events:none;
}
.cta-inner { position:relative; z-index:2; max-width:680px; margin:0 auto; }
.cta-title { font-family:var(--f-display); font-size:clamp(32px,4vw,52px); font-weight:800; color:#fff; line-height:1.1; letter-spacing:-.02em; margin-bottom:18px; }
.cta-title span { background:var(--g-green); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.cta-sub { font-family:var(--f-head); font-size:17px; color:rgba(255,255,255,0.6); line-height:1.7; margin-bottom:36px; }
.cta-actions { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }
.cta-phone { margin-top:28px; font-family:var(--f-head); font-size:14px; color:rgba(255,255,255,0.45); }
.cta-phone a { color:var(--c-accent); font-weight:600; transition:color .2s; }
.cta-phone a:hover { color:var(--c-secondary); }

/* ─── 25. FLOATING BUTTONS ──────────────────── */

/* Shared base for all floating action buttons */
.float-wa, .scroll-top {
  position:fixed; right:32px; z-index:700;
  transform:translateY(80px); opacity:0;
  transition:transform .4s cubic-bezier(0.4,0,0.2,1), opacity .4s ease, box-shadow .3s;
}
.float-wa.visible, .scroll-top.visible {
  transform:translateY(0); opacity:1;
}

/* WhatsApp button */
.float-wa {
  bottom:96px;
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25D366; color:#fff;
  box-shadow:0 6px 24px rgba(37,211,102,0.45);
  text-decoration:none;
}
.float-wa svg { width:26px; height:26px; }
.float-wa:hover { transform:translateY(-3px); box-shadow:0 10px 32px rgba(37,211,102,0.55); }

/* Scroll to top button */
.scroll-top {
  bottom:32px;
  width:48px; height:48px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,#0B2A6B,#1E5FD8);
  color:#fff; border:none; cursor:pointer;
  box-shadow:0 6px 24px rgba(11,42,107,0.35);
}
.scroll-top svg { width:20px; height:20px; }
.scroll-top:hover { transform:translateY(-3px); box-shadow:0 10px 32px rgba(11,42,107,0.5); }

/* ─── 26. FOOTER ───────────────────────────── */
.site-footer {
  background: var(--c-bg-alt);
  position: relative;
}
/* Bold teal-to-navy gradient accent band at top */
.site-footer::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 7px;
  background: linear-gradient(90deg, var(--c-primary) 0%, var(--c-mid) 35%, var(--c-secondary) 65%, var(--c-primary) 100%);
}

/* CTA Strip */
.ft-cta-strip {
  background: rgba(11,42,107,0.04);
  border-bottom: 1px solid var(--c-border);
  padding: 28px 0;
}
.ft-cta-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
}
.ft-cta-left { display: flex; flex-direction: column; gap: 4px; }
.ft-cta-heading {
  font-family: var(--f-display); font-size: 18px; font-weight: 700; color: var(--c-ink);
}
.ft-cta-sub {
  font-family: var(--f-body); font-size: 13px; color: var(--c-muted);
}
.ft-cta-right { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.ft-phone-link {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--f-head); font-size: 14px; font-weight: 600;
  color: var(--c-primary); transition: color .2s;
}
.ft-phone-link:hover { color: var(--c-secondary); }

/* Main */
.ft-main { padding:64px 0 52px; }
.ft-grid {
  display:grid; grid-template-columns:1.35fr 1.8fr 0.95fr 1.3fr; gap:48px; align-items:start;
}
.ft-grid > * { min-width: 0; }

/* Brand */
.ft-logo {
  height: 72px; width: auto; display: block; margin-bottom: 20px;
  filter: drop-shadow(0 2px 8px rgba(11,42,107,0.14));
}
.ft-brand-desc {
  font-family: var(--f-body); font-size: 13.5px; color: var(--c-muted);
  line-height: 1.68; margin-bottom: 24px;
}
.ft-socials { display: flex; gap: 10px; }
.ft-social-link {
  width: 38px; height: 38px; border-radius: 10px;
  background: #fff; border: 1px solid var(--c-border);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-primary); transition: var(--t-fast);
}
.ft-social-link:hover {
  background: var(--c-secondary); border-color: var(--c-secondary);
  color: #fff; transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(26,184,137,0.28);
}

/* Column headings */
.ft-heading {
  font-family: var(--f-display); font-size: 11px; font-weight: 700;
  color: var(--c-primary); letter-spacing: 1.2px; text-transform: uppercase;
  margin-bottom: 20px; padding-bottom: 12px;
  border-bottom: 2px solid var(--c-secondary);
  display: inline-block; width: 100%;
}

/* Links */
.ft-links-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; min-width: 0; }
.ft-links-2col .ft-link { min-width: 0; overflow-wrap: break-word; }
.ft-link {
  display: flex; align-items: center; gap: 7px;
  font-family: var(--f-body); font-size: 13px; color: var(--c-muted);
  padding: 4.5px 0; line-height: 1.45; transition: color .2s, gap .2s;
}
.ft-link::before {
  content: ''; width: 4px; height: 4px; border-radius: 50%;
  background: rgba(26,184,137,0.40); flex-shrink: 0; transition: background .2s, transform .2s;
}
.ft-link:hover { color: var(--c-primary); gap: 10px; }
.ft-link:hover::before { background: var(--c-secondary); transform: scale(1.3); }

/* Contact rows */
.ft-contact-row {
  display: flex; align-items: flex-start; gap: 10px;
  font-family: var(--f-body); font-size: 13px; color: var(--c-muted);
  line-height: 1.68; margin-bottom: 14px;
}
.ft-ci { flex-shrink: 0; margin-top: 2px; color: var(--c-secondary); }
.ft-contact-link { color: var(--c-body); transition: color .2s; }
.ft-contact-link:hover { color: var(--c-secondary); }

/* Bottom bar */
.ft-bottom {
  border-top: 1px solid var(--c-border);
  background: #EDE8DF;
  padding: 20px 0;
}
.ft-bottom-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.ft-copy { font-family: var(--f-body); font-size: 12.5px; color: var(--c-muted); }
.ft-copy a { color: var(--c-primary); transition: color .2s; }
.ft-copy a:hover { color: var(--c-secondary); }
.ft-legal { display: flex; gap: 20px; }
.ft-legal a { font-family: var(--f-body); font-size: 12px; color: var(--c-muted); transition: color .2s; }
.ft-legal a:hover { color: var(--c-primary); }

/* ─── 28. POSTURAL LAB PAGE ────────────────── */

/* Hero 2-image layout */
.pl-hero-imgs {
  position:relative;
  display:grid; grid-template-columns:1fr 1fr; gap:12px; height:560px;
}
.pl-hero-img-main {
  border-radius:20px; overflow:hidden;
  box-shadow:var(--s-lg);
}
.pl-hero-img-main img { width:100%; height:100%; object-fit:cover; display:block; }
.pl-hero-img-sec {
  border-radius:20px; overflow:hidden;
  box-shadow:var(--s-md);
  margin-top:40px; margin-bottom:-40px;
}
.pl-hero-img-sec img { width:100%; height:100%; object-fit:cover; display:block; }

/* Section 2 - What is postural analysis (light, 2-col sticky) */
.pl-what-section { background:var(--c-bg); }
.pl-what-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start;
}
.pl-what-visual {
  position:sticky; top:calc(var(--header-h) + 32px);
}
.pl-what-img-frame {
  border-radius:20px; overflow:hidden;
  box-shadow:var(--s-lg);
  position:relative;
}
.pl-what-img-frame img { width:100%; height:480px; object-fit:cover; display:block; }
.pl-what-float-card {
  position:absolute; bottom:24px; left:24px;
  display:flex; align-items:center; gap:10px;
  background:#fff; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid var(--c-border); border-radius:12px;
  padding:10px 16px; box-shadow:var(--s-md);
}
.pl-what-float-card .ab-cbadge-icon { background:rgba(30,95,216,0.08); border-color:rgba(30,95,216,0.18); color:var(--c-mid); }

/* Feature check list */
.pl-feature-list { list-style:none; padding:0; margin:28px 0 0; display:flex; flex-direction:column; gap:12px; }
.pl-feature-item {
  display:flex; align-items:flex-start; gap:10px;
  font-family:var(--f-body); font-size:15px; color:var(--c-ink); line-height:1.5;
}
.pl-feature-icon {
  width:22px; height:22px; border-radius:50%; flex-shrink:0; margin-top:1px;
  background:rgba(26,184,137,0.12); border:1px solid rgba(26,184,137,0.25);
  display:flex; align-items:center; justify-content:center; color:var(--c-secondary);
}

/* Section 3 - Who benefits (light alt bg) */
.pl-who-section { position:relative; overflow:hidden; background:var(--c-bg-alt); }
.pl-who-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 70% at 10% 40%, rgba(30,95,216,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 90% 70%, rgba(26,184,137,0.05) 0%, transparent 55%);
}
.pl-who-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px; position:relative; z-index:1;
}
.pl-who-card {
  position:relative; overflow:hidden;
  background:#fff; border:1px solid var(--c-border);
  border-radius:20px; padding:28px 26px;
  transition:var(--t-base);
}
.pl-who-card:hover { box-shadow:var(--s-md); border-color:rgba(30,95,216,0.2); transform:translateY(-4px); }
.pl-who-num {
  font-family:var(--f-display); font-size:11px; font-weight:700;
  color:rgba(11,42,107,0.15); letter-spacing:1px; margin-bottom:14px;
}
.pl-who-icon {
  width:44px; height:44px; border-radius:12px; margin-bottom:16px;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center; color:var(--c-mid);
}
.pl-who-icon--teal { background:rgba(26,184,137,0.08); border-color:rgba(26,184,137,0.18); color:var(--c-secondary); }
.pl-who-icon--cyan { background:rgba(0,212,255,0.07); border-color:rgba(0,212,255,0.16); color:#008BAF; }
.pl-who-card h3 { font-family:var(--f-head); font-size:16px; font-weight:700; color:var(--c-ink); margin-bottom:10px; }
.pl-who-card p { font-family:var(--f-body); font-size:13.5px; color:var(--c-muted); line-height:1.68; margin:0; }

/* Section 4 - Process (light) */
.pl-process-section { background:var(--c-bg); }
.pl-process-steps {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative;
  margin-top:56px;
}
.pl-process-steps::before {
  content:''; position:absolute; top:36px; left:calc(25% / 2); right:calc(25% / 2);
  height:2px;
  background:linear-gradient(90deg, var(--c-mid), var(--c-secondary));
  opacity:0.25; z-index:0;
}
.pl-step {
  position:relative; z-index:1; padding:0 16px; text-align:center;
}
.pl-step-num {
  font-family:var(--f-display); font-size:13px; font-weight:800;
  background:linear-gradient(135deg, var(--c-mid), var(--c-secondary));
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  margin-bottom:10px; letter-spacing:1px;
}
.pl-step-icon-wrap {
  width:72px; height:72px; border-radius:50%; margin:0 auto 20px;
  background:#fff; border:2px solid var(--c-border);
  box-shadow:var(--s-md);
  display:flex; align-items:center; justify-content:center; color:var(--c-mid);
  transition:var(--t-base);
}
.pl-step:hover .pl-step-icon-wrap {
  background:var(--c-mid); color:#fff; border-color:var(--c-mid);
  box-shadow:0 8px 28px rgba(30,95,216,0.3);
}
.pl-step h3 { font-family:var(--f-head); font-size:15px; font-weight:700; color:var(--c-ink); margin-bottom:10px; }
.pl-step p { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; }

/* Section 5 - Technology (light bg) */
.pl-tech-section { position:relative; overflow:hidden; background:var(--c-bg); }
.pl-tech-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 65% at 5% 50%, rgba(30,95,216,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 45% 55% at 92% 30%, rgba(26,184,137,0.05) 0%, transparent 55%);
}
.pl-tech-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; position:relative; z-index:1;
}
.pl-tech-specs {
  display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:32px;
}
.pl-tech-spec {
  background:#fff; border:1px solid var(--c-border);
  border-radius:14px; padding:18px 20px;
  display:flex; align-items:flex-start; gap:12px;
}
.pl-tech-spec-icon {
  width:36px; height:36px; border-radius:10px; flex-shrink:0;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center; color:var(--c-mid);
}
.pl-tech-spec-icon--teal { background:rgba(26,184,137,0.08); border-color:rgba(26,184,137,0.18); color:var(--c-secondary); }
.pl-tech-spec-icon--cyan { background:rgba(0,212,255,0.07); border-color:rgba(0,212,255,0.16); color:#008BAF; }
.pl-tech-spec-icon--purple { background:rgba(139,92,246,0.07); border-color:rgba(139,92,246,0.16); color:#8B5CF6; }
.pl-tech-spec-body strong { display:block; font-family:var(--f-head); font-size:13px; font-weight:700; color:var(--c-ink); margin-bottom:3px; }
.pl-tech-spec-body span { font-family:var(--f-body); font-size:12px; color:var(--c-muted); line-height:1.5; }
.pl-tech-visual { position:relative; }
.pl-tech-img-frame {
  border-radius:20px; overflow:hidden;
  box-shadow:var(--s-lg);
}
.pl-tech-img-frame img { width:100%; height:520px; object-fit:cover; display:block; }
.pl-tech-badge {
  position:absolute; bottom:-16px; left:24px; z-index:10;
  display:flex; align-items:center; gap:10px;
  background:#fff; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid var(--c-border); border-radius:12px;
  padding:10px 16px; box-shadow:var(--s-md);
}

/* Section 6 - Conditions we assess (light) */
.pl-conditions-section { background:#fff; }
.pl-conditions-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.pl-condition-card {
  background:var(--c-bg); border:1px solid var(--c-border);
  border-radius:20px; padding:28px 24px;
  transition:var(--t-base);
}
.pl-condition-card:hover { box-shadow:var(--s-md); transform:translateY(-3px); border-color:rgba(30,95,216,0.2); }
.pl-cond-icon {
  width:48px; height:48px; border-radius:12px; margin-bottom:16px;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center; color:var(--c-mid);
}
.pl-cond-icon--teal { background:rgba(26,184,137,0.08); border-color:rgba(26,184,137,0.2); color:var(--c-secondary); }
.pl-condition-card h3 { font-family:var(--f-head); font-size:15px; font-weight:700; color:var(--c-ink); margin-bottom:8px; }
.pl-condition-card p { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; margin:0; }

/* Section 7 - Gallery (light) */
.pl-gallery-section { background:var(--c-bg); padding:48px 0; }
.pl-gallery-section .section-header-center { margin-bottom:28px !important; }
.pl-bento {
  display:grid;
  grid-template-columns:1.3fr 1fr 1fr;
  grid-template-rows:200px 200px;
  gap:10px; max-width:900px; margin:0 auto;
}
.pl-bento-item {
  border-radius:14px; overflow:hidden; position:relative;
}
.pl-bento-tall { grid-row:span 2; }
.pl-bento-item img {
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 0.5s ease;
}
.pl-bento-item:hover img { transform:scale(1.06); }

/* Responsive */
@media (max-width:1024px) {
  .pl-who-grid { grid-template-columns:repeat(2,1fr); }
  .pl-conditions-grid { grid-template-columns:repeat(2,1fr); }
  .pl-bento { grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,160px); }
  .pl-bento-tall { grid-row:span 2; }
}
@media (max-width:900px) {
  .pl-what-grid { grid-template-columns:1fr; gap:48px; }
  .pl-what-visual { position:static; }
  .pl-hero-imgs { height:360px; }
  .pl-hero-img-sec { margin-top:24px; margin-bottom:-24px; }
  .pl-tech-grid { grid-template-columns:1fr; gap:48px; }
  .pl-process-steps { grid-template-columns:1fr 1fr; gap:32px; }
  .pl-process-steps::before { display:none; }
}
@media (max-width:600px) {
  .pl-who-grid { grid-template-columns:1fr; }
  .pl-process-steps { grid-template-columns:1fr; }
  .pl-conditions-grid { grid-template-columns:1fr; }
  .pl-bento { grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,140px); }
  .pl-tech-specs { grid-template-columns:1fr; }
}

/* FAQ */
.pl-faq-section { background:#fff; }
.pl-faq-list { max-width:760px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.pl-faq-item {
  border:1px solid var(--c-border); border-radius:16px;
  overflow:hidden; transition:border-color .2s, box-shadow .2s;
}
.pl-faq-item.open { border-color:rgba(30,95,216,0.25); box-shadow:0 4px 24px rgba(30,95,216,0.08); }
.pl-faq-trigger {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:20px 24px; background:none; border:none; cursor:pointer; text-align:left;
  font-family:var(--f-head); font-size:15px; font-weight:600; color:var(--c-ink);
  transition:color .2s;
}
.pl-faq-trigger:hover { color:var(--c-mid); }
.pl-faq-icon { flex-shrink:0; color:var(--c-mid); transition:transform .3s ease; }
.pl-faq-item.open .pl-faq-icon { transform:rotate(180deg); }
.pl-faq-body {
  max-height:0; overflow:hidden; transition:max-height .35s ease, padding .35s ease;
  padding:0 24px;
}
.pl-faq-item.open .pl-faq-body { max-height:300px; padding:0 24px 20px; }
.pl-faq-body p {
  font-family:var(--f-body); font-size:14px; color:var(--c-muted);
  line-height:1.68; margin:0; text-align:left;
  border-top:1px solid var(--c-border); padding-top:16px;
}

/* ─── 29. SPORTS REHAB PAGE ────────────────── */

/* Section 1 - Hero */
.sr-hero {
  position: relative;
  background: var(--g-radial-hero);
  height: 100vh;
  min-height: 700px;
  overflow: hidden;
}
.sr-hero .container {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 24px;
  padding-top: 90px;
  padding-bottom: 32px;
  height: 100%;
  box-sizing: border-box;
}
.sr-hero .ab-hero-title {
  font-size: clamp(18px, 1.7vw, 26px);
  margin-bottom: 14px;
}
.sr-hero .ab-hero-desc {
  font-size: 0.85rem;
  margin-bottom: 20px;
}
.sr-hero .ab-hero-actions {
  flex-direction: row;
  gap: 12px;
}
.sr-hero .btn-lg {
  padding: 12px 22px;
  font-size: 0.875rem;
}
.sr-hero-inner {
  display: grid;
  grid-template-columns: 3fr 7fr;
  gap: 40px;
  align-items: center;
  min-height: 0;
}
.sr-hero-text {
  display: flex;
  flex-direction: column;
}
/* Right: image frame */
.sr-hero-visual {
  position: relative;
  height: 100%;
}
.sr-hero-img-frame {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  height: 100%;
  box-shadow: var(--s-lg);
  background: var(--c-bg-alt);
  -webkit-mask-image: radial-gradient(ellipse 90% 88% at 50% 50%, black 55%, transparent 100%);
  mask-image: radial-gradient(ellipse 90% 88% at 50% 50%, black 55%, transparent 100%);
}
.sr-hero-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
}
/* Teal accent line on left edge of image */
.sr-hero-img-accent {
  position: absolute;
  top: 32px;
  bottom: 32px;
  left: -4px;
  width: 4px;
  background: linear-gradient(to bottom, var(--c-secondary), var(--c-mid));
  border-radius: 4px;
}
/* Stats bar - full width bottom row */
.sr-hero-stats {
  display: flex;
  align-items: center;
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: 12px;
  padding: 14px 28px;
  flex-shrink: 0;
  box-shadow: var(--s-sm);
}
.sr-hs-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 24px;
  flex: 1;
}
.sr-hs-item:first-child { padding-left: 0; }
.sr-hs-icon {
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: rgba(26,184,137,0.12);
  border: 1px solid rgba(26,184,137,0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--c-secondary);
}
.sr-hs-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.sr-hs-item strong {
  font-family: 'Manrope', sans-serif;
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--c-ink);
  white-space: nowrap;
}
.sr-hs-item span {
  font-size: 0.68rem;
  color: var(--c-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.sr-hs-div {
  width: 1px;
  height: 28px;
  background: var(--c-border);
  flex-shrink: 0;
}

/* Section 2 - Conditions */
.sr-conditions-section { background:var(--c-bg); }
.sr-conditions-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.sr-condition-card {
  background:#fff; border:1px solid var(--c-border); border-radius:20px;
  padding:28px 24px; transition:var(--t-base);
  border-top:3px solid transparent;
}
.sr-condition-card:hover {
  transform:translateY(-4px); box-shadow:var(--s-md);
  border-top-color:var(--c-mid);
}
.sr-cond-icon {
  width:48px; height:48px; border-radius:12px; margin-bottom:16px;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center; color:var(--c-mid);
}
.sr-cond-icon--teal { background:rgba(26,184,137,0.08); border-color:rgba(26,184,137,0.2); color:var(--c-secondary); }
.sr-condition-card h3 { font-family:var(--f-head); font-size:15px; font-weight:700; color:var(--c-ink); margin-bottom:8px; }
.sr-condition-card p { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; margin:0; text-align:left; }

/* Section 3 - Approach */
.sr-approach-section { position:relative; overflow:hidden; background:var(--c-bg-alt); }
.sr-approach-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 55% 65% at 5% 50%, rgba(30,95,216,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 45% 55% at 92% 30%, rgba(26,184,137,0.05) 0%, transparent 55%);
}
.sr-approach-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  align-items:center; position:relative; z-index:1;
}
.sr-approach-pillars { display:flex; flex-direction:column; gap:20px; margin-top:32px; }
.sr-approach-pillar {
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 18px;
  background:#fff; border:1px solid var(--c-border);
  border-radius:12px; transition:var(--t-fast);
}
.sr-approach-pillar:hover { border-color:rgba(30,95,216,0.2); box-shadow:var(--s-sm); }
.sr-pillar-icon {
  width:36px; height:36px; border-radius:10px; flex-shrink:0;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center; color:var(--c-mid);
}
.sr-pillar-icon--teal { background:rgba(26,184,137,0.08); border-color:rgba(26,184,137,0.18); color:var(--c-secondary); }
.sr-pillar-icon--cyan { background:rgba(0,212,255,0.07); border-color:rgba(0,212,255,0.16); color:#008BAF; }
.sr-pillar-icon--purple { background:rgba(139,92,246,0.07); border-color:rgba(139,92,246,0.16); color:#8B5CF6; }
.sr-pillar-text strong { display:block; font-family:var(--f-head); font-size:14px; font-weight:700; color:var(--c-ink); margin-bottom:3px; }
.sr-pillar-text span { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; }
.sr-approach-img-frame {
  border-radius:20px; overflow:hidden; position:relative;
  box-shadow:var(--s-lg);
}
.sr-approach-img-frame img { width:100%; height:520px; object-fit:cover; display:block; }
.sr-approach-badge {
  position:absolute; bottom:-16px; right:24px; z-index:10;
  display:flex; align-items:center; gap:10px;
  background:#fff; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid var(--c-border); border-radius:12px;
  padding:10px 16px; box-shadow:var(--s-md);
}

/* Section 4 - Recovery Phases */
.sr-phases-section { background:var(--c-bg); }
.sr-phases {
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  position:relative; margin-top:52px;
}
.sr-phases::before {
  content:''; position:absolute; top:28px; left:12.5%; right:12.5%;
  height:2px;
  background:linear-gradient(90deg, var(--c-mid), var(--c-secondary));
  opacity:0.2; z-index:0;
}
.sr-phase { position:relative; z-index:1; padding:0 20px; }
.sr-phase-num {
  width:56px; height:56px; border-radius:50%;
  background:linear-gradient(135deg, var(--c-mid), var(--c-secondary));
  display:flex; align-items:center; justify-content:center; margin-bottom:18px;
  font-family:var(--f-display); font-size:18px; font-weight:800; color:#fff;
  box-shadow:0 8px 24px rgba(30,95,216,0.3);
}
.sr-phase-time {
  display:inline-block; font-family:var(--f-body); font-size:11px; font-weight:600;
  color:var(--c-mid); background:rgba(30,95,216,0.08);
  border:1px solid rgba(30,95,216,0.2); border-radius:100px;
  padding:3px 10px; margin-bottom:10px; letter-spacing:.3px;
}
.sr-phase h3 { font-family:var(--f-head); font-size:15px; font-weight:700; color:var(--c-ink); margin-bottom:8px; }
.sr-phase p { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; margin:0; text-align:left; }

/* Section 5 - Equipment */
.sr-equip-section { position:relative; overflow:hidden; background:var(--c-bg); }
.sr-equip-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 70% at 15% 40%, rgba(30,95,216,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 85% 70%, rgba(26,184,137,0.05) 0%, transparent 55%);
}
.sr-equip-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  position:relative; z-index:1;
}
.sr-equip-item {
  position:relative; border-radius:16px; overflow:hidden; height:260px;
}
.sr-equip-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s ease; }
.sr-equip-item:hover img { transform:scale(1.06); }
.sr-equip-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(6,15,42,0.92) 0%, rgba(6,15,42,0.3) 60%, transparent 100%);
  display:flex; flex-direction:column; justify-content:flex-end; padding:20px;
}
.sr-equip-name { font-family:var(--f-head); font-size:14px; font-weight:700; color:#fff; margin-bottom:4px; }
.sr-equip-desc { font-family:var(--f-body); font-size:12px; color:rgba(255,255,255,0.55); line-height:1.5; }

/* Section 6 - Why Choose Us */
.sr-why-section { background:#fff; }
.sr-why-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 24px;
}
.sr-why-card {
  background: var(--c-bg);
  border: 1px solid var(--c-border);
  border-radius: 20px;
  overflow: hidden;
  transition: var(--t-base);
}
.sr-why-card:hover { box-shadow:var(--s-lg); transform:translateY(-4px); border-color:rgba(30,95,216,0.2); }
.sr-why-card-img {
  width: 100%;
  height: 200px;
  overflow: hidden;
}
.sr-why-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.5s ease;
}
.sr-why-card:hover .sr-why-card-img img { transform: scale(1.05); }
.sr-why-card-body {
  padding: 24px 24px 28px;
}
.sr-why-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  margin-bottom: 14px;
  background: rgba(30,95,216,0.08);
  border: 1px solid rgba(30,95,216,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-mid);
}
.sr-why-card h3 { font-family:var(--f-head); font-size:16px; font-weight:700; color:var(--c-ink); margin-bottom:10px; }
.sr-why-card p { font-family:var(--f-body); font-size:14px; color:var(--c-muted); line-height:1.68; margin:0; text-align:left; }

/* Fix: approach badge clips at bottom inside overflow:hidden parent */
.sr-approach-badge { bottom: 16px; }

/* ── SPORTS REHAB RESPONSIVE ─────────────────── */

/* Large tablet: 1024px */
@media (max-width: 1024px) {
  /* Hero: balance columns equally on tablet */
  .sr-hero-inner { grid-template-columns: 1fr 1fr; gap: 32px; }
  .sr-hero .ab-hero-title { font-size: clamp(20px, 2.8vw, 30px); }

  .sr-conditions-grid { grid-template-columns: repeat(2, 1fr); }
  .sr-equip-grid      { grid-template-columns: repeat(2, 1fr); }
  .sr-why-grid        { grid-template-columns: repeat(2, 1fr); }
}

/* Small tablet: 900px */
@media (max-width: 900px) {
  .sr-approach-grid   { grid-template-columns: 1fr; gap: 48px; }
  .sr-phases          { grid-template-columns: 1fr 1fr; gap: 32px; }
  .sr-phases::before  { display: none; }
}

/* Mobile: 768px — full hero reflow */
@media (max-width: 768px) {
  /* Hero: switch to auto height, stacked single column */
  .sr-hero {
    height: auto;
    min-height: 0;
    padding-bottom: 40px;
  }
  .sr-hero .container {
    display: block;
    height: auto;
    padding-top: calc(var(--header-h) + 28px);
    padding-bottom: 0;
  }
  .sr-hero-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  /* Fix h1: reasonable size for single-column layout */
  .sr-hero .ab-hero-title {
    font-size: clamp(26px, 6.5vw, 38px);
    margin-bottom: 12px;
  }
  .sr-hero .ab-hero-desc {
    font-size: 0.95rem;
    margin-bottom: 24px;
  }

  /* Fix buttons: restore column stacking (scoped rule overrode global) */
  .sr-hero .ab-hero-actions {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 0;
  }
  .sr-hero .ab-hero-actions .btn {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
  .sr-hero .btn-lg {
    padding: 14px 24px;
    font-size: 0.9rem;
  }

  /* Image frame: fixed height on mobile */
  .sr-hero-visual { height: 320px; }
  .sr-hero-img-frame { height: 100%; }

  /* Hide floating badges on mobile - they overflow small screens */
  .sr-hero .ab-collage-badge { display: none; }

  /* Stats bar: 2x2 grid on mobile */
  .sr-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
    padding: 16px 20px;
    margin-top: 24px;
  }
  .sr-hs-div { display: none; }
  .sr-hs-item { padding: 0; flex: unset; }
  .sr-hs-item:first-child { padding-left: 0; }

  /* Approach image: reduce height on tablet */
  .sr-approach-img-frame img { height: 380px; }
}

/* Small mobile: 600px */
@media (max-width: 600px) {
  .sr-hero-visual { height: 240px; }

  .sr-hero .ab-hero-title { font-size: clamp(22px, 7.5vw, 32px); }
  .sr-hero .ab-hero-desc  { font-size: 0.875rem; }

  /* Stats: keep 2x2 but tighten */
  .sr-hero-stats {
    grid-template-columns: 1fr 1fr;
    padding: 14px 16px;
    gap: 10px;
  }
  .sr-hs-item strong { font-size: 0.85rem; white-space: normal; }
  .sr-hs-item span   { font-size: 0.62rem; }

  .sr-conditions-grid { grid-template-columns: 1fr; }
  .sr-equip-grid      { grid-template-columns: 1fr; }
  .sr-why-grid        { grid-template-columns: 1fr; }
  .sr-phases          { grid-template-columns: 1fr; }

  .sr-approach-img-frame img { height: 280px; }
  .sr-equip-item { height: 200px; }
}

/* ─── 27. SCROLL ANIMATIONS ────────────────── */
.fade-up,.fade-in,.slide-left,.slide-right {
  opacity:0; transition:opacity .7s cubic-bezier(0.4,0,0.2,1), transform .7s cubic-bezier(0.4,0,0.2,1);
}
.fade-up    { transform:translateY(36px); }
.fade-in    { transform:translateY(0); }
.slide-left  { transform:translateX(-40px); }
.slide-right { transform:translateX(40px); }
.fade-up.visible,.fade-in.visible,.slide-left.visible,.slide-right.visible { opacity:1; transform:translate(0,0); }
.delay-1 { transition-delay:.08s; }
.delay-2 { transition-delay:.16s; }
.delay-3 { transition-delay:.24s; }
.delay-4 { transition-delay:.32s; }
.delay-5 { transition-delay:.40s; }
.delay-6 { transition-delay:.48s; }

/* ─── 28. ENHANCEMENTS & MICRO-INTERACTIONS ── */

/* Hero eyebrow hover */
.hero-eyebrow { transition:border-color .2s,background .2s; cursor:default; }
.hero-eyebrow:hover { border-color:rgba(255,255,255,0.22); background:rgba(255,255,255,0.10); }

/* About image depth glow */
.about-img-main {
  box-shadow: var(--s-lg), 0 0 0 4px rgba(30,95,216,0.05), 0 0 60px rgba(30,95,216,0.08);
}
/* About quality icon tints per item */
.about-qualities .about-quality-item:nth-child(1) .quality-icon { background:rgba(30,95,216,0.07); border-color:rgba(30,95,216,0.14); }
.about-qualities .about-quality-item:nth-child(2) .quality-icon { background:rgba(26,184,137,0.07); border-color:rgba(26,184,137,0.14); }
.about-qualities .about-quality-item:nth-child(3) .quality-icon { background:rgba(0,212,255,0.06); border-color:rgba(0,212,255,0.14); }
.about-qualities .about-quality-item:nth-child(4) .quality-icon { background:rgba(30,95,216,0.05); border-color:rgba(30,95,216,0.10); }
/* About quality hover gradient fill */
.about-quality-item:hover { background:linear-gradient(135deg,rgba(30,95,216,0.03),rgba(26,184,137,0.02)) !important; }

/* Service icon lift on card hover */
.svc-icon { transition:transform .35s cubic-bezier(0.4,0,0.2,1); }
.svc-card:hover .svc-icon { transform:scale(1.14) rotate(4deg); }
/* Featured card subtle ring */
.svc-card-featured {
  box-shadow: 0 0 0 1.5px rgba(30,95,216,0.12), 0 16px 52px rgba(11,42,107,0.09);
}
.svc-card-featured:hover {
  box-shadow: 0 0 0 2px rgba(30,95,216,0.22), 0 24px 60px rgba(11,42,107,0.14);
}

/* Postural feature text polish on hover */
.pf-title, .pf-desc { transition:color .25s ease; }
.postural-feature:hover .pf-title { color:var(--c-primary); }
.postural-feature:hover .pf-desc  { color:var(--c-body); }
/* Body SVG ambient glow */
@keyframes bodyGlow {
  0%,100% { filter:drop-shadow(0 0 3px rgba(0,212,255,0.06)); }
  50%      { filter:drop-shadow(0 0 16px rgba(0,212,255,0.24)); }
}
/* Scanning line across viz card */
.posture-viz-body { overflow:hidden; }
.posture-viz-body::after {
  content:''; position:absolute; left:5%; right:5%; height:1.5px; z-index:3; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(0,212,255,0.5),transparent);
  animation:postureScan 5s ease-in-out infinite;
}
@keyframes postureScan {
  0%   { top:8%;  opacity:0; }
  8%   { opacity:1; }
  92%  { opacity:1; }
  100% { top:92%; opacity:0; }
}

/* Why list — left accent line on hover */
.why-list-item::before {
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:3px; height:0;
  background:linear-gradient(180deg,#1E5FD8,#1AB889);
  border-radius:2px; transition:height .45s cubic-bezier(0.4,0,0.2,1);
}
.why-list-item:hover::before { height:52%; }

/* Stats item subtle hover */
.stat-show-item { transition:background .3s ease; cursor:default; }
.stat-show-item:hover { background:rgba(30,95,216,0.04); }

/* Timeline hover */
.timeline-item { transition:opacity .2s ease; }
.timeline-item:hover .tl-place { color:var(--c-mid); }
.timeline-item:not(.current):hover .timeline-dot { border-color:var(--c-secondary); }

/* Community icon animation */
.comm-icon { transition:transform .35s cubic-bezier(0.4,0,0.2,1); }
.comm-flip-card:hover .comm-icon { transform:scale(1.12) rotate(8deg); }

/* CTA background slow drift */
@keyframes ctaDrift { 0%{transform:scale(1) translate(0,0)} 100%{transform:scale(1.12) translate(-20px,20px)} }
.cta-section::before { animation:ctaDrift 12s ease-in-out infinite alternate; }

/* Footer gradient top border */
.site-footer::before {
  content:''; display:block; height:2px;
  background:linear-gradient(90deg,transparent,rgba(30,95,216,0.55),rgba(26,184,137,0.55),transparent);
}

/* Marquee item polish */
.marquee-dot { transition:transform .2s ease; }
.marquee-item { transition:color .2s ease; }
.marquee-item:hover { color:var(--c-primary); }
.marquee-item:hover .marquee-dot { transform:scale(1.5); }

/* Postural flagship tags animate in */
.postural-flagship-tag { transition:background .2s,border-color .2s; }
.postural-flagship-tag:hover { background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.4); }

@media (max-width:1100px) {
  .container { padding:0 28px; }
  .hs-slide { grid-template-columns:48% 52%; gap:0; }
  .hs-text-col { padding:0 16px 0 40px; }
  .hs-visual-col { padding:36px 40px 36px 0; justify-content:flex-start; }
  .hs-img-frame { width:100%; height:64vh; }
  .scroll-indicator { right:48px; }
  .about-grid { grid-template-columns:1fr; gap:48px; }
  .about-img-wrap { max-width:560px; margin:0 auto; }
  .services-bento { grid-template-columns:1fr 1fr; }
  .svc-card-featured { grid-row:auto; }
  .svc-card-wide { grid-column:auto; }
  .postural-grid { grid-template-columns:1fr; gap:48px; }
  .why-header-row { grid-template-columns:1fr; gap:24px; margin-bottom:40px; }
  .why-list-item { grid-template-columns:72px 60px 1fr; gap:20px; }
  .why-list-num { font-size:52px; }
  .stats-showcase { grid-template-columns:1fr 1fr; }
  .stat-show-item { border-right:none; border-bottom:1px solid rgba(11,42,107,0.07); }
  .stat-show-item:nth-last-child(-n+2) { border-bottom:none; }
  .doctor-grid { grid-template-columns:1fr; gap:48px; }
  .doctor-img-wrap { position:static; max-width:480px; margin:0 auto; }
  .community-grid { grid-template-columns:1fr 1fr; }
  .comm-flip-card { height:300px; }
  .ft-grid { grid-template-columns:1fr 1fr; gap:40px; }
}
/* Switch to hamburger at 900px — desktop nav too cramped below this */
@media (max-width: 900px) {
  .nav-menu, .nav-actions .nav-phone, .nav-actions .btn:not(.menu-toggle) { display: none; }
  .menu-toggle { display: flex; }
  .mega-menu { display: none; }
}
@media (max-width:768px) {
  /* Shrink header height on mobile — auto-updates all calc(var(--header-h)+...) */
  :root { --header-h: 64px; --section-pad:64px; --section-pad-sm:44px; }
  .container { padding:0 20px; }
  /* Reduce logo to fit 64px header */
  .nav-logo img { height: 46px; }
  .services-bento { grid-template-columns:1fr; }
  .why-list-item { grid-template-columns:1fr; gap:12px; padding:28px 0; }
  .why-list-num { font-size:40px; }
  .stats-showcase { grid-template-columns:1fr 1fr; }
  .tc-card { width:280px; padding:20px; }
  .tc-text { font-size:13px; }
  .community-grid { grid-template-columns:1fr; }
  .comm-flip-card { height:280px; }
  /* On touch devices, tap to flip */
  .comm-flip-card.flipped .comm-flip-inner { transform:rotateY(180deg); }
  .ft-grid { grid-template-columns:1fr; gap:32px; }
  .ft-cta-inner { flex-direction:column; align-items:flex-start; }
  .ft-bottom-inner { flex-direction:column; text-align:center; }
  .ft-legal { justify-content:center; }
  .section-title { font-size:28px; }
  .hs-slider { height:auto; min-height:100svh; }
  .hs-slide { position:static; display:none; grid-template-columns:1fr; grid-template-rows:auto auto; }
  .hs-slide.active { display:grid; }
  .hs-visual-col { padding:32px 24px; overflow:hidden; height:52vw; min-height:280px; max-height:420px; background:transparent; }
  .hs-img-frame { width:100%; max-width:none; height:100%; }
  .hs-badge-tl { top:12px; left:12px; }
  .hs-badge-br { bottom:12px; right:12px; }
  .hs-text-col { padding:28px 24px 80px; }
  .hs-content { max-width:100%; }
  .hs-headline { font-size:34px; }
  .hs-desc { max-width:100%; }
  .hs-controls-bar { bottom:28px; transform:translateX(-50%); }
  .scroll-indicator { display:none; }
  .about-stat-card,.about-img-accent,.about-year-badge { display:none; }
  .about-img-main img { height: 360px; }
  .float-wa   { bottom:80px; right:20px; width:46px; height:46px; }
  .scroll-top { bottom:20px; right:20px; width:44px; height:44px; }
}
@media (max-width:480px) {
  /* Container: tighter horizontal gutter on very small screens */
  :root { --section-pad: 48px; --section-pad-sm: 32px; }
  .container { padding: 0 16px; }
  /* Tighten mobile menu padding on very small screens */
  .mobile-menu { padding: calc(var(--header-h) + 20px) 16px 32px; }
  .mobile-nav-link { font-size: 19px; padding: 14px 0; }
  .btn { padding:13px 22px; font-size:13px; }
  .hs-headline { font-size:28px; }
  .hs-text-col { padding:24px 16px 72px; }
  .hs-controls-bar { gap:10px; }
  .cta-title { font-size:28px; }
  .about-img-main img { height: 260px; }
  .stats-showcase { grid-template-columns:1fr; }
  .stat-show-item { border-bottom:1px solid rgba(11,42,107,0.07)!important; border-right:none!important; }
}


/* ══════════════════════════════════════════════════════
   29. CONTACT PAGE
   ══════════════════════════════════════════════════════ */

/* ─── Contact Hero ─────────────────────────────────── */
.ct-hero {
  position:relative; overflow:hidden;
  min-height:100vh;
  background: var(--g-radial-hero);
  display:flex; align-items:center;
  padding:calc(var(--header-h) + 60px) 0 80px;
}
.ct-hero-glows {
  display:none;
}
.ct-hero-inner {
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  align-items:center;
}
.ct-hero-text { display:flex; flex-direction:column; }
.ct-hero-title {
  font-family:var(--f-display); font-size:clamp(36px,4.2vw,60px);
  font-weight:800; color:var(--c-ink); line-height:1.08;
  letter-spacing:-0.025em; margin:14px 0 18px;
}
.ct-hero-desc {
  font-family:var(--f-head); font-size:16px; line-height:1.68;
  color:var(--c-body); max-width:500px; margin-bottom:32px;
}
.ct-hero-chips { display:flex; flex-wrap:wrap; gap:10px; }
.ct-chip {
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1px solid var(--c-border);
  border-radius:100px; padding:9px 18px;
  font-family:var(--f-head); font-size:13px; font-weight:600;
  color:var(--c-body); transition:var(--t-fast);
  box-shadow:var(--s-sm);
}
.ct-chip:hover { border-color:var(--c-mid); color:var(--c-mid); box-shadow:var(--s-md); }
.ct-chip--wa { background:rgba(37,211,102,0.12); border-color:rgba(37,211,102,0.25); color:rgba(37,211,102,0.9); }
.ct-chip--wa:hover { background:rgba(37,211,102,0.2); color:#25D366; }

/* Hero visual */
.ct-hero-visual {
  position:relative; height:540px;
}
.ct-hero-img-frame {
  position:relative; width:100%; height:100%;
  border-radius:24px; overflow:hidden;
  box-shadow:var(--s-lg);
}
.ct-hero-img-frame img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
}
.ct-hero-img-glow {
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(28,24,20,0.15) 0%, transparent 40%);
}
.ct-hero-badge {
  position:absolute; z-index:10;
  display:flex; align-items:center; gap:10px;
  background:#fff; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid var(--c-border); border-radius:12px;
  padding:10px 16px;
  box-shadow:var(--s-md);
}
.ct-badge-tl { top:-16px; left:-20px; }
.ct-badge-br { bottom:-16px; right:24px; }

/* ─── Contact Section ──────────────────────────────── */
.ct-section {
  position:relative; overflow:hidden;
  background:var(--c-bg);
}
.ct-section-bg { display:none; }
.ct-grid {
  display:grid; grid-template-columns:1fr 400px; gap:40px; align-items:start;
  position:relative; z-index:1;
}

/* ─── Form card ────────────────────────────────────── */
.ct-form-wrap {
  background:#fff; border-radius:24px; padding:40px;
  box-shadow:var(--s-md); border:1px solid var(--c-border);
}
.ct-form-header { margin-bottom:28px; }
.ct-form-title {
  font-family:var(--f-head); font-size:16px; font-weight:700;
  color:var(--c-ink); padding-bottom:14px;
  border-bottom:2px solid var(--c-frost);
}
.ct-form { display:flex; flex-direction:column; gap:20px; }

.ct-field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ct-field-group { display:flex; flex-direction:column; gap:6px; }

.ct-label {
  font-family:var(--f-head); font-size:13px; font-weight:600;
  color:var(--c-ink); letter-spacing:0.1px;
}
.ct-required { color:#E5344A; margin-left:2px; }

.ct-input, .ct-select, .ct-textarea {
  width:100%; font-family:var(--f-body); font-size:14px; color:var(--c-ink);
  background:#FAFBFC; border:1.5px solid #E5E7EB;
  border-radius:10px; padding:12px 16px; outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
  appearance:none; -webkit-appearance:none;
}
.ct-input::placeholder, .ct-textarea::placeholder { color:#B0B7C3; }
.ct-input:focus, .ct-select:focus, .ct-textarea:focus {
  border-color:var(--c-mid);
  box-shadow:0 0 0 3px rgba(30,95,216,0.10);
  background:#fff;
}
.ct-input--error { border-color:#E5344A !important; box-shadow:0 0 0 3px rgba(229,52,74,0.08) !important; }
.ct-textarea { resize:vertical; min-height:120px; }

.ct-select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236B7280' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
  padding-right:40px; cursor:pointer;
}

.ct-field-error {
  font-size:12px; color:#E5344A; font-family:var(--f-body);
  min-height:16px; line-height:1.3;
}

.ct-submit { position:relative; overflow:hidden; }
.ct-btn-text { display:inline-block; transition:opacity .2s; }
.ct-btn-loader {
  display:none; width:18px; height:18px; border-radius:50%;
  border:2.5px solid rgba(255,255,255,0.3); border-top-color:#fff;
  animation:ctSpin .7s linear infinite;
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
}
@keyframes ctSpin { to { transform:translate(-50%,-50%) rotate(360deg); } }

.ct-privacy-note {
  display:flex; align-items:center; gap:6px;
  font-size:11px; color:var(--c-muted); margin:0;
}
.ct-privacy-note svg { flex-shrink:0; color:var(--c-secondary); }

.ct-honeypot { position:absolute; left:-9999px; opacity:0; height:0; }

/* ─── Info Column ──────────────────────────────────── */
.ct-info { display:flex; flex-direction:column; gap:14px; }

.ct-info-card {
  background:#fff; border:1px solid var(--c-border);
  border-radius:20px; padding:20px 22px;
  display:flex; gap:16px; align-items:flex-start;
  box-shadow:var(--s-sm);
  transition:transform .25s ease, box-shadow .25s ease;
}
.ct-info-card:hover { transform:translateY(-3px); box-shadow:var(--s-md); }

.ct-info-icon {
  width:42px; height:42px; border-radius:12px; flex-shrink:0;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-mid);
}
.ct-info-icon--teal { background:rgba(26,184,137,0.08); border-color:rgba(26,184,137,0.18); color:var(--c-secondary); }
.ct-info-icon--cyan { background:rgba(0,212,255,0.08);  border-color:rgba(0,212,255,0.18);  color:#008BAF; }

.ct-info-body { display:flex; flex-direction:column; gap:4px; }
.ct-info-body strong { font-family:var(--f-head); font-size:14px; font-weight:700; color:var(--c-ink); }
.ct-info-body span   { font-size:14px; color:var(--c-muted); line-height:1.68; }
.ct-info-body a      { color:var(--c-muted); transition:color .2s; }
.ct-info-body a:hover{ color:var(--c-mid); }
.ct-info-body em     { font-style:normal; font-weight:600; color:var(--c-ink); }
.ct-info-link        { font-size:12px; font-weight:700; color:var(--c-mid); margin-top:4px; display:inline-block; }
.ct-info-link:hover  { text-decoration:underline; }

.ct-wa-btn {
  display:flex; align-items:center; justify-content:center; gap:10px;
  background:linear-gradient(135deg,#1DAA61,#25D366); color:#fff;
  border-radius:14px; padding:16px 24px;
  font-family:var(--f-head); font-size:14px; font-weight:700;
  box-shadow:0 4px 20px rgba(29,170,97,0.3);
  transition:transform .25s, box-shadow .25s;
}
.ct-wa-btn:hover { transform:translateY(-3px); box-shadow:0 8px 28px rgba(29,170,97,0.4); }

/* ─── Map ──────────────────────────────────────────── */
.ct-map-section { line-height:0; }
.ct-map-frame { height:420px; width:100%; }
.ct-map-frame iframe { width:100%; height:100%; display:block; }

/* ─── Popup Overlay ────────────────────────────────── */
.ct-popup-overlay {
  position:fixed; inset:0; z-index:2000;
  background:rgba(6,15,42,0.65); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity .3s ease;
  padding:20px;
}
.ct-popup-overlay--visible { opacity:1; pointer-events:auto; }

.ct-popup {
  background:#fff; border-radius:24px; padding:44px 40px 40px;
  max-width:440px; width:100%; text-align:center; position:relative;
  box-shadow:0 32px 80px rgba(0,0,0,0.25);
  transform:translateY(24px) scale(0.97);
  transition:transform .35s cubic-bezier(0.34,1.56,0.64,1), opacity .3s ease;
  opacity:0;
}
.ct-popup-overlay--visible .ct-popup { transform:translateY(0) scale(1); opacity:1; }

.ct-popup-close {
  position:absolute; top:16px; right:16px;
  width:32px; height:32px; border-radius:50%;
  background:var(--c-frost); border:none;
  display:flex; align-items:center; justify-content:center;
  color:var(--c-muted); transition:var(--t-fast);
}
.ct-popup-close:hover { background:var(--c-border); color:var(--c-ink); }

.ct-popup-icon-wrap { width:72px; height:72px; margin:0 auto 20px; }
.ct-popup-check, .ct-popup-cross { width:72px; height:72px; display:none; }
.ct-popup--success .ct-popup-check { display:block; }
.ct-popup--error  .ct-popup-cross  { display:block; }

.ct-check-circle {
  stroke:#1AB889; stroke-width:2;
  stroke-dasharray:157; stroke-dashoffset:157;
}
.ct-popup-overlay--visible .ct-popup--success .ct-check-circle {
  animation:ctCircleDraw .5s .1s ease forwards;
}
.ct-check-tick {
  stroke:#1AB889; stroke-width:3; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:50; stroke-dashoffset:50;
}
.ct-popup-overlay--visible .ct-popup--success .ct-check-tick {
  animation:ctTickDraw .35s .55s ease forwards;
}
.ct-cross-circle { stroke:#E5344A; stroke-width:2; stroke-dasharray:157; stroke-dashoffset:157; }
.ct-popup-overlay--visible .ct-popup--error .ct-cross-circle {
  animation:ctCircleDraw .5s .1s ease forwards;
}
.ct-cross-line1, .ct-cross-line2 {
  stroke:#E5344A; stroke-width:3; stroke-linecap:round;
  stroke-dasharray:28; stroke-dashoffset:28;
}
.ct-popup-overlay--visible .ct-popup--error .ct-cross-line1 { animation:ctTickDraw .3s .55s ease forwards; }
.ct-popup-overlay--visible .ct-popup--error .ct-cross-line2 { animation:ctTickDraw .3s .65s ease forwards; }

@keyframes ctCircleDraw { to { stroke-dashoffset:0; } }
@keyframes ctTickDraw   { to { stroke-dashoffset:0; } }

.ct-popup-title {
  font-family:var(--f-display); font-size:22px; font-weight:800;
  color:var(--c-ink); margin:0 0 10px; letter-spacing:-0.01em;
}
.ct-popup--success .ct-popup-title { color:#0D7A55; }
.ct-popup--error   .ct-popup-title { color:#C41230; }
.ct-popup-body { font-size:14px; color:var(--c-muted); line-height:1.68; margin:0 0 28px; }

/* ─── Contact Responsive ───────────────────────────── */
@media (max-width:1100px) {
  .ct-grid { grid-template-columns:1fr 340px; gap:32px; }
}
@media (max-width:900px) {
  .ct-hero-inner { grid-template-columns:1fr; gap:48px; }
  .ct-hero-visual { height:380px; }
  .ct-badge-tl { top:-12px; left:-10px; }
  .ct-badge-br { bottom:-12px; right:14px; }
  .ct-grid { grid-template-columns:1fr; gap:32px; }
  .ct-info { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
  .ct-wa-btn { grid-column:1/3; }
}
@media (max-width:600px) {
  .ct-hero-visual { height:280px; }
  .ct-form-wrap { padding:28px 20px; }
  .ct-field-row { grid-template-columns:1fr; }
  .ct-info { grid-template-columns:1fr; }
  .ct-wa-btn { grid-column:auto; }
  .ct-map-frame { height:280px; }
  .ct-popup { padding:36px 24px 32px; }
  .ct-hero-chips { flex-direction:column; align-items:flex-start; }
}


/* ══════════════════════════════════════════════════════
   30. ABOUT PAGE
   ══════════════════════════════════════════════════════ */

/* ─── ABOUT HERO ───────────────────────────────────── */
.ab-hero {
  position:relative; overflow:hidden;
  min-height:100vh;
  background: var(--g-radial-hero);
  display:flex; align-items:center;
  padding:calc(var(--header-h) + 60px) 0 80px;
}
.ab-hero-glows {
  display:none;
}

.ab-hero-inner {
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  align-items:center;
}

/* Breadcrumb */
.ab-breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-family:var(--f-body); font-size:12px; font-weight:500;
  color:var(--c-muted); margin-bottom:20px;
}
.ab-breadcrumb a { color:var(--c-muted); transition:color .2s; }
.ab-breadcrumb a:hover { color:var(--c-ink); }
.ab-bread-sep { color:var(--c-border); font-size:14px; }

/* Hero text */
.ab-hero-title {
  font-family:var(--f-display); font-size:clamp(34px,3.2vw,50px);
  font-weight:800; color:var(--c-ink); line-height:1.12;
  letter-spacing:-0.025em; margin-bottom:20px;
}
.ab-hero-desc {
  font-family:var(--f-head); font-size:16px; line-height:1.68;
  color:var(--c-body); max-width:480px; margin-bottom:32px;
}
.ab-hero-actions {
  display:flex; gap:14px; flex-wrap:wrap; margin-bottom:36px;
}

/* Mini stats bar */
.ab-hero-stats {
  display:flex; align-items:center; gap:20px;
  padding-top:24px;
  border-top:1px solid var(--c-border);
}
.ab-hs-item { display:flex; flex-direction:column; gap:2px; }
.ab-hs-item strong {
  font-family:var(--f-display); font-size:17px; font-weight:800; color:var(--c-ink);
}
.ab-hs-item span { font-size:11px; color:var(--c-muted); font-family:var(--f-body); }
.ab-hs-div { width:1px; height:32px; background:var(--c-border); flex-shrink:0; }

/* Image collage */
.ab-hero-collage {
  position:relative;
  display:grid; grid-template-columns:1fr auto; gap:12px;
  align-items:stretch; height:560px;
}
.ab-collage-main {
  border-radius:20px; overflow:hidden;
  box-shadow:var(--s-lg);
}
.ab-collage-main img { width:100%; height:100%; object-fit:cover; }
.ab-collage-side {
  display:flex; flex-direction:column; gap:12px; width:140px;
}
.ab-collage-sm {
  flex:1; border-radius:16px; overflow:hidden;
  box-shadow:var(--s-md);
}
.ab-collage-sm img { width:100%; height:100%; object-fit:cover; }

/* Floating badges on collage */
.ab-collage-badge {
  position:absolute; z-index:10;
  display:flex; align-items:center; gap:10px;
  background:#fff; backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  border:1px solid var(--c-border); border-radius:12px;
  padding:9px 14px;
  box-shadow:var(--s-md);
}
.ab-badge-tl { top:-14px; left:-16px; }
.ab-badge-br { bottom:-14px; right:158px; }
.ab-cbadge-icon {
  width:30px; height:30px; border-radius:8px; flex-shrink:0;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.18);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-mid);
}
.ab-cbadge-icon--teal { background:rgba(26,184,137,0.10); border-color:rgba(26,184,137,0.22); color:var(--c-secondary); }
.ab-cbadge-body { display:flex; flex-direction:column; gap:1px; }
.ab-cbadge-body strong { font-family:var(--f-head); font-size:12px; font-weight:700; color:var(--c-ink); line-height:1; }
.ab-cbadge-body span  { font-size:10px; color:var(--c-muted); font-family:var(--f-body); }

/* Scroll hint */
.ab-scroll-hint {
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.ab-scroll-line {
  width:1px; height:40px;
  background:linear-gradient(180deg, rgba(11,42,107,0.4) 0%, transparent 100%);
  animation:abScrollPulse 2s ease-in-out infinite;
}
@keyframes abScrollPulse {
  0%,100% { opacity:0.3; transform:scaleY(0.7); transform-origin:top; }
  50%      { opacity:1;   transform:scaleY(1);   }
}


/* ─── ABOUT STORY SECTION ──────────────────────────── */
.ab-story-section { background:var(--c-bg); }
.ab-story-grid {
  display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:start;
}

/* Story image - sticky scroll */
.ab-story-visual {
  position:sticky; top:calc(var(--header-h) + 32px);
}
.ab-story-img-wrap {
  border-radius:var(--r-lg); overflow:hidden;
  box-shadow:var(--s-lg);
  aspect-ratio:4/5;
}
.ab-story-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:center; }

/* Floating cert card */
.ab-story-float-card {
  position:absolute; bottom:-20px; right:-20px;
  display:flex; align-items:center; gap:10px;
  background:#fff; border-radius:14px;
  padding:14px 18px;
  box-shadow:0 12px 40px rgba(11,42,107,0.14);
  border:1px solid rgba(11,42,107,0.06);
}
.ab-sfc-icon {
  width:36px; height:36px; border-radius:10px; flex-shrink:0;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.16);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-mid);
}
.ab-sfc-text { display:flex; flex-direction:column; gap:2px; }
.ab-sfc-text strong { font-family:var(--f-head); font-size:13px; font-weight:700; color:var(--c-ink); }
.ab-sfc-text span   { font-size:11px; color:var(--c-muted); }

/* Story content */
.ab-story-content { padding-top:8px; }

/* Mission / Vision row */
.ab-mv-row { display:flex; flex-direction:column; gap:12px; margin-bottom:36px; }
.ab-mv-item {
  display:flex; gap:14px; align-items:flex-start;
  background:var(--c-frost); border:1px solid var(--c-border);
  border-radius:12px; padding:14px 16px;
}
.ab-mv-icon {
  width:34px; height:34px; border-radius:8px; flex-shrink:0;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-mid);
}
.ab-mv-icon--teal { background:rgba(26,184,137,0.08); border-color:rgba(26,184,137,0.18); color:var(--c-secondary); }
.ab-mv-item > div strong { display:block; font-family:var(--f-head); font-size:13px; font-weight:700; color:var(--c-ink); margin-bottom:3px; }
.ab-mv-item > div span  { font-size:13px; color:var(--c-muted); line-height:1.5; }

/* Milestones timeline bar */
.ab-milestones {
  display:flex; align-items:center; gap:0;
  background:var(--c-frost); border:1px solid var(--c-border);
  border-radius:14px; padding:20px 24px;
}
.ab-milestone { display:flex; flex-direction:column; align-items:center; gap:6px; flex-shrink:0; }
.ab-ms-year {
  font-family:var(--f-display); font-size:13px; font-weight:800;
  color:var(--c-primary); letter-spacing:-0.01em;
}
.ab-ms-dot {
  width:10px; height:10px; border-radius:50%;
  background:var(--c-mid); border:2px solid #fff;
  box-shadow:0 0 0 2px rgba(30,95,216,0.25);
}
.ab-ms-dot--active {
  background:var(--c-secondary);
  box-shadow:0 0 0 2px rgba(26,184,137,0.3), 0 0 10px rgba(26,184,137,0.3);
}
.ab-ms-text { font-size:10px; font-family:var(--f-body); color:var(--c-muted); text-align:center; max-width:60px; line-height:1.3; }
.ab-ms-line { flex:1; height:2px; background:linear-gradient(90deg,rgba(30,95,216,0.3),rgba(26,184,137,0.3)); min-width:20px; }


/* ─── VALUES SECTION ───────────────────────────────── */
.ab-values-section {
  position:relative; overflow:hidden;
  background:var(--c-bg-alt);
}
.ab-values-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 80% at 50% 0%,   rgba(30,95,216,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 10% 100%,  rgba(26,184,137,0.05) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 90% 100%,  rgba(11,42,107,0.04) 0%, transparent 60%);
}
.ab-values-grid {
  display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;
}
.ab-value-card {
  position:relative; overflow:hidden;
  background:#fff;
  border:1px solid var(--c-border);
  border-radius:20px; padding:28px 24px;
  transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.ab-value-card:hover {
  transform:translateY(-6px);
  border-color:rgba(30,95,216,0.2);
  box-shadow:var(--s-md);
}
.ab-vc-num {
  font-family:var(--f-display); font-size:13px; font-weight:800;
  color:rgba(11,42,107,0.15); letter-spacing:1px; margin-bottom:16px;
}
.ab-vc-icon {
  width:48px; height:48px; border-radius:12px; margin-bottom:18px;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-mid);
  transition:transform .35s cubic-bezier(0.4,0,0.2,1);
}
.ab-value-card:hover .ab-vc-icon { transform:scale(1.1) rotate(4deg); }
.ab-vc-icon--teal   { background:rgba(26,184,137,0.10); border-color:rgba(26,184,137,0.2); color:var(--c-secondary); }
.ab-vc-icon--cyan   { background:rgba(0,212,255,0.08);  border-color:rgba(0,212,255,0.18);  color:#008BAF; }
.ab-vc-icon--purple { background:rgba(139,92,246,0.08); border-color:rgba(139,92,246,0.18); color:#8B5CF6; }
.ab-value-card h3 {
  font-family:var(--f-head); font-size:15px; font-weight:700;
  color:var(--c-ink); margin-bottom:10px; line-height:1.3;
}
.ab-value-card p {
  font-size:13px; color:var(--c-muted); line-height:1.68;
}


/* ─── DOCTOR SECTION ───────────────────────────────── */
.ab-doctor-section { background:var(--c-bg); }
.ab-doctor-grid {
  display:grid; grid-template-columns:400px 1fr; gap:72px; align-items:start;
}

/* Doctor visual column */
.ab-doctor-visual { position:sticky; top:calc(var(--header-h) + 24px); }
.ab-doc-img-frame {
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  aspect-ratio:3/4; margin-bottom:20px;
  box-shadow:var(--s-lg), 0 0 60px rgba(30,95,216,0.12);
}
.ab-doc-photo { width:100%; height:100%; object-fit:cover; object-position:top center; }
.ab-doc-glow {
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 60%, rgba(28,24,20,0.25) 100%);
}

/* Name plate below photo */
.ab-doc-name-plate {
  display:flex; align-items:center; justify-content:space-between;
  background:#fff; border:1px solid var(--c-border);
  border-radius:14px; padding:14px 18px; margin-bottom:16px;
  box-shadow:var(--s-sm);
}
.ab-doc-name-text { display:flex; flex-direction:column; gap:2px; }
.ab-doc-name-text strong { font-family:var(--f-head); font-size:14px; font-weight:700; color:var(--c-ink); }
.ab-doc-name-text span   { font-size:12px; color:var(--c-muted); }
.ab-doc-exp-badge {
  font-family:var(--f-display); font-size:11px; font-weight:800;
  background:linear-gradient(90deg,#1E5FD8,#1AB889); color:#fff;
  border-radius:100px; padding:5px 12px; letter-spacing:0.3px;
}

/* Credentials */
.ab-credentials {
  background:var(--c-frost); border:1px solid var(--c-border);
  border-radius:16px; padding:18px 20px;
}
.ab-cred-label {
  font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
  color:var(--c-muted); margin-bottom:12px;
}
.ab-creds-list { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
.ab-cred {
  font-family:var(--f-display); font-size:11px; font-weight:800;
  letter-spacing:0.5px; padding:5px 12px; border-radius:100px;
  background:rgba(30,95,216,0.08); color:var(--c-mid);
  border:1px solid rgba(30,95,216,0.18);
}
.ab-cred--teal  { background:rgba(26,184,137,0.08); color:var(--c-secondary); border-color:rgba(26,184,137,0.2); }
.ab-cred--cyan  { background:rgba(0,212,255,0.08); color:#008BAF; border-color:rgba(0,212,255,0.2); }
.ab-cred-legend { display:flex; flex-direction:column; gap:6px; }
.ab-cl-item {
  display:flex; gap:8px; align-items:baseline;
  font-size:11px; color:var(--c-muted);
}
.ab-cl-item span {
  font-weight:700; color:var(--c-primary); font-size:10px;
  letter-spacing:0.3px; flex-shrink:0;
}

/* Career timeline */
.ab-timeline { margin-top:0; }
.ab-tl-label {
  font-size:10px; font-weight:700; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--c-secondary); margin-bottom:24px;
}
.ab-tl-item {
  display:flex; gap:20px; position:relative; padding-bottom:32px;
}
.ab-tl-item--current { padding-bottom:0; }
.ab-tl-marker { display:flex; flex-direction:column; align-items:center; flex-shrink:0; }
.ab-tl-dot {
  width:12px; height:12px; border-radius:50%; flex-shrink:0;
  background:#fff; border:2px solid var(--c-border);
  box-shadow:0 0 0 3px rgba(30,95,216,0.12);
  position:relative; z-index:1; margin-top:4px;
  transition:border-color .25s, box-shadow .25s;
}
.ab-tl-item:hover .ab-tl-dot { border-color:var(--c-mid); box-shadow:0 0 0 3px rgba(30,95,216,0.2); }
.ab-tl-dot--active {
  background:linear-gradient(135deg,#1E5FD8,#1AB889);
  border-color:transparent;
  box-shadow:0 0 0 3px rgba(26,184,137,0.2), 0 0 12px rgba(26,184,137,0.3);
}
.ab-tl-connector {
  flex:1; width:2px; background:var(--c-border); margin:4px 0;
}
.ab-tl-item:hover .ab-tl-connector {
  background:linear-gradient(180deg,rgba(30,95,216,0.3),rgba(26,184,137,0.2));
}

.ab-tl-body { flex:1; }
.ab-tl-period {
  font-family:var(--f-body); font-size:11px; font-weight:600; letter-spacing:0.5px;
  color:var(--c-secondary); margin-bottom:5px; text-transform:uppercase;
}
.ab-tl-body h4 {
  font-family:var(--f-head); font-size:15px; font-weight:700;
  color:var(--c-ink); margin-bottom:8px; line-height:1.3;
}
.ab-tl-body p {
  font-size:13px; color:var(--c-muted); line-height:1.68;
}
.ab-tl-current-badge {
  display:inline-block; margin-top:10px;
  font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase;
  background:rgba(26,184,137,0.1); color:var(--c-secondary);
  border:1px solid rgba(26,184,137,0.25); border-radius:100px;
  padding:4px 12px;
}


/* ─── CERTIFICATIONS SECTION ───────────────────────── */
.ab-certs-section {
  position:relative; overflow:hidden;
  background:var(--c-bg);
}
.ab-certs-bg {
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 60% 70% at 20% 50%, rgba(30,95,216,0.06) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 80% 50%, rgba(26,184,137,0.05) 0%, transparent 60%);
}
.ab-certs-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.ab-cert-card {
  position:relative; overflow:hidden;
  background:#fff;
  border:1px solid var(--c-border);
  border-radius:20px; padding:30px 24px;
  transition:transform .3s, border-color .3s, box-shadow .3s;
  display:flex; flex-direction:column; gap:0;
}
.ab-cert-card:hover {
  transform:translateY(-5px);
  border-color:rgba(30,95,216,0.2);
  box-shadow:var(--s-md);
}
.ab-cert-glow {
  position:absolute; top:-40px; left:50%; transform:translateX(-50%);
  width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, rgba(30,95,216,0.08) 0%, transparent 70%);
  pointer-events:none;
}
.ab-cert-glow--teal   { background:radial-gradient(circle, rgba(26,184,137,0.08) 0%, transparent 70%); }
.ab-cert-glow--cyan   { background:radial-gradient(circle, rgba(0,212,255,0.06) 0%, transparent 70%); }
.ab-cert-glow--purple { background:radial-gradient(circle, rgba(139,92,246,0.08) 0%, transparent 70%); }

.ab-cert-icon {
  width:56px; height:56px; border-radius:16px; margin-bottom:20px;
  background:rgba(30,95,216,0.08); border:1px solid rgba(30,95,216,0.15);
  display:flex; align-items:center; justify-content:center;
  color:var(--c-mid);
  transition:transform .35s cubic-bezier(0.4,0,0.2,1);
}
.ab-cert-card:hover .ab-cert-icon { transform:scale(1.08); }
.ab-cert-icon--teal   { background:rgba(26,184,137,0.10); border-color:rgba(26,184,137,0.2); color:var(--c-secondary); }
.ab-cert-icon--cyan   { background:rgba(0,212,255,0.08);  border-color:rgba(0,212,255,0.18);  color:#008BAF; }
.ab-cert-icon--purple { background:rgba(139,92,246,0.08); border-color:rgba(139,92,246,0.18); color:#8B5CF6; }

.ab-cert-title {
  font-family:var(--f-display); font-size:18px; font-weight:800;
  color:var(--c-ink); margin-bottom:10px; letter-spacing:-0.01em;
}
.ab-cert-body {
  font-size:13px; color:var(--c-muted); line-height:1.68; flex:1; margin-bottom:16px;
}
.ab-cert-tag {
  display:inline-block; font-size:10px; font-weight:700;
  letter-spacing:1px; text-transform:uppercase;
  background:rgba(30,95,216,0.08); color:var(--c-mid);
  border:1px solid rgba(30,95,216,0.18); border-radius:100px;
  padding:4px 12px; align-self:flex-start;
}
.ab-cert-tag--teal   { background:rgba(26,184,137,0.08); color:var(--c-secondary); border-color:rgba(26,184,137,0.2); }
.ab-cert-tag--cyan   { background:rgba(0,212,255,0.07);  color:#008BAF; border-color:rgba(0,212,255,0.18); }
.ab-cert-tag--purple { background:rgba(139,92,246,0.07); color:#8B5CF6; border-color:rgba(139,92,246,0.18); }


/* ─── STATS SECTION ────────────────────────────────── */
.ab-stats-section { background:var(--c-bg); }
.ab-stats-inner {
  display:flex; align-items:center; justify-content:center; gap:0;
  background:#fff; border:1px solid var(--c-border);
  border-radius:24px; padding:48px 40px;
  box-shadow:var(--s-md);
}
.ab-stat-big {
  flex:1; display:flex; flex-direction:column; align-items:center;
  gap:8px; text-align:center; padding:0 24px;
}
.ab-stat-num {
  font-family:var(--f-display); font-size:clamp(36px,4vw,56px);
  font-weight:800; line-height:1; letter-spacing:-0.02em;
  background:linear-gradient(90deg,#1E5FD8,#1AB889);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
}
.ab-stat-lbl {
  font-family:var(--f-head); font-size:13px; font-weight:500;
  color:var(--c-muted); max-width:140px; line-height:1.4;
}
.ab-stat-sep-v {
  width:1px; height:64px; flex-shrink:0;
  background:linear-gradient(180deg, transparent, rgba(30,95,216,0.2), rgba(26,184,137,0.2), transparent);
}


/* ─── CLINIC SPACE SECTION - MASONRY ───────────────── */
.ab-space-section { background:var(--c-bg); }

.ab-masonry {
  columns:4; column-gap:14px;
}
.ab-masonry-item {
  break-inside:avoid; margin-bottom:14px;
  border-radius:14px; overflow:hidden;
  position:relative; cursor:pointer;
}
.ab-masonry-item img {
  width:100%; height:auto; display:block;
  transition:transform .55s cubic-bezier(0.4,0,0.2,1);
}
.ab-masonry-item::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 50%, rgba(11,42,107,0.35) 100%);
  opacity:0; transition:opacity .3s ease;
}
.ab-masonry-item:hover img { transform:scale(1.05); }
.ab-masonry-item:hover::after { opacity:1; }

.ab-masonry-hidden { display:none; }
.ab-masonry-reveal {
  animation:masonryReveal 0.45s ease both;
}
@keyframes masonryReveal {
  from { opacity:0; transform:translateY(18px); }
  to   { opacity:1; transform:translateY(0); }
}

.ab-masonry-load-wrap {
  display:flex; justify-content:center; margin-top:36px;
}
.ab-masonry-load-wrap.ab-load-hidden { display:none; }


/* ─── ABOUT CTA SECTION ────────────────────────────── */
.ab-cta-section {
  position:relative; overflow:hidden;
  background:#111009;
}
.ab-cta-bg-img {
  position:absolute; inset:0;
  background:url('../images/Full%20Rehab.jpg') center/cover no-repeat;
  transform:scale(1.05);
  animation:ctaBgDrift 14s ease-in-out infinite alternate;
}
@keyframes ctaBgDrift {
  from { transform:scale(1.05) translate(0, 0); }
  to   { transform:scale(1.12) translate(-12px, -8px); }
}
.ab-cta-overlay {
  position:absolute; inset:0;
  background:linear-gradient(
    160deg,
    rgba(6,15,42,0.78)  0%,
    rgba(11,42,107,0.65) 40%,
    rgba(6,15,42,0.82)  100%
  );
}
.ab-cta-inner {
  text-align:center; position:relative; z-index:1;
  display:flex; flex-direction:column; align-items:center;
}
.ab-cta-actions { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }

/* Force white text inside CTA — always on dark photo overlay */
.ab-cta-section .section-eyebrow,
.ab-cta-section .section-eyebrow.on-dark {
  color: var(--c-secondary) !important;
  background: rgba(26,184,137,0.15);
  border: 1px solid rgba(26,184,137,0.30);
  padding: 4px 14px;
  border-radius: 100px;
  display: inline-block;
}
.ab-cta-section .section-title,
.ab-cta-section .section-title.white { color: #fff !important; }
.ab-cta-section .section-body,
.ab-cta-section .section-body.white { color: rgba(255,255,255,0.78) !important; }
.ab-cta-section .btn-outline {
  background: transparent; color: #fff;
  border: 1.5px solid rgba(255,255,255,0.45);
}
.ab-cta-section .btn-outline:hover {
  background: rgba(255,255,255,0.1);
  border-color: rgba(255,255,255,0.75);
  transform: translateY(-2px);
}


/* ─── ABOUT PAGE - RESPONSIVE ──────────────────────── */
@media (max-width:1100px) {
  .ab-hero-inner { grid-template-columns:1fr 1fr; gap:40px; }
  .ab-hero-collage { height:480px; }
  .ab-collage-side { width:120px; }
  .ab-story-grid { grid-template-columns:1fr 1fr; gap:48px; }
  .ab-masonry { columns:3; }
  .ab-doctor-grid { grid-template-columns:340px 1fr; gap:48px; }
  .ab-values-grid { grid-template-columns:1fr 1fr; gap:16px; }
  .ab-certs-grid  { grid-template-columns:1fr 1fr; gap:16px; }
}

@media (max-width:900px) {
  .ab-hero-inner { grid-template-columns:1fr; gap:48px; }
  .ab-hero-collage { height:400px; }
  .ab-hero-title { font-size:38px; }
  .ab-hero-text { order:1; }
  .ab-hero-collage { order:2; }
  .ab-story-grid { grid-template-columns:1fr; gap:48px; }
  .ab-story-float-card { right:16px; bottom:-12px; }
  .ab-story-visual { position:relative; top:auto; }
  .ab-doctor-grid { grid-template-columns:1fr; gap:48px; }
  .ab-doctor-visual { position:static; max-width:400px; margin:0 auto; }
  .ab-stats-inner { flex-wrap:wrap; gap:0; }
  .ab-stat-big { min-width:45%; padding:20px; }
  .ab-stat-sep-v { display:none; }
}

@media (max-width:768px) {
  .ab-values-grid { grid-template-columns:1fr 1fr; }
  .ab-certs-grid  { grid-template-columns:1fr 1fr; }
  .ab-hero-stats  { flex-wrap:wrap; }
  .ab-milestones  { flex-wrap:wrap; justify-content:center; gap:12px; }
  .ab-ms-line     { display:none; }
  .ab-masonry { columns:2; }
  .ab-badge-br { right:auto; left:0; bottom:-14px; }
}

@media (max-width:540px) {
  .ab-hero-title { font-size:30px; }
  .ab-values-grid { grid-template-columns:1fr; }
  .ab-certs-grid  { grid-template-columns:1fr; }
  .ab-masonry { columns:1; }
  .ab-hero-collage { height:300px; }
  .ab-collage-side { width:90px; }
  .ab-stats-inner { padding:28px 20px; }
  .ab-stat-big { min-width:100%; border-bottom:1px solid var(--c-border); padding:16px 0; }
  .ab-stat-big:last-child { border-bottom:none; }
  .ab-cta-actions { flex-direction:column; align-items:center; width:100%; }
  .ab-cta-actions .btn { width:100%; max-width:320px; justify-content:center; }
  .ab-hero-actions { flex-direction:column; }
  .ab-hero-actions .btn { width:100%; justify-content:center; }
}

/* ══════════════════════════════════════════════════
   29. ORTHO-REHAB PAGE  (or-)
   ══════════════════════════════════════════════════ */

/* ─── Conditions: sticky editorial list ─────────── */
.or-cond-section { background: var(--c-bg); }
.or-cond-wrap {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 80px;
  align-items: start;
}
.or-cond-sticky {
  position: sticky;
  top: calc(var(--header-h) + 40px);
}
.or-cond-sticky h2 {
  font-family: var(--f-head);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1.2;
  margin-bottom: 20px;
}
.or-cond-sticky p {
  font-size: 15px;
  color: var(--c-muted);
  line-height: 1.68;
  margin: 0;
}
.or-cond-item {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 16px;
  padding: 24px 0;
  border-bottom: 1px solid var(--c-border);
  align-items: start;
}
.or-cond-item:first-child { border-top: 1px solid var(--c-border); }
.or-cond-num {
  font-family: var(--f-display);
  font-size: 12px;
  font-weight: 800;
  color: var(--c-secondary);
  letter-spacing: 1.5px;
  padding-top: 3px;
}
.or-cond-item h3 {
  font-family: var(--f-head);
  font-size: 16px;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 6px;
}
.or-cond-item p {
  font-size: 14px;
  color: var(--c-muted);
  line-height: 1.68;
  margin: 0;
}

/* ─── Doctor Spotlight ──────────────────────────── */
.or-doc-section { background: var(--c-bg-alt); }
.or-doc-wrap {
  display: grid;
  grid-template-columns: 1fr 1.3fr;
  gap: 72px;
  align-items: center;
}
.or-doc-frame { position: relative; }
.or-doc-frame img {
  width: 100%;
  height: 540px;
  object-fit: cover;
  border-radius: var(--r-lg);
  display: block;
}
.or-doc-badge {
  position: absolute;
  bottom: 32px;
  left: -28px;
  background: #fff;
  border-radius: var(--r-sm);
  padding: 18px 22px;
  box-shadow: 0 12px 40px rgba(11,42,107,0.16);
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 190px;
}
.or-doc-badge-num {
  font-family: var(--f-display);
  font-size: 36px;
  font-weight: 900;
  color: var(--c-primary);
  line-height: 1;
}
.or-doc-badge-txt { display: flex; flex-direction: column; gap: 2px; }
.or-doc-badge-txt strong { font-size: 12px; font-weight: 700; color: var(--c-ink); line-height: 1.25; }
.or-doc-badge-txt span  { font-size: 11px; color: var(--c-muted); }
.or-doc-name {
  font-family: var(--f-display);
  font-size: 13px;
  font-weight: 700;
  color: var(--c-primary);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin: 8px 0 18px;
}
.or-doc-title {
  font-family: var(--f-head);
  font-size: clamp(24px, 2.8vw, 38px);
  font-weight: 700;
  color: var(--c-ink);
  line-height: 1.2;
  margin-bottom: 20px;
}
.or-doc-quote {
  border-left: 3px solid var(--c-secondary);
  padding: 14px 20px;
  background: rgba(26,184,137,0.06);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  margin: 0 0 28px;
  font-style: italic;
  font-size: 15px;
  color: var(--c-body);
  line-height: 1.68;
}
.or-doc-creds {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.or-doc-cred {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 14px;
  color: var(--c-body);
  line-height: 1.68;
}
.or-doc-cred-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--c-secondary);
  flex-shrink: 0;
  margin-top: 5px;
}

/* ─── Treatment Approach: Bento Grid ───────────── */
.or-steps-section { background: var(--c-bg); }
.or-steps-intro { text-align: center; max-width: 560px; margin: 0 auto 48px; }
.or-bento { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.or-bento-card {
  border-radius: var(--r-lg);
  padding: 44px 40px;
  position: relative;
  overflow: hidden;
}
.or-bento-card--cream { background: var(--c-bg-alt); }
.or-bento-card--navy  { background: var(--c-primary); }
.or-bento-card--teal  { background: var(--c-secondary); }
.or-bento-card--grad  { background: linear-gradient(135deg, #1a4bc4 0%, #0B2A6B 100%); }
.or-bento-ghost {
  position: absolute;
  top: 8px;
  right: 20px;
  font-family: var(--f-display);
  font-size: 100px;
  font-weight: 900;
  line-height: 1;
  opacity: 0.07;
  pointer-events: none;
  user-select: none;
}
.or-bento-card--cream .or-bento-ghost { color: var(--c-primary); }
.or-bento-card--navy  .or-bento-ghost,
.or-bento-card--teal  .or-bento-ghost,
.or-bento-card--grad  .or-bento-ghost { color: #fff; }
.or-bento-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.or-bento-card--cream .or-bento-icon { background: rgba(11,42,107,0.1); color: var(--c-primary); }
.or-bento-card--navy .or-bento-icon,
.or-bento-card--teal .or-bento-icon,
.or-bento-card--grad .or-bento-icon { background: rgba(255,255,255,0.18); color: #fff; }
.or-bento-title {
  font-family: var(--f-head);
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
  line-height: 1.3;
}
.or-bento-card--cream .or-bento-title { color: var(--c-ink); }
.or-bento-card--navy .or-bento-title,
.or-bento-card--teal .or-bento-title,
.or-bento-card--grad .or-bento-title { color: #fff; }
.or-bento-body { font-size: 14px; line-height: 1.68; margin: 0; }
.or-bento-card--cream .or-bento-body { color: var(--c-muted); }
.or-bento-card--navy  .or-bento-body,
.or-bento-card--grad  .or-bento-body { color: rgba(255,255,255,0.76); }
.or-bento-card--teal  .or-bento-body { color: rgba(255,255,255,0.88); }

/* ─── Recovery Journey: Horizontal Timeline ─────── */
.or-tl-section { background: var(--c-bg-alt); }
.or-tl-header { text-align: center; margin-bottom: 56px; }
.or-timeline {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  position: relative;
}
.or-timeline::before {
  content: '';
  position: absolute;
  top: 19px;
  left: calc(12.5% + 4px);
  right: calc(12.5% + 4px);
  height: 2px;
  background: linear-gradient(90deg, var(--c-primary), var(--c-mid) 50%, var(--c-secondary));
  z-index: 0;
}
.or-tl-item {
  text-align: center;
  padding: 0 20px;
  position: relative;
}
.or-tl-dot {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--c-bg);
  border: 2.5px solid var(--c-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  position: relative;
  z-index: 1;
  font-family: var(--f-display);
  font-size: 12px;
  font-weight: 800;
  color: var(--c-primary);
}
.or-tl-item:nth-child(2) .or-tl-dot { border-color: var(--c-mid); color: var(--c-mid); }
.or-tl-item:nth-child(3) .or-tl-dot { border-color: var(--c-mid); color: var(--c-mid); }
.or-tl-item:nth-child(4) .or-tl-dot { background: var(--c-secondary); border-color: var(--c-secondary); color: #fff; }
.or-tl-time {
  font-size: 11px;
  font-weight: 700;
  color: var(--c-secondary);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 6px;
}
.or-tl-phase {
  font-family: var(--f-head);
  font-size: 16px;
  font-weight: 700;
  color: var(--c-ink);
  margin-bottom: 14px;
}
.or-tl-goals {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: left;
  display: inline-block;
}
.or-tl-goals li {
  font-size: 14px;
  color: var(--c-muted);
  padding: 3px 0 3px 18px;
  line-height: 1.68;
  position: relative;
}
.or-tl-goals li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--c-secondary);
  opacity: 0.6;
}

/* ─── Life After Recovery: Outcomes ─────────────── */
.or-outcomes-section {
  position: relative;
  overflow: hidden;
  padding: var(--section-pad) 0;
}
.or-outcomes-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
}
.or-outcomes-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(11,42,107,0.91) 0%, rgba(26,184,137,0.72) 100%);
}
.or-outcomes-inner { position: relative; z-index: 1; }
.or-outcomes-hdr { text-align: center; margin-bottom: 48px; }
.or-outcomes-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.or-outcome-card {
  background: rgba(255,255,255,0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: var(--r-lg);
  padding: 36px 24px;
  text-align: center;
  transition: background .3s ease, transform .3s ease;
}
.or-outcome-card:hover {
  background: rgba(255,255,255,0.16);
  transform: translateY(-4px);
}
.or-outcome-icon {
  width: 56px;
  height: 56px;
  background: rgba(255,255,255,0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  color: #fff;
}
.or-outcome-title {
  font-family: var(--f-head);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
  line-height: 1.3;
}
.or-outcome-body { font-size: 14px; color: rgba(255,255,255,0.78); line-height: 1.68; margin: 0; }

/* ─── Why Physio Aalaya: Split ───────────────────── */
.or-why-section { background: var(--c-bg); }
.or-why-wrap {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 72px;
  align-items: center;
}
.or-why-list { display: flex; flex-direction: column; }
.or-why-item {
  display: flex;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid var(--c-border);
}
.or-why-item:first-child { border-top: 1px solid var(--c-border); }
.or-why-num {
  font-family: var(--f-display);
  font-size: 11px;
  font-weight: 800;
  color: var(--c-secondary);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding-top: 3px;
  min-width: 28px;
  flex-shrink: 0;
}
.or-why-text h3 {
  font-family: var(--f-head);
  font-size: 16px;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 5px;
}
.or-why-text p { font-size: 14px; color: var(--c-muted); line-height: 1.68; margin: 0; }
.or-why-img {
  border-radius: var(--r-lg);
  overflow: hidden;
  height: 520px;
}
.or-why-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease;
}
.or-why-img:hover img { transform: scale(1.03); }

/* ─── Ortho Rehab Responsive ─────────────────────── */
@media (max-width: 1024px) {
  .or-cond-wrap { grid-template-columns: 1fr 1.3fr; gap: 48px; }
  .or-doc-wrap  { grid-template-columns: 1fr 1fr; gap: 48px; }
  .or-why-wrap  { gap: 48px; }
  .or-outcomes-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
}
@media (max-width: 768px) {
  .or-cond-wrap  { grid-template-columns: 1fr; gap: 32px; }
  .or-cond-sticky { position: static; }
  .or-doc-wrap   { grid-template-columns: 1fr; gap: 40px; }
  .or-doc-frame img { height: 320px; }
  .or-doc-badge  { left: 16px; bottom: 16px; min-width: 160px; padding: 14px 16px; }
  .or-doc-badge-num { font-size: 28px; }
  .or-bento      { grid-template-columns: 1fr; gap: 16px; }
  .or-bento-card { padding: 32px 28px; }
  .or-timeline   { grid-template-columns: 1fr 1fr; gap: 32px 16px; }
  .or-timeline::before { display: none; }
  .or-tl-item    { padding: 0 8px; }
  .or-outcomes-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .or-outcome-card  { padding: 28px 18px; }
  .or-why-wrap   { grid-template-columns: 1fr; gap: 40px; }
  .or-why-img    { height: 280px; order: -1; }
}
@media (max-width: 480px) {
  .or-timeline   { grid-template-columns: 1fr; }
  .or-outcomes-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════
   30. NEUROLOGICAL REHAB PAGE  (nr-)
   ══════════════════════════════════════════════════ */

/* ─── Conditions: 2-col accent cards ─────────────── */
.nr-cond-intro { max-width: 640px; margin: 0 auto 48px; text-align: center; }
.nr-cond-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.nr-cond-card {
  display: flex;
  gap: 18px;
  padding: 24px 22px;
  background: var(--c-bg-alt);
  border-radius: var(--r-md);
  border-left: 3px solid var(--c-border);
  transition: border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.nr-cond-card:hover {
  border-left-color: var(--c-secondary);
  box-shadow: var(--s-md);
  transform: translateX(4px);
}
.nr-cond-card:nth-child(even) { border-left-color: rgba(30,95,216,0.25); }
.nr-cond-card:nth-child(even):hover { border-left-color: var(--c-mid); }
.nr-cc-icon {
  width: 42px;
  height: 42px;
  border-radius: var(--r-sm);
  background: rgba(11,42,107,0.08);
  color: var(--c-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.nr-cond-card:nth-child(even) .nr-cc-icon {
  background: rgba(26,184,137,0.1);
  color: var(--c-secondary);
}
.nr-cc-body h3 {
  font-family: var(--f-head);
  font-size: 15px;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 5px;
}
.nr-cc-body p { font-size: 14px; color: var(--c-muted); line-height: 1.68; margin: 0; }

/* ─── Stroke Spotlight ────────────────────────────── */
.nr-stroke-section {
  background: var(--c-primary);
  position: relative;
  overflow: hidden;
  padding: var(--section-pad) 0;
}
.nr-stroke-section::before {
  content: '';
  position: absolute;
  top: -100px; right: -80px;
  width: 460px; height: 460px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(26,184,137,0.14) 0%, transparent 70%);
  pointer-events: none;
}
.nr-stroke-section::after {
  content: '';
  position: absolute;
  bottom: -120px; left: -80px;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(30,95,216,0.22) 0%, transparent 70%);
  pointer-events: none;
}
.nr-stroke-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
  position: relative;
  z-index: 1;
}
.nr-stroke-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(26,184,137,0.15);
  border: 1px solid rgba(26,184,137,0.3);
  border-radius: 100px;
  padding: 5px 14px 5px 10px;
  font-family: var(--f-display);
  font-size: 11px;
  font-weight: 700;
  color: var(--c-secondary);
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 20px;
}
.nr-stroke-pulse {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--c-secondary);
  animation: nrPulse 2s ease-in-out infinite;
}
@keyframes nrPulse {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:0.4; transform:scale(1.5); }
}
.nr-stroke-title {
  font-family: var(--f-head);
  font-size: clamp(24px, 3vw, 40px);
  font-weight: 700;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 18px;
}
.nr-stroke-body { font-size: 15px; color: rgba(255,255,255,0.74); line-height: 1.68; margin-bottom: 28px; }
.nr-stroke-points { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.nr-stroke-point {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 14px;
  color: rgba(255,255,255,0.86);
  line-height: 1.68;
}
.nr-stroke-pt-dot {
  width: 20px; height: 20px;
  border-radius: 50%;
  background: rgba(26,184,137,0.18);
  border: 1px solid rgba(26,184,137,0.4);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px; color: var(--c-secondary);
}
.nr-stroke-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.nr-stroke-stat {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-md);
  padding: 28px 20px;
  text-align: center;
}
.nr-stroke-stat-num {
  font-family: var(--f-display);
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 10px;
  background: linear-gradient(135deg, #fff 0%, var(--c-secondary) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.nr-stroke-stat-label { font-size: 13px; color: rgba(255,255,255,0.65); line-height: 1.5; }

/* ─── Treatment Steps: 3-col cards ──────────────── */
.nr-steps-section { background: var(--c-bg); }
.nr-steps-intro { text-align: center; max-width: 580px; margin: 0 auto 48px; }
.nr-steps-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.nr-step-card {
  border-radius: var(--r-lg);
  padding: 40px 32px;
  position: relative;
}
.nr-step-card--light { background: var(--c-bg-alt); border: 1px solid var(--c-border); }
.nr-step-card--navy  { background: var(--c-primary); }
.nr-step-card--teal  { background: var(--c-secondary); }
.nr-step-label {
  font-family: var(--f-display);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 20px;
  display: block;
}
.nr-step-card--light .nr-step-label { color: var(--c-secondary); }
.nr-step-card--navy  .nr-step-label,
.nr-step-card--teal  .nr-step-label { color: rgba(255,255,255,0.55); }
.nr-step-icon {
  width: 52px; height: 52px;
  border-radius: var(--r-md);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 20px;
}
.nr-step-card--light .nr-step-icon { background: rgba(11,42,107,0.08); color: var(--c-primary); }
.nr-step-card--navy  .nr-step-icon,
.nr-step-card--teal  .nr-step-icon { background: rgba(255,255,255,0.15); color: #fff; }
.nr-step-title {
  font-family: var(--f-head);
  font-size: 19px; font-weight: 700;
  margin-bottom: 12px; line-height: 1.3;
}
.nr-step-card--light .nr-step-title { color: var(--c-ink); }
.nr-step-card--navy  .nr-step-title,
.nr-step-card--teal  .nr-step-title { color: #fff; }
.nr-step-body { font-size: 14px; line-height: 1.68; margin: 0; }
.nr-step-card--light .nr-step-body { color: var(--c-muted); }
.nr-step-card--navy  .nr-step-body { color: rgba(255,255,255,0.75); }
.nr-step-card--teal  .nr-step-body { color: rgba(255,255,255,0.88); }

/* ─── What You'll Regain: achievement grid ──────── */
.nr-achieve-section {
  background: linear-gradient(160deg, #0d2d6b 0%, #0a2458 50%, #0d2d6b 100%);
  position: relative;
  overflow: hidden;
  padding: var(--section-pad) 0;
}
.nr-achieve-section::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--c-secondary), var(--c-mid), var(--c-secondary));
}
.nr-achieve-hdr { text-align: center; margin-bottom: 48px; }
.nr-achieve-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.nr-achieve-item {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.09);
  border-radius: var(--r-lg);
  padding: 32px 28px;
  transition: background .3s ease, transform .3s ease;
}
.nr-achieve-item:hover { background: rgba(255,255,255,0.1); transform: translateY(-3px); }
.nr-achieve-icon {
  width: 48px; height: 48px;
  background: rgba(26,184,137,0.14);
  border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
  color: var(--c-secondary);
  margin-bottom: 16px;
}
.nr-achieve-title {
  font-family: var(--f-head);
  font-size: 17px; font-weight: 700;
  color: #fff;
  margin-bottom: 10px; line-height: 1.3;
}
.nr-achieve-body { font-size: 14px; color: rgba(255,255,255,0.66); line-height: 1.68; margin: 0; }

/* ─── Why: Belief Statement Cards ───────────────── */
.nr-beliefs-section { background: var(--c-bg-alt); }
.nr-beliefs-intro { text-align: center; max-width: 560px; margin: 0 auto 48px; }
.nr-beliefs-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.nr-belief-card {
  background: var(--c-bg);
  border-radius: var(--r-lg);
  padding: 40px 32px;
  border-top: 3px solid transparent;
  transition: box-shadow .3s ease;
}
.nr-belief-card:hover { box-shadow: var(--s-md); }
.nr-belief-card:nth-child(1) { border-top-color: var(--c-primary); }
.nr-belief-card:nth-child(2) { border-top-color: var(--c-secondary); }
.nr-belief-card:nth-child(3) { border-top-color: var(--c-mid); }
.nr-belief-num {
  font-family: var(--f-display);
  font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 2px;
  margin-bottom: 14px; display: block;
}
.nr-belief-card:nth-child(1) .nr-belief-num { color: var(--c-primary); }
.nr-belief-card:nth-child(2) .nr-belief-num { color: var(--c-secondary); }
.nr-belief-card:nth-child(3) .nr-belief-num { color: var(--c-mid); }
.nr-belief-title {
  font-family: var(--f-head);
  font-size: 20px; font-weight: 700;
  color: var(--c-ink); line-height: 1.3; margin-bottom: 14px;
}
.nr-belief-body { font-size: 14px; color: var(--c-muted); line-height: 1.68; margin: 0; }

/* ─── Neuro Rehab Responsive ─────────────────────── */
@media (max-width: 1024px) {
  .nr-steps-row { grid-template-columns: 1fr 1fr; }
  .nr-steps-row .nr-step-card:last-child { grid-column: 1 / -1; max-width: 480px; margin: 0 auto; width: 100%; }
  .nr-achieve-grid { grid-template-columns: 1fr 1fr; }
  .nr-beliefs-grid { grid-template-columns: 1fr 1fr; }
  .nr-beliefs-grid .nr-belief-card:last-child { grid-column: 1 / -1; max-width: 480px; margin: 0 auto; width: 100%; }
}
@media (max-width: 768px) {
  .nr-cond-grid  { grid-template-columns: 1fr; }
  .nr-stroke-wrap { grid-template-columns: 1fr; gap: 40px; }
  .nr-steps-row  { grid-template-columns: 1fr; }
  .nr-steps-row .nr-step-card:last-child { grid-column: auto; max-width: none; }
  .nr-achieve-grid { grid-template-columns: 1fr 1fr; }
  .nr-beliefs-grid { grid-template-columns: 1fr; }
  .nr-beliefs-grid .nr-belief-card:last-child { grid-column: auto; max-width: none; }
}
@media (max-width: 480px) {
  .nr-stroke-stats  { grid-template-columns: 1fr 1fr; }
  .nr-achieve-grid  { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════
   31. PAIN MANAGEMENT PAGE  (pm-)
   ══════════════════════════════════════════════════ */

/* ─── Pain Area Tiles: 2x2 grid ──────────────────── */
.pm-areas-section { background: var(--c-bg); }
.pm-areas-intro { text-align: center; max-width: 620px; margin: 0 auto 48px; }
.pm-areas-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pm-area-tile {
  border-radius: var(--r-lg);
  padding: 40px 36px;
  position: relative;
  overflow: hidden;
  transition: transform .3s ease, box-shadow .3s ease;
}
.pm-area-tile:hover { transform: translateY(-4px); box-shadow: var(--s-lg); }
.pm-area-tile--1 { background: var(--c-bg-alt); border: 1px solid var(--c-border); }
.pm-area-tile--2 { background: linear-gradient(135deg, rgba(11,42,107,0.04) 0%, rgba(11,42,107,0.09) 100%); border: 1px solid rgba(11,42,107,0.12); }
.pm-area-tile--3 { background: linear-gradient(135deg, rgba(26,184,137,0.04) 0%, rgba(26,184,137,0.09) 100%); border: 1px solid rgba(26,184,137,0.14); }
.pm-area-tile--4 { background: linear-gradient(135deg, rgba(30,95,216,0.04) 0%, rgba(30,95,216,0.08) 100%); border: 1px solid rgba(30,95,216,0.12); }
.pm-tile-header { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 20px; }
.pm-tile-icon {
  width: 48px; height: 48px;
  border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.pm-area-tile--1 .pm-tile-icon { background: rgba(90,86,84,0.1);    color: var(--c-muted); }
.pm-area-tile--2 .pm-tile-icon { background: rgba(11,42,107,0.1);   color: var(--c-primary); }
.pm-area-tile--3 .pm-tile-icon { background: rgba(26,184,137,0.12); color: var(--c-secondary); }
.pm-area-tile--4 .pm-tile-icon { background: rgba(30,95,216,0.1);   color: var(--c-mid); }
.pm-tile-name {
  font-family: var(--f-head);
  font-size: 22px; font-weight: 700;
  color: var(--c-ink); line-height: 1.2; margin-bottom: 4px;
}
.pm-tile-sub { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; }
.pm-area-tile--1 .pm-tile-sub { color: var(--c-muted); }
.pm-area-tile--2 .pm-tile-sub { color: var(--c-primary); }
.pm-area-tile--3 .pm-tile-sub { color: var(--c-secondary); }
.pm-area-tile--4 .pm-tile-sub { color: var(--c-mid); }
.pm-tile-divider { height: 1px; background: var(--c-border); margin: 0 0 20px; }
.pm-tile-conditions { list-style: none; padding: 0; margin: 0 0 14px; display: flex; flex-direction: column; gap: 9px; }
.pm-tile-cond {
  display: flex; gap: 10px; align-items: flex-start;
  font-size: 14px; color: var(--c-body); line-height: 1.5;
}
.pm-tile-cond-dot {
  width: 5px; height: 5px; border-radius: 50%;
  background: var(--c-secondary); flex-shrink: 0; margin-top: 7px;
}
.pm-tile-note { font-size: 14px; color: var(--c-muted); font-style: italic; margin: 0; line-height: 1.68; }

/* ─── Specialist Techniques: dual image panels ───── */
.pm-tech-section { background: var(--c-bg-alt); }
.pm-tech-intro { text-align: center; max-width: 600px; margin: 0 auto 48px; }
.pm-tech-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.pm-tech-panel {
  border-radius: var(--r-lg);
  overflow: hidden;
  position: relative;
  min-height: 500px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.pm-tech-img {
  position: absolute; inset: 0;
  object-fit: cover; width: 100%; height: 100%;
  transition: transform .6s ease;
  display: block;
}
.pm-tech-panel:hover .pm-tech-img { transform: scale(1.04); }
.pm-tech-panel--blue .pm-tech-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(11,42,107,0.94) 0%, rgba(11,42,107,0.45) 55%, transparent 100%);
}
.pm-tech-panel--teal .pm-tech-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,64,52,0.94) 0%, rgba(26,184,137,0.40) 55%, transparent 100%);
}
.pm-tech-content { position: relative; z-index: 1; padding: 36px 32px; }
.pm-tech-label {
  font-family: var(--f-display);
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: 2px; color: rgba(255,255,255,0.55); margin-bottom: 8px; display: block;
}
.pm-tech-title {
  font-family: var(--f-head);
  font-size: 24px; font-weight: 700; color: #fff;
  margin-bottom: 14px; line-height: 1.25;
}
.pm-tech-body { font-size: 14px; color: rgba(255,255,255,0.80); line-height: 1.68; margin-bottom: 20px; }
.pm-tech-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pm-tech-tag {
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.24);
  border-radius: 100px;
  padding: 4px 12px;
  font-size: 12px; font-weight: 600;
  color: rgba(255,255,255,0.9);
}

/* ─── Approach: sticky image + scroll items ──────── */
.pm-approach-section { background: var(--c-bg); }
.pm-approach-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: start;
}
.pm-approach-items { display: flex; flex-direction: column; }
.pm-approach-item {
  display: flex;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid var(--c-border);
  transition: padding-left .3s ease;
  cursor: default;
}
.pm-approach-item:first-child { border-top: 1px solid var(--c-border); }
.pm-approach-item:hover { padding-left: 8px; }
.pm-ap-num {
  font-family: var(--f-display);
  font-size: 40px; font-weight: 900;
  color: rgba(26,184,137,0.18);
  line-height: 1; flex-shrink: 0; min-width: 52px;
  transition: color .3s ease;
}
.pm-approach-item:hover .pm-ap-num { color: var(--c-secondary); }
.pm-ap-body h3 {
  font-family: var(--f-head);
  font-size: 18px; font-weight: 700;
  color: var(--c-ink); margin: 4px 0 8px;
}
.pm-ap-body p { font-size: 14px; color: var(--c-muted); line-height: 1.68; margin: 0; }
.pm-approach-img {
  position: sticky;
  top: calc(var(--header-h) + 40px);
  border-radius: var(--r-lg);
  overflow: hidden;
  height: 500px;
}
.pm-approach-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ─── Bold Statement + Stat Cards ────────────────── */
.pm-bold-section { background: var(--c-bg-alt); }
.pm-bold-statement { text-align: center; max-width: 780px; margin: 0 auto 56px; }
.pm-bold-title {
  font-family: var(--f-head);
  font-size: clamp(28px, 4vw, 50px);
  font-weight: 700; color: var(--c-ink);
  line-height: 1.15; margin-bottom: 20px;
}
.pm-bold-body { font-size: 16px; color: var(--c-muted); line-height: 1.68; }
.pm-bold-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pm-bold-card {
  background: var(--c-bg);
  border-radius: var(--r-lg);
  padding: 36px 28px;
  text-align: center;
}
.pm-bold-num {
  font-family: var(--f-display);
  font-size: 52px; font-weight: 900;
  background: linear-gradient(135deg, var(--c-primary), var(--c-secondary));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  line-height: 1; margin-bottom: 14px; display: block;
}
.pm-bold-card-title {
  font-family: var(--f-head);
  font-size: 16px; font-weight: 700;
  color: var(--c-ink); margin-bottom: 8px;
}
.pm-bold-card-body { font-size: 14px; color: var(--c-muted); line-height: 1.68; margin: 0; }

/* ─── Pain Management Responsive ─────────────────── */
@media (max-width: 1024px) {
  .pm-tech-panel  { min-height: 420px; }
  .pm-approach-wrap { gap: 48px; }
  .pm-approach-img { height: 420px; }
}
@media (max-width: 768px) {
  .pm-areas-grid  { grid-template-columns: 1fr; }
  .pm-tech-grid   { grid-template-columns: 1fr; }
  .pm-tech-panel  { min-height: 360px; }
  .pm-approach-wrap { grid-template-columns: 1fr; gap: 40px; }
  .pm-approach-img { position: static; height: 280px; order: -1; }
  .pm-bold-cards  { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .pm-area-tile   { padding: 28px 24px; }
  .pm-tech-content { padding: 28px 24px; }
}

/* ══════════════════════════════════════════════════
   32. WELLNESS & SPECIALISED CARE PAGE  (wc-)
   ══════════════════════════════════════════════════ */

/* ─── Service Strips: alternating full-width ──────── */
.wc-strips-section { background: var(--c-bg); }
.wc-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 500px;
  border-bottom: 1px solid var(--c-border);
}
.wc-strip:last-child { border-bottom: none; }
.wc-strip--alt .wc-strip-img     { order: 2; }
.wc-strip--alt .wc-strip-content { order: 1; }
.wc-strip-img {
  position: relative;
  overflow: hidden;
  min-height: 380px;
}
.wc-strip-img img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .7s ease;
}
.wc-strip:hover .wc-strip-img img { transform: scale(1.04); }
.wc-strip-content {
  padding: 64px 60px;
  display: flex; flex-direction: column; justify-content: center;
}
.wc-strip--1 .wc-strip-content { background: var(--c-bg); }
.wc-strip--2 .wc-strip-content { background: var(--c-bg-alt); }
.wc-strip--3 .wc-strip-content { background: var(--c-bg); }
.wc-strip-tag {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--f-display);
  font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px;
  margin-bottom: 16px;
}
.wc-strip--1 .wc-strip-tag { color: var(--c-secondary); }
.wc-strip--2 .wc-strip-tag { color: var(--c-mid); }
.wc-strip--3 .wc-strip-tag { color: var(--c-primary); }
.wc-strip-tag-dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.wc-strip--1 .wc-strip-tag-dot { background: var(--c-secondary); }
.wc-strip--2 .wc-strip-tag-dot { background: var(--c-mid); }
.wc-strip--3 .wc-strip-tag-dot { background: var(--c-primary); }
.wc-strip-title {
  font-family: var(--f-head);
  font-size: clamp(24px, 2.8vw, 36px);
  font-weight: 700; color: var(--c-ink);
  line-height: 1.2; margin-bottom: 16px;
}
.wc-strip-body { font-size: 15px; color: var(--c-muted); line-height: 1.68; margin-bottom: 28px; }
.wc-strip-features {
  list-style: none; padding: 0; margin: 0 0 32px;
  display: flex; flex-direction: column; gap: 10px;
}
.wc-strip-feat {
  display: flex; gap: 12px; align-items: flex-start;
  font-size: 14px; color: var(--c-body); line-height: 1.5;
}
.wc-strip-feat-chk {
  width: 20px; height: 20px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; margin-top: 1px;
}
.wc-strip--1 .wc-strip-feat-chk { background: rgba(26,184,137,0.12);  color: var(--c-secondary); }
.wc-strip--2 .wc-strip-feat-chk { background: rgba(30,95,216,0.10);   color: var(--c-mid); }
.wc-strip--3 .wc-strip-feat-chk { background: rgba(11,42,107,0.10);   color: var(--c-primary); }

/* ─── Manifesto: 4-col philosophy on navy ───────── */
.wc-manifesto-section {
  background: var(--c-primary);
  padding: var(--section-pad) 0;
  position: relative;
  overflow: hidden;
}
.wc-manifesto-section::after {
  content: '';
  position: absolute;
  bottom: -60px; right: -60px;
  width: 320px; height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(26,184,137,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.wc-manifesto-hdr { text-align: center; margin-bottom: 48px; }
.wc-manifesto-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: rgba(255,255,255,0.08);
  border-radius: var(--r-lg);
  overflow: hidden;
}
.wc-manifesto-item {
  background: var(--c-primary);
  padding: 40px 32px;
  transition: background .3s ease;
}
.wc-manifesto-item:hover { background: rgba(255,255,255,0.06); }
.wc-manifesto-num {
  font-family: var(--f-display);
  font-size: 11px; font-weight: 800;
  text-transform: uppercase; letter-spacing: 2px;
  color: var(--c-secondary); margin-bottom: 20px; display: block;
}
.wc-manifesto-title {
  font-family: var(--f-head);
  font-size: 17px; font-weight: 700;
  color: #fff; line-height: 1.3; margin-bottom: 12px;
}
.wc-manifesto-body { font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.68; margin: 0; }

/* ─── Who We Help: sticky + identification cards ─── */
.wc-forwhom-section { background: var(--c-bg-alt); }
.wc-forwhom-wrap {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 72px;
  align-items: start;
}
.wc-forwhom-left { position: sticky; top: calc(var(--header-h) + 40px); }
.wc-forwhom-eyebrow { margin-bottom: 16px; }
.wc-forwhom-title {
  font-family: var(--f-head);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 700; color: var(--c-ink);
  line-height: 1.2; margin-bottom: 16px;
}
.wc-forwhom-body { font-size: 15px; color: var(--c-muted); line-height: 1.68; margin-bottom: 28px; }
.wc-forwhom-cards { display: flex; flex-direction: column; gap: 16px; }
.wc-forwhom-card {
  background: var(--c-bg);
  border-radius: var(--r-md);
  padding: 24px 28px;
  display: flex; gap: 18px; align-items: flex-start;
  border-left: 3px solid var(--c-border);
  transition: border-color .25s ease, box-shadow .25s ease;
}
.wc-forwhom-card:nth-child(1):hover { border-left-color: var(--c-secondary); box-shadow: var(--s-sm); }
.wc-forwhom-card:nth-child(2)       { border-left-color: rgba(30,95,216,0.25); }
.wc-forwhom-card:nth-child(2):hover { border-left-color: var(--c-mid); box-shadow: var(--s-sm); }
.wc-forwhom-card:nth-child(3)       { border-left-color: rgba(11,42,107,0.18); }
.wc-forwhom-card:nth-child(3):hover { border-left-color: var(--c-primary); box-shadow: var(--s-sm); }
.wc-forwhom-card:nth-child(4)       { border-left-color: rgba(26,184,137,0.2); }
.wc-forwhom-card:nth-child(4):hover { border-left-color: var(--c-secondary); box-shadow: var(--s-sm); }
.wc-fw-icon {
  width: 44px; height: 44px; border-radius: var(--r-sm);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.wc-forwhom-card:nth-child(1) .wc-fw-icon { background: rgba(26,184,137,0.1);  color: var(--c-secondary); }
.wc-forwhom-card:nth-child(2) .wc-fw-icon { background: rgba(30,95,216,0.09);  color: var(--c-mid); }
.wc-forwhom-card:nth-child(3) .wc-fw-icon { background: rgba(11,42,107,0.08);  color: var(--c-primary); }
.wc-forwhom-card:nth-child(4) .wc-fw-icon { background: rgba(26,184,137,0.1);   color: var(--c-secondary); }
.wc-fw-body h3 {
  font-family: var(--f-head);
  font-size: 16px; font-weight: 700;
  color: var(--c-ink); margin: 0 0 6px;
}
.wc-fw-body p { font-size: 14px; color: var(--c-muted); line-height: 1.68; margin: 0; }

/* ─── Wellness Responsive ─────────────────────────── */
@media (max-width: 1024px) {
  .wc-strip-content    { padding: 48px 44px; }
  .wc-manifesto-grid   { grid-template-columns: 1fr 1fr; }
  .wc-forwhom-wrap     { gap: 48px; }
}
@media (max-width: 768px) {
  .wc-strip            { grid-template-columns: 1fr; min-height: auto; }
  .wc-strip--alt .wc-strip-img     { order: 0; }
  .wc-strip--alt .wc-strip-content { order: 0; }
  .wc-strip-img        { min-height: 280px; }
  .wc-strip-content    { padding: 36px 28px; }
  .wc-manifesto-grid   { grid-template-columns: 1fr 1fr; }
  .wc-forwhom-wrap     { grid-template-columns: 1fr; gap: 40px; }
  .wc-forwhom-left     { position: static; }
}
@media (max-width: 480px) {
  .wc-manifesto-grid   { grid-template-columns: 1fr; }
  .wc-strip-content    { padding: 28px 20px; }
}

/* ─── Service Cards: 3-col grid ─────────────────────────── */
.wc-svc-section { background: var(--c-bg-alt); padding: 100px 0; }
.wc-svc-intro { max-width: 580px; margin: 0 auto 56px; text-align: center; }
.wc-svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  align-items: start;
}
.wc-svc-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 14px rgba(0,0,0,0.07);
  transition: transform .3s, box-shadow .3s;
}
.wc-svc-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 44px rgba(11,42,107,0.12);
}
.wc-svc-img-wrap {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.wc-svc-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  transition: transform .6s ease;
}
.wc-svc-card:hover .wc-svc-img-wrap img { transform: scale(1.06); }
.wc-svc-pill {
  position: absolute; top: 14px; left: 14px;
  font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: #fff; padding: 5px 11px; border-radius: 20px;
  backdrop-filter: blur(6px);
}
.wc-svc-card--1 .wc-svc-pill { background: rgba(11,42,107,0.80); }
.wc-svc-card--2 .wc-svc-pill { background: rgba(30,95,216,0.82); }
.wc-svc-card--3 .wc-svc-pill { background: rgba(26,184,137,0.85); }
.wc-svc-num {
  position: absolute; bottom: 10px; right: 14px;
  font-family: var(--f-display); font-size: 72px; font-weight: 800;
  color: rgba(255,255,255,0.22); line-height: 1;
  user-select: none; pointer-events: none;
}
.wc-svc-body { padding: 28px 28px 32px; }
.wc-svc-title {
  font-family: var(--f-head); font-size: 18px; font-weight: 700;
  color: var(--c-ink); line-height: 1.3; margin: 0 0 10px;
}
.wc-svc-desc { font-size: 13.5px; color: var(--c-muted); line-height: 1.7; margin: 0 0 20px; }
.wc-svc-feats {
  list-style: none; padding: 0; margin: 0 0 24px;
  display: flex; flex-direction: column; gap: 8px;
}
.wc-svc-feat {
  display: flex; align-items: flex-start; gap: 9px;
  font-size: 13px; color: var(--c-body); line-height: 1.55;
}
.wc-svc-dot {
  width: 5px; height: 5px; border-radius: 50%; flex-shrink: 0; margin-top: 7px;
}
.wc-svc-card--1 .wc-svc-dot { background: var(--c-primary); }
.wc-svc-card--2 .wc-svc-dot { background: var(--c-mid); }
.wc-svc-card--3 .wc-svc-dot { background: var(--c-secondary); }
.wc-svc-link {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 13px; font-weight: 600; text-decoration: none;
  transition: gap .2s;
}
.wc-svc-card--1 .wc-svc-link { color: var(--c-primary); }
.wc-svc-card--2 .wc-svc-link { color: var(--c-mid); }
.wc-svc-card--3 .wc-svc-link { color: var(--c-secondary); }
.wc-svc-link:hover { gap: 10px; }
@media (max-width: 900px) {
  .wc-svc-grid { grid-template-columns: 1fr 1fr; }
  .wc-svc-card--3 { grid-column: span 2; }
  .wc-svc-card--3 .wc-svc-img-wrap { aspect-ratio: 16 / 7; }
}
@media (max-width: 580px) {
  .wc-svc-section { padding: 64px 0; }
  .wc-svc-grid { grid-template-columns: 1fr; }
  .wc-svc-card--3 { grid-column: span 1; }
  .wc-svc-card--3 .wc-svc-img-wrap { aspect-ratio: 4 / 3; }
}

/* ─── Hero override: landscape banner image ─────────── */
/* Keep default grid alignment - just fix image display  */
.wc-hero .sr-hero-text {
  justify-content: center;
}

/* Specialism pill badges */
.wc-hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.wc-hero-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
  font-family: var(--f-head);
  letter-spacing: 0.02em;
  border: 1px solid;
}
.wc-hero-pill-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  flex-shrink: 0;
}
.wc-hero-pill--1 {
  background: rgba(26,184,137,0.10);
  color: var(--c-secondary);
  border-color: rgba(26,184,137,0.30);
}
.wc-hero-pill--1 .wc-hero-pill-dot { background: var(--c-secondary); }
.wc-hero-pill--2 {
  background: rgba(30,95,216,0.09);
  color: var(--c-mid);
  border-color: rgba(30,95,216,0.25);
}
.wc-hero-pill--2 .wc-hero-pill-dot { background: var(--c-mid); }
.wc-hero-pill--3 {
  background: rgba(11,42,107,0.08);
  color: var(--c-primary);
  border-color: rgba(11,42,107,0.20);
}
.wc-hero-pill--3 .wc-hero-pill-dot { background: var(--c-primary); }
/* Reposition badges to sit on the image frame corners */
.wc-hero .ab-badge-tl { top: 16px;  left: 16px; }
.wc-hero .ab-badge-br { bottom: 16px; right: 16px; }

.wc-hero .sr-hero-visual {
  position: relative;
  height: auto;
  display: flex;
  align-items: center;
}

/* Corner bracket: top-left */
.wc-hero .sr-hero-visual::before {
  content: '';
  position: absolute;
  top: -10px;
  left: -10px;
  width: 52px;
  height: 52px;
  border-top: 3px solid var(--c-secondary);
  border-left: 3px solid var(--c-secondary);
  border-radius: 10px 0 0 0;
  z-index: 4;
  pointer-events: none;
}
/* Corner bracket: bottom-right */
.wc-hero .sr-hero-visual::after {
  content: '';
  position: absolute;
  bottom: -10px;
  right: -10px;
  width: 52px;
  height: 52px;
  border-bottom: 3px solid var(--c-mid);
  border-right: 3px solid var(--c-mid);
  border-radius: 0 0 10px 0;
  z-index: 4;
  pointer-events: none;
}

.wc-hero .sr-hero-img-frame {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  border-radius: 20px;
  box-shadow: 0 6px 36px rgba(11,42,107,0.14), 0 1px 4px rgba(11,42,107,0.08);
  background: var(--c-bg-alt);
  -webkit-mask-image: none;
  mask-image: none;
  overflow: hidden;
}
.wc-hero .sr-hero-img-frame img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  display: block;
}
.wc-hero .sr-hero-img-accent { display: none; }

@media (max-width: 768px) {
  /* Restore mobile height — specificity (0,2,0) needed to beat base .wc-hero rule */
  .wc-hero .sr-hero-visual { height: 320px; }
  .wc-hero .sr-hero-visual::before { top: -6px; left: -6px; width: 36px; height: 36px; }
  .wc-hero .sr-hero-visual::after  { bottom: -6px; right: -6px; width: 36px; height: 36px; }
  /* Fill the 320px container height; drop aspect-ratio so it doesn't fight */
  .wc-hero .sr-hero-img-frame { border-radius: 14px; aspect-ratio: unset; height: 100%; }
}
@media (max-width: 600px) {
  .wc-hero .sr-hero-visual { height: 240px; }
}

/* ═══════════════════════════════════════════════════════════
   33. hc- — HOME CARE PHYSIOTHERAPY PAGE
   ═══════════════════════════════════════════════════════════ */

/* Section 2: What We Bring - 3-col numbered cards + footer bar */
.hc-brings-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 24px;
}
.hc-brings-card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: 40px 36px;
  position: relative;
  transition: box-shadow .3s, transform .3s;
}
.hc-brings-card:hover {
  box-shadow: 0 16px 48px rgba(11,42,107,0.10);
  transform: translateY(-4px);
}
.hc-brings-num {
  font-family: var(--f-display);
  font-size: 56px;
  font-weight: 800;
  color: rgba(11,42,107,0.07);
  line-height: 1;
  margin-bottom: 16px;
  letter-spacing: -2px;
}
.hc-brings-title {
  font-family: var(--f-head);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 12px;
}
.hc-brings-body {
  font-family: var(--f-body);
  font-size: 0.9rem;
  color: var(--c-body);
  line-height: 1.68;
  margin: 0 0 20px;
}
.hc-brings-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hc-brings-list li {
  font-family: var(--f-body);
  font-size: 0.85rem;
  color: var(--c-muted);
  padding-left: 20px;
  position: relative;
}
.hc-brings-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--c-secondary);
  opacity: 0.7;
}
.hc-brings-footer {
  background: var(--c-primary);
  border-radius: var(--r-lg);
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.hc-brings-footer-text { flex: 1; }
.hc-brings-footer-label {
  font-family: var(--f-display);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-secondary);
  margin: 0 0 6px;
}
.hc-brings-footer-desc {
  font-family: var(--f-body);
  font-size: 0.95rem;
  color: rgba(255,255,255,0.8);
  margin: 0;
  max-width: 600px;
  line-height: 1.6;
}

/* Section 3: How It Works - 2x2 ghost-number grid */
.hc-process-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.hc-process-card {
  background: #fff;
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  padding: 44px 40px 40px;
  position: relative;
  overflow: hidden;
  transition: box-shadow .3s;
}
.hc-process-card:hover { box-shadow: 0 16px 48px rgba(11,42,107,0.10); }
.hc-process-ghost {
  position: absolute;
  top: -8px;
  right: 20px;
  font-family: var(--f-display);
  font-size: 120px;
  font-weight: 900;
  line-height: 1;
  color: rgba(11,42,107,0.04);
  pointer-events: none;
  user-select: none;
  letter-spacing: -4px;
}
.hc-process-card--accent .hc-process-ghost { color: rgba(255,255,255,0.06); }
.hc-process-card--navy .hc-process-ghost   { color: rgba(255,255,255,0.06); }
.hc-process-card--teal .hc-process-ghost   { color: rgba(255,255,255,0.06); }
.hc-process-card--accent { background: var(--c-bg-alt); border-color: var(--c-border); }
.hc-process-card--teal   { background: var(--c-secondary); border-color: transparent; }
.hc-process-card--navy   { background: var(--c-primary); border-color: transparent; }
.hc-process-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--r-sm);
  background: rgba(11,42,107,0.07);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-primary);
  margin-bottom: 20px;
}
.hc-process-card--teal .hc-process-icon,
.hc-process-card--navy .hc-process-icon {
  background: rgba(255,255,255,0.15);
  color: #fff;
}
.hc-process-title {
  font-family: var(--f-head);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 12px;
}
.hc-process-card--teal .hc-process-title,
.hc-process-card--navy .hc-process-title { color: #fff; }
.hc-process-body {
  font-family: var(--f-body);
  font-size: 0.9rem;
  color: var(--c-body);
  line-height: 1.68;
  margin: 0;
  position: relative;
  z-index: 1;
}
.hc-process-card--teal .hc-process-body { color: rgba(255,255,255,0.88); }
.hc-process-card--navy .hc-process-body { color: rgba(255,255,255,0.78); }

/* Section 4: Conditions - dark navy split layout */
.hc-cond-section {
  background: var(--c-primary);
  padding: var(--section-pad) 0;
  position: relative;
  overflow: hidden;
}
.hc-cond-section::before {
  content: '';
  position: absolute;
  top: -120px;
  left: -120px;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(26,184,137,0.12) 0%, transparent 70%);
  pointer-events: none;
}
.hc-cond-wrap {
  display: grid;
  grid-template-columns: 1fr 1.5fr;
  gap: 80px;
  align-items: start;
}
.hc-cond-super {
  font-family: var(--f-display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--c-secondary);
  margin-bottom: 16px;
}
.hc-cond-big {
  font-family: var(--f-display);
  font-size: clamp(3rem, 6vw, 5.5rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.05;
  letter-spacing: -2px;
  margin-bottom: 28px;
}
.hc-cond-sub {
  font-family: var(--f-body);
  font-size: 0.95rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.7;
  margin: 0 0 36px;
}
.hc-cond-count {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.hc-cond-count-num {
  font-family: var(--f-display);
  font-size: 3rem;
  font-weight: 900;
  color: var(--c-secondary);
  line-height: 1;
}
.hc-cond-count-label {
  font-family: var(--f-body);
  font-size: 0.85rem;
  color: rgba(255,255,255,0.55);
  line-height: 1.4;
  max-width: 140px;
}
.hc-cond-left { display: flex; flex-direction: column; }
.hc-cond-right {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.hc-cond-group {}
.hc-cond-group-label {
  font-family: var(--f-display);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.4);
  margin: 0 0 10px;
}
.hc-cond-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.hc-tag {
  font-family: var(--f-body);
  font-size: 0.82rem;
  color: rgba(255,255,255,0.85);
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 100px;
  padding: 6px 14px;
  transition: background .2s, border-color .2s;
  cursor: default;
}
.hc-tag:hover {
  background: rgba(26,184,137,0.15);
  border-color: rgba(26,184,137,0.4);
}

/* Section 6: The Home Advantage - 3 tall panels */
.hc-adv-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.hc-adv-panel {
  border-radius: var(--r-lg);
  padding: 44px 36px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.hc-adv-panel--light { background: #fff; border: 1px solid var(--c-border); }
.hc-adv-panel--navy  { background: var(--c-primary); }
.hc-adv-panel--teal  { background: var(--c-secondary); }
.hc-adv-icon-wrap {
  width: 56px;
  height: 56px;
  border-radius: var(--r-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
.hc-adv-icon-wrap--blue  { background: rgba(11,42,107,0.08); color: var(--c-primary); }
.hc-adv-icon-wrap--white { background: rgba(255,255,255,0.15); color: #fff; }
.hc-adv-stat {
  font-family: var(--f-display);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--c-secondary);
  margin-bottom: 10px;
}
.hc-adv-panel--teal .hc-adv-stat { color: rgba(255,255,255,0.7); }
.hc-adv-title {
  font-family: var(--f-head);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--c-ink);
  margin: 0 0 14px;
  line-height: 1.35;
}
.hc-adv-panel--navy .hc-adv-title,
.hc-adv-panel--teal .hc-adv-title { color: #fff; }
.hc-adv-body {
  font-family: var(--f-body);
  font-size: 0.88rem;
  color: var(--c-body);
  line-height: 1.7;
  margin: 0 0 24px;
  flex: 1;
}
.hc-adv-panel--navy .hc-adv-body { color: rgba(255,255,255,0.72); }
.hc-adv-panel--teal .hc-adv-body { color: rgba(255,255,255,0.85); }
.hc-adv-proof {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding-top: 20px;
  border-top: 1px solid var(--c-border);
  margin-top: auto;
}
.hc-adv-panel--navy .hc-adv-proof,
.hc-adv-panel--teal .hc-adv-proof { border-top-color: rgba(255,255,255,0.15); }
.hc-adv-proof span {
  font-family: var(--f-body);
  font-size: 0.82rem;
  color: var(--c-muted);
  line-height: 1.4;
}
.hc-adv-panel--navy .hc-adv-proof span { color: rgba(255,255,255,0.6); }
.hc-adv-panel--teal .hc-adv-proof span { color: rgba(255,255,255,0.8); }

/* Section 7: Who We Visit - dark 2x2 grid */
.hc-who-section {
  background: linear-gradient(160deg, #0d2d6b 0%, #0a2458 50%, #0B2A6B 100%);
  padding: var(--section-pad) 0;
}
.hc-who-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}
.hc-who-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: var(--r-lg);
  padding: 40px 36px;
  transition: background .3s, border-color .3s, transform .3s;
}
.hc-who-card:hover {
  background: rgba(255,255,255,0.08);
  border-color: rgba(26,184,137,0.3);
  transform: translateY(-3px);
}
.hc-who-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--r-sm);
  background: rgba(26,184,137,0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--c-secondary);
  margin-bottom: 20px;
}
.hc-who-title {
  font-family: var(--f-head);
  font-size: 1.1rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 12px;
}
.hc-who-body {
  font-family: var(--f-body);
  font-size: 0.88rem;
  color: rgba(255,255,255,0.65);
  line-height: 1.7;
  margin: 0 0 20px;
}
.hc-who-tag {
  font-family: var(--f-display);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  color: var(--c-secondary);
  opacity: 0.8;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .hc-brings-grid    { grid-template-columns: 1fr 1fr; }
  .hc-cond-wrap      { grid-template-columns: 1fr; gap: 48px; }
  .hc-cond-big       { font-size: clamp(2.5rem, 8vw, 4rem); }
}
@media (max-width: 768px) {
  .hc-brings-grid    { grid-template-columns: 1fr; }
  .hc-brings-footer  { flex-direction: column; align-items: flex-start; gap: 20px; padding: 28px 24px; }
  .hc-process-grid   { grid-template-columns: 1fr; }
  .hc-process-ghost  { font-size: 80px; }
  .hc-adv-grid       { grid-template-columns: 1fr; }
  .hc-who-grid       { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .hc-brings-card    { padding: 28px 24px; }
  .hc-process-card   { padding: 32px 24px; }
  .hc-adv-panel      { padding: 32px 24px; }
  .hc-who-card       { padding: 28px 24px; }
  .hc-cond-big       { font-size: 2.8rem; }
}

/* ═══════════════════════════════════════════════════════════
   34. sm- — SERVICES MOSAIC PAGE
   ═══════════════════════════════════════════════════════════ */

/* ── Category separator pill ───────────────────────────── */
.sv-sep {
  display: flex; align-items: center; gap: 16px;
  margin: 72px 0 32px;
}
.sv-sep-line { flex: 1; height: 1px; background: var(--c-border); }
.sv-sep-label {
  font-family: var(--f-head); font-size: 10.5px; font-weight: 700;
  letter-spacing: 1.5px; text-transform: uppercase; color: var(--c-muted);
  padding: 5px 14px; border: 1px solid var(--c-border); border-radius: 100px;
  background: var(--c-frost); white-space: nowrap;
}

/* ── Grid rows ──────────────────────────────────────────── */
.sm-row {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
}
.sm-row--2-1   { grid-template-columns: 2fr 1fr; }
.sm-row--1-1   { grid-template-columns: 1fr 1fr; }
.sm-row--1-1-1 { grid-template-columns: 1fr 1fr 1fr; }

/* ── Base image card ────────────────────────────────────── */
.sm-card {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  display: block;
  text-decoration: none;
  background: #0d1f3c;
  margin-bottom: 0;
}
/* Gradient overlay via pseudo-element */
.sm-card::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(6,17,44,0.97) 0%,
    rgba(6,25,46,0.90) 28%,
    rgba(7,58,62,0.68) 50%,
    rgba(26,184,137,0.22) 70%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 1;
  transition: background 0.45s ease;
}
.sm-card:hover::after {
  background: linear-gradient(
    to top,
    rgba(6,17,44,0.99) 0%,
    rgba(6,25,46,0.94) 30%,
    rgba(7,58,62,0.78) 54%,
    rgba(26,184,137,0.32) 72%,
    transparent 100%
  );
}
/* Photo */
.sm-card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.65s cubic-bezier(0.25, 0.46, 0.45, 0.94),
              filter 0.65s ease;
  will-change: transform;
}
.sm-card:hover .sm-card-img {
  transform: scale(1.06);
  filter: brightness(1.07);
}
/* Content anchored to bottom */
.sm-card-content {
  position: relative;
  z-index: 2;
  padding: 32px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

/* ── Card text elements ─────────────────────────────────── */
.sm-card-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--f-head);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #3DFFC8;
  margin-bottom: 10px;
  text-shadow: 0 1px 10px rgba(0,0,0,0.5);
}
.sm-card-eyebrow::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 1.5px;
  background: #3DFFC8;
  border-radius: 2px;
  flex-shrink: 0;
}
.sm-card-title {
  font-family: var(--f-display);
  font-weight: 800;
  color: #fff;
  line-height: 1.15;
  letter-spacing: -0.022em;
  margin-bottom: 10px;
  text-shadow: 0 2px 16px rgba(0,0,0,0.55);
}
.sm-card--featured .sm-card-title,
.sm-card--full    .sm-card-title { font-size: clamp(24px, 2.4vw, 36px); }
.sm-card--side    .sm-card-title,
.sm-card--half    .sm-card-title { font-size: clamp(18px, 1.8vw, 24px); }
.sm-card--third   .sm-card-title { font-size: clamp(16px, 1.5vw, 20px); }

.sm-card-desc {
  font-family: var(--f-head);
  font-size: 13.5px;
  color: rgba(255,255,255,0.88);
  line-height: 1.68;
  margin-bottom: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-shadow: 0 1px 8px rgba(0,0,0,0.45);
}
.sm-card--full .sm-card-desc {
  -webkit-line-clamp: unset;
  overflow: visible;
  max-width: 560px;
}
.sm-card--third .sm-card-desc { display: none; }

.sm-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-bottom: 20px;
}
.sm-card-tag {
  font-family: var(--f-head);
  font-size: 11px;
  font-weight: 600;
  color: rgba(255,255,255,0.92);
  background: rgba(26,184,137,0.18);
  border: 1px solid rgba(26,184,137,0.35);
  border-radius: 6px;
  padding: 4px 11px;
  text-shadow: 0 1px 6px rgba(0,0,0,0.4);
}

.sm-card-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--f-head);
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0,0,0,0.5);
  transition: gap 0.2s ease, color 0.2s ease;
}
.sm-card:hover .sm-card-link { gap: 11px; color: #3DFFC8; }
.sm-card-link svg { flex-shrink: 0; }

/* ── Card height variants ───────────────────────────────── */
.sm-card--featured { height: 460px; }
.sm-card--side     { height: 460px; }
.sm-card--half     { height: 300px; }
.sm-card--full     { height: 400px; }
.sm-card--third    { height: 280px; }

/* ── Flagship badge ─────────────────────────────────────── */
.sm-card-badge {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(6,15,42,0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(0,212,255,0.28);
  border-radius: 100px;
  padding: 6px 14px;
  font-family: var(--f-head);
  font-size: 10.5px;
  font-weight: 700;
  color: #00D4FF;
  letter-spacing: 0.9px;
  text-transform: uppercase;
}
.sm-card-badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00D4FF;
  box-shadow: 0 0 8px #00D4FF;
  flex-shrink: 0;
}

/* ── STRIP CARD (horizontal — image + content side by side) */
.sm-strip {
  display: grid;
  grid-template-columns: 400px 1fr;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--c-border);
  margin-bottom: 12px;
  min-height: 230px;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.sm-strip:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 56px rgba(11,42,107,0.10);
}
.sm-strip--flip { grid-template-columns: 1fr 400px; }

.sm-strip-img {
  position: relative;
  overflow: hidden;
}
.sm-strip-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s ease;
}
.sm-strip:hover .sm-strip-img img { transform: scale(1.05); }

.sm-strip-body {
  padding: 40px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.sm-strip-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: var(--f-head);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--c-secondary);
  margin-bottom: 12px;
}
.sm-strip-eyebrow::before {
  content: '';
  display: inline-block;
  width: 16px;
  height: 1.5px;
  background: var(--c-secondary);
  border-radius: 2px;
}
.sm-strip-title {
  font-family: var(--f-display);
  font-size: clamp(20px, 2vw, 28px);
  font-weight: 800;
  color: var(--c-ink);
  letter-spacing: -0.022em;
  line-height: 1.2;
  margin-bottom: 10px;
}
.sm-strip-desc {
  font-family: var(--f-body);
  font-size: 14px;
  color: var(--c-muted);
  line-height: 1.7;
  margin-bottom: 24px;
}
.sm-strip-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  font-family: var(--f-head);
  font-size: 13.5px;
  font-weight: 700;
  color: var(--c-mid);
  padding: 11px 22px;
  border-radius: 10px;
  background: rgba(30,95,216,0.06);
  border: 1px solid rgba(30,95,216,0.14);
  transition: background 0.25s, border-color 0.25s, gap 0.2s;
}
.sm-strip-link:hover {
  background: rgba(30,95,216,0.11);
  border-color: rgba(30,95,216,0.26);
  gap: 12px;
}

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1024px) {
  .sm-row--2-1        { grid-template-columns: 3fr 2fr; }
  .sm-card--featured  { height: 400px; }
  .sm-card--side      { height: 400px; }
  .sm-card--half      { height: 280px; }
  .sm-card--full      { height: 360px; }
  .sm-card--third     { height: 260px; }
  .sm-strip           { grid-template-columns: 320px 1fr; }
  .sm-strip--flip     { grid-template-columns: 1fr 320px; }
}
@media (max-width: 768px) {
  .sm-row--2-1        { grid-template-columns: 1fr; }
  .sm-row--1-1        { grid-template-columns: 1fr; }
  .sm-row--1-1-1      { grid-template-columns: 1fr 1fr; }
  .sm-card--featured  { height: 380px; }
  .sm-card--side      { height: 280px; }
  .sm-card--half      { height: 260px; }
  .sm-card--full      { height: 320px; }
  .sm-card--third     { height: 240px; }
  .sm-card--third .sm-card-desc { display: none; }
  .sm-card-content    { padding: 24px; }
  .sm-strip           { grid-template-columns: 1fr; min-height: auto; }
  .sm-strip--flip     { grid-template-columns: 1fr; }
  .sm-strip-img       { height: 210px; }
  .sm-strip-body      { padding: 28px 28px; }
  .sv-sep             { margin: 52px 0 28px; }
}
@media (max-width: 480px) {
  .sm-row--1-1-1      { grid-template-columns: 1fr; }
  .sm-card--featured  { height: 340px; }
  .sm-card--side      { height: 260px; }
  .sm-card--half      { height: 240px; }
  .sm-card--full      { height: 280px; }
  .sm-card--third     { height: 220px; }
  .sm-strip-body      { padding: 24px 20px; }
}


/* ══════════════════════════════════════════════════════
   30. ACCESSIBILITY
   ══════════════════════════════════════════════════════ */

/* ─── Skip-to-content link ─────────────────────────── */
.skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 9999;
  padding: 10px 20px;
  background: var(--c-primary);
  color: #fff;
  font-family: var(--f-head);
  font-size: 14px;
  font-weight: 600;
  border-radius: 0 0 8px 8px;
  text-decoration: none;
  transition: top 0.2s;
}
.skip-link:focus { top: 0; }

/* ─── Focus-visible ring ───────────────────────────── */
/* Global: remove default outline, add custom ring on keyboard focus only */
:focus { outline: none; }
:focus-visible {
  outline: 3px solid var(--c-secondary);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Buttons — inherit rounded shape */
.btn:focus-visible {
  outline: 3px solid var(--c-secondary);
  outline-offset: 3px;
  border-radius: var(--r-sm);
}

/* Nav links */
.nav-link:focus-visible,
.mega-item:focus-visible,
.mobile-nav-link:focus-visible,
.mobile-sub-link:focus-visible {
  outline: 3px solid var(--c-secondary);
  outline-offset: 3px;
  border-radius: 4px;
}

/* Featured pill — match pill shape */
.nav-link--featured:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
  border-radius: 100px;
}

/* Floating action buttons */
.float-wa:focus-visible,
.scroll-top:focus-visible {
  outline: 3px solid var(--c-secondary);
  outline-offset: 4px;
  border-radius: 50%;
}

/* Menu toggle */
.menu-toggle:focus-visible {
  outline: 3px solid var(--c-secondary);
  outline-offset: 4px;
  border-radius: 6px;
}

/* Form inputs (supplement existing border focus) */
.ct-input:focus-visible,
.ct-select:focus-visible,
.ct-textarea:focus-visible {
  outline: 2px solid var(--c-mid);
  outline-offset: 0;
}

/* ─── Reduced-motion ───────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  /* Stop all CSS animations & transitions */
  *, *::before, *::after {
    animation-duration:      0.01ms !important;
    animation-iteration-count: 1    !important;
    transition-duration:     0.01ms !important;
    scroll-behavior:         auto   !important;
  }

  /* Reveal elements immediately — no invisible flash */
  .fade-up, .fade-in, .slide-left, .slide-right {
    opacity: 1;
    transform: none;
  }
}
