/* ============ RESET & TOKENS ============ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --burgundy:#5f143d;
  --burgundy-hover:#4d0e31;
  --pink:#ec1c8e;
  --pink-hover:#d21479;
  --burgundy-light:#fbebee;
  --pink-light:#fff0f4;
  --cream:#fffbf4;
  --ivory:#fffdf9;
  --whatsapp:#25d366;
  --font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,sans-serif;
  --font-serif:"Playfair Display",Georgia,serif;
}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{overflow-x:hidden;-webkit-tap-highlight-color:transparent;}
/* MOBILE FIX: anchor targets were hiding under the sticky 64px header when
   nav links scrolled to them. scroll-margin-top reserves that space. */
#hero,#about,#services,#doctors,#centers,#testimonials,#booking-form{scroll-margin-top:4.5rem;}
body{font-family:var(--font-sans);color:#1e293b;line-height:1.5;background:#fff;-webkit-font-smoothing:antialiased;}
/* ============ BRANDED PAGE LOADER ============ */
.site-loader{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;align-content:center;gap:1rem;background:radial-gradient(circle at center,#fff7fa 0,#fbebee 42%,#5f143d 155%);transition:opacity .45s ease,visibility .45s ease;}
.site-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none;}
.loader-orbit{position:absolute;width:7rem;height:7rem;border-radius:50%;border:1.5px solid transparent;}
.orbit-one{border-top-color:#ec1c8e;border-right-color:rgba(236,28,142,.3);animation:loader-spin 1.35s linear infinite;}
.orbit-two{width:5.4rem;height:5.4rem;border-bottom-color:#5f143d;border-left-color:rgba(95,20,61,.28);animation:loader-spin 1.05s linear infinite reverse;}
.loader-sperm{position:relative;width:2.9rem;height:2.9rem;border-radius:50%;background:linear-gradient(135deg,#f76bad,#ec1c8e);box-shadow:0 .5rem 1.3rem rgba(236,28,142,.3);animation:loader-pulse 1.2s ease-in-out infinite;}
.loader-sperm::before{content:"";position:absolute;left:.9rem;top:.82rem;width:1.05rem;height:.88rem;border-radius:60% 45% 55% 45%;background:#fff6f9;transform:rotate(40deg);}
.loader-sperm::after{content:"";position:absolute;left:1.68rem;top:.74rem;width:.29rem;height:.29rem;border-radius:50%;background:#5f143d;}
.loader-tail{position:absolute;left:1.9rem;top:1.48rem;width:1.85rem;height:1.45rem;border-right:2px solid #5f143d;border-bottom:2px solid #5f143d;border-radius:0 0 100% 0;transform:rotate(20deg);animation:tail-wave .62s ease-in-out infinite alternate;transform-origin:left top;}
.loader-label{font-size:.65rem;font-weight:900;letter-spacing:.2em;color:#5f143d;animation:loader-label 1.2s ease-in-out infinite;}
@keyframes loader-spin{to{transform:rotate(360deg)}}
@keyframes loader-pulse{50%{transform:scale(.9)}}
@keyframes tail-wave{to{transform:rotate(42deg)}}
@keyframes loader-label{50%{opacity:.45;letter-spacing:.27em}}
@media(prefers-reduced-motion:reduce){.loader-orbit,.loader-sperm,.loader-tail,.loader-label{animation:none;}}
/* Reference-style compact sperm loader, recoloured for ICON IVF (not blue). */
.site-loader{display:flex;align-items:center;justify-content:center;background:#5f143d;}
.loader-mark{position:relative;width:9.5rem;height:9.5rem;overflow:visible;}
.loader-rings{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.loader-icon{position:absolute;left:50%;top:50%;width:3.15rem;height:auto;transform:translate(-50%,-50%);}
.loader-arcs{transform-origin:75px 75px;animation:loader-orbit-spin 1.4s linear infinite;}
.arc{fill:none;stroke:#fff;stroke-width:1.25;stroke-linecap:round;opacity:.92;}
.arc-two{opacity:.75;}
.loader-disc{fill:#f66daa;}
.loader-sperm-head{fill:#fff7fa;}
.loader-sperm-dot{fill:#5f143d;}
.loader-sperm-tail{fill:none;stroke:#fff7fa;stroke-width:2.25;stroke-linecap:round;}
@keyframes loader-orbit-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.loader-arcs{animation:none;}}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;}
ul{list-style:none;}
.container{width:100%;max-width:100%;margin:0 auto;padding:0 1.25rem;}
@media(min-width:640px){.container{padding:0 2rem;}}
@media(min-width:1024px){.container{max-width:1440px;padding:0 2.5rem;}}
@media(min-width:1440px){.container{max-width:1660px;padding:0 3.5rem;}}
@media(min-width:1920px){.container{max-width:1840px;padding:0 4.5rem;}}

.topbar .container, footer .container{
  max-width: 1440px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}
@media(min-width:1024px){
  .topbar .container, footer .container{
    padding-left: 2rem !important;
    padding-right: 2rem !important;
  }
}
.section-eyebrow{display:inline-flex;align-items:center;gap:.5rem;border:1px solid #fbcfe8;background:var(--burgundy-light);padding:.35rem 1rem;border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--burgundy);}
.dot-pulse{width:8px;height:8px;border-radius:50%;background:var(--pink);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.section-title{font-family:var(--font-serif);font-weight:800;letter-spacing:-0.02em;color:#020617;}
.divider{margin:1rem auto;height:3px;width:56px;border-radius:999px;background:rgba(236,28,142,.8);}
.text-center{text-align:center;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:999px;font-weight:700;transition:.2s;cursor:pointer;white-space:nowrap;}
.btn-primary{background:var(--pink);color:#fff;padding:.9rem 2rem;font-size:.9rem;box-shadow:0 8px 20px -8px rgba(236,28,142,.5);}
.btn-primary:hover{background:var(--pink-hover);transform:translateY(-1px);}
.btn-outline{background:#fff;border:1px solid #fecdd3;color:var(--burgundy);padding:.9rem 1.75rem;font-size:.9rem;}
.btn-outline:hover{background:#fff1f2;}
.text-link-btn{margin-top:1.75rem;color:var(--pink);font-size:.78rem;font-weight:800;display:inline-flex;gap:.35rem;align-items:center;}
.text-link-btn:hover{color:var(--burgundy);}

/* ============ ORIGINAL-SITE DETAIL VIEWS ============ */
#detail-view{background:#fff;min-height:70vh;}
.detail-page{padding:3rem 0 5rem;}
.detail-hero{background:linear-gradient(125deg,#5f143d,#831752 65%,#ec1c8e);color:#fff;padding:4.5rem 0;overflow:hidden;position:relative;}
.detail-hero::after{content:"";position:absolute;width:26rem;height:26rem;border-radius:50%;background:rgba(255,255,255,.08);right:-8rem;top:-12rem;}
.detail-hero .container{position:relative;z-index:1;}
.detail-hero h1{font-family:var(--font-serif);font-size:2.25rem;line-height:1.15;max-width:50rem;margin:.85rem 0;}
.detail-hero p{max-width:42rem;color:#fde7ef;font-size:.92rem;line-height:1.7;}
.back-link{color:var(--pink);font-size:.78rem;font-weight:800;display:inline-flex;gap:.45rem;align-items:center;margin-bottom:1.75rem;}
.detail-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;max-width:1000px;margin:0 auto;}
.detail-card{background:#fff;border:1px solid #ffe4e6;border-radius:1.25rem;padding:1.5rem;box-shadow:0 8px 24px -18px rgba(0,0,0,.25);}
.detail-card h2{font-family:var(--font-serif);font-size:1.45rem;color:#5f143d;margin-bottom:.75rem;}
.detail-card h3{font-size:1rem;color:#1e293b;margin:.85rem 0 .4rem;}
.detail-card p,.detail-card li{font-size:.82rem;color:#64748b;line-height:1.7;}
.detail-card ul,.detail-card ol{padding-left:1.2rem;margin:.7rem 0;}.detail-card li+li{margin-top:.4rem;}
.about-values,.blog-grid{display:grid;grid-template-columns:1fr;gap:1rem;}
.value-card,.blog-card{border:1px solid #ffe4e6;border-radius:1rem;padding:1.2rem;background:#fff;}
.value-card strong{display:block;color:#5f143d;font-size:.9rem;margin-bottom:.35rem;}.value-card p{font-size:.76rem;color:#64748b;line-height:1.6;}
.timeline{border-left:2px solid #f9cbdc;margin-left:.55rem;padding-left:1.5rem;}.timeline-item{position:relative;padding-bottom:1.4rem;}.timeline-item::before{content:"";position:absolute;width:.7rem;height:.7rem;border-radius:50%;left:-1.88rem;top:.3rem;background:var(--pink);border:3px solid #fff;box-shadow:0 0 0 1px #f9cbdc;}.timeline-item strong{color:var(--pink);font-size:.75rem;}.timeline-item h3{margin:.15rem 0;}
.treatment-hero-image{width:100%;max-width:700px;aspect-ratio:16/7;object-fit:cover;border-radius:1.25rem;border:4px solid #fff;box-shadow:0 15px 35px -18px rgba(0,0,0,.5);margin-top:1.25rem;}
.faq-item{padding:.9rem 0;border-top:1px solid #ffe4e6;}.faq-item:first-of-type{border-top:0;}.faq-item strong{color:#5f143d;font-size:.83rem;}
.blog-card{display:flex;flex-direction:column;gap:.7rem;}.blog-card .tag{font-size:.63rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);}.blog-card h2{font-family:var(--font-serif);font-size:1.15rem;color:#1e293b;}.blog-card p{font-size:.76rem;color:#64748b;line-height:1.6;}.blog-card button{color:var(--pink);font-size:.75rem;font-weight:800;text-align:left;}
.legal-copy{max-width:850px;margin:0 auto;}.legal-copy h2{margin-top:1.5rem;}
@media(min-width:640px){.detail-hero h1{font-size:3.15rem;}.about-values,.blog-grid{grid-template-columns:repeat(2,1fr);}.detail-grid.two-col{grid-template-columns:1.1fr .9fr;}}

/* ============ TOP BAR ============ */
.topbar{background:var(--burgundy);color:#fff;padding:.6rem 0;border-bottom:1px solid rgba(0,0,0,.15);}
.topbar-grid{display:none;}
@media(min-width:768px){
  .topbar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;align-items:center;}
}
.topbar-card{display:flex;align-items:center;justify-content:space-between;background:rgba(0,0,0,.32);padding:.5rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);transition:.2s;}
.topbar-card:hover{background:rgba(0,0,0,.45);border-color:rgba(255,255,255,.18);}
.topbar-info{display:flex;flex-direction:column;min-width:0;}
.topbar-card .label{display:block;font-size:.62rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#fbcfe8;line-height:1.2;margin-bottom:2px;}
.topbar-card .phone{font-size:.92rem;font-weight:800;color:#fff;line-height:1.2;white-space:nowrap;letter-spacing:.01em;transition:color .15s;}
.topbar-card .phone:hover{color:#fde2ec;}
.topbar-icons{display:flex;align-items:center;gap:.35rem;flex-shrink:0;}
.topbar-icon-btn, .topbar-icons a, .icon-btn{width:30px !important;height:30px !important;min-width:30px !important;min-height:30px !important;border-radius:50% !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;background:rgba(255,255,255,.14) !important;color:#fff !important;border:1px solid rgba(255,255,255,.08) !important;transition:transform .15s ease, background .15s ease !important;padding:0 !important;text-decoration:none !important;}
.topbar-icon-btn:hover, .topbar-icons a:hover, .icon-btn:hover{transform:scale(1.1);background:rgba(255,255,255,.24) !important;color:#fff !important;}
.topbar-icon-btn.call, .topbar-icons a.call{background:rgba(255,255,255,.14) !important;color:#fff !important;}
.topbar-icon-btn.whatsapp, .topbar-icons a.whatsapp, .topbar-icons a.wa, .icon-btn.wa{background:#25D366 !important;color:#fff !important;border-color:#25D366 !important;box-shadow:0 2px 6px rgba(37,211,102,.4) !important;}
.topbar-icon-btn.whatsapp:hover, .topbar-icons a.whatsapp:hover, .topbar-icons a.wa:hover, .icon-btn.wa:hover{background:#20bd5a !important;}
.topbar-icon-btn.maps, .topbar-icons a.maps, .topbar-icons a.map{background:rgba(255,255,255,.14) !important;color:#fff !important;}
.topbar-icon-btn svg, .topbar-icons a svg{display:block;max-width:16px;max-height:16px;}
.topbar-mobile{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;}
@media(min-width:768px){.topbar-mobile{display:none;}}
.topbar-mobile .tm-top{display:flex;align-items:center;gap:.4rem;font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#fde2ec;}
.topbar-mobile .pulse{width:6px;height:6px;border-radius:50%;background:var(--pink);animation:pulse 1.6s infinite;}
.topbar-mobile .tm-scroll{display:flex;gap:.5rem;overflow-x:auto;width:100%;padding-bottom:.25rem;}
.topbar-mobile .tm-chip{display:inline-flex;align-items:center;gap:.4rem;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:.3rem .75rem;white-space:nowrap;font-size:.72rem;}
.topbar-mobile .tm-chip .city{color:#fbcfe8;font-weight:800;}
.topbar-mobile .tm-chip .phone-link{color:#fff;font-weight:800;}
.topbar-mobile .tm-chip .icon-link{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;}
.topbar-mobile .tm-chip .icon-link.wa{background:#25D366;}

/* ============ 2-ROW HEADER LAYOUT (BASED ON REFERENCE) ============ */
header.site-header{position:sticky;top:0;z-index:999;background:#fff;box-shadow:0 4px 18px -6px rgba(0,0,0,.12);width:100%;}

/* ============ MOBILE TOP ROTATING CENTER BAR (EXACTLY AS USER REFERENCE IMAGE) ============ */
.mobile-top-center-bar {
  display: block;
  background: #5f143d;
  padding: 0.85rem 1rem 0.95rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
@media (min-width: 900px) {
  .mobile-top-center-bar {
    display: none !important;
  }
}

.mobile-center-slide {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.mobile-center-slide.active {
  display: flex !important;
  animation: mobileCenterFadeIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes mobileCenterFadeIn {
  from { opacity: 0; transform: translateY(4px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.mobile-center-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  background: rgba(0, 0, 0, 0.38);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  padding: 0.25rem 0.95rem;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #ffffff;
  letter-spacing: 0.08em;
}
.mobile-center-pill .mcp-dot {
  color: #ec1c8e;
  font-size: 1.1rem;
  line-height: 0;
  margin-right: 2px;
}

.mobile-center-phone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  color: #ffffff;
  font-size: 1.38rem;
  font-weight: 800;
  text-decoration: none;
  margin: 0.45rem 0 0.65rem;
  letter-spacing: 0.02em;
  line-height: 1.2;
  transition: color 0.15s;
}
.mobile-center-phone svg {
  stroke: #ffffff;
  display: block;
}
.mobile-center-phone:hover {
  color: #fde2ec;
}

.mobile-center-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}

.mca-btn {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.15s ease, background 0.15s ease;
  cursor: pointer;
}
.mca-btn:hover {
  transform: scale(1.08);
}
.mca-btn.map {
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.22);
  color: #fecdd3;
}
.mca-btn.wa {
  background: #25D366;
  color: #ffffff;
  border: none;
  box-shadow: 0 4px 12px rgba(37, 211, 102, 0.35);
}
.mca-btn.call {
  background: #ec1c8e;
  color: #ffffff;
  border: none;
  box-shadow: 0 4px 12px rgba(236, 28, 142, 0.35);
}
.mca-btn svg {
  display: block;
}

/* ============ MAIN WHITE BAR & PROMINENT LOGO (FIT CORRECTLY WITHOUT LARGE GAPS) ============ */
.header-main-bar{background:#fff;padding:.55rem 0;width:100%;}
.header-main-inner,
.header-main-bar .container {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important; /* Centered grouped row: ZERO awkward gap between tagline and center cards */
  gap: 1.15rem !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 1rem !important;
  width: 100% !important;
}
.header-brand-wrap{
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  flex-shrink: 0 !important;
}

/* Clean, borderless brand logo */
.header-brand-wrap .logo {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 0 !important;
  cursor: pointer !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.header-brand-wrap .logo:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
  border: none !important;
  box-shadow: none !important;
}

/* Big, bold, crisp brand logo */
.header-brand-wrap .logo img,
.custom-logo,
.site-main-logo {
  display: block !important;
  width: auto !important;
  height: 76px !important;
  max-height: 84px !important;
  max-width: 320px !important;
  object-fit: contain !important;
  object-position: left center !important;
  flex-shrink: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

@media (min-width: 1280px) {
  .header-brand-wrap .logo img,
  .custom-logo,
  .site-main-logo {
    height: 82px !important;
    max-height: 90px !important;
    max-width: 350px !important;
  }
}

@media (max-width: 900px) {
  .header-brand-wrap .logo img,
  .custom-logo,
  .site-main-logo {
    height: 64px !important;
    max-height: 70px !important;
    max-width: 270px !important;
  }
}

@media (max-width: 480px) {
  .header-brand-wrap .logo img,
  .custom-logo,
  .site-main-logo {
    height: 54px !important;
    max-height: 58px !important;
    max-width: 225px !important;
  }
}

.header-tagline-text{
  display: none;
  border-left: 1.5px solid #cbd5e1 !important;
  padding-left: 0.75rem !important;
  font-size: 0.82rem !important;
  line-height: 1.35 !important;
  color: #334155 !important;
  flex-shrink: 0 !important;
  margin-right: 0.25rem !important;
}
@media(min-width:1100px){.header-tagline-text{display:flex;flex-direction:column;}}
.header-tagline-text .hl-bold{font-weight:800;color:#0f172a;}
.header-tagline-text .hl-sub{color:#64748b;font-size:.78rem;}
.header-tagline-text .hl-city{color:var(--pink);font-weight:800;font-size:.8rem;}

/* Desktop 4 Center Cards - Tight cohesive flow without any middle gap */
.header-right-actions {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
  margin-left: 0 !important; /* NO large gap */
  flex-wrap: nowrap !important;
  flex-shrink: 0 !important;
}

.header-centers-grid {
  display: none !important;
  align-items: center !important;
  gap: 0.45rem !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
}
@media (min-width: 960px) {
  .header-centers-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }
}

.header-center-card {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.45rem !important;
  background: #5f143d !important;
  padding: 0.32rem 0.55rem !important;
  border-radius: 10px !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  box-shadow: 0 2px 8px rgba(95, 20, 61, 0.25) !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
.header-center-card:hover {
  background: #4a0e2e !important;
  border-color: rgba(255, 255, 255, 0.25) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(95, 20, 61, 0.35) !important;
}

.header-center-card .center-meta {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  text-align: left !important;
  line-height: 1.15 !important;
}
.header-center-card .center-label {
  display: block !important;
  font-size: 0.58rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  color: #fbcfe8 !important;
  margin-bottom: 2px !important;
  white-space: nowrap !important;
}
.header-center-card .center-phone {
  display: block !important;
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  color: #ffffff !important;
  white-space: nowrap !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  line-height: 1.1 !important;
  transition: color 0.15s !important;
}
.header-center-card .center-phone:hover {
  color: #fde2ec !important;
}

.header-center-card .center-icons {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 0.25rem !important;
  flex-shrink: 0 !important;
}

.center-icon-btn {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: transform 0.15s ease, background 0.15s ease !important;
  padding: 0 !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  flex-shrink: 0 !important;
}
.center-icon-btn:hover {
  transform: scale(1.1) !important;
  background: rgba(255, 255, 255, 0.25) !important;
}
.center-icon-btn.call svg,
.center-icon-btn.maps svg {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  stroke: #ffffff !important;
}
.center-icon-btn.whatsapp {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.center-icon-btn.whatsapp img {
  width: 26px !important;
  height: 26px !important;
  min-width: 26px !important;
  min-height: 26px !important;
  border-radius: 50% !important;
  object-fit: contain !important;
  display: block !important;
}

.header-appointment-btn {
  display: none;
  align-items: center !important;
  justify-content: center !important;
  background: #ec1c8e !important;
  background: linear-gradient(90deg, #ec1c8e 0%, #f43f5e 100%) !important;
  color: #ffffff !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  padding: 0.65rem 1.35rem !important;
  border-radius: 999px !important;
  white-space: nowrap !important;
  box-shadow: 0 4px 14px rgba(236, 28, 142, 0.45) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
  flex-shrink: 0 !important;
}
@media (min-width: 1080px) {
  .header-appointment-btn {
    display: inline-flex !important;
  }
}
.header-appointment-btn:hover {
  background: linear-gradient(90deg, #db2777 0%, #e11d48 100%) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(236, 28, 142, 0.55) !important;
}

.hamburger{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: .5rem;
  border-radius: 12px;
  background: #fff1f2;
  border: 1px solid #fecdd3;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.15s ease;
}
.hamburger:hover {
  background: #ffe4e6;
  border-color: #fda4af;
}
@media(min-width:880px){.hamburger{display:none;}}
.hamburger svg{width:22px;height:22px;color:var(--burgundy);}

/* Row 2: Full-Width Brand Colored Menu Bar (Centered Menu Names) */
.header-nav-stripe {
  background: #5f143d !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
  width: 100% !important;
}
@media (max-width: 879px) {
  .header-nav-stripe {
    display: none !important;
  }
}
.header-nav-stripe-inner {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.85rem !important;
  text-align: center !important;
}
nav.desktop-nav-stripe,
.site-header nav.desktop-nav-stripe {
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.35rem !important;
  width: 100% !important;
  margin: 0 auto !important;
}
@media (min-width: 880px) {
  nav.desktop-nav-stripe,
  .site-header nav.desktop-nav-stripe {
    display: flex !important;
    justify-content: center !important;
  }
}
nav.desktop-nav-stripe > a,
nav.desktop-nav-stripe > a:link,
nav.desktop-nav-stripe > a:visited,
nav.desktop-nav-stripe > .nav-dropdown > .dropdown-btn,
.site-header nav.desktop-nav-stripe > a,
.site-header nav.desktop-nav-stripe > .nav-dropdown > .dropdown-btn {
  color: #ffffff !important;
  opacity: 1 !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 0.65rem 1.15rem !important;
  transition: background 0.15s, color 0.15s !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
}
nav.desktop-nav-stripe > a:hover,
nav.desktop-nav-stripe > .nav-dropdown:hover > .dropdown-btn,
nav.desktop-nav-stripe > a.active {
  background: rgba(255, 255, 255, 0.18) !important;
  color: #ffffff !important;
  border-radius: 6px !important;
}
nav.desktop-nav-stripe .soon-tag {
  background: rgba(255, 255, 255, 0.25) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  font-size: 0.55rem !important;
  padding: 0.05rem 0.4rem !important;
  border-radius: 4px !important;
}

.nav-dropdown{position:relative;}
.dropdown-btn{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;white-space:nowrap;font-weight:700;font-size:inherit;color:inherit;transition:.15s;background:transparent;border:none;}
.mega-menu{position:absolute;left:0;top:100%;margin-top:0;width:560px;max-width:92vw;background:#fff;border:1px solid #ffe4e6;border-radius:0 0 1rem 1rem;box-shadow:0 20px 40px -10px rgba(0,0,0,.25);padding:1.1rem;display:none;grid-template-columns:1fr 1fr;gap:.25rem 1.25rem;z-index:9999;pointer-events:auto;}
@media(max-width:640px){.mega-menu{grid-template-columns:1fr;}}
.nav-dropdown:hover .mega-menu,.nav-dropdown:focus-within .mega-menu,.mega-menu.open{display:grid !important;}
.mega-menu .mega-title{grid-column:1/-1;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--pink);border-bottom:1px solid #ffe4e6;padding-bottom:.5rem;margin-bottom:.25rem;}
.mega-menu a{display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:.75rem;font-size:.75rem;font-weight:600;color:#334155;cursor:pointer;text-decoration:none;text-transform:none;}
.mega-menu a:hover{background:#fff1f2;color:var(--pink);}
.mega-menu a::before{content:"";width:6px;height:6px;border-radius:50%;background:#fbcfe8;flex-shrink:0;}

.mobile-drawer{display:none;border-top:1px solid #ffe4e6;background:#fff;padding:1rem;max-height:calc(100vh - 4rem);overflow-y:auto;-webkit-overflow-scrolling:touch;}
.mobile-drawer.open{display:block;}
body.menu-open{overflow:hidden;}
.mobile-primary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem;}
.mobile-primary-grid .book{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(90deg,var(--burgundy),var(--pink));color:#fff;font-weight:800;font-size:.9rem;padding:.85rem;border-radius:1rem;text-decoration:none;}
.mobile-primary-grid .call{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0;font-weight:800;font-size:.75rem;padding:.6rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;}
.mobile-primary-grid .wa{background:rgba(37,211,102,.1);color:#128c7e;border:1px solid rgba(37,211,102,.3);font-weight:800;font-size:.75rem;padding:.6rem;border-radius:.75rem;display:flex;align-items:center;justify-content:center;gap:.4rem;text-decoration:none;}
.mobile-nav-links{display:flex;flex-direction:column;gap:.15rem;padding-top:.5rem;border-top:1px solid #f1f5f9;}
.mobile-nav-links > a, .mobile-nav-links > button{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:.65rem .5rem;border-radius:.75rem;font-weight:700;font-size:.9rem;color:#1e293b;text-decoration:none;border:none;background:transparent;}
.mobile-nav-links > a:hover, .mobile-nav-links > button:hover{background:#fff1f2;}
.mobile-nav-links .pink{color:var(--pink);}
.mobile-treatments-list{display:none;flex-direction:column;gap:.35rem;padding:.6rem .5rem .6rem 1.25rem;background:rgba(255,241,242,.4);border-radius:1rem;margin:.25rem 0;border:1px solid #ffe4e6;}
.mobile-treatments-list.open{display:flex;}
.mobile-treatments-list a{font-size:.75rem;font-weight:600;color:#334155;padding:.25rem 0;text-decoration:none;}
.mobile-hotlines{padding-top:.75rem;margin-top:.5rem;border-top:1px solid #f1f5f9;}
.mobile-hotlines .h-title{font-size:.65rem;font-weight:800;text-transform:uppercase;color:#94a3b8;letter-spacing:.08em;display:block;margin-bottom:.5rem;}
.mobile-hotlines .grid{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;font-size:.7rem;font-weight:700;}
.mobile-hotlines .grid a{background:#f8fafc;border-radius:.6rem;padding:.5rem;display:flex;justify-content:space-between;color:#334155;text-decoration:none;}
.mobile-hotlines .grid a span:last-child{color:var(--pink);}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;background:var(--cream);padding:2.5rem 0 3.5rem;border-bottom:1px solid rgba(255,228,230,.4);}
.hero-grid{display:grid;gap:2.5rem;grid-template-columns:1fr;}
@media(min-width:1024px){.hero-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:3.5rem;}}
@media(min-width:1440px){.hero-grid{grid-template-columns:1.25fr 1fr;gap:4.5rem;}}
@media(min-width:1920px){.hero-grid{grid-template-columns:1.3fr 1fr;gap:5.5rem;}}
.badge-row{display:inline-flex;align-items:center;gap:.35rem;border:1px solid #eadaa6;background:rgba(255,251,235,.5);padding:.4rem 1rem;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;color:#1e293b;}
.hero-tagline{color:var(--pink);font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-top:1rem;}
.hero-trust{display:inline-flex;align-items:center;gap:.9rem;border:1px solid #f9cbdc;background:var(--pink-light);padding:.75rem 1rem;border-radius:1rem;margin-top:.75rem;max-width:22rem;}
.hero-trust .icon{width:2.25rem;height:2.25rem;border-radius:.75rem;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.hero-trust .title{font-size:.9rem;font-weight:900;color:var(--burgundy);}
.hero-trust .subtitle{font-size:.65rem;color:#64748b;font-weight:700;margin-top:.15rem;}
.hero h1{font-family:var(--font-serif);font-weight:900;font-size:2.1rem;line-height:1.15;letter-spacing:-0.02em;color:#020617;margin-top:.6rem;}
.hero h1 em{color:var(--pink);font-style:italic;font-weight:700;}
@media(min-width:640px){.hero h1{font-size:2.9rem;}}
@media(min-width:1024px){.hero h1{font-size:3.4rem;}}
@media(min-width:1600px){.hero h1{font-size:3.9rem;}}
.hero-sub{max-width:38rem;color:#64748b;font-size:.88rem;font-weight:600;line-height:1.65;margin-top:.9rem;}
.hero-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;}
.hero-badges span{display:inline-flex;align-items:center;border:1px solid rgba(253,230,138,.5);background:rgba(255,255,255,.9);padding:.4rem .8rem;border-radius:999px;font-size:.75rem;font-weight:700;color:#334155;}
.hero-actions{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem;}
@media(min-width:640px){.hero-actions{flex-direction:row;align-items:center;}}

.hero-right{display:flex;flex-direction:column;gap:1.25rem;}
.review-card{background:#fff;border-radius:1.5rem;border:1px solid #ffe4e6;box-shadow:0 8px 25px -12px rgba(0,0,0,.08);padding:1.1rem;}
.review-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem;}
.review-top .stars{color:#f59e0b;font-size:.85rem;letter-spacing:.05em;}
.review-top .rc-label{font-size:.65rem;font-weight:900;text-transform:uppercase;color:#94a3b8;margin-top:.15rem;}
.review-top .verified{display:inline-flex;align-items:center;gap:.3rem;background:#ecfdf5;color:#047857;border:1px solid #d1fae5;padding:.15rem .6rem;border-radius:999px;font-size:.65rem;font-weight:800;text-transform:uppercase;}
.review-viewport{position:relative;min-height:70px;}
.review-slide{display:none;}
.review-slide.active{display:block;animation:fadeIn .4s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.review-slide p{font-size:.8rem;font-weight:600;color:#334155;font-style:italic;line-height:1.4;}
.review-meta{display:flex;align-items:center;justify-content:space-between;margin-top:.4rem;font-size:.65rem;}
.review-meta .author{font-weight:800;color:var(--burgundy);}
.review-meta .center{color:var(--pink);font-weight:800;}
.review-dots{display:flex;gap:.35rem;margin-top:.6rem;padding-top:.4rem;border-top:1px solid #f8fafc;}
.review-dots span{height:6px;width:6px;border-radius:999px;background:#f9cbdc;transition:.2s;cursor:pointer;}
.review-dots span.active{width:16px;background:var(--pink);}

.hero-slideshow{position:relative;}
.slide-frame{position:relative;overflow:hidden;border-radius:2rem;border:4px solid #fff;background:#fff;box-shadow:0 20px 45px -20px rgba(0,0,0,.25);aspect-ratio:5/4;width:100%;max-width:620px;margin-left:auto;}
@media(min-width:640px){.slide-frame{aspect-ratio:1.25/1;}}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease;}
.hero-slide.active{opacity:1;z-index:2;}
.hero-slide img{width:100%;height:100%;object-fit:cover;}
.slide-caption{position:absolute;inset-inline:0;bottom:0;height:7rem;background:linear-gradient(to top,rgba(2,6,23,.8),rgba(2,6,23,.25),transparent);display:flex;align-items:flex-end;padding:1rem;}
.slide-caption p{color:#fff;font-weight:800;font-size:.9rem;}
.slide-badge{position:absolute;top:1rem;left:1rem;z-index:5;background:rgba(255,255,255,.95);padding:.4rem .9rem;border-radius:.8rem;font-size:.65rem;font-weight:900;text-transform:uppercase;color:var(--burgundy);display:flex;align-items:center;gap:.4rem;}
.slide-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:5;background:rgba(255,255,255,.85);width:2.1rem;height:2.1rem;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px rgba(0,0,0,.15);color:var(--burgundy);}
.slide-nav-btn.prev{left:.6rem;}
.slide-nav-btn.next{right:.6rem;}
.slide-dots{position:absolute;bottom:.8rem;right:1rem;z-index:5;display:flex;gap:.35rem;background:rgba(0,0,0,.4);padding:.3rem .6rem;border-radius:999px;}
.slide-dots span{height:6px;width:6px;border-radius:999px;background:rgba(255,255,255,.6);cursor:pointer;}
.floating-iso{position:absolute;bottom:-1rem;right:-0.5rem;z-index:10;background:#fff;border-radius:1.1rem;padding:.75rem 1rem;border:1.5px solid #fecdd3;box-shadow:0 14px 30px -10px rgba(95,20,61,.2);max-width:15rem;display:flex;align-items:center;gap:.75rem;transition:.2s;}
.floating-iso:hover{transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(95,20,61,.28);}
.floating-iso .check{width:2.1rem;height:2.1rem;border-radius:.75rem;background:#ecfdf5;color:#047857;border:1px solid #a7f3d0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1rem;flex-shrink:0;}
.floating-iso p{font-size:.72rem;font-weight:800;color:#1e293b;line-height:1.35;margin:0;}
@media(max-width:640px){
  .floating-iso{bottom:-0.5rem;right:0.5rem;max-width:13rem;padding:.5rem .75rem;}
  .floating-iso p{font-size:.65rem;}
}

/* ============ GENERIC SECTION ============ */
section{position:relative;}
.section-pad{padding:3.5rem 0;}
/* ============ ABOUT SECTION (2-Column Reference Layout) ============ */
.about-section{background:#ffffff;border-bottom:1px solid rgba(255,228,230,.5);position:relative;}
.about-header{margin-bottom:2.5rem;}
.about-eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#d97706;margin-bottom:.5rem;}
.about-title{font-family:var(--font-serif);font-size:2rem;font-weight:900;letter-spacing:-0.02em;color:#0f172a;line-height:1.2;}
@media(min-width:640px){.about-title{font-size:2.8rem;}}
@media(min-width:1440px){.about-title{font-size:3.2rem;}}
.about-title .highlight, .about-title span{color:var(--pink);}
.about-subtag{font-size:1.1rem;font-weight:600;font-style:italic;color:#475569;margin-top:.4rem;}
.about-underline{width:80px;height:3px;background:linear-gradient(90deg,#f59e0b,#ec1c8e);border-radius:999px;margin:.75rem auto 0;}

.about-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;margin-top:2.5rem;}
@media(min-width:1024px){.about-grid{grid-template-columns:1fr 1fr;gap:3.5rem;}}
@media(min-width:1440px){.about-grid{grid-template-columns:1.05fr 0.95fr;gap:4.5rem;}}

.about-img-col{position:relative;}
.about-img-wrap{position:relative;border-radius:1.5rem;overflow:hidden;border:4px solid #fff;box-shadow:0 20px 45px -20px rgba(0,0,0,.25);background:#fff;aspect-ratio:16/9;}
.about-img-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .4s ease;}
.about-img-wrap:hover img{transform:scale(1.03);}

.about-badge-top{position:absolute;top:1rem;left:1rem;z-index:5;background:#f59e0b;color:#fff;padding:.4rem .9rem;border-radius:.75rem;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 12px rgba(0,0,0,.15);display:inline-flex;align-items:center;gap:.35rem;}
.about-location-bottom{position:absolute;bottom:1rem;left:1rem;right:1rem;z-index:5;background:rgba(15,23,42,.85);backdrop-filter:blur(6px);color:#fff;padding:.5rem .9rem;border-radius:.75rem;font-size:.72rem;font-weight:700;border:1px solid rgba(255,255,255,.15);display:inline-flex;align-items:center;gap:.35rem;width:fit-content;max-width:calc(100% - 2rem);}

.about-content-col{text-align:left;}
.about-lead{font-size:1rem;line-height:1.7;color:#1e293b;margin-bottom:1rem;}
.about-lead strong, .about-lead b{color:var(--burgundy);font-weight:800;}
.about-body{font-size:.9rem;line-height:1.7;color:#475569;margin-bottom:1.5rem;}
.about-body strong, .about-body b{color:#0f172a;font-weight:800;}

.about-pillars-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.75rem 0;}
.about-pillar-card{background:rgba(255,241,242,.45);border:1px solid rgba(254,205,211,.8);border-radius:1rem;padding:1rem;transition:.2s;}
.about-pillar-card:hover{background:#fff;border-color:#f9cbdc;box-shadow:0 8px 20px -10px rgba(236,28,142,.15);transform:translateY(-2px);}
.about-pillar-card strong{display:block;font-size:.95rem;font-weight:900;color:var(--burgundy);margin-bottom:.25rem;}
.about-pillar-card span{display:block;font-size:.72rem;color:#64748b;line-height:1.45;}

.about-cta-row{margin-top:1.5rem;}
.about-bottom-summary{font-size:.9rem;line-height:1.7;color:#475569;margin-top:3rem;padding-top:1.5rem;border-top:1px solid #ffe4e6;text-align:left;}

/* ============ SERVICES ============ */
.services-section{background:var(--ivory);border-bottom:1px solid rgba(255,228,230,.35);}
.services-head{max-width:48rem;margin:0 auto 3rem;text-align:center;}
.services-head h2{font-size:1.6rem;margin-top:.9rem;}
@media(min-width:640px){.services-head h2{font-size:2.3rem;}}
@media(min-width:1440px){.services-head h2{font-size:2.6rem;}}
.services-head p{max-width:38rem;margin:0 auto;font-size:.85rem;color:#64748b;line-height:1.6;}
.services-grid{display:grid;grid-template-columns:1fr;gap:1.25rem;}
@media(min-width:640px){.services-grid{grid-template-columns:1fr 1fr;gap:1.25rem;}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3, 1fr);gap:1.5rem;}}
@media(min-width:1440px){.services-grid{grid-template-columns:repeat(4, 1fr);gap:1.65rem;}}
@media(min-width:1920px){.services-grid{grid-template-columns:repeat(4, 1fr);gap:1.85rem;}}
.service-card:hover{box-shadow:0 12px 24px -12px rgba(0,0,0,.12);border-color:#f9cbdc;transform:translateY(-2px);}
.service-card > div:not(.service-img-wrap), .service-card > .learn{padding-left:1.1rem;padding-right:1.1rem;}
.service-img-wrap{width:100%;height:9rem;overflow:hidden;background:var(--pink-light);}
.service-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.service-card:hover .service-img-wrap img{transform:scale(1.06);}
.service-card .head{display:flex;align-items:center;gap:.75rem;margin-top:.9rem;margin-bottom:.6rem;padding-bottom:.5rem;border-bottom:1px solid #fff5f7;}
.service-card .icon{width:2.25rem;height:2.25rem;flex-shrink:0;border-radius:.75rem;background:var(--pink-light);border:1px solid rgba(249,203,220,.3);display:flex;align-items:center;justify-content:center;font-size:1.1rem;overflow:hidden;}
.service-card .icon img, .service-card .icon .custom-card-icon{width:1.4rem;height:1.4rem;object-fit:contain;display:block;}
.service-card .icon .icon-emoji{line-height:1;}
.service-card h3{font-size:.85rem;font-weight:900;color:#0f172a;line-height:1.25;}
.service-card p{font-size:.75rem;color:#64748b;line-height:1.5;}
.service-card .learn{margin-top:.9rem;padding-top:.7rem;border-top:1px solid #fff5f7;font-size:.7rem;font-weight:800;color:var(--pink);display:flex;align-items:center;gap:.35rem;}

/* Doctors */
.doctors-block{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid rgba(255,228,230,.6);}
.doctors-head{max-width:44rem;margin:0 auto 2rem;text-align:center;}
.doctors-head h3{font-size:1.4rem;margin-top:.75rem;}
@media(min-width:640px){.doctors-head h3{font-size:1.85rem;}}
.doctors-head p{font-size:.8rem;color:#64748b;max-width:30rem;margin:0 auto;line-height:1.6;}
.doctor-tabs{display:flex;overflow-x:auto;gap:.65rem;justify-content:flex-start;padding:.5rem 0 1.75rem;scrollbar-width:none;}
.doctor-tabs::-webkit-scrollbar{display:none;}
@media(min-width:768px){.doctor-tabs{justify-content:center;flex-wrap:wrap;}}
.doctor-tabs button{flex-shrink:0;display:inline-flex;align-items:center;gap:.5rem;background:#fff;border:1px solid #fed7e2;padding:.5rem 1.15rem;border-radius:999px;font-size:.82rem;font-weight:700;color:#334155;box-shadow:0 2px 6px rgba(0,0,0,.03);transition:all .2s ease;}
.doctor-tabs button:hover{background:#fff1f2;border-color:var(--pink);color:var(--burgundy);transform:translateY(-1px);}
.doctor-tabs button .dot{width:7px;height:7px;border-radius:50%;background:var(--pink);}
.doctors-grid, .doctors-carousel{
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-behavior: auto;
  padding: .5rem .5rem 1.75rem;
  scrollbar-width: thin;
  scrollbar-color: #f9cbdc transparent;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,1) clamp(2.5rem, 6vw, 6rem), rgba(0,0,0,1) calc(100% - clamp(2.5rem, 6vw, 6rem)), transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,1) clamp(2.5rem, 6vw, 6rem), rgba(0,0,0,1) calc(100% - clamp(2.5rem, 6vw, 6rem)), transparent 100%);
}
.doctors-grid::-webkit-scrollbar, .doctors-carousel::-webkit-scrollbar{height:8px;}
.doctors-grid::-webkit-scrollbar-track, .doctors-carousel::-webkit-scrollbar-track{background:#fff5f7;border-radius:999px;}
.doctors-grid::-webkit-scrollbar-thumb, .doctors-carousel::-webkit-scrollbar-thumb{background:#f472b6;border-radius:999px;}

/* Prominent, Big Doctor Cards */
.doctor-card {
  flex: 0 0 25rem;
  background: #fff;
  border: 1px solid rgba(255, 197, 214, 0.75);
  border-radius: 1.5rem;
  padding: 1.5rem;
  box-shadow: 0 10px 30px -10px rgba(95, 20, 61, 0.1);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  cursor: pointer;
  position: relative;
}
@media (max-width: 640px) {
  .doctor-card {
    flex: 0 0 20rem;
    padding: 1.15rem;
  }
}
.doctor-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 45px -14px rgba(95, 20, 61, 0.22);
  border-color: #f472b6;
}

/* Twemoji / Emoji safety reset */
img.wp-smiley, img.emoji {
  display: inline !important;
  border: none !important;
  box-shadow: none !important;
  height: 1.1em !important;
  width: 1.1em !important;
  max-height: 1.1em !important;
  max-width: 1.1em !important;
  margin: 0 0.15em !important;
  vertical-align: -0.15em !important;
  background: none !important;
  padding: 0 !important;
}

/* Big, High-Impact Doctor Photo */
.doctor-card-media, .doctor-card .top {
  position: relative;
  width: 100%;
  height: 320px;
  border-radius: 1.25rem;
  overflow: hidden;
  margin-bottom: 1.15rem;
  background: #f8fafc;
  display: block;
}
@media (max-width: 640px) {
  .doctor-card-media, .doctor-card .top {
    height: 250px;
  }
}
.doctor-card-media > img, .doc-profile-media > img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  border-radius: 1.25rem;
  object-fit: cover !important;
  object-position: center top !important;
  display: block;
  transition: transform 0.4s ease;
}
.doctor-card:hover .doctor-card-media > img, .doc-profile:hover .doc-profile-media > img {
  transform: scale(1.04);
}

/* Floating Branch Badge on Photo */
.doctor-card .branch {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 2;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  background: rgba(95, 20, 61, 0.92);
  backdrop-filter: blur(6px);
  color: #fff !important;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.25);
  white-space: nowrap;
  width: auto !important;
  height: auto !important;
}
.doctor-card .branch svg,
.doc-badge-floating svg {
  width: 12px !important;
  height: 12px !important;
  max-width: 12px !important;
  max-height: 12px !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex-shrink: 0;
  color: #fff !important;
  fill: none;
}
.doctor-card .branch img.emoji,
.doc-badge-floating img.emoji {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
}

.doctor-card h4, .doctor-card .doctor-name {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.25;
}
.doctor-card .designation {
  font-size: 0.82rem;
  font-weight: 800;
  color: var(--pink);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-top: 0.35rem;
  line-height: 1.4;
}
.doctor-card .facts {
  margin-top: 1rem;
  padding: 0.75rem 0.9rem;
  background: #fdf4f7;
  border-radius: 0.95rem;
  border: 1px solid rgba(255, 228, 230, 0.8);
  font-size: 0.78rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.doctor-card .facts .row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
}
.doctor-card .facts .row span:first-child, .doctor-card .facts .row .fact-lbl {
  color: #831752;
  font-weight: 700;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  flex-shrink: 0;
}
.doctor-card .facts .row span:last-child, .doctor-card .facts .row .fact-val {
  font-weight: 700;
  color: #1e293b;
  text-align: right;
}
.doctor-card .bio {
  margin-top: 0.85rem;
  font-size: 0.78rem;
  font-style: italic;
  color: #475569;
  background: rgba(255, 255, 255, 0.95);
  padding: 0.75rem 0.9rem;
  border-radius: 0.85rem;
  border: 1px solid #fecdd3;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.doctor-card .cta {
  margin-top: 1.15rem;
  background: linear-gradient(90deg, var(--burgundy), #7a154c);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.85rem 1.15rem;
  border-radius: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 4px 14px rgba(95, 20, 61, 0.18);
  transition: all 0.2s ease;
}
.doctor-card .cta svg {
  width: 14px !important;
  height: 14px !important;
  max-width: 14px !important;
  max-height: 14px !important;
  display: inline-block !important;
  flex-shrink: 0;
}
.doctor-card a svg {
  width: 13px !important;
  height: 13px !important;
  max-width: 13px !important;
  max-height: 13px !important;
  display: inline-block !important;
  flex-shrink: 0;
}
.doctor-card:hover .cta {
  background: linear-gradient(90deg, var(--pink), var(--pink-hover));
  box-shadow: 0 6px 20px rgba(236, 28, 142, 0.4);
  transform: translateY(-1px);
}

/* ============ CENTERS ============ */
.centers-section {
  background: #faf5f6;
  border-top: 1px solid rgba(255, 228, 230, 0.5);
}
.centers-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
  margin: 2rem auto 2.5rem;
  max-width: 54rem;
}
.centers-tabs button {
  background: #fff;
  border: 1px solid #e2e8f0;
  padding: 0.6rem 1.25rem;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 800;
  color: #334155;
  transition: all 0.2s ease;
}
.centers-tabs button.active {
  background: var(--burgundy);
  color: #fff;
  border-color: var(--burgundy);
  box-shadow: 0 4px 14px rgba(95, 20, 61, 0.25);
}
.center-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-bottom: 2.75rem;
}
.center-pill {
  background: #fff;
  border: 1.5px solid #fecdd3;
  border-radius: 1.25rem;
  padding: 0.85rem 1.35rem;
  font-size: 0.88rem;
  font-weight: 800;
  color: var(--burgundy);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  min-width: 14rem;
  text-align: left;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
  transition: all 0.2s ease;
  cursor: pointer;
}
.center-pill:hover {
  transform: translateY(-2px);
  border-color: var(--pink);
  box-shadow: 0 8px 20px -6px rgba(236, 28, 142, 0.2);
}
.center-pill.active {
  border: 2px solid var(--pink);
  background: var(--pink-light);
  box-shadow: 0 6px 18px -4px rgba(236, 28, 142, 0.25);
}
.center-pill .city {
  color: var(--pink);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.center-detail {
  background: #fff;
  border-radius: 2rem;
  border: 1px solid #ffe4e6;
  box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.15);
  padding: 2.25rem;
  text-align: left;
}
@media (min-width: 640px) {
  .center-detail {
    padding: 2.75rem;
  }
}
.center-detail-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
}
@media (min-width: 1024px) {
  .center-detail-grid {
    grid-template-columns: 1.25fr 1fr;
    gap: 3.5rem;
  }
}
.center-info h4 {
  font-family: var(--font-serif);
  font-size: 1.55rem;
  font-weight: 900;
  color: #0f172a;
}
.center-info .state-badge {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--pink);
  background: var(--pink-light);
  padding: 0.25rem 0.75rem;
  border-radius: 0.6rem;
  margin-top: 0.45rem;
}
.info-row {
  display: flex;
  gap: 0.9rem;
  margin-top: 1.15rem;
  font-size: 0.9rem;
}
.info-row .ic {
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
  border-radius: 0.75rem;
  background: var(--pink-light);
  color: var(--pink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}
.info-row .label {
  font-weight: 800;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #334155;
}
.info-row p {
  color: #475569;
  margin-top: 0.15rem;
  line-height: 1.5;
}
.map-wrap {
  margin-top: 1.5rem;
  border-radius: 1.25rem;
  overflow: hidden;
  border: 1px solid #ffe4e6;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}
.map-topbar {
  background: rgba(255, 241, 242, 0.7);
  padding: 0.75rem 1.15rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--burgundy);
  border-bottom: 1px solid rgba(255, 228, 230, 0.8);
}
.map-topbar a {
  background: #fff;
  border: 1px solid #ffe4e6;
  padding: 0.3rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.65rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--pink);
  text-decoration: none;
}
.map-wrap iframe {
  width: 100%;
  height: 330px;
  border: none;
  display: block;
}
.cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
.cta-row a {
  flex: 1;
  min-width: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.85rem 1.25rem;
  border-radius: 0.95rem;
  font-weight: 800;
  font-size: 0.84rem;
  text-decoration: none;
  transition: all 0.2s ease;
}
.cta-row .call {
  background: var(--burgundy);
  color: #fff;
  box-shadow: 0 4px 14px rgba(95, 20, 61, 0.2);
}
.cta-row .call:hover {
  background: #4a0e2e;
  transform: translateY(-1px);
}
.cta-row .wa {
  background: #25D366;
  color: #fff;
  box-shadow: 0 4px 14px rgba(37, 211, 102, 0.25);
}
.cta-row .wa:hover {
  background: #1eb956;
  transform: translateY(-1px);
}

.specialists-col h4 {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  border-bottom: 1px solid #ffe4e6;
  padding-bottom: 0.85rem;
  color: #0f172a;
}
.doc-profile {
  background: #fff;
  border: 1px solid rgba(255, 197, 214, 0.85);
  border-radius: 1.5rem;
  padding: 1.5rem;
  margin-top: 1.15rem;
  box-shadow: 0 10px 30px -10px rgba(95, 20, 61, 0.1);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.doc-profile:hover {
  box-shadow: 0 20px 42px -12px rgba(95, 20, 61, 0.2);
  border-color: #f472b6;
}

/* Big High-Impact Media for Center Specialist */
.doc-profile-media, .doc-profile-top {
  position: relative;
  width: 100%;
  max-width: 440px;
  margin: 0 auto 1.25rem auto;
  height: 380px;
  border-radius: 1.25rem;
  overflow: hidden;
  background: #fdf2f8;
  display: block;
}
@media (max-width: 768px) {
  .doc-profile-media, .doc-profile-top {
    height: 320px;
  }
}
@media (max-width: 480px) {
  .doc-profile-media, .doc-profile-top {
    height: 270px;
  }
}
.doc-profile-media > img, .doc-profile-top > img, .doc-profile-media img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  border-radius: 1.25rem;
  object-fit: cover !important;
  object-position: center top !important;
  display: block;
  transition: transform 0.4s ease;
}
.doc-profile:hover .doc-profile-media > img, .doc-profile:hover .doc-profile-top > img {
  transform: scale(1.02);
}

.doc-badge-floating {
  position: absolute;
  top: 0.85rem;
  right: 0.85rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: rgba(95, 20, 61, 0.92);
  backdrop-filter: blur(6px);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.25);
  white-space: nowrap;
}

.doc-profile h5 {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.25;
}
.doc-profile .desig {
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--pink);
  letter-spacing: 0.04em;
  margin-top: 0.35rem;
  line-height: 1.4;
}
.doc-profile .qual {
  font-size: 0.85rem;
  font-weight: 600;
  color: #475569;
  margin-top: 0.35rem;
  line-height: 1.4;
}

.doc-facts {
  margin-top: 1rem;
  padding: 0.75rem 0.9rem;
  background: #fdf4f7;
  border-radius: 0.95rem;
  border: 1px solid rgba(255, 228, 230, 0.8);
  font-size: 0.78rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}
.doc-fact-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem;
}
.doc-fact-row .df-lbl {
  color: #831752;
  font-weight: 700;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  flex-shrink: 0;
}
.doc-fact-row .df-val {
  font-weight: 700;
  color: #1e293b;
  text-align: right;
}

.doc-profile .bio {
  margin-top: 0.85rem;
  font-size: 0.8rem;
  font-style: italic;
  color: #334155;
  line-height: 1.55;
  background: rgba(255, 255, 255, 0.95);
  padding: 0.85rem;
  border-radius: 0.85rem;
  border: 1px solid #fecdd3;
}
.doc-consult-btn {
  margin-top: 1.15rem;
  background: linear-gradient(90deg, var(--burgundy), #7a154c);
  color: #fff;
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 0.85rem 1.15rem;
  border-radius: 0.95rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 4px 14px rgba(95, 20, 61, 0.18);
  transition: all 0.2s ease;
  width: 100%;
  cursor: pointer;
  border: none;
}
.doc-consult-btn:hover {
  background: linear-gradient(90deg, var(--pink), var(--pink-hover));
  box-shadow: 0 6px 20px rgba(236, 28, 142, 0.4);
  transform: translateY(-1px);
}

.doc-dots-wrap {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid #ffe4e6;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}
.doc-dots-label {
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  color: #64748b;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.doc-dots {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}
.doc-dot-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fdf2f8;
  border: 1px solid #fed7e2;
  color: #5f143d;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.2;
  transition: all 0.2s ease;
}
.doc-dot-pill span {
  width: auto !important;
  height: auto !important;
  display: inline !important;
  background: transparent !important;
  border-radius: 0 !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  line-height: inherit !important;
}
.doc-dot-pill:hover {
  background: #fff1f2;
  border-color: var(--pink);
  color: var(--pink);
  transform: translateY(-1px);
}
.doc-dot-pill.active {
  background: var(--pink);
  color: #fff;
  border-color: var(--pink);
  box-shadow: 0 3px 10px rgba(236, 28, 142, 0.35);
}
.doc-dot-pill.active span {
  color: #fff !important;
}
@keyframes docFadeIn {
  from {
    opacity: 0.35;
    transform: scale(0.98);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.doc-profile-media img, .doc-profile img {
  animation: docFadeIn 0.35s ease;
}

/* ============================================================
   ALL 4 FLAGSHIP CENTERS & TIMINGS CARDS
   ============================================================ */
.centers-grid-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  gap: 1.75rem;
  margin-top: 2.5rem;
}
.center-branch-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #ffffff;
  border-radius: 1.5rem;
  padding: 1.75rem;
  border: 1px solid rgba(255, 197, 214, 0.75);
  box-shadow: 0 10px 30px -10px rgba(95, 20, 61, 0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
  overflow: hidden;
}
.center-branch-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px -12px rgba(95, 20, 61, 0.16);
  border-color: var(--pink);
}
.center-branch-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: linear-gradient(90deg, #5f143d, #ec1c8e);
}
.center-branch-card .city-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  background: #fff1f2;
  color: #ec1c8e;
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  margin-bottom: 0.75rem;
}
.center-branch-card h3 {
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 800;
  color: #5f143d;
  line-height: 1.3;
  margin-bottom: 0.6rem;
}
.center-branch-card .address-text {
  font-size: 0.85rem;
  color: #475569;
  line-height: 1.55;
  margin-bottom: 1rem;
  display: flex;
  gap: 0.5rem;
}
.center-branch-card .address-text svg {
  flex-shrink: 0;
  color: #ec1c8e;
  margin-top: 0.15rem;
}
.timing-highlight-box {
  background: #fdf4f7;
  border: 1px solid rgba(255, 228, 230, 0.95);
  border-radius: 1rem;
  padding: 0.85rem 1rem;
  margin-bottom: 1.15rem;
}
.timing-highlight-box .timing-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.4rem;
}
.timing-highlight-box .th-label {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 800;
  color: #831752;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.timing-highlight-box .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: #ecfdf5;
  color: #059669;
  font-size: 0.65rem;
  font-weight: 800;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  border: 1px solid rgba(16, 185, 129, 0.2);
}
.timing-highlight-box .timing-schedule {
  font-size: 0.82rem;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.45;
}
.timing-highlight-box .timing-sub {
  font-size: 0.72rem;
  color: #64748b;
  margin-top: 0.2rem;
}
.center-specs-box {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.85rem;
  padding: 0.75rem 0.9rem;
  margin-bottom: 1.15rem;
  font-size: 0.78rem;
}
.center-specs-box .cs-title {
  font-size: 0.68rem;
  font-weight: 800;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.25rem;
}
.center-specs-box .cs-names {
  font-weight: 700;
  color: #0f172a;
  line-height: 1.4;
}
.center-actions-stack {
  border-top: 1px solid #f1f5f9;
  padding-top: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.center-actions-stack .ca-top-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.center-actions-stack .ca-top-row .phone-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #ec1c8e;
  font-weight: 800;
  font-size: 0.85rem;
  text-decoration: none;
}
.center-actions-stack .ca-top-row .wa-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #16a34a;
  font-weight: 800;
  font-size: 0.82rem;
  background: #f0fdf4;
  padding: 0.35rem 0.75rem;
  border-radius: 0.6rem;
  text-decoration: none;
  border: 1px solid rgba(22, 163, 74, 0.2);
}
.center-actions-stack .ca-btn-row {
  display: flex;
  gap: 0.5rem;
}
.center-actions-stack .map-dir-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  background: #f8fafc;
  color: #475569;
  font-size: 0.78rem;
  font-weight: 700;
  padding: 0.65rem 0.85rem;
  border-radius: 0.75rem;
  border: 1px solid #e2e8f0;
  text-decoration: none;
  transition: all 0.2s ease;
}
.center-actions-stack .map-dir-btn:hover {
  background: #f1f5f9;
  color: #0f172a;
}
.center-actions-stack .book-center-btn {
  flex: 1.25;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  background: linear-gradient(90deg, #5f143d, #7a154c);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
  padding: 0.65rem 0.85rem;
  border-radius: 0.75rem;
  border: none;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(95, 20, 61, 0.15);
  text-decoration: none;
  transition: all 0.2s ease;
}
.center-actions-stack .book-center-btn:hover {
  background: linear-gradient(90deg, #4d0e31, #6b1041);
  transform: translateY(-1px);
}

/* ============ TESTIMONIALS ============ */
.testimonials-section{background:#f8fafc;border-bottom:1px solid rgba(255,228,230,.4);}
.reviews-summary{margin:1.5rem auto 2.5rem;display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.25rem;background:#fff;padding:1rem 1.25rem;border-radius:1.25rem;border:1px solid #ffe4e6;box-shadow:0 10px 25px -15px rgba(0,0,0,.15);}
.reviews-summary .score{font-size:2rem;font-weight:900;color:#0f172a;}
.reviews-summary .stars{color:#f59e0b;font-size:.85rem;}
.reviews-summary small{display:block;font-size:.65rem;font-weight:700;color:#64748b;margin-top:.15rem;}
.reviews-summary .vsep{width:1px;height:1.75rem;background:#e2e8f0;}
.rv-block{font-size:.75rem;color:#475569;}
.rv-block .verified{font-weight:800;color:#1e293b;display:flex;align-items:center;gap:.35rem;}
.scroll-hint{font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin-bottom:1.25rem;}
.testimonial-track-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.testimonial-grid{display:flex;gap:1.1rem;width:max-content;animation:testimonial-scroll 42s linear infinite;}
.testimonial-track-wrap:hover .testimonial-grid{animation-play-state:paused;}
@keyframes testimonial-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.testimonial-card{flex:0 0 20rem;background:#fff;border:1px solid #ffe4e6;border-radius:1.1rem;padding:1.25rem;box-shadow:0 2px 12px -8px rgba(0,0,0,.08);text-align:left;}
@media(max-width:640px){.testimonial-card{flex-basis:16.5rem;}}
.testimonial-card .stars{color:#f59e0b;font-size:.8rem;margin-bottom:.5rem;}
.testimonial-card p.msg{font-size:.78rem;color:#334155;line-height:1.55;min-height:5.5rem;}
.testimonial-card .foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:1rem;padding-top:.75rem;border-top:1px solid #fff5f7;}
.testimonial-card .name{font-size:.78rem;font-weight:800;color:var(--burgundy);}
.testimonial-card .tag{font-size:.62rem;color:var(--pink);font-weight:800;margin-top:.15rem;}
.testimonial-card .date{font-size:.62rem;color:#94a3b8;font-weight:700;}

/* ============ BOOKING FORM ============ */
.booking-section{background:rgba(255,241,242,.2);border-top:1px solid rgba(255,228,230,.4);border-bottom:1px solid rgba(255,228,230,.4);}
.booking-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;}
@media(min-width:1024px){.booking-grid{grid-template-columns:1fr 1.25fr;align-items:center;gap:4rem;}}
.booking-left{text-align:left;}
.booking-left h3{font-family:var(--font-sans);font-size:1.6rem;font-weight:800;letter-spacing:-0.02em;color:#0f172a;margin-top:1rem;line-height:1.25;}
@media(min-width:640px){.booking-left h3{font-size:2.1rem;}}
.booking-left p{color:#64748b;margin-top:1rem;line-height:1.6;font-size:.9rem;}
.form-card{background:#fff;border-radius:1.5rem;border:1px solid #ffe4e6;box-shadow:0 20px 45px -25px rgba(0,0,0,.2);padding:1.5rem;}
@media(min-width:640px){.form-card{padding:2rem;}}
.form-row{display:grid;grid-template-columns:1fr;gap:1rem;margin-bottom:1rem;}
@media(min-width:640px){.form-row{grid-template-columns:1fr 1fr;}}
.field label{display:block;font-size:.7rem;font-weight:700;color:#64748b;letter-spacing:.02em;margin-bottom:.35rem;}
.field input,.field select,.field textarea{width:100%;border-radius:.75rem;border:1px solid #e2e8f0;padding:.65rem .85rem;font-size:16px;font-family:inherit;outline:none;transition:.15s;background:#fff;}
@media(min-width:640px){.field input,.field select,.field textarea{font-size:.85rem;}}
.field input:focus,.field select:focus,.field textarea:focus{border-color:#fb7185;box-shadow:0 0 0 3px rgba(251,113,133,.15);}
.field textarea{resize:none;}
.submit-btn{width:100%;background:linear-gradient(90deg,#f43f5e,#ec4899);color:#fff;padding:.9rem;border-radius:.85rem;font-weight:800;font-size:.9rem;box-shadow:0 10px 20px -8px rgba(236,28,142,.4);margin-top:.5rem;}
.submit-btn:hover{background:linear-gradient(90deg,#e11d48,#db2777);}
.form-success{display:none;text-align:center;padding:2rem 1rem;}
.form-success.show{display:block;}
.form-success .check{width:3.5rem;height:3.5rem;border-radius:999px;background:#ecfdf5;color:#059669;display:flex;align-items:center;justify-content:center;font-size:1.75rem;margin:0 auto 1rem;}
.form-success h3{font-size:1.3rem;font-weight:800;color:#0f172a;}
.form-success p{color:#64748b;font-size:.85rem;margin-top:.5rem;}
.form-success button{margin-top:1.25rem;background:var(--burgundy);color:#fff;padding:.65rem 1.25rem;border-radius:.75rem;font-weight:700;font-size:.8rem;}

/* ============ FOOTER ============ */
footer{background:#0f172a;padding:4rem 0 2rem;border-top:1px solid rgba(80,7,36,.3);color:#fff;}
.footer-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-bottom:3rem;}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(12,1fr);gap:2.5rem;}}
@media(min-width:1440px){.footer-grid{gap:3.5rem;}}
.footer-col-1{grid-column:span 4;}
.footer-col-1 .brand{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 0 !important;
  text-decoration: none !important;
  margin-bottom: 0.85rem !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.footer-col-1 .brand:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
  border: none !important;
  box-shadow: none !important;
}
.footer-col-1 .brand img, .footer-logo-img{
  display: block !important;
  max-width: 320px !important;
  width: auto !important;
  height: 76px !important;
  max-height: 84px !important;
  object-fit: contain !important;
  object-position: left center !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media(min-width:1280px){
  .footer-col-1 .brand img, .footer-logo-img{
    height: 82px !important;
    max-height: 90px !important;
    max-width: 350px !important;
  }
}
@media(max-width:768px){
  .footer-col-1 .brand img, .footer-logo-img{
    height: 64px !important;
    max-height: 70px !important;
    max-width: 270px !important;
  }
}
@media(max-width:480px){
  .footer-col-1 .brand img, .footer-logo-img{
    height: 54px !important;
    max-height: 58px !important;
    max-width: 225px !important;
  }
}
.footer-col-1 p{font-size:.72rem;color:#94a3b8;line-height:1.6;margin-top:.75rem;max-width:22rem;}
.footer-tags{display:flex;gap:.6rem;margin-top:1rem;}
.footer-tags span{font-size:.6rem;text-transform:uppercase;font-weight:800;letter-spacing:.06em;padding:.25rem .6rem;border-radius:.3rem;}
.footer-tags .iso{color:#fb7185;background:rgba(80,7,36,.5);}
.footer-tags .icmr{color:#cbd5e1;background:#1e293b;}
.footer-col{grid-column:span 3;}
.footer-col.narrow{grid-column:span 2;}
.footer-col h4{font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#fb7185;margin-bottom:1rem;}
.footer-col ul{display:flex;flex-direction:column;gap:.5rem;}
.footer-col ul li a{font-size:.72rem;color:#94a3b8;font-weight:600;}
.footer-col ul li a:hover{color:#fff;}
.footer-contact{display:flex;flex-direction:column;gap:.75rem;font-size:.72rem;color:#94a3b8;font-weight:600;}
.footer-contact a{display:flex;align-items:center;gap:.5rem;}
.footer-contact a:hover{color:#fff;}
.footer-legal{padding-top:.5rem;margin-top:.5rem;border-top:1px solid #1e293b;display:flex;flex-direction:column;gap:.3rem;}
.footer-legal a{color:#fb7185;font-weight:600;}
.footer-bottom{display:flex;flex-direction:column;gap:1rem;padding-top:2rem;border-top:1px solid #1e293b;font-size:.65rem;color:#64748b;}
@media(min-width:640px){.footer-bottom{flex-direction:row;align-items:center;justify-content:space-between;}}
.footer-bottom .legal-links{display:flex;align-items:center;gap:1rem;font-weight:800;color:#94a3b8;}
.footer-bottom .legal-links a:hover{color:var(--pink);}

/* ============ POPUP BANNER ============ */
.popup-overlay{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);display:none;align-items:center;justify-content:center;padding:1rem;}
.popup-overlay.show{display:flex;}
.popup-box{position:relative;width:100%;max-width:32rem;max-height:88vh;background:#fff;border-radius:1.25rem;border:1px solid #ffe4e6;box-shadow:0 30px 60px -20px rgba(0,0,0,.4);overflow-y:auto;display:flex;flex-direction:column;}
@media(min-width:768px){.popup-box{flex-direction:row;}}
.popup-close{position:absolute;top:.5rem;right:.5rem;z-index:5;width:2.75rem;height:2.75rem;border-radius:999px;background:rgba(0,0,0,.4);color:#fff;display:flex;align-items:center;justify-content:center;}
.popup-img{width:100%;height:9rem;flex-shrink:0;overflow:hidden;}
@media(min-width:768px){.popup-img{width:40%;height:auto;}}
.popup-img img{width:100%;height:100%;object-fit:cover;}
.popup-body{padding:1.5rem;flex:1;text-align:left;}
.popup-body .tag{display:inline-flex;align-items:center;gap:.3rem;background:#fff1f2;color:#e11d48;padding:.15rem .6rem;border-radius:.4rem;font-size:.6rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.6rem;}
.popup-body h4{font-size:1.15rem;font-weight:900;color:#030712;line-height:1.3;}
.popup-body p{margin-top:.5rem;font-size:.75rem;color:#64748b;line-height:1.5;}
.popup-body a.cta{margin-top:1.25rem;display:flex;align-items:center;justify-content:center;gap:.5rem;background:linear-gradient(90deg,#f43f5e,#ec4899);color:#fff;padding:.75rem;border-radius:.7rem;font-size:.72rem;font-weight:800;text-transform:uppercase;}

/* ============ WHATSAPP FLOAT ============ */
.wa-float{position:fixed;bottom:1.25rem;right:1.25rem;z-index:40;width:3.4rem;height:3.4rem;border-radius:999px;background:var(--whatsapp);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 25px -8px rgba(0,0,0,.35);}

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}

/* ============================================================
   DIRECT DOCTOR & APPOINTMENT BOOKING MODAL POPUP
   ============================================================ */
.booking-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  background: rgba(15, 23, 42, 0.75) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  z-index: 999999 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.25rem !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.booking-modal-overlay.active {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.booking-modal-card {
  position: relative !important;
  width: 100% !important;
  max-width: 580px !important;
  background: #ffffff !important;
  border-radius: 1.75rem !important;
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 197, 214, 0.7) !important;
  overflow: hidden !important;
  transform: translateY(20px) scale(0.96);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  max-height: 92vh !important;
  display: flex !important;
  flex-direction: column !important;
}
.booking-modal-overlay.active .booking-modal-card {
  transform: translateY(0) scale(1) !important;
}
.booking-modal-close {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  z-index: 10 !important;
  width: 2.25rem !important;
  height: 2.25rem !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.22) !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  color: #ffffff !important;
  font-size: 1.5rem !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
.booking-modal-close:hover {
  background: #ffffff !important;
  color: #5f143d !important;
  transform: scale(1.1) !important;
}
.booking-modal-header {
  background: linear-gradient(135deg, #5f143d 0%, #831752 50%, #ec1c8e 100%) !important;
  color: #ffffff !important;
  padding: 1.75rem 2rem 1.5rem !important;
  position: relative !important;
}
.booking-modal-eyebrow {
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: #fce7f3 !important;
  margin-bottom: 0.35rem !important;
}
.booking-modal-header h3 {
  font-family: var(--font-serif, serif) !important;
  font-size: 1.5rem !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}
.booking-modal-header p {
  font-size: 0.84rem !important;
  color: rgba(255, 255, 255, 0.9) !important;
  margin-top: 0.35rem !important;
  line-height: 1.45 !important;
}
.booking-modal-doc-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  background: rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(4px) !important;
  border: 1px solid rgba(255, 255, 255, 0.3) !important;
  border-radius: 999px !important;
  padding: 0.35rem 0.9rem !important;
  margin-top: 0.85rem !important;
}
.booking-modal-doc-pill .doc-avatar {
  font-size: 1.1rem !important;
}
.booking-modal-doc-pill strong {
  display: block !important;
  font-size: 0.82rem !important;
  color: #ffffff !important;
}
.booking-modal-doc-pill small {
  display: block !important;
  font-size: 0.68rem !important;
  color: #fbcfe8 !important;
}
.booking-modal-body {
  padding: 1.75rem 2rem 2rem !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
.modal-form-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 1rem !important;
}
@media (max-width: 580px) {
  .modal-form-grid {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
  }
  .booking-modal-header {
    padding: 1.35rem 1.25rem !important;
  }
  .booking-modal-body {
    padding: 1.25rem 1.25rem 1.5rem !important;
  }
}
.modal-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem !important;
}
.modal-field label {
  font-size: 0.76rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #334155 !important;
}
.modal-field input,
.modal-field select,
.modal-field textarea {
  width: 100% !important;
  padding: 0.75rem 0.9rem !important;
  font-size: 0.88rem !important;
  border-radius: 0.85rem !important;
  border: 1.5px solid #e2e8f0 !important;
  background: #f8fafc !important;
  color: #0f172a !important;
  outline: none !important;
  font-family: inherit !important;
  transition: all 0.2s ease !important;
}
.modal-field input:focus,
.modal-field select:focus,
.modal-field textarea:focus {
  border-color: #ec1c8e !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px rgba(236, 28, 142, 0.12) !important;
}
.modal-submit-btn {
  margin-top: 1.25rem !important;
  width: 100% !important;
  padding: 0.95rem 1.5rem !important;
  background: linear-gradient(90deg, #5f143d 0%, #ec1c8e 100%) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 1rem !important;
  font-size: 0.92rem !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  box-shadow: 0 8px 22px -5px rgba(236, 28, 142, 0.5) !important;
  transition: all 0.25s ease !important;
}
.modal-submit-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 28px -5px rgba(236, 28, 142, 0.65) !important;
}
.modal-secure-note {
  font-size: 0.72rem !important;
  color: #64748b !important;
  text-align: center !important;
  margin-top: 0.85rem !important;
}
.modal-success-state {
  text-align: center !important;
  padding: 1.5rem 0.5rem !important;
}
.modal-success-icon {
  width: 4rem !important;
  height: 4rem !important;
  border-radius: 50% !important;
  background: #ecfdf5 !important;
  color: #059669 !important;
  border: 2px solid #a7f3d0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 2rem !important;
  font-weight: 900 !important;
  margin: 0 auto 1.25rem !important;
}
.modal-success-state h3 {
  font-family: var(--font-serif, serif) !important;
  font-size: 1.45rem !important;
  color: #5f143d !important;
  margin-bottom: 0.5rem !important;
}
.modal-success-state p {
  font-size: 0.9rem !important;
  color: #475569 !important;
  line-height: 1.6 !important;
}
.modal-success-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  margin-top: 1.5rem !important;
}
.modal-success-actions .btn-wa {
  background: #25D366 !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 0.88rem !important;
  padding: 0.85rem !important;
  border-radius: 0.85rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.5rem !important;
}
.modal-success-actions .btn-done {
  background: #f1f5f9 !important;
  color: #334155 !important;
  font-weight: 700 !important;
  font-size: 0.85rem !important;
  padding: 0.75rem !important;
  border-radius: 0.85rem !important;
  border: none !important;
  cursor: pointer !important;
}

/* ============================================================
   GLOBAL MOBILE RESPONSIVENESS & TOUCH OPTIMIZATIONS
   ============================================================ */

/* Prevent iOS Safari input focus auto-zoom */
@media (max-width: 768px) {
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  input[type="date"],
  input[type="number"],
  select,
  textarea,
  .modal-field input,
  .modal-field select,
  .modal-field textarea,
  .field input,
  .field select,
  .field textarea {
    font-size: 16px !important;
  }
}

/* Header & Logo Mobile scaling */
@media (max-width: 600px) {
  .header-main-bar {
    padding: 0.5rem 0 !important;
  }
  .header-main-inner {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.75rem !important;
  }
  .header-brand-wrap {
    gap: 0.5rem !important;
  }
  .header-brand-wrap .logo {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .header-brand-wrap .logo img,
  .custom-logo,
  .site-main-logo {
    height: 56px !important;
    max-height: 60px !important;
    max-width: 230px !important;
    width: auto !important;
  }
  .hamburger {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0.45rem !important;
    border-radius: 12px !important;
  }
  .hamburger svg {
    width: 22px !important;
    height: 22px !important;
  }
}

@media (max-width: 380px) {
  .header-brand-wrap .logo {
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  .header-brand-wrap .logo img,
  .custom-logo,
  .site-main-logo {
    height: 48px !important;
    max-height: 52px !important;
    max-width: 200px !important;
  }
}

/* Doctors Carousel on Mobile */
@media (max-width: 480px) {
  .doctor-card {
    flex: 0 0 17.5rem !important;
    padding: 1rem !important;
  }
  .doctor-card-media, .doctor-card .top {
    height: 220px !important;
  }
  .doctor-card h4 {
    font-size: 1.15rem !important;
  }
  .doctor-tabs button {
    font-size: 0.75rem !important;
    padding: 0.4rem 0.85rem !important;
  }
}

/* Center Details & Map Embed on Mobile */
@media (max-width: 768px) {
  .center-detail-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
  .center-map-box iframe {
    height: 260px !important;
  }
  .center-pills {
    gap: 0.4rem !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    padding-bottom: 0.5rem !important;
  }
  .center-pill {
    flex-shrink: 0 !important;
    font-size: 0.76rem !important;
    padding: 0.45rem 0.95rem !important;
  }
}

/* Hero Section Mobile Typography & Touch actions */
@media (max-width: 640px) {
  .hero {
    padding: 1.75rem 0 2.5rem !important;
  }
  .hero h1 {
    font-size: 1.85rem !important;
    line-height: 1.2 !important;
  }
  .hero-sub {
    font-size: 0.82rem !important;
  }
  .hero-actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.65rem !important;
    width: 100% !important;
  }
  .hero-actions .btn {
    width: 100% !important;
    justify-content: center !important;
  }
}

/* Services Grid Mobile */
@media (max-width: 640px) {
  .services-grid {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
  .service-img-wrap {
    height: 8.5rem !important;
  }
}

/* Testimonials Mobile */
@media (max-width: 640px) {
  .testimonial-card {
    flex-basis: 16rem !important;
    padding: 1.1rem !important;
  }
}

/* About Pillars on Mobile */
@media (max-width: 480px) {
  .about-pillars-grid {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }
}

/* Prevent horizontal scroll leakage on all mobile viewports */
html, body {
  overflow-x: hidden !important;
  width: 100% !important;
}


