/* ===========================
   SWASYAA PRIME — style.css
   Clinical Luxury Design
   =========================== */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400&family=Jost:wght@300;400;500;600;700&display=swap');

/* ── Variables ──────────────────────────────── */
:root {
  color-scheme: light;
  --primary:       #1B4F9B;
  --primary-dark:  #0F2E6B;
  --primary-light: #2B6CC9;
  --sky:           #6AAEE0;
  --sky-light:     #EAF4FD;
  --gold:          #C9A040;
  --gold-light:    #F5E6C0;
  --green:         #3BA86E;
  --text-dark:     #0D1B3E;
  --text-mid:      #3D4F6E;
  --text-light:    #5F718D;        /* AA: 5.0:1 on white (was #7A8BA8 = 3.7:1) */
  --white:         #FFFFFF;
  --off-white:     #F7FAFD;
  --border:        #D9E8F5;
  /* Multi-layer elevation (ambient + key) for a premium, soft feel */
  --shadow-sm:     0 1px 2px rgba(15,46,107,.06), 0 2px 8px rgba(15,46,107,.05);
  --shadow-md:     0 2px 6px rgba(15,46,107,.08), 0 12px 28px rgba(15,46,107,.10);
  --shadow-lg:     0 4px 12px rgba(15,46,107,.10), 0 24px 64px rgba(15,46,107,.16);
  --radius:        16px;
  --radius-sm:     10px;
  --transition:    all .35s cubic-bezier(.4,0,.2,1);
  --ease-spring:   cubic-bezier(.34,1.56,.64,1);
  --focus-ring:    0 0 0 3px rgba(201,160,64,.45);
}

/* ── Reset ──────────────────────────────────── */
*,*::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:'Jost',sans-serif;
  color:var(--text-dark);
  background:var(--white);
  overflow-x:hidden;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
  font-feature-settings:'kern','liga','calt';
}
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
ul { list-style:none; }
button { cursor:pointer; font-family:'Jost',sans-serif; }

/* ── Accessibility: skip link ──────────────── */
.skip-link {
  position:absolute; left:0; top:-100px;
  background:var(--primary); color:var(--white);
  padding:14px 22px; border-radius:0 0 12px 0;
  font-weight:600; font-size:.95rem;
  z-index:2000;
  transition:top .25s ease;
}
.skip-link:focus-visible {
  top:0;
  box-shadow:var(--shadow-md);
}

/* ── Accessibility: focus rings ────────────── */
:focus { outline:none; }
:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:4px;
}
.btn:focus-visible,
.nav-btn:focus-visible {
  outline:none;
  box-shadow:var(--focus-ring), 0 4px 20px rgba(27,79,155,.35);
}

/* ── Sticky-nav anchor offset ──────────────── */
section[id] { scroll-margin-top:96px; }

/* ── Reduced motion ────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
}

/* ── Typography ─────────────────────────────── */
.display { font-family:'Cormorant Garamond',serif; }
h1,h2,h3 {
  font-family:'Cormorant Garamond',serif;
  line-height:1.12;
  letter-spacing:-0.01em;
  font-feature-settings:'kern','liga','dlig','ss01';
}
h1 { font-size:clamp(2.8rem,6vw,5rem); font-weight:600; letter-spacing:-0.02em; }
h2 { font-size:clamp(2rem,4vw,3.2rem);  font-weight:600; letter-spacing:-0.015em; }
h3 { font-size:clamp(1.25rem,2.5vw,1.6rem); font-weight:500; }
p  { font-size:1rem; color:var(--text-mid); max-width:68ch; }

/* Tabular figures for any numeric display */
.stat-num, .hero-ind-num, .carousel-counter { font-variant-numeric:tabular-nums; }

/* ── Utilities ──────────────────────────────── */
.container { width:min(1200px,92%); margin-inline:auto; }
.section    { padding:100px 0; }
.section-sm { padding:64px 0; }

.tag {
  display:inline-flex; align-items:center; gap:6px;
  font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--primary); background:var(--sky-light);
  padding:6px 14px; border-radius:100px;
  margin-bottom:20px;
}
.tag i { font-size:.7rem; }

.section-header { text-align:center; margin-bottom:64px; }
.section-header p { max-width:560px; margin:12px auto 0; font-size:1.05rem; }

/* Buttons */
.btn {
  display:inline-flex; align-items:center; gap:8px;
  min-height:44px;                                    /* touch target */
  font-size:.95rem; font-weight:600; letter-spacing:.02em;
  padding:14px 30px; border-radius:100px;
  border:none;
  transition:background .25s ease,
             color .25s ease,
             border-color .25s ease,
             box-shadow .3s ease,
             transform .2s var(--ease-spring);
  will-change:transform;
}
.btn:active { transform:scale(.97); transition-duration:.08s; }

.btn-primary {
  background:var(--primary); color:var(--white);
  box-shadow:0 4px 20px rgba(27,79,155,.35);
}
.btn-primary:hover {
  background:var(--primary-dark);
  box-shadow:0 8px 28px rgba(27,79,155,.45);
  transform:translateY(-2px);
}
.btn-primary:active {
  transform:translateY(0) scale(.97);
  box-shadow:0 2px 10px rgba(27,79,155,.3);
}
.btn-outline {
  background:transparent; color:var(--white);
  border:2px solid rgba(255,255,255,.5);
}
.btn-outline:hover {
  background:rgba(255,255,255,.12);
  border-color:var(--white);
  transform:translateY(-2px);
}
.btn-gold {
  background:var(--gold); color:var(--white);
  box-shadow:0 4px 20px rgba(201,160,64,.4);
}
.btn-gold:hover {
  background:#b08a2e;
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(201,160,64,.5);
}
.btn-gold:active {
  transform:translateY(0) scale(.97);
  box-shadow:0 2px 10px rgba(201,160,64,.35);
}

/* ── Scroll Reveal ──────────────────────────── */
.reveal {
  opacity:0;
  transform:translateY(40px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal.visible {
  opacity:1;
  transform:translateY(0);
}
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }
.reveal-delay-4 { transition-delay:.4s; }
.reveal-delay-5 { transition-delay:.5s; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NAVBAR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.navbar {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding:14px 0;
  transition:var(--transition);
}
.navbar.scrolled {
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  box-shadow:0 2px 20px rgba(15,46,107,.1);
  padding:10px 0;
}
.navbar-inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:24px;
}
.nav-logo {
  display:flex; align-items:center; gap:14px;
  flex-shrink:0;
}
.nav-logo-img-wrap {
  background:var(--white);
  border-radius:14px;
  box-shadow:0 4px 18px rgba(15,46,107,.22);
  width:64px; height:64px; overflow:hidden; flex-shrink:0;
  transition:var(--transition);
}
.navbar.scrolled .nav-logo-img-wrap {
  width:54px; height:54px;
  border-radius:12px;
  box-shadow:0 2px 10px rgba(15,46,107,.12);
}
.nav-logo-img-wrap img {
  width:100%; height:100%;
  object-fit:contain; padding:6px;
  display:block;
}
.nav-logo-text {
  display:flex; flex-direction:column; gap:2px;
}
.nav-logo-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem; font-weight:700; line-height:1.1;
  color:var(--white); letter-spacing:.02em;
  transition:var(--transition);
}
.navbar.scrolled .nav-logo-name { color:var(--primary); }
.nav-logo-sub {
  font-size:.72rem; font-weight:500; letter-spacing:.09em;
  color:rgba(255,255,255,.7); display:block;
  text-transform:uppercase; transition:var(--transition);
}
.navbar.scrolled .nav-logo-sub { color:var(--text-light); }

.nav-links {
  display:flex; align-items:center; gap:6px;
  flex:1; justify-content:center;
}
.nav-links a {
  font-size:.9rem; font-weight:500;
  color:var(--white);
  padding:10px 14px; border-radius:8px;
  position:relative;
  transition:color .25s ease, background .25s ease;
}
.nav-links a::after {
  content:'';
  position:absolute; left:14px; right:14px; bottom:4px;
  height:2px; border-radius:2px;
  background:var(--gold);
  transform:scaleX(0); transform-origin:left center;
  transition:transform .35s var(--ease-spring);
}
.navbar.scrolled .nav-links a { color:var(--text-dark); }
.nav-links a:hover { color:var(--gold-light); }
.navbar.scrolled .nav-links a:hover { color:var(--primary); }
.nav-links a:hover::after,
.nav-links a.active::after { transform:scaleX(1); }
.nav-links a.active { color:var(--gold-light); }
.navbar.scrolled .nav-links a.active { color:var(--primary); }

.nav-cta { display:flex; align-items:center; gap:12px; }
.nav-phone {
  font-size:.88rem; font-weight:600;
  color:var(--white); display:flex; align-items:center; gap:6px;
}
.navbar.scrolled .nav-phone { color:var(--primary); }
.nav-phone i { font-size:.8rem; }

.nav-btn {
  font-size:.85rem; font-weight:600;
  background:var(--gold); color:var(--white);
  padding:10px 22px; border-radius:100px; border:none;
  transition:var(--transition);
  box-shadow:0 3px 14px rgba(201,160,64,.35);
}
.nav-btn:hover {
  background:#b08a2e; transform:translateY(-1px);
}

.nav-hamburger {
  display:none; flex-direction:column; gap:5px;
  background:none; border:none; padding:4px;
}
.nav-hamburger span {
  display:block; width:24px; height:2px;
  background:var(--white); border-radius:2px; transition:var(--transition);
}
.navbar.scrolled .nav-hamburger span { background:var(--text-dark); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   HERO
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.hero {
  position:relative; min-height:100svh;
  display:flex; align-items:center;
  overflow:hidden;
  background:linear-gradient(135deg, #0A1F5C 0%, #1B4F9B 45%, #2B7CC9 80%, #1a6ba8 100%);
}

/* Mesh overlay */
.hero::before {
  content:'';
  position:absolute; inset:0;
  background:
    radial-gradient(ellipse 70% 80% at 80% 50%, rgba(106,174,224,.15) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 10% 80%, rgba(201,160,64,.1) 0%, transparent 50%);
  z-index:0;
}

/* Floating orbs */
.hero-orb {
  position:absolute; border-radius:50%;
  filter:blur(60px); opacity:.18; z-index:0; pointer-events:none;
}
.hero-orb-1 {
  width:500px; height:500px;
  background:var(--sky);
  top:-100px; right:-100px;
  animation:floatOrb 12s ease-in-out infinite;
}
.hero-orb-2 {
  width:300px; height:300px;
  background:var(--gold);
  bottom:0; left:5%;
  animation:floatOrb 9s ease-in-out infinite reverse;
}
.hero-orb-3 {
  width:200px; height:200px;
  background:var(--green);
  top:40%; left:60%;
  animation:floatOrb 15s ease-in-out infinite;
}

@keyframes floatOrb {
  0%,100% { transform:translate(0,0) scale(1); }
  50%      { transform:translate(30px,-30px) scale(1.1); }
}

/* ECG animated line */
.hero-ecg {
  position:absolute; bottom:0; left:0; right:0; z-index:1;
  opacity:.25; overflow:hidden; height:80px;
}
.hero-ecg svg { width:200%; height:100%; }
.hero-ecg path {
  stroke:#fff; stroke-width:1.5; fill:none;
  stroke-dasharray:1200;
  stroke-dashoffset:1200;
  animation:drawEcg 3s ease forwards .8s, slideEcg 6s linear infinite 3.8s;
}
@keyframes drawEcg {
  to { stroke-dashoffset:0; }
}
@keyframes slideEcg {
  from { transform:translateX(0); }
  to   { transform:translateX(-50%); }
}

/* Grid pattern */
.hero-grid {
  position:absolute; inset:0; z-index:0; opacity:.04;
  background-image:
    linear-gradient(rgba(255,255,255,.5) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.5) 1px, transparent 1px);
  background-size:60px 60px;
}

.hero-content {
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr 1fr;
  gap:60px; align-items:center;
  width:min(1200px,92%); margin-inline:auto;
  padding:140px 0 100px;
}

.hero-left { max-width:600px; }

.hero-logo {
  display:inline-flex; align-items:center; gap:18px;
  margin-bottom:36px;
  animation:heroFadeUp .8s ease forwards;
}
.hero-logo-icon {
  width:76px; height:76px; border-radius:20px;
  overflow:hidden; flex-shrink:0;
  background:var(--white);
  box-shadow:0 6px 24px rgba(0,0,0,.22);
  display:flex; align-items:center; justify-content:center;
}
.hero-logo-icon img {
  width:100%; height:100%;
  object-fit:contain; padding:8px;
  display:block;
}
.hero-logo-info { display:flex; flex-direction:column; gap:3px; }
.hero-logo-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.9rem; font-weight:700; line-height:1.05;
  color:var(--white); letter-spacing:.02em; display:block;
}
.hero-logo-sub {
  font-size:.78rem; font-weight:600; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.65);
  display:block;
}
.hero-logo-tagline {
  font-size:.76rem; font-style:italic;
  color:rgba(255,255,255,.45); display:block; margin-top:1px;
}

.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); background:rgba(201,160,64,.15);
  border:1px solid rgba(201,160,64,.3);
  padding:7px 16px; border-radius:100px; margin-bottom:24px;
  animation:heroFadeUp .8s ease .1s both;
}
.hero-badge i { font-size:.65rem; }

.hero-headline {
  color:var(--white); margin-bottom:8px;
  animation:heroFadeUp .8s ease .2s both;
}
.hero-headline em {
  font-style:italic; color:var(--gold);
}

.hero-sub {
  font-size:1.5rem; font-weight:300;
  font-family:'Cormorant Garamond',serif;
  color:rgba(255,255,255,.8); margin-bottom:24px;
  animation:heroFadeUp .8s ease .25s both;
}

.hero-desc {
  font-size:1.05rem; line-height:1.8;
  color:rgba(255,255,255,.7); margin-bottom:40px;
  animation:heroFadeUp .8s ease .3s both;
}

.hero-actions {
  display:flex; align-items:center; flex-wrap:wrap; gap:16px;
  animation:heroFadeUp .8s ease .4s both;
}

.hero-indicators {
  display:flex; align-items:center; gap:32px;
  margin-top:48px;
  animation:heroFadeUp .8s ease .5s both;
}
.hero-ind-item { text-align:center; }
.hero-ind-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.2rem; font-weight:700; color:var(--white);
  line-height:1;
}
.hero-ind-label {
  font-size:.78rem; font-weight:500; letter-spacing:.05em;
  color:rgba(255,255,255,.6); margin-top:4px;
}
.hero-ind-div {
  width:1px; height:40px;
  background:rgba(255,255,255,.2);
}

.hero-right {
  display:flex; justify-content:center; align-items:center;
  animation:heroFadeUp .9s ease .3s both;
}

.hero-card-stack {
  position:relative; width:400px;
}

.hero-main-card {
  background:rgba(255,255,255,.1);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border:1px solid rgba(255,255,255,.2);
  border-radius:24px;
  padding:36px;
  box-shadow:0 24px 64px rgba(0,0,0,.25);
}
.hero-card-icon {
  width:60px; height:60px; border-radius:16px;
  background:rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
}
.hero-card-icon i { font-size:1.5rem; color:var(--white); }
.hero-card-title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.5rem; font-weight:600; color:var(--white);
  margin-bottom:8px;
}
.hero-card-text { font-size:.9rem; color:rgba(255,255,255,.7); margin-bottom:24px; }
.hero-card-services {
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px;
}
.hero-card-tag {
  font-size:.78rem; font-weight:500;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.85);
  padding:5px 12px; border-radius:100px;
}
.hero-card-btn {
  width:100%; padding:13px;
  background:var(--white); color:var(--primary);
  border:none; border-radius:12px;
  font-weight:700; font-size:.9rem;
  transition:var(--transition);
}
.hero-card-btn:hover { background:var(--sky-light); transform:translateY(-1px); }

/* Trust strip below main card */
.hero-trust-strip {
  display:flex; gap:12px; margin-top:14px;
}
.hero-trust-item {
  flex:1;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-radius:14px;
  padding:14px 16px;
  display:flex; align-items:center; gap:12px;
  box-shadow:0 8px 28px rgba(15,46,107,.18);
}
.hero-trust-icon {
  width:38px; height:38px; border-radius:10px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.hero-trust-icon.blue  { background:#EAF4FD; }
.hero-trust-icon.green { background:#E8F5EE; }
.hero-trust-icon i { font-size:1rem; }
.hero-trust-icon.blue i  { color:var(--primary); }
.hero-trust-icon.green i { color:var(--green); }
.hero-trust-title {
  font-size:.82rem; font-weight:700; color:var(--text-dark); line-height:1.2;
}
.hero-trust-sub {
  font-size:.73rem; color:var(--text-light); margin-top:2px;
}

@keyframes heroFadeUp {
  from { opacity:0; transform:translateY(30px); }
  to   { opacity:1; transform:translateY(0); }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   STATS BAR
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.stats-bar {
  background:var(--white);
  box-shadow:0 4px 30px rgba(15,46,107,.1);
  position:relative; z-index:10;
}
.stats-bar-inner {
  display:grid; grid-template-columns:repeat(4,1fr);
  padding:0;
}
.stat-item {
  padding:36px 20px; text-align:center;
  border-right:1px solid var(--border);
  transition:var(--transition);
}
.stat-item:last-child { border-right:none; }
.stat-item:hover { background:var(--sky-light); }
.stat-num {
  font-family:'Cormorant Garamond',serif;
  font-size:2.8rem; font-weight:700;
  color:var(--primary); line-height:1;
}
.stat-suffix {
  font-size:1.8rem; color:var(--gold);
}
.stat-label {
  font-size:.82rem; font-weight:500; letter-spacing:.04em;
  color:var(--text-light); margin-top:6px;
  text-transform:uppercase;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   ABOUT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.about { background:var(--off-white); }
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center;
}
.about-visual { position:relative; }
.about-img-frame {
  border-radius:24px; overflow:hidden;
  position:relative;
  background:linear-gradient(135deg, var(--sky-light), var(--border));
  aspect-ratio:3/2;
  box-shadow:var(--shadow-lg);
}
.about-img-frame picture,
.about-img-frame img {
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:center 40%;
}
.about-badge-card {
  position:absolute; bottom:24px; right:-24px;
  background:var(--white);
  border-radius:16px; padding:20px 24px;
  box-shadow:var(--shadow-md);
  display:flex; align-items:center; gap:14px;
}
.about-badge-icon {
  width:48px; height:48px; border-radius:12px;
  background:linear-gradient(135deg,var(--primary),var(--sky));
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.about-badge-icon i { color:var(--white); font-size:1.3rem; }
.about-badge-label {
  font-size:.78rem; color:var(--text-light); font-weight:500;
}
.about-badge-val {
  font-family:'Cormorant Garamond',serif;
  font-size:1.4rem; font-weight:700; color:var(--text-dark);
}

.about-text h2 { margin-bottom:20px; }
.about-text > p { margin-bottom:28px; font-size:1.05rem; line-height:1.85; }

.about-values { display:flex; flex-direction:column; gap:18px; margin-bottom:36px; }
.about-value {
  display:flex; align-items:flex-start; gap:16px;
  padding:18px 20px; border-radius:var(--radius-sm);
  background:var(--white);
  border:1px solid var(--border);
  transition:var(--transition);
}
.about-value:hover {
  border-color:var(--sky); box-shadow:var(--shadow-sm);
  transform:translateX(4px);
}
.about-value-icon {
  width:40px; height:40px; border-radius:10px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.about-value-icon.blue  { background:var(--sky-light); }
.about-value-icon.gold  { background:var(--gold-light); }
.about-value-icon.green { background:#E8F5EE; }
.about-value-icon.blue i  { color:var(--primary); }
.about-value-icon.gold i  { color:var(--gold); }
.about-value-icon.green i { color:var(--green); }
.about-value-body h4 {
  font-size:.95rem; font-weight:700; color:var(--text-dark); margin-bottom:2px;
}
.about-value-body p {
  font-size:.88rem; color:var(--text-light); margin:0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   SERVICES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.services { background:var(--white); }
.services-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.service-card {
  background:var(--off-white);
  border:1px solid var(--border);
  border-radius:20px; padding:36px 28px;
  transition:background .3s ease,
             border-color .3s ease,
             box-shadow .35s ease,
             transform .4s var(--ease-spring);
  position:relative; overflow:hidden;
  cursor:default;
  will-change:transform;
}
.service-card::before {
  content:'';
  position:absolute; top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg, var(--primary), var(--sky));
  transform:scaleX(0); transform-origin:left;
  transition:transform .4s ease;
}
.service-card:hover {
  background:var(--white);
  border-color:var(--sky);
  box-shadow:var(--shadow-md);
  transform:translateY(-6px);
}
.service-card:hover::before { transform:scaleX(1); }

.service-icon {
  width:64px; height:64px; border-radius:18px; margin-bottom:24px;
  display:flex; align-items:center; justify-content:center;
  transition:var(--transition);
}
.service-card:hover .service-icon { transform:scale(1.08); }

.service-icon.ic-1 { background:linear-gradient(135deg,#E8F4FD,#D0E8F7); }
.service-icon.ic-2 { background:linear-gradient(135deg,#FEE8E8,#FDD5D5); }
.service-icon.ic-3 { background:linear-gradient(135deg,#F8E8F5,#F0D0EC); }
.service-icon.ic-4 { background:linear-gradient(135deg,#E8F5EE,#D0ECD9); }
.service-icon.ic-5 { background:linear-gradient(135deg,#FFF8E8,#F5ECD0); }
.service-icon.ic-6 { background:linear-gradient(135deg,#E8F0F5,#D0E0EC); }

.service-icon.ic-1 i { color:#2B7CC9; }
.service-icon.ic-2 i { color:#D94040; }
.service-icon.ic-3 i { color:#B03090; }
.service-icon.ic-4 i { color:#2E8B57; }
.service-icon.ic-5 i { color:#C9A040; }
.service-icon.ic-6 i { color:#3B6EA8; }

.service-icon i { font-size:1.6rem; }

.service-card h3 { font-size:1.35rem; margin-bottom:10px; }
.service-card p { font-size:.9rem; color:var(--text-light); line-height:1.7; margin-bottom:20px; }
.service-link {
  font-size:.85rem; font-weight:600; color:var(--primary);
  display:flex; align-items:center; gap:6px;
  transition:var(--transition);
}
.service-card:hover .service-link { gap:10px; }
.service-link i { font-size:.75rem; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   WHY CHOOSE US
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.why {
  background:linear-gradient(160deg, #0A1F5C 0%, #1B4F9B 60%, #2B7CC9 100%);
  position:relative; overflow:hidden;
}
.why::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 60% 70% at 90% 30%, rgba(106,174,224,.12) 0%, transparent 60%);
}
.why-grid {
  position:relative; z-index:1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}
.why-card {
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px; padding:32px 28px;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:var(--transition);
}
.why-card:hover {
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.25);
  transform:translateY(-6px);
  box-shadow:0 20px 40px rgba(0,0,0,.2);
}
.why-icon {
  width:56px; height:56px; border-radius:16px; margin-bottom:20px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.12);
}
.why-icon i { font-size:1.4rem; color:var(--gold); }
.why-card h3 {
  font-size:1.25rem; color:var(--white); margin-bottom:10px;
}
.why-card p { font-size:.9rem; color:rgba(255,255,255,.65); line-height:1.75; }

.why-header .section-header { color:var(--white); }
.why-header .section-header h2 { color:var(--white); }
.why-header .section-header p { color:rgba(255,255,255,.65); }
.why-header .tag { color:var(--gold); background:rgba(201,160,64,.15); border:1px solid rgba(201,160,64,.25); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   DOCTORS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.doctors { background:var(--off-white); }
.doctors-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
}
.doctor-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:20px; overflow:hidden;
  transition:border-color .3s ease,
             box-shadow .35s ease,
             transform .4s var(--ease-spring);
  will-change:transform;
}
.doctor-card:hover {
  border-color:var(--sky); box-shadow:var(--shadow-md);
  transform:translateY(-6px);
}
.doctor-img {
  aspect-ratio:4/3;
  background:linear-gradient(135deg,var(--sky-light) 0%, var(--border) 100%);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
}
.doctor-img::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to bottom, transparent 50%, rgba(27,79,155,.06) 100%);
}
.doctor-img i {
  font-size:5rem; color:var(--primary); opacity:.25;
}
.doctor-body { padding:24px; }
.doctor-specialty {
  font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--primary); margin-bottom:6px;
}
.doctor-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.45rem; font-weight:600; color:var(--text-dark); margin-bottom:8px;
}
.doctor-desc { font-size:.88rem; color:var(--text-light); margin-bottom:18px; }
.doctor-tags { display:flex; flex-wrap:wrap; gap:6px; }
.doctor-tag {
  font-size:.75rem; font-weight:500;
  background:var(--sky-light); color:var(--primary);
  padding:4px 12px; border-radius:100px;
}

/* ── Specialty-grouped doctor layout ───────── */

/* Section summary pill */
.doctors-summary {
  display:flex; align-items:center; justify-content:center;
  gap:14px; margin-top:20px;
}
.doctors-summary span {
  font-size:.9rem; font-weight:500; color:var(--text-mid);
}
.doctors-summary strong { color:var(--primary); }
.ds-div {
  width:5px; height:5px; border-radius:50%;
  background:var(--sky); display:inline-block; flex-shrink:0;
}

/* Group container */
.specialty-group {
  margin-bottom:20px;
  background:var(--white);
  border:1px solid var(--border);
  border-left:4px solid transparent;
  border-radius:20px;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .3s ease;
}
.specialty-group:last-child { margin-bottom:0; }
.specialty-group:hover { box-shadow:var(--shadow-md); }

/* Per-specialty accent colors */
.specialty-group.sg-1 { border-left-color:#2B7CC9; }
.specialty-group.sg-2 { border-left-color:#D94040; }
.specialty-group.sg-3 { border-left-color:#B03090; }
.specialty-group.sg-4 { border-left-color:#2E8B57; }
.specialty-group.sg-5 { border-left-color:#C9A040; }
.specialty-group.sg-6 { border-left-color:#3B6EA8; }
.specialty-group.sg-7 { border-left-color:#6A30C9; }
.specialty-group.sg-8 { border-left-color:#1A9464; }
.specialty-group.sg-9 { border-left-color:#C97030; }

/* Group header */
.specialty-group-header {
  display:flex; align-items:center; gap:16px;
  padding:18px 24px;
  border-bottom:1px solid var(--border);
  background:var(--off-white);
  transition:background .3s ease;
}
/* Per-specialty tinted header backgrounds */
.specialty-group.sg-1 .specialty-group-header { background:linear-gradient(to right,#EBF5FE 0%,var(--off-white) 70%); }
.specialty-group.sg-2 .specialty-group-header { background:linear-gradient(to right,#FEF0F0 0%,var(--off-white) 70%); }
.specialty-group.sg-3 .specialty-group-header { background:linear-gradient(to right,#FAECF6 0%,var(--off-white) 70%); }
.specialty-group.sg-4 .specialty-group-header { background:linear-gradient(to right,#EBF7F1 0%,var(--off-white) 70%); }
.specialty-group.sg-5 .specialty-group-header { background:linear-gradient(to right,#FDF6E8 0%,var(--off-white) 70%); }
.specialty-group.sg-6 .specialty-group-header { background:linear-gradient(to right,#EBF1F8 0%,var(--off-white) 70%); }
.specialty-group.sg-7 .specialty-group-header { background:linear-gradient(to right,#F0EAFC 0%,var(--off-white) 70%); }
.specialty-group.sg-8 .specialty-group-header { background:linear-gradient(to right,#E8F8F2 0%,var(--off-white) 70%); }
.specialty-group.sg-9 .specialty-group-header { background:linear-gradient(to right,#FDF3E8 0%,var(--off-white) 70%); }

/* Group icon */
.specialty-group-icon {
  width:44px; height:44px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.specialty-group-icon.ic-1 { background:linear-gradient(135deg,#E8F4FD,#D0E8F7); }
.specialty-group-icon.ic-1 i { color:#2B7CC9; }
.specialty-group-icon.ic-2 { background:linear-gradient(135deg,#FEE8E8,#FDD5D5); }
.specialty-group-icon.ic-2 i { color:#D94040; }
.specialty-group-icon.ic-3 { background:linear-gradient(135deg,#F8E8F5,#F0D0EC); }
.specialty-group-icon.ic-3 i { color:#B03090; }
.specialty-group-icon.ic-4 { background:linear-gradient(135deg,#E8F5EE,#D0ECD9); }
.specialty-group-icon.ic-4 i { color:#2E8B57; }
.specialty-group-icon.ic-5 { background:linear-gradient(135deg,#FFF8E8,#F5ECD0); }
.specialty-group-icon.ic-5 i { color:#C9A040; }
.specialty-group-icon.ic-6 { background:linear-gradient(135deg,#E8F0F5,#D0E0EC); }
.specialty-group-icon.ic-6 i { color:#3B6EA8; }
.specialty-group-icon.ic-7 { background:linear-gradient(135deg,#EDE8FE,#DDD0F8); }
.specialty-group-icon.ic-7 i { color:#6A30C9; }
.specialty-group-icon.ic-8 { background:linear-gradient(135deg,#E8FEF5,#C8F5E0); }
.specialty-group-icon.ic-8 i { color:#1A9464; }
.specialty-group-icon.ic-9 { background:linear-gradient(135deg,#FEF3E8,#F5E0C0); }
.specialty-group-icon.ic-9 i { color:#C97030; }
.specialty-group-icon i { font-size:1.1rem; }

/* Specialty title */
.specialty-group-title {
  font-family:'Cormorant Garamond',serif;
  font-size:1.2rem; font-weight:600;
  color:var(--text-dark);
  margin:0; flex:1;
}

/* Doctor count badge */
.specialty-doc-count {
  flex-shrink:0;
  font-size:.72rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  background:rgba(27,79,155,.07);
  color:var(--primary);
  padding:4px 12px; border-radius:100px;
  border:1px solid rgba(27,79,155,.12);
}
.specialty-doc-count--soon {
  background:rgba(201,112,48,.08);
  color:#C97030;
  border-color:rgba(201,112,48,.2);
}

/* Doctor card grid — 1px gap "divider" trick */
.specialty-doctors-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:1px;
  background:var(--border);
}

/* Doctor name card */
.doctor-name-card {
  background:var(--white);
  padding:18px 20px 18px 36px;
  position:relative;
  transition:background .2s ease;
  cursor:default;
}
/* Small dot bullet */
.doctor-name-card::before {
  content:'';
  position:absolute; left:16px; top:23px;
  width:7px; height:7px; border-radius:50%;
  background:var(--border);
  transition:background .2s ease, transform .2s ease;
}
/* Per-specialty dot + hover tint */
.specialty-group.sg-1 .doctor-name-card::before { background:rgba(43,124,201,.3); }
.specialty-group.sg-1 .doctor-name-card:hover { background:#F0F7FE; }
.specialty-group.sg-1 .doctor-name-card:hover::before { background:#2B7CC9; transform:scale(1.3); }

.specialty-group.sg-2 .doctor-name-card::before { background:rgba(217,64,64,.3); }
.specialty-group.sg-2 .doctor-name-card:hover { background:#FEF5F5; }
.specialty-group.sg-2 .doctor-name-card:hover::before { background:#D94040; transform:scale(1.3); }

.specialty-group.sg-3 .doctor-name-card::before { background:rgba(176,48,144,.3); }
.specialty-group.sg-3 .doctor-name-card:hover { background:#FBF1F9; }
.specialty-group.sg-3 .doctor-name-card:hover::before { background:#B03090; transform:scale(1.3); }

.specialty-group.sg-4 .doctor-name-card::before { background:rgba(46,139,87,.3); }
.specialty-group.sg-4 .doctor-name-card:hover { background:#F0FAF4; }
.specialty-group.sg-4 .doctor-name-card:hover::before { background:#2E8B57; transform:scale(1.3); }

.specialty-group.sg-5 .doctor-name-card::before { background:rgba(201,160,64,.3); }
.specialty-group.sg-5 .doctor-name-card:hover { background:#FDF8EE; }
.specialty-group.sg-5 .doctor-name-card:hover::before { background:#C9A040; transform:scale(1.3); }

.specialty-group.sg-6 .doctor-name-card::before { background:rgba(59,110,168,.3); }
.specialty-group.sg-6 .doctor-name-card:hover { background:#F1F5FA; }
.specialty-group.sg-6 .doctor-name-card:hover::before { background:#3B6EA8; transform:scale(1.3); }

.specialty-group.sg-7 .doctor-name-card::before { background:rgba(106,48,201,.3); }
.specialty-group.sg-7 .doctor-name-card:hover { background:#F5F0FE; }
.specialty-group.sg-7 .doctor-name-card:hover::before { background:#6A30C9; transform:scale(1.3); }

.specialty-group.sg-8 .doctor-name-card::before { background:rgba(26,148,100,.3); }
.specialty-group.sg-8 .doctor-name-card:hover { background:#EDFBF5; }
.specialty-group.sg-8 .doctor-name-card:hover::before { background:#1A9464; transform:scale(1.3); }

.specialty-group.sg-9 .doctor-name-card::before { background:rgba(201,112,48,.3); }
.specialty-group.sg-9 .doctor-name-card:hover { background:#FDF5EE; }
.specialty-group.sg-9 .doctor-name-card:hover::before { background:#C97030; transform:scale(1.3); }

/* Doctor name + degrees typography */
.dnc-name {
  font-family:'Cormorant Garamond',serif;
  font-size:1.08rem; font-weight:700;
  color:var(--text-dark);
  margin-bottom:4px; line-height:1.3;
}
.dnc-degrees {
  font-size:.8rem; color:var(--text-light);
  line-height:1.55;
}

/* Empty state (e.g. Physiotherapy) */
.specialty-empty-state {
  display:flex; align-items:center; gap:10px;
  padding:22px 24px 22px 28px;
  font-size:.88rem; font-style:italic;
  color:var(--text-light);
}
.specialty-empty-state i { color:var(--sky); font-size:.9rem; flex-shrink:0; }

/* Service icon classes for new specialties */
.service-icon.ic-7 { background:linear-gradient(135deg,#EDE8FE,#DDD0F8); }
.service-icon.ic-7 i { color:#6A30C9; }
.service-icon.ic-8 { background:linear-gradient(135deg,#E8FEF5,#C8F5E0); }
.service-icon.ic-8 i { color:#1A9464; }
.service-icon.ic-9 { background:linear-gradient(135deg,#FEF3E8,#F5E0C0); }
.service-icon.ic-9 i { color:#C97030; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TESTIMONIALS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.testimonials { background:var(--white); }
.testimonials-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
}
.testimonial-card {
  background:var(--off-white); border:1px solid var(--border);
  border-radius:20px; padding:32px 28px;
  transition:var(--transition);
  position:relative;
}
.testimonial-card:hover {
  border-color:var(--sky); box-shadow:var(--shadow-md);
  transform:translateY(-4px);
}
.testimonial-quote {
  font-size:3rem; line-height:.8; color:var(--primary); opacity:.15;
  font-family:'Cormorant Garamond',serif; font-weight:700;
  margin-bottom:12px;
}
.testimonial-stars { display:flex; gap:3px; margin-bottom:16px; }
.testimonial-stars i { color:var(--gold); font-size:.9rem; }
.testimonial-text {
  font-size:.95rem; line-height:1.8; color:var(--text-mid); margin-bottom:24px;
  font-style:italic;
}
.testimonial-author { display:flex; align-items:center; gap:12px; }
.testimonial-avatar {
  width:44px; height:44px; border-radius:50%;
  background:linear-gradient(135deg, var(--primary), var(--sky));
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.testimonial-avatar span {
  font-size:.9rem; font-weight:700; color:var(--white);
}
.testimonial-name { font-size:.9rem; font-weight:700; color:var(--text-dark); }
.testimonial-role { font-size:.78rem; color:var(--text-light); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FACILITIES
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.facilities { background:var(--off-white); }
.facilities-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
}
.facility-card {
  background:var(--white); border:1px solid var(--border);
  border-radius:16px; padding:28px 20px; text-align:center;
  transition:border-color .3s ease,
             box-shadow .35s ease,
             transform .4s var(--ease-spring);
  will-change:transform;
}
.facility-card:hover {
  border-color:var(--primary);
  box-shadow:var(--shadow-md);
  transform:translateY(-4px);
}
.facility-icon {
  width:60px; height:60px; border-radius:50%; margin:0 auto 16px;
  background:linear-gradient(135deg,var(--sky-light),var(--border));
  display:flex; align-items:center; justify-content:center;
  transition:var(--transition);
}
.facility-card:hover .facility-icon {
  background:linear-gradient(135deg,var(--primary),var(--sky));
}
.facility-icon i { font-size:1.4rem; color:var(--primary); transition:var(--transition); }
.facility-card:hover .facility-icon i { color:var(--white); }
.facility-card h4 { font-size:1rem; font-weight:700; margin-bottom:6px; }
.facility-card p { font-size:.83rem; color:var(--text-light); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CTA BANNER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cta-banner {
  background:linear-gradient(135deg, var(--gold) 0%, #b08a2e 50%, #8a6620 100%);
  position:relative; overflow:hidden;
}
.cta-banner::before {
  content:'';
  position:absolute; inset:0;
  background:radial-gradient(ellipse 70% 80% at 0% 50%, rgba(255,255,255,.08) 0%, transparent 60%);
}
.cta-inner {
  position:relative; z-index:1;
  display:flex; align-items:center; justify-content:space-between;
  gap:40px; padding:72px 0;
}
.cta-text h2 { color:var(--white); margin-bottom:12px; }
.cta-text p { color:rgba(255,255,255,.8); font-size:1.1rem; }
.cta-actions { display:flex; align-items:center; gap:16px; flex-shrink:0; }
.btn-white {
  background:var(--white); color:var(--gold);
  box-shadow:0 4px 20px rgba(0,0,0,.2);
}
.btn-white:hover {
  background:#f8f4ec; transform:translateY(-2px);
  box-shadow:0 8px 30px rgba(0,0,0,.25);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   CONTACT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.contact { background:var(--white); }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; }

.contact-info { display:flex; flex-direction:column; gap:28px; }
.contact-item {
  display:flex; align-items:flex-start; gap:18px;
  padding:24px; border-radius:16px;
  background:var(--off-white); border:1px solid var(--border);
  transition:var(--transition);
}
.contact-item:hover { border-color:var(--sky); box-shadow:var(--shadow-sm); }
.contact-item-icon {
  width:48px; height:48px; border-radius:12px; flex-shrink:0;
  background:linear-gradient(135deg,var(--primary),var(--sky));
  display:flex; align-items:center; justify-content:center;
}
.contact-item-icon i { color:var(--white); font-size:1.1rem; }
.contact-item-label {
  font-size:.75rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--text-light); margin-bottom:4px;
}
.contact-item-val { font-size:1rem; font-weight:600; color:var(--text-dark); }
.contact-item-sub { font-size:.85rem; color:var(--text-light); margin-top:2px; }

.contact-map {
  border-radius:20px; overflow:hidden;
  border:1px solid var(--border);
  background:var(--sky-light);
  position:relative;
  display:block;
  aspect-ratio:4/3;
  box-shadow:var(--shadow-md);
  transition:var(--transition);
}
.contact-map:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); }
.contact-map picture,
.contact-map > picture img {
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:center;
}
.contact-map-overlay {
  position:absolute; left:0; right:0; bottom:0;
  padding:24px 28px 22px;
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:20px; flex-wrap:wrap;
  background:linear-gradient(to top, rgba(15,46,107,.92) 0%, rgba(15,46,107,.55) 60%, transparent 100%);
  color:var(--white);
}
.contact-map-text strong {
  display:block; font-family:'Cormorant Garamond',serif;
  font-size:1.35rem; font-weight:600; margin-bottom:4px;
}
.contact-map-text span { font-size:.88rem; opacity:.88; line-height:1.5; }
.contact-map-cta {
  display:inline-flex; align-items:center; gap:8px;
  font-size:.82rem; font-weight:600; letter-spacing:.04em;
  padding:10px 16px; border-radius:100px;
  background:var(--gold); color:var(--white);
  white-space:nowrap;
  box-shadow:0 4px 14px rgba(201,160,64,.4);
}
.contact-map:hover .contact-map-cta { background:#b08a2e; }

.hours-table { width:100%; }
.hours-row {
  display:flex; justify-content:space-between;
  padding:8px 0; border-bottom:1px solid var(--border);
  font-size:.88rem;
}
.hours-row:last-child { border-bottom:none; }
.hours-day { color:var(--text-mid); font-weight:500; }
.hours-time { color:var(--text-dark); font-weight:600; }
.hours-time.closed { color:#D94040; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   FOOTER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.footer {
  background:var(--primary-dark);
  padding:72px 0 0;
}
.footer-grid {
  display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr;
  gap:48px; padding-bottom:48px;
}
.footer-brand .footer-logo img {
  height:50px; width:auto;
  filter:brightness(0) invert(1);
  margin-bottom:16px;
}
.footer-brand p {
  font-size:.9rem; line-height:1.8;
  color:rgba(255,255,255,.55); margin-bottom:24px;
}
.footer-social { display:flex; gap:12px; }
.footer-social a {
  width:38px; height:38px; border-radius:10px;
  border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.5); font-size:.95rem;
  transition:var(--transition);
}
.footer-social a:hover {
  background:var(--primary); border-color:var(--sky);
  color:var(--white);
}
.footer-col h5 {
  font-size:.82rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.4); margin-bottom:20px;
}
.footer-links { display:flex; flex-direction:column; gap:10px; }
.footer-links a {
  font-size:.9rem; color:rgba(255,255,255,.6);
  transition:var(--transition);
}
.footer-links a:hover { color:var(--white); padding-left:4px; }

.footer-bottom {
  border-top:1px solid rgba(255,255,255,.08);
  padding:24px 0;
  display:flex; align-items:center; justify-content:space-between;
}
.footer-bottom p {
  font-size:.82rem; color:rgba(255,255,255,.4);
}
.footer-bottom-links { display:flex; gap:20px; }
.footer-bottom-links a {
  font-size:.82rem; color:rgba(255,255,255,.4);
  transition:var(--transition);
}
.footer-bottom-links a:hover { color:rgba(255,255,255,.8); }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   MOBILE NAV DRAWER
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.mobile-nav {
  position:fixed; inset:0; z-index:1200;
  background:var(--white);
  display:flex; flex-direction:column;
  padding:24px 28px;
  transform:translateX(100%);
  transition:transform .4s cubic-bezier(.4,0,.2,1);
}
.mobile-nav.open { transform:translateX(0); }
.mobile-nav-head {
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:40px;
}
.mobile-nav-close {
  background:none; border:none;
  font-size:1.5rem; color:var(--text-dark); padding:4px;
}
.mobile-nav-links { display:flex; flex-direction:column; gap:6px; flex:1; }
.mobile-nav-links a {
  font-size:1.1rem; font-weight:500; color:var(--text-dark);
  padding:14px 0; border-bottom:1px solid var(--border);
  display:flex; align-items:center; justify-content:space-between;
}
.mobile-nav-links a i { font-size:.75rem; color:var(--text-light); }
.mobile-nav-cta { margin-top:32px; }
.mobile-nav-cta .btn { width:100%; justify-content:center; }

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   TEAM BAND
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.team-band { background:var(--white); padding:80px 0 90px; }
.team-band-grid {
  display:grid; grid-template-columns:1.05fr 1fr;
  gap:64px; align-items:center;
}
.team-band-photo {
  border-radius:24px; overflow:hidden;
  aspect-ratio:4/3;
  box-shadow:var(--shadow-lg);
  background:var(--sky-light);
  position:relative;
}
.team-band-photo::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to bottom right, transparent 65%, rgba(27,79,155,.12));
  pointer-events:none;
}
.team-band-photo picture,
.team-band-photo img {
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:center;
}
.team-band-text h2 { margin-bottom:18px; }
.team-band-text > p { margin-bottom:24px; font-size:1.04rem; line-height:1.8; }
.team-band-points {
  list-style:none; padding:0; margin:0 0 32px;
  display:flex; flex-direction:column; gap:12px;
}
.team-band-points li {
  display:flex; align-items:flex-start; gap:12px;
  font-size:.95rem; color:var(--text-mid); line-height:1.6;
}
.team-band-points i {
  color:var(--green); font-size:1.05rem; margin-top:4px; flex-shrink:0;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   INSIDE OUR CLINIC — CAROUSEL
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.gallery { background:var(--off-white); }
.carousel {
  position:relative;
  max-width:1180px;
  margin:0 auto;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 30px 80px -30px rgba(13,27,62,.45),
             0 12px 40px -12px rgba(13,27,62,.18);
  background:var(--text-dark);
}
.carousel-stage {
  position:relative;
  aspect-ratio:16/10;
}
.carousel-slide {
  position:absolute; inset:0;
  margin:0;
  opacity:0;
  transition:opacity 1.1s ease;
  pointer-events:none;
}
.carousel-slide.is-active {
  opacity:1;
  pointer-events:auto;
  z-index:1;
}
.carousel-slide picture,
.carousel-slide img {
  display:block; width:100%; height:100%;
  object-fit:cover; object-position:center;
}
/* subtle Ken Burns zoom on the active slide */
.carousel-slide img {
  transform:scale(1.0);
}
.carousel-slide.is-active img {
  animation:kenBurns 7.5s ease-out forwards;
}
@keyframes kenBurns {
  from { transform:scale(1.0); }
  to   { transform:scale(1.07); }
}
.carousel-slide figcaption {
  position:absolute; left:0; right:0; bottom:0;
  padding:42px 56px 36px;
  display:flex; flex-direction:column; gap:6px;
  color:var(--white);
  background:linear-gradient(to top,
    rgba(13,27,62,.92) 0%,
    rgba(13,27,62,.55) 55%,
    transparent 100%);
  transform:translateY(8px);
  opacity:0;
  transition:transform .9s ease .25s, opacity .9s ease .25s;
}
.carousel-slide.is-active figcaption {
  transform:translateY(0);
  opacity:1;
}
.carousel-eyebrow {
  font-size:.78rem; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--gold-light);
  opacity:.92;
}
.carousel-title {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.4rem, 2.6vw, 2rem);
  font-weight:500;
  line-height:1.25;
  color:var(--white);
  max-width:680px;
}

/* Controls */
.carousel-btn {
  position:absolute; top:50%; transform:translateY(-50%);
  z-index:5;
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.14);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  color:var(--white);
  border:1px solid rgba(255,255,255,.25);
  font-size:1rem;
  cursor:pointer;
  transition:background .25s ease, transform .25s ease, border-color .25s ease;
}
.carousel-btn:hover {
  background:rgba(255,255,255,.28);
  border-color:rgba(255,255,255,.5);
  transform:translateY(-50%) scale(1.05);
}
.carousel-btn:active { transform:translateY(-50%) scale(.97); }
.carousel-btn:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.carousel-prev { left:24px; }
.carousel-next { right:24px; }

/* Counter top-right */
.carousel-counter {
  position:absolute; top:24px; right:28px;
  z-index:5;
  font-family:'Cormorant Garamond',serif;
  color:var(--white);
  font-size:1rem;
  letter-spacing:.05em;
  background:rgba(13,27,62,.35);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  padding:6px 14px; border-radius:100px;
  border:1px solid rgba(255,255,255,.2);
}
.carousel-num { font-weight:600; }
.carousel-divider { opacity:.6; margin:0 6px; }
.carousel-total { opacity:.7; }

/* Dots */
.carousel-dots {
  position:absolute; left:0; right:0; bottom:6px;
  z-index:5;
  display:flex; justify-content:center; gap:2px;
}
.carousel-dot {
  /* 44x44 hit area, 9px visual */
  position:relative;
  width:44px; height:44px;
  background:transparent;
  border:0; padding:0;
  cursor:pointer;
  display:inline-flex; align-items:center; justify-content:center;
}
.carousel-dot::before {
  content:'';
  display:block;
  width:9px; height:9px;
  border-radius:50%;
  background:rgba(255,255,255,.4);
  transition:width .35s var(--ease-spring),
             border-radius .35s ease,
             background .25s ease,
             transform .2s ease;
}
.carousel-dot:hover::before { background:rgba(255,255,255,.7); transform:scale(1.15); }
.carousel-dot.is-active::before {
  width:34px; border-radius:6px;
  background:var(--gold);
}

/* Progress bar at the very bottom */
.carousel-progress {
  position:absolute; left:0; right:0; bottom:0;
  height:3px;
  background:rgba(255,255,255,.08);
  z-index:4;
}
.carousel-progress span {
  display:block; height:100%;
  width:0%;
  background:linear-gradient(to right, var(--gold), var(--gold-light));
  transition:width .15s linear;
}
.carousel.is-paused .carousel-progress span { opacity:.5; }

@media (prefers-reduced-motion: reduce) {
  .carousel-slide.is-active img { animation:none; }
  .carousel-slide { transition:opacity .3s ease; }
  .carousel-slide figcaption { transition:none; }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width:1100px) {
  .hero-content { grid-template-columns:1fr; text-align:center; }
  .hero-left { max-width:100%; }
  .hero-logo { align-self:center; margin-inline:auto; justify-content:center; }
  .hero-indicators { justify-content:center; }
  .hero-actions { justify-content:center; }
  .hero-right { display:none; }
  .hero-content { padding:120px 0 80px; }
}
@media (max-width:900px) {
  .about-grid { grid-template-columns:1fr; gap:40px; }
  .about-img-frame { aspect-ratio:3/2; max-width:560px; margin-inline:auto; }
  .about-badge-card { right:auto; left:50%; transform:translateX(-50%); bottom:-28px; }
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .why-grid { grid-template-columns:repeat(2,1fr); }
  .doctors-grid { grid-template-columns:repeat(2,1fr); }
  .specialty-group-header { padding:14px 18px; gap:12px; }
  .specialty-group-title { font-size:1.1rem; }
  .specialty-doc-count { display:none; }
  .specialty-doctors-grid { grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); }
  .testimonials-grid { grid-template-columns:1fr; }
  .facilities-grid { grid-template-columns:repeat(2,1fr); }
  .cta-inner { flex-direction:column; text-align:center; }
  .cta-actions { justify-content:center; }
  .contact-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .stats-bar-inner { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2) { border-right:none; }
  .team-band-grid { grid-template-columns:1fr; gap:40px; }
  .carousel-stage { aspect-ratio:4/3; }
  .carousel-slide figcaption { padding:28px 28px 30px; }
  .carousel-btn { width:44px; height:44px; }
  .carousel-prev { left:14px; }
  .carousel-next { right:14px; }
  .carousel-counter { top:18px; right:18px; font-size:.88rem; padding:5px 11px; }
}
@media (max-width:640px) {
  .section { padding:72px 0; }
  .services-grid { grid-template-columns:1fr; }
  .why-grid { grid-template-columns:1fr; }
  .doctors-grid { grid-template-columns:1fr; }
  .specialty-doctors-grid { grid-template-columns:1fr 1fr; }
  .specialty-group { margin-bottom:14px; }
  .specialty-group-header { gap:10px; padding:13px 14px; }
  .specialty-group-title { font-size:1rem; }
  .doctor-name-card { padding:14px 14px 14px 28px; }
  .doctor-name-card::before { left:12px; top:19px; }
  .specialty-empty-state { padding:18px 16px; font-size:.82rem; }
  .facilities-grid { grid-template-columns:repeat(2,1fr); }
  .carousel { border-radius:20px; }
  .carousel-stage { aspect-ratio:3/4; }
  .carousel-slide figcaption { padding:22px 22px 32px; }
  .carousel-title { font-size:1.1rem; }
  .carousel-eyebrow { font-size:.7rem; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:12px; text-align:center; }
  .nav-links { display:none; }
  .nav-phone { display:none; }
  .nav-hamburger { display:flex; }
  .hero-badge { font-size:.7rem; }
  .hero-indicators { flex-wrap:wrap; gap:20px; }
  .hero-ind-div { display:none; }
  .stats-bar-inner { grid-template-columns:repeat(2,1fr); }
}
