/* Premium healthcare UI — soft lavender, deep purple, pink accent */

:root {
  --pink: #EC168C;
  --pink-soft: #FBE8F4;
  --pink-hot: #EC168C;
  --purple: #42145F;
  --plum: #42145F;
  --ink: #201A35;
  --deep: #42145F;
  --muted: #5A5463;
  --blush: #F8F3FC;
  --lilac: #F8F3FC;
  --prem-radius: 16px;
  --prem-radius-sm: 12px;
  --prem-shadow: 0 4px 18px rgba(66, 20, 95, .07);
  --prem-shadow-md: 0 12px 30px rgba(66, 20, 95, .1);
  --prem-line: rgba(66, 20, 95, .1);
  --prem-soft: #F8F3FC;
  --prem-lavender: #F3EAF8;
  --btn-h: 46px;
  --title-font: "Gilroy", "Plus Jakarta Sans", sans-serif;
  --body-font: "Gilroy", "Inter", sans-serif;
}

/* —— Typography & space —— */
html {
  background: #FCFAFD;
}
body.site-body,
body {
  color: var(--muted);
  background:
    radial-gradient(1100px 520px at 8% -8%, rgba(236, 22, 140, .06), transparent 55%),
    radial-gradient(900px 480px at 100% 12%, rgba(66, 20, 95, .06), transparent 50%),
    linear-gradient(180deg, #FCFAFD 0%, #F8F3FC 42%, #FCFAFD 100%) !important;
  letter-spacing: -.01em;
  overflow-x: clip;
}
.site-body,
.app-main {
  overflow-x: clip;
}
.app-main {
  background: transparent;
}
.sec-about {
  background:
    radial-gradient(720px 320px at 85% 20%, rgba(236, 22, 140, .04), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.55) 0%, rgba(248, 243, 252, .9) 100%) !important;
}
.section {
  padding: clamp(3.4rem, 5.2vw, 5rem) 0;
  position: relative;
}
.section.band-soft {
  background:
    linear-gradient(180deg, rgba(248, 243, 252, .95) 0%, rgba(243, 234, 248, .75) 100%);
  border-block: 1px solid rgba(66, 20, 95, .06);
}
.section-title {
  color: var(--ink);
  letter-spacing: -.04em;
  line-height: 1.15;
  margin-bottom: .85rem;
  font-weight: 800;
  font-size: clamp(1.7rem, 2.9vw, 2.4rem);
}
.about-copy .copy-lead {
  margin-bottom: 1rem;
  max-width: 52ch;
}
.about-copy .about-checks { margin-top: 1.15rem; }
.why-grid-cards {
  display: grid;
  gap: 12px;
  margin-top: 1.15rem;
}
.why-card {
  background: #fff;
  border: 1px solid rgba(66, 20, 95, .07);
  border-radius: 16px;
  padding: 1.05rem 1.15rem;
  box-shadow: 0 8px 22px rgba(66, 20, 95, .05);
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: start;
  transition: transform .2s ease, box-shadow .2s ease;
}
.why-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(66, 20, 95, .08);
}
.why-card__n {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: linear-gradient(155deg, #FFF5FA 0%, #F3EAF8 100%);
  color: var(--pink);
  font-weight: 800;
  font-size: .82rem;
  box-shadow: inset 0 0 0 1px rgba(236, 22, 140, .12);
}
.why-card h3 {
  margin: 0 0 .3rem;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--ink);
  letter-spacing: -.02em;
}
.why-card p {
  margin: 0;
  font-size: .92rem;
  line-height: 1.55;
  color: var(--muted);
  grid-column: 2;
}
.why-card h3 { grid-column: 2; }
.section-intro {
  max-width: 40rem;
  margin: 0 auto 2rem;
}
.section-intro .section-title {
  position: relative;
  display: inline-block;
  margin-bottom: .85rem;
}
.section-intro .section-title::after {
  content: "";
  display: block;
  width: 3.25rem;
  height: 3px;
  margin: .7rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--pink), var(--purple));
}
.section-intro.text-start .section-title::after,
.section-intro:not(.text-center) .section-title::after {
  margin-left: 0;
}
.section-intro__lead,
.copy-lead {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #5A5463;
  max-width: 48ch;
}
.section-intro.text-center .section-intro__lead {
  margin-inline: auto;
}
.copy-panel {
  background:
    linear-gradient(165deg, rgba(255, 255, 255, .96) 0%, rgba(251, 245, 252, .98) 100%);
  border: 1px solid rgba(66, 20, 95, .08);
  border-radius: 24px;
  padding: clamp(1.35rem, 2.5vw, 1.85rem);
  box-shadow: 0 16px 40px rgba(66, 20, 95, .07);
}
.copy-panel .section-title { margin-bottom: .7rem; }
.copy-panel .copy-lead { margin-bottom: 1.15rem; max-width: none; }
.copy-panel--soft {
  background:
    linear-gradient(165deg, #FFFFFF 0%, #F7F0FB 100%);
  box-shadow: 0 14px 36px rgba(66, 20, 95, .06);
}
.copy-panel--soft .why-item:last-child { margin-bottom: 0; }
.copy-panel--soft .why-item {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: .55rem 0;
  margin-bottom: .35rem;
  border-bottom: 1px solid rgba(66, 20, 95, .07);
  border-radius: 0;
}
.copy-panel--soft .why-item:last-child { border-bottom: 0; }
.section-intro--split {
  max-width: none;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.75rem;
}
.section-intro--split .section-intro__lead { max-width: 42ch; }
.section-intro--split .section-more { flex-shrink: 0; margin-bottom: .15rem; }
.sec-about .section-title + p,
.sec-vm .vm-link p {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #5A5463;
  max-width: 54ch;
}
.sec-stories .t-card,
.sec-faq .faq-item {
  border-radius: 18px !important;
  border: 1px solid rgba(66, 20, 95, .08) !important;
  box-shadow: 0 10px 28px rgba(66, 20, 95, .06) !important;
  overflow: hidden;
}
.sec-stories .t-card {
  background: linear-gradient(165deg, #fff 0%, #FBF7FD 100%) !important;
  padding: 1.35rem 1.3rem 1.2rem !important;
}
.sec-faq .accordion-button {
  font-weight: 700;
  color: var(--ink);
  background: #fff;
}
.sec-faq .accordion-body {
  color: #5A5463;
  line-height: 1.65;
  background: #FCF9FD;
}
.gm-home-banner__copy .section-title {
  position: relative;
  display: inline-block;
  margin-bottom: .7rem;
}
.gm-home-banner__copy .section-title::after {
  content: "";
  display: block;
  width: 3rem;
  height: 3px;
  margin-top: .65rem;
  border-radius: 999px;
  background: linear-gradient(90deg, #2E7D32, #81C784);
}
.gm-home-banner__copy > p:not(.kicker):not(.gm-home-banner__tag) {
  font-size: 1.02rem;
  line-height: 1.7;
  color: #5A5463;
  max-width: 48ch;
}
.gm-home-banner__tag {
  font-weight: 750;
  margin-bottom: .65rem;
}
.kicker {
  display: inline-flex !important;
  align-items: center;
  gap: .35rem;
  width: auto !important;
  background: rgba(236, 22, 140, .07) !important;
  border: 1px solid rgba(236, 22, 140, .12) !important;
  padding: .34rem .8rem !important;
  margin-bottom: .8rem !important;
  color: var(--pink) !important;
  letter-spacing: .02em;
  font-size: .76rem !important;
  font-weight: 700 !important;
  text-transform: none;
  border-radius: 999px !important;
}

/* —— Topbar —— */
.site-chrome {
  position: sticky;
  top: 0;
  z-index: 1030;
  background: #fff;
  box-shadow: 0 1px 0 var(--prem-line), 0 10px 28px rgba(42, 18, 61, .06);
}
.topbar {
  background: linear-gradient(90deg, #42145F 0%, #4E186E 55%, #5A1B7A 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}
.topbar::after { display: none !important; }
.topbar-inner {
  min-height: 42px;
  gap: 14px;
  justify-content: space-between;
}
.topbar-meta a,
.topbar-hours,
.topbar-meta span:not(.topbar-sep) {
  font-size: .75rem !important;
  font-weight: 600 !important;
  color: rgba(255, 255, 255, .92) !important;
  gap: 7px !important;
}
.topbar-meta a:hover { color: #fff !important; }
.topbar-meta .mi,
.topbar-meta i.bi.mi {
  color: #F9A8D4 !important;
  opacity: 1 !important;
}
.topbar-sep {
  background: rgba(255, 255, 255, .28) !important;
}
.topbar-social {
  gap: 8px !important;
  align-items: center;
}
.topbar-soc {
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  display: inline-grid !important;
  place-items: center;
  background: #fff !important;
  color: var(--purple) !important;
  border: 0 !important;
  box-shadow: 0 2px 8px rgba(16, 8, 28, .18) !important;
  opacity: 1 !important;
  flex-shrink: 0;
  transition: transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}
.topbar-soc i.bi {
  font-size: 14px !important;
  line-height: 1;
  color: inherit !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
}
.topbar-soc:hover {
  background: var(--pink) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(236, 22, 140, .35) !important;
  opacity: 1 !important;
}
.topbar-soc .brand-logo {
  width: 14px !important;
  height: 14px !important;
  background: transparent !important;
  border-radius: 0 !important;
  filter: none !important;
}
.emergency-pill {
  background: var(--pink) !important;
  border-radius: 999px !important;
  padding: .4rem .95rem .4rem .75rem !important;
  font-size: .74rem !important;
  font-weight: 700 !important;
  box-shadow: 0 4px 12px rgba(236, 22, 140, .28) !important;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: 4px;
  letter-spacing: .01em;
}
.emergency-pill:hover { filter: brightness(1.06); color: #fff !important; }

/* —— Navbar —— */
.navbar-sbh {
  background: #fff !important;
  min-height: 72px !important;
  padding: .35rem 0 !important;
  border-bottom: 1px solid var(--prem-line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.navbar-sbh .container { min-height: 64px; }
.navbar-sbh .logo-img { height: 48px; }
.navbar-sbh .brand-word strong {
  font-size: 1.05rem;
  letter-spacing: -.02em;
  color: var(--ink);
}
.navbar-sbh .brand-word small {
  color: #7A7384;
  font-weight: 600;
  letter-spacing: .02em;
}
.navbar-sbh .nav-link {
  font-size: .9rem !important;
  font-weight: 600 !important;
  color: #3A3442 !important;
  padding: .45rem .7rem !important;
}
.navbar-sbh .nav-link::before {
  height: 2px;
  bottom: 0;
  background: var(--pink);
}
.navbar-sbh .nav-link:hover,
.navbar-sbh .nav-link.active { color: var(--pink) !important; }
.navbar-sbh .dropdown-menu {
  border: 1px solid var(--prem-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--prem-shadow-md) !important;
  padding: .45rem !important;
  margin-top: .35rem !important;
}
.navbar-sbh .dropdown-item {
  border-radius: 10px;
  font-weight: 600;
  font-size: .88rem;
  padding: .55rem .8rem;
}
.navbar-sbh .dropdown-item:hover {
  background: var(--prem-lavender) !important;
  color: var(--purple) !important;
}
.nav-cta.btn-mayom {
  min-height: 42px;
  padding: .55rem 1.25rem !important;
  font-size: .88rem !important;
  box-shadow: 0 8px 18px rgba(216, 27, 134, .22) !important;
}

/* —— Buttons —— */
.btn-mayom,
.btn-soft,
.btn-hero-ghost,
.btn-glow,
.btn-primary {
  min-height: var(--btn-h);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .65rem 1.35rem;
  border-radius: 999px !important;
  font-weight: 700;
  font-size: .92rem;
  transition: background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.btn-mayom,
.btn-glow,
.btn-primary {
  background: var(--pink) !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgba(216, 27, 134, .2) !important;
}
.btn-mayom:hover,
.btn-glow:hover,
.btn-primary:hover {
  background: #B81470 !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(184, 20, 112, .24) !important;
  color: #fff !important;
}
.btn-mayom:focus-visible,
.btn-soft:focus-visible,
.nav-link:focus-visible,
.emergency-pill:focus-visible,
.float-call:focus-visible,
.scroll-top:focus-visible {
  outline: 2px solid var(--purple);
  outline-offset: 3px;
}
.btn-soft {
  background: #fff !important;
  color: var(--purple) !important;
  border: 1.5px solid var(--prem-line) !important;
  box-shadow: none !important;
}
.btn-soft:hover {
  background: var(--prem-lavender) !important;
  border-color: rgba(75, 23, 109, .2) !important;
  color: var(--purple) !important;
  transform: translateY(-1px);
}

/* —— About (home) —— */
.sec-why {
  background: linear-gradient(180deg, #FFFFFF 0%, #FBF7FD 100%);
}
.sec-about .about-photo {
  border-radius: var(--prem-radius) !important;
  overflow: hidden;
  box-shadow: var(--prem-shadow-md) !important;
  border: 1px solid var(--prem-line);
  background: #fff;
}
.sec-about .about-photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  display: block;
  height: auto !important;
  max-height: none !important;
}
.sec-about .call-strip {
  background: #2A123C !important;
  padding: 1rem 1.15rem;
  gap: 12px;
}
.sec-about .call-strip .btn-light {
  border-radius: 999px;
  font-weight: 700;
  color: var(--purple);
  border: 0;
  min-height: 40px;
  padding: .45rem 1rem;
}
.about-checks {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px !important;
  margin: 1.25rem 0 1.4rem !important;
  padding: 0 !important;
}
.about-checks li {
  list-style: none;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 600;
  font-size: .95rem;
  color: var(--ink);
  line-height: 1.35;
  margin: 0;
}
.about-checks li::before { content: none !important; }
.about-checks .check-ico {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #FFE9F5, #F3EAF8);
  color: var(--pink);
  font-size: .72rem;
  margin-top: 1px;
  box-shadow: inset 0 0 0 1px rgba(236, 22, 140, .12);
}
.about-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.about-tabs .btn {
  min-height: 44px;
}
.about-tabs .btn.is-primary {
  background: var(--pink) !important;
  color: #fff !important;
  border: 0 !important;
}

/* —— Vision / Mission —— */
.sec-vm {
  background: #fff;
  padding-top: 0 !important;
}
.vm-link {
  background: #fff !important;
  border: 1px solid var(--prem-line) !important;
  border-radius: var(--prem-radius) !important;
  padding: 1.75rem 1.6rem !important;
  box-shadow: var(--prem-shadow) !important;
  min-height: 100%;
  border-top: 0 !important;
  position: relative;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.vm-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: var(--pink);
  border-radius: 0 2px 2px 0;
}
.vm-link.mission::before { background: var(--purple); }
.vm-link:hover {
  transform: translateY(-3px);
  box-shadow: var(--prem-shadow-md) !important;
  border-color: rgba(216, 27, 134, .18) !important;
  color: inherit;
}
.vm-link .badge-soft {
  display: inline-flex;
  background: var(--prem-lavender);
  color: var(--purple);
  border: 1px solid var(--prem-line);
  border-radius: 999px;
  padding: .3rem .75rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.vm-link h3 {
  font-size: 1.45rem;
  margin: 1rem 0 .65rem !important;
  color: var(--ink);
}
.vm-link p {
  margin: 0;
  color: #5A5463;
  line-height: 1.65;
}

/* —— Cards / tiles —— */
.quick-card,
.service-tile,
.people-card,
.gm-card,
.gm-home-pill,
.gm-home-banner {
  border-radius: var(--prem-radius) !important;
  border-color: var(--prem-line) !important;
  box-shadow: var(--prem-shadow) !important;
}
.service-tile:hover {
  transform: translateY(-4px);
  box-shadow: var(--prem-shadow-md) !important;
}

/* —— Specialists section & premium cards —— */
.sec-doctors {
  background:
    radial-gradient(720px 280px at 50% 0%, rgba(216, 27, 134, .05), transparent 65%),
    linear-gradient(180deg, #fff 0%, var(--prem-soft) 100%) !important;
}
.specialists-head {
  max-width: 40rem;
  margin: 0 auto 2.25rem;
}
.specialists-lead {
  margin: 0 auto;
  max-width: 38ch;
  color: #6B6573;
  font-size: 1.02rem;
  line-height: 1.65;
}
.specialists-row {
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
}
.specialists-col { max-width: 420px; }
.specialists-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 2rem;
}
.doc-pro {
  background: #fff !important;
  border: 1px solid var(--prem-line) !important;
  border-radius: 22px !important;
  box-shadow: 0 8px 28px rgba(75, 23, 109, .08) !important;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  padding: 0 0 0 !important;
}
.doc-pro:hover {
  transform: translateY(-5px);
  box-shadow: 0 18px 40px rgba(75, 23, 109, .12) !important;
  border-color: rgba(216, 27, 134, .18) !important;
}
.doc-photo-wrap,
.doc-photo-fallback {
  position: relative;
  aspect-ratio: 4 / 5;
  min-height: 0 !important;
  overflow: hidden;
  background: linear-gradient(160deg, #F3EAF8, #FDEEF6 55%, #fff);
  display: block !important;
}
.doc-photo-link {
  display: block;
  height: 100%;
}
.doc-half {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 12% !important;
  transition: transform .45s ease;
}
.doc-pro:hover .doc-half { transform: scale(1.03); }
.doc-pro--jatin .doc-half { object-position: center 18% !important; }
.doc-pro--mange .doc-half { object-position: center 8% !important; }
.doc-photo-shade {
  position: absolute;
  inset: auto 0 0 0;
  height: 42%;
  background: linear-gradient(transparent, rgba(30, 12, 48, .55));
  pointer-events: none;
  z-index: 1;
}
.doc-chip {
  position: absolute !important;
  left: 14px;
  bottom: 14px;
  z-index: 2;
  background: rgba(255, 255, 255, .95) !important;
  color: var(--purple) !important;
  border: 1px solid rgba(255, 255, 255, .7);
  backdrop-filter: blur(8px);
  box-shadow: 0 6px 16px rgba(30, 12, 48, .18) !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .02em;
  border-radius: 999px !important;
  padding: .4rem .85rem !important;
}
.doc-social { display: none !important; }
.doc-pro-body {
  padding: 1.35rem 1.35rem 1.4rem !important;
  display: flex;
  flex-direction: column;
  flex: 1;
  text-align: left;
  background: #fff;
}
.doc-pro-name {
  font-size: 1.35rem !important;
  margin: 0 0 .25rem !important;
  letter-spacing: -.02em;
  color: var(--ink);
}
.doc-name-link {
  color: inherit;
  text-decoration: none;
}
.doc-name-link:hover { color: var(--pink); }
.doc-spec {
  color: var(--pink) !important;
  font-weight: 700 !important;
  font-size: .95rem;
  margin-bottom: .65rem !important;
  line-height: 1.4;
}
.doc-time {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: #6B6573 !important;
  font-size: .9rem !important;
  font-weight: 500;
  margin: 0 0 0 !important;
  line-height: 1.45;
}
.doc-time-ico {
  color: var(--purple);
  flex: 0 0 auto;
  margin-top: 1px;
}
.doc-time-ico .mi { font-size: 1rem; }
.doc-actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 10px !important;
  margin-top: auto !important;
  padding-top: 1.15rem !important;
}
.doc-actions .btn {
  min-height: 44px;
  width: 100%;
  font-size: .88rem;
  padding: .55rem .9rem;
  margin: 0;
}
.doc-photo-fallback {
  display: grid !important;
  place-items: center;
}
.doc-photo-fallback .doc-avatar-care {
  position: relative;
  z-index: 1;
}

/* —— Floating controls —— */
.float-call {
  right: 18px !important;
  bottom: 20px !important;
  padding: 7px 12px 7px 7px !important;
  font-size: .78rem !important;
  background: var(--pink) !important;
  box-shadow: 0 10px 22px rgba(216, 27, 134, .25) !important;
  animation: none !important;
  opacity: .96;
}
.float-call:hover {
  transform: translateY(-2px) !important;
  scale: 1 !important;
  opacity: 1;
}
.float-call-ico {
  width: 30px !important;
  height: 30px !important;
  animation: none !important;
}
.scroll-top {
  right: 22px !important;
  bottom: 78px !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: var(--purple) !important;
  box-shadow: 0 8px 18px rgba(75, 23, 109, .22) !important;
  border: 0;
  color: #fff;
}
.scroll-top:hover {
  background: #3A1258 !important;
  transform: translateY(-2px) !important;
}

/* —— Hero (full image fits inside slider frame) —— */
.hero-region { position: relative; z-index: 1; }
.hero-wrap {
  background: #201A35;
}
.hero-slide {
  height: clamp(420px, 58vw, 680px) !important;
  border-radius: 0 !important;
  overflow: hidden;
  background: #201A35;
}
.hero-slide-img {
  filter: saturate(1.04) contrast(1.03);
  object-fit: cover !important;
  object-position: center center !important;
  width: 100% !important;
  height: 100% !important;
  transform: scale(1.01);
  animation: none !important;
}
.carousel-item.active .hero-slide-img,
.carousel-item:nth-child(even).active .hero-slide-img {
  animation: none !important;
  transform: scale(1.01);
}
.hero-caption {
  align-items: center !important;
  padding: 44px 0 112px !important;
  background:
    linear-gradient(105deg, rgba(24, 14, 38, .72) 0%, rgba(66, 20, 95, .42) 40%, rgba(66, 20, 95, .12) 68%, transparent 88%) !important;
}
.hero-copy {
  max-width: 36rem;
  padding: 0;
  margin: 0;
  border-radius: 0;
  background: none;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.hero-copy h1,
.hero-slide-title {
  font-family: var(--title-font);
  font-weight: 800;
  color: #fff !important;
  letter-spacing: -.035em;
  line-height: 1.12;
  font-size: clamp(1.9rem, 3.9vw, 3.1rem);
  margin: 0 0 .7rem;
  text-shadow: 0 2px 20px rgba(0, 0, 0, .3);
}
.hero-lead {
  color: rgba(255, 255, 255, .92) !important;
  font-size: 1.06rem;
  line-height: 1.6;
  max-width: 42ch;
  margin-bottom: 1.15rem !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, .22);
}
.hero-eyebrow {
  display: inline-flex;
  align-items: center;
  color: #F9A8D4 !important;
  letter-spacing: .14em;
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
  margin-bottom: .7rem !important;
  padding: 0;
  border-radius: 0;
  background: none;
  border: 0;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 1.05rem;
}
.hero-actions .btn-mayom,
.hero-actions .btn-hero-ghost {
  min-height: 48px;
  padding: .7rem 1.45rem;
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(16, 8, 28, .2);
}
.btn-hero-ghost {
  background: rgba(255, 255, 255, .12) !important;
  border: 1.5px solid rgba(255, 255, 255, .8) !important;
  color: #fff !important;
  backdrop-filter: blur(6px);
}
.btn-hero-ghost:hover {
  background: #fff !important;
  color: var(--purple) !important;
}
.hero-trust {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
}
.hero-trust li {
  font-size: .76rem;
  font-weight: 700;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .26);
  border-radius: 999px;
  padding: .36rem .78rem;
  backdrop-filter: blur(6px);
}

.hero-arrow {
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .96) !important;
  color: var(--purple) !important;
  border: 0 !important;
  box-shadow: 0 10px 24px rgba(32, 26, 53, .2);
  display: grid !important;
  place-items: center;
  opacity: 1 !important;
  transition: transform .2s ease, color .2s ease, box-shadow .2s ease;
}
.hero-arrow:hover {
  background: #fff !important;
  color: var(--pink) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(236, 22, 140, .22);
}
.hero-arrow .mi { font-size: 1.35rem; }
.hero-dots {
  margin-bottom: 1.25rem !important;
  gap: 7px;
  z-index: 4;
}
.hero-dots [data-bs-target] {
  width: 8px !important;
  height: 8px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .42) !important;
  opacity: 1 !important;
  border: 0 !important;
  transition: width .25s ease, background .25s ease;
}
.hero-dots .active {
  width: 24px !important;
  background: #fff !important;
}
.hero-wrap.carousel-fade .carousel-item {
  opacity: 0;
  transition: opacity .75s ease-in-out;
}
.hero-wrap.carousel-fade .carousel-item.active,
.hero-wrap.carousel-fade .carousel-item-next.carousel-item-start,
.hero-wrap.carousel-fade .carousel-item-prev.carousel-item-end {
  opacity: 1;
  z-index: 1;
}
.hero-wrap .carousel-item:not(.active):not(.carousel-item-next):not(.carousel-item-prev) .hero-copy {
  visibility: hidden;
}
@media (prefers-reduced-motion: reduce) {
  .hero-wrap.carousel-fade .carousel-item {
    transition: none !important;
  }
  .carousel-item.active .hero-slide-img {
    animation: none !important;
  }
}

/* —— Quick services (main SBH icons, one row) —— */
.sec-quick {
  position: relative;
  z-index: 3;
  margin-top: -3.25rem;
  margin-bottom: .5rem;
  padding: 0 0 .5rem;
}
.sec-quick__panel {
  background: #fff;
  border: 1px solid rgba(66, 20, 95, .08);
  border-radius: 24px;
  box-shadow: 0 18px 44px rgba(66, 20, 95, .1);
  padding: 1.5rem 1.35rem 1.55rem;
}
.sec-quick__head {
  text-align: center;
  max-width: 36rem;
  margin: 0 auto 1.35rem;
}
.sec-quick__title {
  margin: 0;
  font-size: clamp(1.4rem, 2.3vw, 1.75rem);
  font-weight: 800;
  color: var(--ink);
  font-family: var(--title-font, "Plus Jakarta Sans", sans-serif);
  letter-spacing: -.03em;
  line-height: 1.15;
}
.sec-quick__title::after { display: none; }
.quick-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 12px;
}
.quick-card {
  min-height: 0 !important;
  padding: .85rem .4rem .95rem !important;
  border-radius: 18px !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  background: transparent !important;
  color: var(--ink) !important;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .65rem;
  text-align: center;
  text-decoration: none !important;
  transition: transform .22s ease, background .22s ease, border-color .22s ease;
  width: 100%;
  font: inherit;
}
.quick-ico {
  position: relative;
  width: 72px;
  height: 72px;
  border-radius: 20px;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex-shrink: 0;
  background:
    linear-gradient(160deg, #FFF7FB 0%, #F3EAF8 100%);
  box-shadow:
    0 8px 18px rgba(66, 20, 95, .08),
    inset 0 0 0 1px rgba(66, 20, 95, .06);
  border: 0;
}
.quick-ico::after { display: none; }
.quick-ico img {
  width: 78%;
  height: 78%;
  object-fit: contain;
  display: block;
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 2px 4px rgba(66, 20, 95, .08));
}
.quick-card strong {
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  color: #3A3348;
  letter-spacing: -.01em;
}
.quick-card:hover {
  border-color: rgba(236, 22, 140, .14) !important;
  background: #FFF8FC !important;
  transform: translateY(-3px);
  color: var(--pink) !important;
}
.quick-card:hover strong { color: var(--pink); }
.quick-card:hover .quick-ico {
  box-shadow:
    0 12px 24px rgba(236, 22, 140, .14),
    inset 0 0 0 1px rgba(236, 22, 140, .12);
  background: linear-gradient(160deg, #FFE9F5 0%, #F8EEFC 100%);
}
.quick-card .mi { display: none !important; }

/* —— About location badge —— */
.about-photo { position: relative; }
.about-loc-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 255, 255, .95);
  color: var(--purple);
  font-size: .78rem;
  font-weight: 700;
  padding: .4rem .8rem;
  border-radius: 999px;
  border: 1px solid var(--prem-line);
  box-shadow: var(--prem-shadow);
}
.about-loc-badge .mi { font-size: .95rem; color: var(--pink); }

/* —— Visit / Find us —— */
.sec-visit {
  position: relative;
  background:
    radial-gradient(640px 280px at 12% 0%, rgba(236, 22, 140, .07), transparent 65%),
    radial-gradient(560px 260px at 92% 30%, rgba(66, 20, 95, .08), transparent 60%),
    linear-gradient(180deg, #F8F3FC 0%, #fff 100%) !important;
  color: var(--ink) !important;
  overflow: hidden;
}
.sec-visit .section-title,
.sec-visit h2,
.sec-visit h3 { color: var(--ink) !important; }
.sec-visit .kicker { color: var(--pink) !important; }
.sec-visit .section-head p,
.sec-visit .section-intro__lead,
.sec-visit .loc-copy p { color: var(--muted) !important; }
.visit-head {
  max-width: 40rem;
  margin: 0 auto 2rem;
}
.loc-split {
  display: grid !important;
  grid-template-columns: 1.05fr .95fr;
  overflow: hidden;
  border-radius: 22px !important;
  background: #fff !important;
  border: 1px solid var(--prem-line) !important;
  box-shadow: 0 16px 40px rgba(66, 20, 95, .1) !important;
}
.loc-map {
  position: relative;
  min-height: 100%;
  background: #EDE6F3;
}
.loc-map iframe {
  min-height: 440px !important;
  width: 100%;
  border: 0;
  display: block;
  filter: saturate(.96) contrast(1.02);
}
.loc-pin {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: rgba(255, 255, 255, .96) !important;
  color: var(--purple) !important;
  font-weight: 750 !important;
  font-size: .8rem !important;
  border-radius: 999px !important;
  padding: .55rem .9rem !important;
  border: 1px solid var(--prem-line);
  box-shadow: 0 8px 20px rgba(32, 26, 53, .14) !important;
}
.loc-pin .mi { color: var(--pink); font-size: 1rem; }
.loc-copy {
  padding: 2rem 1.85rem 1.85rem !important;
  background: #fff !important;
  color: var(--ink);
  display: flex;
  flex-direction: column;
}
.loc-copy-title {
  font-size: clamp(1.35rem, 2.2vw, 1.7rem) !important;
  margin: 0 0 .65rem !important;
  letter-spacing: -.02em;
  color: var(--ink) !important;
}
.loc-address {
  color: #5A5463 !important;
  font-weight: 550 !important;
  font-size: .98rem;
  line-height: 1.55;
  margin-bottom: 1.1rem !important;
}
.loc-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.35rem !important;
  display: grid;
  gap: 10px;
}
.loc-list li {
  display: grid !important;
  grid-template-columns: 40px 1fr !important;
  gap: 12px !important;
  align-items: center;
  background: var(--lilac) !important;
  border: 1px solid var(--prem-line);
  border-radius: 14px !important;
  padding: .75rem .9rem !important;
  color: var(--ink);
  font-size: .9rem;
  line-height: 1.4;
}
.loc-list li strong {
  color: var(--purple);
  font-weight: 750;
  margin-right: .25rem;
}
.loc-list-ico {
  width: 36px;
  height: 36px;
  border-radius: 11px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid var(--prem-line);
  color: var(--pink);
  box-shadow: 0 2px 8px rgba(66, 20, 95, .06);
}
.loc-list-ico .mi {
  color: var(--pink) !important;
  font-size: 1.05rem;
  margin: 0;
}
.loc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
}
.loc-actions .btn {
  min-height: 44px;
  border-radius: 12px !important;
  padding: .55rem 1.1rem;
}
.btn-loc-ghost {
  background: transparent;
  color: var(--purple) !important;
  font-weight: 700;
  border: 1.5px solid var(--prem-line);
  border-radius: 12px;
  padding: .55rem 1rem;
}
.btn-loc-ghost:hover {
  background: var(--lilac);
  color: var(--pink) !important;
  border-color: rgba(236, 22, 140, .25);
}

/* —— Sitewide cascade —— */
.card-soft,
.service-tile,
.gallery-tile,
.blog-card,
.page-banner,
.footer-cta,
.site-footer {
  --cascade-radius: var(--prem-radius);
}
.service-tile,
.gallery-tile,
.blog-card,
.card-soft {
  border-radius: 18px !important;
  border-color: rgba(66, 20, 95, .08) !important;
  box-shadow: 0 10px 28px rgba(66, 20, 95, .06) !important;
  background: #fff !important;
}
.service-tile {
  padding: 1.45rem 1.3rem 1.35rem !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.service-tile:hover {
  transform: translateY(-4px);
  border-color: rgba(236, 22, 140, .2) !important;
  box-shadow: 0 16px 34px rgba(236, 22, 140, .1) !important;
}
.service-ico {
  width: 56px !important;
  height: 56px !important;
  border-radius: 16px !important;
  display: grid !important;
  place-items: center;
  margin-bottom: 1rem !important;
  background: linear-gradient(155deg, #FFF5FA 0%, #F3EAF8 100%) !important;
  box-shadow: inset 0 0 0 1px rgba(66, 20, 95, .06);
}
.service-ico .mi,
.service-ico svg.mi {
  color: var(--pink) !important;
  font-size: 1.45rem !important;
}
.gm-home-pill .gm-icon-img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  padding: 6px;
  border-radius: 12px;
  background: linear-gradient(155deg, #F3FBF4, #EAF6EB);
  box-shadow: inset 0 0 0 1px rgba(27, 94, 32, .1);
}
.mini-stat-ico {
  width: 40px;
  height: 40px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8);
  color: var(--pink);
  margin-bottom: .55rem;
}
.mini-stat-ico .mi { color: var(--pink); font-size: 1.15rem; }
.loc-list-ico {
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8) !important;
  border-color: transparent !important;
}
.page-banner {
  border-radius: 0 0 20px 20px;
  background: linear-gradient(135deg, #42145F 0%, #5A1B7A 55%, #7A2060 100%) !important;
}
.navbar-sbh .nav-link:focus-visible,
.dropdown-item:focus-visible {
  outline: 2px solid var(--pink);
  outline-offset: 2px;
}
.app-sidebar-hours {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: .82rem;
  color: rgba(255, 255, 255, .78);
  line-height: 1.4;
}
.app-sidebar-hours .mi { font-size: 1rem; margin-top: 2px; }
.topbar-hours {
  max-width: 42ch;
  overflow: hidden;
  text-overflow: ellipsis;
}
.form-control:focus,
.form-select:focus {
  border-color: rgba(236, 22, 140, .45);
  box-shadow: 0 0 0 .2rem rgba(236, 22, 140, .12);
}
.invalid-feedback { display: block; }
.page-appointment .card-soft {
  border: 1px solid var(--prem-line);
  border-radius: var(--prem-radius);
  box-shadow: var(--prem-shadow-md);
}

/* —— Page banner / About page —— */
.page-about .about-hero {
  gap: 2rem 2.5rem;
  margin-bottom: 2.25rem;
}
.page-about .about-hero__frame {
  position: relative;
  border-radius: var(--prem-radius) !important;
  border: 1px solid var(--prem-line);
  box-shadow: var(--prem-shadow-md) !important;
  overflow: hidden;
}
.page-about .about-hero__frame img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  display: block;
}
.page-about .about-trust li,
.page-about .about-gm,
.page-about .vision-card {
  border-radius: var(--prem-radius) !important;
  box-shadow: var(--prem-shadow) !important;
  border-color: var(--prem-line) !important;
}

/* Kill noisy pulse on emergency FAB */
.float-call,
.float-call-ico {
  animation: none !important;
}

/* —— Reduce noisy motion from older layers —— */
.sec-about .about-photo:hover img {
  transform: none;
}

/* —— Homepage: Quick-services-level polish everywhere —— */
.sec-about,
.sec-vm,
.sec-services,
.sec-gm-home,
.sec-why,
.sec-doctors,
.sec-gallery,
.sec-visit,
.sec-stories,
.sec-faq,
.sec-blog {
  position: relative;
}
.sec-about {
  padding-top: clamp(2.8rem, 4vw, 3.6rem) !important;
}
.sec-about .about-photo {
  border-radius: 22px !important;
  box-shadow: 0 18px 44px rgba(66, 20, 95, .1) !important;
  border: 1px solid rgba(66, 20, 95, .08);
  overflow: hidden;
  background: #fff;
}
.sec-about .call-strip {
  border-radius: 0 0 22px 22px;
}
.about-copy .section-title {
  max-width: 18ch;
}
.sec-vm {
  background: transparent !important;
  padding-top: .5rem !important;
}
.vm-link {
  border-radius: 22px !important;
  border: 1px solid rgba(66, 20, 95, .08) !important;
  box-shadow: 0 14px 34px rgba(66, 20, 95, .07) !important;
  background:
    linear-gradient(165deg, #fff 0%, #FBF7FD 100%) !important;
  padding: 1.7rem 1.55rem !important;
  text-decoration: none !important;
}
.vm-link .badge-soft {
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8) !important;
  color: var(--pink) !important;
  border: 1px solid rgba(236, 22, 140, .12) !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
  font-weight: 700 !important;
}
.vm-link h3 {
  font-size: clamp(1.35rem, 2vw, 1.55rem) !important;
  letter-spacing: -.03em;
}
.sec-services.band-soft {
  background:
    linear-gradient(180deg, #F8F3FC 0%, #FCFAFD 100%) !important;
  border-block: 0 !important;
}
.sec-services .service-tile {
  border-radius: 20px !important;
  border: 1px solid rgba(66, 20, 95, .07) !important;
  box-shadow: 0 10px 28px rgba(66, 20, 95, .06) !important;
  background: #fff !important;
  padding: 1.45rem 1.25rem 1.35rem !important;
}
.sec-services .service-tile h3 {
  color: var(--ink);
  letter-spacing: -.02em;
  margin-bottom: .45rem !important;
}
.sec-services .service-tile p {
  color: #5A5463;
  line-height: 1.55;
}
.sec-gm-home {
  background: #fff !important;
}
.sec-gm-home .gm-home-banner {
  border-radius: 24px !important;
  border: 1px solid rgba(66, 20, 95, .08) !important;
  box-shadow: 0 16px 40px rgba(66, 20, 95, .08) !important;
  padding: 1.7rem !important;
}
.gm-home-banner__media {
  border-radius: 18px !important;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(66, 20, 95, .08);
}
.gm-home-pill {
  border-radius: 18px !important;
  border: 1px solid rgba(66, 20, 95, .07) !important;
  box-shadow: 0 8px 20px rgba(66, 20, 95, .05) !important;
  background: #fff !important;
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.gm-home-pill:hover {
  transform: translateY(-3px);
  border-color: rgba(236, 22, 140, .18) !important;
  box-shadow: 0 14px 28px rgba(236, 22, 140, .1) !important;
}
.gm-home-pill strong {
  font-size: .86rem;
  font-weight: 750;
  color: var(--ink);
  letter-spacing: -.01em;
}
.sec-why {
  background: linear-gradient(180deg, #fff 0%, #F8F3FC 100%) !important;
}
.sec-why .stat-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  background: linear-gradient(145deg, #2A123C 0%, #42145F 100%) !important;
  border-radius: 24px !important;
  padding: 1.3rem !important;
  box-shadow: 0 18px 40px rgba(42, 18, 60, .2) !important;
  gap: 12px !important;
}
.sec-why .stat-grid div {
  background: rgba(255, 255, 255, .08) !important;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px !important;
  padding: 1.2rem 1rem !important;
  color: rgba(255, 255, 255, .78);
  font-size: .9rem;
  line-height: 1.35;
}
.sec-why .stat-grid b {
  color: #fff !important;
  font-size: 1.6rem;
  letter-spacing: -.03em;
  margin-bottom: .2rem;
}
.sec-doctors {
  background: #fff !important;
}
.doc-pro {
  border-radius: 22px !important;
  border: 1px solid rgba(66, 20, 95, .08) !important;
  box-shadow: 0 14px 36px rgba(66, 20, 95, .08) !important;
}
.sec-gallery.band-soft,
.sec-stories.band-soft {
  background: linear-gradient(180deg, #F8F3FC 0%, #FCFAFD 100%) !important;
  border-block: 0 !important;
}
.gallery-card {
  border-radius: 18px !important;
  overflow: hidden;
  border: 1px solid rgba(66, 20, 95, .08);
  box-shadow: 0 10px 26px rgba(66, 20, 95, .07);
  transition: transform .22s ease, box-shadow .22s ease;
}
.gallery-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(66, 20, 95, .12);
}
.sec-visit {
  background:
    radial-gradient(640px 280px at 12% 0%, rgba(236, 22, 140, .05), transparent 65%),
    linear-gradient(180deg, #fff 0%, #F8F3FC 100%) !important;
}
.sec-visit .loc-split {
  border-radius: 24px !important;
  border: 1px solid rgba(66, 20, 95, .08) !important;
  box-shadow: 0 18px 44px rgba(66, 20, 95, .1) !important;
}
.sec-stories .story-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 1.5rem;
}
.sec-stories .mini-stat {
  background: #fff;
  border: 1px solid rgba(66, 20, 95, .07);
  border-radius: 18px;
  padding: 1.15rem 1rem;
  box-shadow: 0 8px 22px rgba(66, 20, 95, .05);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sec-stories .mini-stat b {
  color: var(--ink);
  font-size: 1.25rem;
  letter-spacing: -.02em;
  margin-top: .15rem;
}
.sec-stories .mini-stat span:last-child {
  color: var(--muted);
  font-size: .82rem;
}
.sec-stories .t-card {
  border-radius: 20px !important;
  border: 1px solid rgba(66, 20, 95, .07) !important;
  box-shadow: 0 12px 30px rgba(66, 20, 95, .06) !important;
  background: #fff !important;
  transition: transform .22s ease, box-shadow .22s ease;
}
.sec-stories .t-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(66, 20, 95, .1) !important;
}
.sec-faq {
  background: #fff !important;
}
.sec-faq .faq-item {
  border-radius: 16px !important;
  border: 1px solid rgba(66, 20, 95, .08) !important;
  box-shadow: 0 8px 22px rgba(66, 20, 95, .05) !important;
  overflow: hidden;
  margin-bottom: 10px;
}
.sec-faq .accordion-button {
  border-radius: 16px !important;
  box-shadow: none !important;
  font-weight: 700;
  color: var(--ink);
}
.sec-faq .accordion-button:not(.collapsed) {
  background: #FFF8FC !important;
  color: var(--ink);
}
.sec-faq .accordion-button::after {
  filter: none;
}
.sec-faq > .container > .text-center a {
  display: inline-flex;
  align-items: center;
  margin-top: .35rem;
  border-radius: 999px;
  padding: .45rem 1rem;
  border: 1px solid rgba(66, 20, 95, .12);
  font-weight: 700;
  color: var(--purple);
  text-decoration: none;
}
.sec-faq > .container > .text-center a:hover {
  background: var(--purple);
  color: #fff;
  border-color: var(--purple);
}
.sec-blog {
  background: linear-gradient(180deg, #FCFAFD 0%, #F8F3FC 100%) !important;
}
/* blog-feature card styles live in the Blog excellence block below */
.section-more {
  border-radius: 999px !important;
  padding: .45rem 1rem !important;
  border: 1px solid rgba(66, 20, 95, .12);
  font-weight: 700;
  color: var(--purple) !important;
  text-decoration: none !important;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.section-more:hover {
  background: var(--purple) !important;
  color: #fff !important;
  border-color: var(--purple);
}

/* —— Shared chrome lift —— */
.site-chrome {
  box-shadow: 0 1px 0 rgba(66, 20, 95, .08), 0 12px 32px rgba(42, 18, 61, .07);
}
.navbar-sbh {
  border-bottom-color: rgba(66, 20, 95, .07) !important;
}
.nav-cta.btn-mayom {
  border-radius: 999px !important;
  box-shadow: 0 10px 22px rgba(236, 22, 140, .26) !important;
}
.nav-cta.btn-mayom:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(236, 22, 140, .32) !important;
}
.btn-soft {
  background: #fff !important;
  color: var(--purple) !important;
  border: 1.5px solid rgba(66, 20, 95, .14) !important;
  border-radius: 999px !important;
}
.btn-soft:hover {
  background: #FFF8FC !important;
  color: var(--pink) !important;
  border-color: rgba(236, 22, 140, .28) !important;
  transform: translateY(-1px);
}
.page-banner {
  border-radius: 0 0 28px 28px !important;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(66, 20, 95, .1);
}
.site-footer {
  margin-top: 0 !important;
}
.site-footer .footer-cta {
  border-radius: 20px !important;
  box-shadow: 0 14px 36px rgba(8, 2, 16, .24) !important;
}
.site-footer .footer-heading,
.site-footer .footer-fold > summary {
  color: #fff !important;
  letter-spacing: .08em !important;
}
.site-footer a:not(.footer-btn):not(.footer-soc) {
  color: rgba(255, 255, 255, .78);
  transition: color .18s ease;
}
.site-footer a:not(.footer-btn):not(.footer-soc):hover {
  color: #F9A8D4;
}

@media (max-width: 1199.98px) {
  .quick-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 8px; }
  .quick-ico { width: 68px; height: 68px; border-radius: 18px; }
  .quick-card strong { font-size: .72rem !important; }
  .hero-slide { height: clamp(380px, 56vw, 620px) !important; }
}
@media (max-width: 991.98px) {
  .sec-quick { margin-top: -2.25rem; }
  .sec-quick__panel { padding: 1.25rem 1rem 1.3rem; border-radius: 22px; }
  .quick-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .quick-grid::-webkit-scrollbar { display: none; }
  .quick-card {
    flex: 0 0 118px;
    scroll-snap-align: start;
  }
  .quick-ico { width: 64px; height: 64px; border-radius: 17px; }
  .about-checks { grid-template-columns: 1fr 1fr; }
  .sec-about .about-photo img { aspect-ratio: 16 / 11; }
  .sec-stories .story-stats { grid-template-columns: 1fr 1fr; }
  .float-call-txt { display: none; }
  .float-call {
    padding: 10px !important;
    border-radius: 50% !important;
  }
  .float-call-ico { width: 36px !important; height: 36px !important; }
  .scroll-top { bottom: 72px !important; right: 20px !important; }
  .hero-slide { height: clamp(360px, 62vw, 560px) !important; border-radius: 0 !important; }
  .hero-caption { padding: 28px 0 92px !important; align-items: flex-end !important; }
  .hero-arrow { width: 40px !important; height: 40px !important; }
  .topbar-hours { display: none !important; }
  .loc-split { grid-template-columns: 1fr !important; }
  .loc-map iframe { min-height: 260px !important; }
  .loc-copy { padding: 1.5rem 1.25rem 1.4rem !important; }
}
@media (max-width: 767.98px) {
  .sec-quick { margin-top: -1.5rem; }
  .quick-card { flex-basis: 108px; padding: .75rem .35rem .85rem !important; }
  .quick-card strong { font-size: .72rem !important; }
  .quick-ico { width: 58px; height: 58px; border-radius: 16px; }
  .hero-trust {
    flex-wrap: wrap;
    gap: 6px !important;
  }
  .hero-trust li { font-size: .68rem !important; padding: .28rem .55rem !important; }
  .hero-copy {
    padding: 0;
    border-radius: 0;
    max-width: none;
  }
  .hero-slide { height: clamp(420px, 88vw, 560px) !important; border-radius: 0 !important; }
  .hero-slide-img { object-position: center 30% !important; }
  .hero-caption {
    padding: 16px 0 100px !important;
    background:
      linear-gradient(180deg, transparent 18%, rgba(24, 14, 38, .58) 52%, rgba(24, 14, 38, .88) 100%) !important;
  }
  .sec-stories .story-stats { grid-template-columns: 1fr 1fr; gap: 10px; }
  .hero-copy h1,
  .hero-slide-title { font-size: clamp(1.4rem, 5.8vw, 1.85rem); }
  .hero-lead { font-size: .9rem; max-width: none; margin-bottom: .75rem !important; }
  .hero-eyebrow { margin-bottom: .35rem !important; }
  .section-intro { margin-bottom: 1.5rem; }
}
@media (max-width: 575.98px) {
  .sec-quick__panel { padding: 1rem .75rem 1rem; border-radius: 18px; }
  .about-checks { grid-template-columns: 1fr; }
  .about-tabs { flex-direction: column; }
  .about-tabs .btn { width: 100%; }
  .vm-link { padding: 1.4rem 1.25rem !important; }
  .doc-actions { grid-template-columns: 1fr !important; }
  .specialists-head { margin-bottom: 1.6rem; }
  .specialists-cta { margin-top: 1.5rem; }
  .hero-slide { height: clamp(440px, 96vw, 520px) !important; }
  .hero-slide-img { object-position: center 28% !important; }
  .hero-actions { flex-direction: column; align-items: stretch; gap: 8px !important; }
  .hero-actions .btn { width: 100%; min-height: 44px; }
  .hero-lead {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .loc-actions .btn { width: 100%; }
  .loc-split { border-radius: 18px !important; }
  .section-actions { gap: 8px; }
  .section-actions .btn,
  .section-actions .section-more { width: 100%; justify-content: center; }
  .story-grid { grid-template-columns: 1fr; }
  .gallery-grid.preview { grid-template-columns: 1fr 1fr; gap: 10px; }
  .sec-why .why-grid-cards { grid-template-columns: 1fr; }
  .gm-home-banner { grid-template-columns: 1fr !important; }
}

/* —— Homepage excellence pass (all sections) —— */
.section-intro {
  margin-bottom: clamp(1.6rem, 3vw, 2.25rem);
}
.section-intro .kicker {
  margin-bottom: .55rem;
}
.section-intro .section-title {
  margin: 0 auto .65rem;
  letter-spacing: -.03em;
  max-width: 22ch;
}
.section-intro.text-center .section-title { margin-left: auto; margin-right: auto; }
.section-intro__lead {
  margin: 0 auto;
  max-width: 46ch;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.6;
  font-weight: 500;
}
.section-intro--split {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  flex-wrap: wrap;
}
.section-intro--split .section-title { margin-left: 0; margin-right: 0; max-width: 28ch; }
.section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  align-items: center;
  margin-top: 1.75rem;
}
.section-actions .btn { min-height: 46px; border-radius: 999px !important; }

/* About */
.sec-about .about-checks {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 14px;
  margin: 1.25rem 0 1.5rem;
  padding: 0;
  list-style: none;
}
.sec-about .about-checks li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: .92rem;
  font-weight: 600;
  color: #3A3348;
  line-height: 1.35;
}
.sec-about .check-ico {
  width: 28px;
  height: 28px;
  border-radius: 9px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8);
  color: var(--pink);
  font-size: .95rem;
}
.sec-about .about-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sec-about .call-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  padding: 1rem 1.15rem;
  background: linear-gradient(100deg, #42145F 0%, #5A1B7A 55%, #7A2060 100%);
  color: #fff;
}
.sec-about .call-strip strong { display: block; font-size: .95rem; }
.sec-about .call-strip .small { opacity: .82; }
.sec-about .call-strip .btn-light {
  border-radius: 999px !important;
  font-weight: 800 !important;
  color: var(--purple) !important;
  white-space: nowrap;
}

/* Vision / Mission */
.sec-vm .section-intro { margin-bottom: 1.75rem; }
.vm-link {
  display: flex !important;
  flex-direction: column;
  gap: .35rem;
  position: relative;
  overflow: hidden;
}
.vm-link::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--pink), var(--purple));
  border-radius: 0 4px 4px 0;
}
.vm-link.mission::before {
  background: linear-gradient(180deg, var(--purple), #7A2060);
}
.vm-link p {
  color: #5A5463;
  line-height: 1.6;
  margin: .35rem 0 .75rem;
  flex: 1;
}
.vm-link__more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-size: .86rem;
  font-weight: 750;
  color: var(--pink);
  letter-spacing: -.01em;
}
.vm-link__more::after {
  content: "→";
  transition: transform .2s ease;
}
.vm-link:hover .vm-link__more::after { transform: translateX(3px); }
.vm-link:hover {
  border-color: rgba(236, 22, 140, .18) !important;
  box-shadow: 0 18px 40px rgba(236, 22, 140, .1) !important;
  transform: translateY(-3px);
}

/* Services */
.sec-services .service-tile {
  display: flex !important;
  flex-direction: column;
  color: inherit !important;
  min-height: 100%;
}
.service-tile__go {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: .9rem;
  font-size: .8rem;
  font-weight: 750;
  color: var(--pink);
  letter-spacing: -.01em;
  opacity: .85;
}
.service-tile__go::after {
  content: "→";
  transition: transform .2s ease;
}
.sec-services .service-tile:hover .service-tile__go { opacity: 1; }
.sec-services .service-tile:hover .service-tile__go::after { transform: translateX(3px); }
.sec-services .service-tile:hover .service-ico {
  background: linear-gradient(155deg, #FFE9F5 0%, #F8EEFC 100%) !important;
  box-shadow: 0 8px 18px rgba(236, 22, 140, .12);
}

/* Great Minds */
.sec-gm-home {
  background:
    radial-gradient(520px 240px at 8% 10%, rgba(46, 125, 50, .06), transparent 60%),
    linear-gradient(180deg, #FCFAFD 0%, #F3FBF4 48%, #fff 100%) !important;
}
.sec-gm-home .gm-home-banner {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 1.5rem 1.75rem;
  align-items: center;
  background: #fff !important;
}
.gm-home-banner__tag {
  color: var(--pink);
  font-weight: 750;
  font-size: 1.02rem;
  margin: 0 0 .55rem;
  letter-spacing: -.01em;
}
.gm-home-banner__lead {
  color: #5A5463;
  line-height: 1.6;
  margin: 0 0 1.25rem;
  max-width: 48ch;
}
.gm-home-banner__media img {
  width: 100%;
  height: 100%;
  min-height: 240px;
  object-fit: cover;
  display: block;
  aspect-ratio: 4 / 3;
}
.gm-logo--home {
  margin-bottom: .75rem;
  max-height: 56px;
  width: auto;
}
.gm-home-grid { margin-top: 1.25rem; }
.gm-home-pill {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .55rem;
  padding: 1.05rem .7rem !important;
  text-decoration: none !important;
}

/* Why + stats */
.why-lead { margin: 0 0 1.35rem !important; max-width: 42ch; text-align: left; }
.why-grid-cards {
  display: grid;
  gap: 12px;
}
.why-card {
  position: relative;
  background: #fff;
  border: 1px solid rgba(66, 20, 95, .07);
  border-radius: 18px;
  padding: 1.15rem 1.15rem 1.1rem 1.3rem;
  box-shadow: 0 8px 22px rgba(66, 20, 95, .05);
  transition: transform .2s ease, box-shadow .2s ease;
}
.why-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(66, 20, 95, .09);
}
.why-card__n {
  display: inline-block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--pink);
  margin-bottom: .35rem;
}
.why-card h3 {
  font-size: 1.05rem;
  font-weight: 750;
  margin: 0 0 .35rem;
  color: var(--ink);
  letter-spacing: -.02em;
}
.why-card p {
  margin: 0;
  color: #5A5463;
  font-size: .9rem;
  line-height: 1.5;
}

/* Doctors */
.specialists-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-top: 1.85rem;
}
.specialists-cta .btn { border-radius: 999px !important; min-height: 46px; }
.sec-doctors .doc-pro {
  transition: transform .22s ease, box-shadow .22s ease;
}
.sec-doctors .doc-pro:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(66, 20, 95, .12) !important;
}

/* Gallery */
.gallery-grid.preview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.gallery-card {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #111;
  cursor: pointer;
  text-align: left;
  aspect-ratio: 4 / 3;
}
.gallery-card img,
.gallery-card video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease;
}
.gallery-card:hover img,
.gallery-card:hover video { transform: scale(1.04); }
.gallery-card > span:not(.gallery-zoom):not(.gallery-play):not(.gallery-kind) {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  background: rgba(255, 255, 255, .94);
  color: var(--purple);
  font-size: .72rem;
  font-weight: 750;
  padding: .3rem .65rem;
  border-radius: 999px;
  border: 1px solid rgba(66, 20, 95, .08);
}
.gallery-zoom,
.gallery-play {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .92);
  color: var(--pink);
  opacity: 0;
  transform: scale(.9);
  transition: opacity .2s ease, transform .2s ease;
}
.gallery-play {
  top: 50%;
  left: 50%;
  right: auto;
  width: 54px;
  height: 54px;
  opacity: 1;
  transform: translate(-50%, -50%);
  background: rgba(91, 33, 182, .92);
  color: #fff;
  font-size: 1.35rem;
  box-shadow: 0 10px 28px rgba(42, 10, 74, .28);
}
.gallery-kind {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 2;
  background: rgba(91, 33, 182, .92);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 4px 9px;
  border-radius: 999px;
}
.gallery-card:hover .gallery-zoom {
  opacity: 1;
  transform: scale(1);
}
.gallery-card.is-video:hover .gallery-play {
  transform: translate(-50%, -50%) scale(1.06);
}
.gallery-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(24, 14, 38, .35) 100%);
  pointer-events: none;
}

/* Stories */
.story-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.sec-stories .t-card {
  margin: 0;
  padding: 1.45rem 1.35rem 1.3rem;
  position: relative;
}
.sec-stories .t-card p {
  color: #3A3348;
  font-size: .98rem;
  line-height: 1.55;
  font-weight: 550;
  margin: .35rem 0 .9rem;
}
.sec-stories .t-card cite {
  font-style: normal;
  font-size: .82rem;
  font-weight: 700;
  color: var(--purple);
}
.sec-stories .quote-mark {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8);
  color: var(--pink);
  margin-bottom: .35rem;
}
.sec-stories .quote-mark .mi { font-size: 1.15rem; color: var(--pink); }

/* FAQ */
.sec-faq .accordion { --bs-accordion-border-width: 0; }
.sec-faq .faq-item + .faq-item { margin-top: 0; }
.sec-faq .accordion-body {
  color: #5A5463;
  line-height: 1.6;
  padding-top: .15rem !important;
}
.sec-faq .section-actions { margin-top: 1.5rem; }

/* Blog — stacked card (image + solid copy, no overlay text) */
.sec-blog .blog-feature,
.sec-blog .blog-card.blog-feature {
  position: relative !important;
  min-height: 0 !important;
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  background: #fff !important;
  border-radius: 22px !important;
  border: 1px solid rgba(66, 20, 95, .08) !important;
  box-shadow: 0 14px 34px rgba(66, 20, 95, .08) !important;
  overflow: hidden;
  transition: transform .22s ease, box-shadow .22s ease;
}
.sec-blog .blog-feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 42px rgba(66, 20, 95, .13) !important;
}
.sec-blog .blog-feature-media {
  display: block;
  position: relative;
  overflow: hidden;
  background: linear-gradient(145deg, #F3EAF8, #FFF5FA);
  flex-shrink: 0;
  text-decoration: none;
  aspect-ratio: 16 / 10;
}
.sec-blog .blog-feature-media::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 28%;
  z-index: 1;
  background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, .55) 55%, #fff 100%);
  pointer-events: none;
}
.sec-blog .blog-feature-img,
.sec-blog .blog-feature .blog-feature-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 118% !important;
  min-height: 0 !important;
  aspect-ratio: auto;
  object-fit: cover !important;
  object-position: center 22% !important;
  display: block;
  transition: transform .45s ease;
}
.sec-blog .blog-feature:hover .blog-feature-img {
  transform: scale(1.05);
}
.sec-blog .blog-feature-fallback {
  display: block;
  aspect-ratio: 16 / 10;
  background:
    radial-gradient(420px 180px at 20% 30%, rgba(236, 22, 140, .18), transparent 60%),
    linear-gradient(145deg, #42145F, #7A2060);
}
.sec-blog .blog-feature-copy,
.sec-blog .blog-feature .blog-feature-copy {
  position: relative !important;
  z-index: 2;
  width: 100%;
  margin-top: 0 !important;
  padding: 1.15rem 1.35rem 1.4rem !important;
  background: #fff !important;
  color: var(--ink) !important;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  box-shadow: none !important;
  border-top: 0 !important;
}
.sec-blog .blog-feature-copy .badge-soft {
  align-self: flex-start;
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8) !important;
  color: var(--pink) !important;
  border: 1px solid rgba(236, 22, 140, .14) !important;
  font-weight: 750 !important;
  letter-spacing: .04em;
  text-transform: uppercase !important;
  border-radius: 999px !important;
  padding: .32rem .75rem !important;
  font-size: .68rem !important;
}
.sec-blog .blog-feature-copy h3 {
  margin: .75rem 0 .5rem !important;
  font-size: 1.22rem !important;
  font-weight: 800 !important;
  letter-spacing: -.025em;
  line-height: 1.28;
  color: #201A35 !important;
  text-shadow: none !important;
}
.sec-blog .blog-feature-copy h3 a {
  color: inherit !important;
  text-decoration: none !important;
}
.sec-blog .blog-feature-copy h3 a:hover {
  color: var(--pink) !important;
}
.sec-blog .blog-feature-copy p {
  color: #3F3848 !important;
  font-size: .95rem;
  font-weight: 500;
  line-height: 1.55;
  margin: 0 0 1.05rem !important;
  text-shadow: none !important;
  flex: 1;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sec-blog .blog-feature-copy .blog-more,
.sec-blog .blog-more {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  font-weight: 800;
  color: var(--pink) !important;
  text-decoration: none !important;
  font-size: .92rem;
  letter-spacing: -.01em;
}
.sec-blog .blog-more span {
  transition: transform .2s ease;
}
.sec-blog .blog-feature:hover .blog-more span {
  transform: translateX(3px);
}
.sec-blog .blog-more:hover {
  color: var(--purple) !important;
}

/* Reels — align with homepage system */
.reel-showcase {
  background-color: #FCFAFD !important;
  background-image:
    radial-gradient(640px 280px at 12% 0%, rgba(236, 22, 140, .07), transparent 65%),
    radial-gradient(560px 260px at 92% 40%, rgba(66, 20, 95, .08), transparent 60%),
    linear-gradient(180deg, #F8F3FC 0%, #FFF5FB 55%, #FCFAFD 100%) !important;
  padding: clamp(3rem, 5vw, 4.2rem) 0 clamp(2.6rem, 4vw, 3.4rem) !important;
}
.reel-showcase .reel-kicker.kicker {
  letter-spacing: .14em;
  font-size: .72rem;
}
.reel-showcase .reel-heading.section-title {
  max-width: none;
  color: var(--ink) !important;
}
.reel-showcase .reel-sub.section-intro__lead {
  max-width: 42ch;
  margin-left: 0;
}
.reel-ig-btn {
  border-radius: 999px !important;
  border: 1.5px solid rgba(66, 20, 95, .12) !important;
  background: #fff !important;
  color: var(--purple) !important;
  font-weight: 750 !important;
  box-shadow: 0 8px 20px rgba(66, 20, 95, .06);
}
.reel-ig-btn:hover {
  background: var(--purple) !important;
  color: #fff !important;
  border-color: var(--purple) !important;
}
.reel-card {
  border-radius: 20px !important;
  box-shadow: 0 14px 32px rgba(66, 20, 95, .12) !important;
  border: 1px solid rgba(66, 20, 95, .08);
}
.reel-nav {
  border-radius: 50% !important;
  border: 1px solid rgba(66, 20, 95, .1) !important;
  background: #fff !important;
  color: var(--purple) !important;
  box-shadow: 0 8px 20px rgba(66, 20, 95, .1) !important;
}
.reel-nav:hover {
  background: var(--pink) !important;
  color: #fff !important;
  border-color: var(--pink) !important;
}
.reel-trust {
  margin-top: 1.75rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.reel-trust-item {
  background: #fff;
  border: 1px solid rgba(66, 20, 95, .07);
  border-radius: 18px;
  padding: 1rem 1.05rem;
  box-shadow: 0 8px 22px rgba(66, 20, 95, .05);
  display: flex;
  align-items: center;
  gap: 12px;
}
.reel-trust-item strong {
  display: block;
  font-size: .9rem;
  color: var(--ink);
  letter-spacing: -.01em;
}
.reel-trust-item small {
  color: var(--muted);
  font-size: .78rem;
}
.reel-trust-ico {
  width: 42px;
  height: 42px;
  border-radius: 13px;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8);
  color: var(--pink);
}

@media (max-width: 991.98px) {
  .gallery-grid.preview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .story-grid { grid-template-columns: 1fr; }
  .sec-gm-home .gm-home-banner { grid-template-columns: 1fr; }
  .reel-trust { grid-template-columns: 1fr 1fr; }
  .section-intro--split { align-items: flex-start; }
}
@media (max-width: 767.98px) {
  .reel-trust { grid-template-columns: 1fr; }
  .sec-stories .story-stats { gap: 10px; }
  .vm-link:hover,
  .sec-services .service-tile:hover,
  .gallery-card:hover,
  .sec-stories .t-card:hover,
  .sec-doctors .doc-pro:hover { transform: none; }
}

/* —— Distinct section stages (clear separation) —— */
.sec-stage {
  position: relative;
  isolation: isolate;
  padding-block: clamp(3.6rem, 5.8vw, 5.4rem) !important;
  border-block: 0 !important;
  overflow: clip;
}
.sec-stage::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 1;
  width: min(140px, 28vw);
  height: 3px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(236, 22, 140, .45), transparent);
  pointer-events: none;
  opacity: .85;
}
.sec-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  opacity: .35;
  background-image: radial-gradient(rgba(66, 20, 95, .07) 1px, transparent 1.2px);
  background-size: 22px 22px;
  mask-image: linear-gradient(180deg, transparent 0%, #000 18%, #000 82%, transparent 100%);
}
.sec-stage > .container {
  position: relative;
  z-index: 2;
}
.sec-stage .section-title {
  font-size: clamp(1.7rem, 2.9vw, 2.4rem);
}
.sec-stage .section-intro__lead {
  font-size: 1.02rem;
  color: #4A4354;
}

/* White stage */
.sec-stage--white,
.sec-about.sec-stage--white,
.sec-services.sec-stage--white,
.sec-doctors.sec-stage--white,
.sec-stories.sec-stage--white {
  background:
    radial-gradient(720px 280px at 88% 0%, rgba(236, 22, 140, .04), transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #FCFAFD 100%) !important;
}

/* Soft blush / pink stage */
.sec-stage--blush,
.sec-vm.sec-stage--blush,
.sec-gallery.sec-stage--blush,
.sec-faq.sec-stage--blush {
  background:
    radial-gradient(760px 340px at 10% 0%, rgba(236, 22, 140, .16), transparent 55%),
    radial-gradient(620px 300px at 95% 85%, rgba(66, 20, 95, .08), transparent 52%),
    linear-gradient(180deg, #FFE9F4 0%, #FBDCEB 42%, #FFF0F7 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .65),
    inset 0 -1px 0 rgba(236, 22, 140, .06);
}
.sec-stage--blush::before {
  width: min(180px, 36vw);
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(236, 22, 140, .7), transparent);
}

/* Soft lilac / purple stage */
.sec-stage--lilac,
.sec-why.sec-stage--lilac,
.sec-visit.sec-stage--lilac,
.sec-blog.sec-stage--lilac {
  background:
    radial-gradient(780px 360px at 85% 0%, rgba(66, 20, 95, .14), transparent 55%),
    radial-gradient(560px 260px at 5% 90%, rgba(236, 22, 140, .08), transparent 52%),
    linear-gradient(180deg, #EDE2F5 0%, #F1E8F8 48%, #E8DCF2 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .55),
    inset 0 -1px 0 rgba(66, 20, 95, .07);
}
.sec-stage--lilac::before {
  width: min(180px, 36vw);
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(66, 20, 95, .55), transparent);
}

/* Mint stage — Great Minds only */
.sec-stage--mint,
.sec-gm-home.sec-stage--mint {
  background:
    radial-gradient(700px 320px at 8% 0%, rgba(46, 125, 50, .16), transparent 55%),
    radial-gradient(520px 240px at 95% 75%, rgba(236, 22, 140, .06), transparent 52%),
    linear-gradient(180deg, #E5F6E8 0%, #DDF1E1 45%, #EEF9F0 100%) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .6),
    inset 0 -1px 0 rgba(46, 125, 50, .08);
}
.sec-stage--mint::before {
  width: min(180px, 36vw);
  height: 4px;
  background: linear-gradient(90deg, transparent, rgba(46, 125, 50, .55), transparent);
}

/* White stages get a soft top hairline so they don’t melt into tinted neighbors */
.sec-stage--white {
  box-shadow:
    inset 0 1px 0 rgba(66, 20, 95, .05),
    inset 0 -1px 0 rgba(66, 20, 95, .04);
}

/* Kill older conflicting flat/gradient backgrounds for staged sections */
.sec-vm,
.sec-services,
.sec-gm-home,
.sec-why,
.sec-doctors,
.sec-gallery,
.sec-stories,
.sec-faq,
.sec-blog {
  border-block: 0 !important;
}

/* About sits under quick panel — keep breathing room */
.sec-about.sec-stage {
  padding-top: clamp(2.8rem, 4.5vw, 3.8rem) !important;
}
.sec-about.sec-stage::before { display: none; }

/* Visit map card pops on lilac */
.sec-visit.sec-stage .loc-split {
  box-shadow: 0 20px 48px rgba(66, 20, 95, .12) !important;
  border-color: rgba(66, 20, 95, .1) !important;
}

/* White cards pop harder on tinted stages */
.sec-stage--blush .service-tile,
.sec-stage--blush .vm-link,
.sec-stage--blush .gallery-card,
.sec-stage--blush .faq-item,
.sec-stage--lilac .why-card,
.sec-stage--lilac .blog-feature,
.sec-stage--lilac .loc-split,
.sec-stage--mint .gm-home-banner,
.sec-stage--mint .gm-home-pill,
.sec-stage--white .doc-pro,
.sec-stage--white .t-card,
.sec-stage--white .mini-stat {
  box-shadow: 0 14px 34px rgba(66, 20, 95, .09) !important;
}

/* Reels stays its own stage, with matching top accent */
.reel-showcase {
  border-top: 0 !important;
}
.reel-showcase::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 3;
  width: min(140px, 28vw);
  height: 3px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(236, 22, 140, .5), transparent);
  pointer-events: none;
}

@media (max-width: 767.98px) {
  .sec-stage {
    padding-block: clamp(2.8rem, 8vw, 3.6rem) !important;
  }
}

/* —— Sitewide Gilroy + UI lift (highlights kept) —— */
body.site-body,
.app-main,
.site-chrome,
.app-header,
.navbar-sbh,
.topbar,
.app-tabbar,
.app-sidebar,
.site-footer {
  font-family: "Gilroy", "Plus Jakarta Sans", "Inter", sans-serif !important;
}
.section-title,
.serif,
h1, h2, h3, h4, h5,
.hero-copy h1,
.hero-slide-title,
.btn,
.nav-link,
.kicker,
.badge-soft {
  font-family: "Gilroy", "Plus Jakarta Sans", sans-serif !important;
}
.sec-quick__title {
  font-family: "Gilroy", "Plus Jakarta Sans", sans-serif !important;
}

/* Softer stage texture */
.sec-stage::after {
  opacity: .22;
  background-size: 26px 26px;
}

/* Kickers as clean pills */
.app-main .kicker {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin: 0 0 .7rem !important;
  padding: .38rem .85rem !important;
  border-radius: 999px !important;
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8) !important;
  border: 1px solid rgba(236, 22, 140, .14) !important;
  color: var(--pink) !important;
  font-size: .7rem !important;
  font-weight: 800 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  line-height: 1.2;
  box-shadow: 0 4px 14px rgba(236, 22, 140, .06);
}
.sec-stage--mint .kicker {
  background: linear-gradient(155deg, #EEF9F0, #E4F3E7) !important;
  border-color: rgba(46, 125, 50, .16) !important;
  color: #1B7A32 !important;
  box-shadow: 0 4px 14px rgba(46, 125, 50, .06);
}
.sec-stage--lilac .kicker {
  background: linear-gradient(155deg, #F5EEFA, #EDE4F5) !important;
  border-color: rgba(66, 20, 95, .12) !important;
  color: var(--purple) !important;
}

/* About: content feels like a soft panel */
.sec-about .about-copy {
  background: linear-gradient(165deg, rgba(255,255,255,.92) 0%, rgba(252,250,253,.96) 100%);
  border: 1px solid rgba(66, 20, 95, .07);
  border-radius: 24px;
  padding: clamp(1.35rem, 2.4vw, 1.85rem);
  box-shadow: 0 16px 40px rgba(66, 20, 95, .06);
}
.sec-about .about-photo {
  border-radius: 24px !important;
}
.sec-about .about-photo img {
  border-radius: 24px 24px 0 0;
}

/* Services: tighter premium tiles */
.sec-services .service-tile {
  border-radius: 22px !important;
  padding: 1.5rem 1.3rem 1.4rem !important;
  background:
    linear-gradient(180deg, #FFFFFF 0%, #FCFAFD 100%) !important;
}
.sec-services .service-ico {
  width: 58px !important;
  height: 58px !important;
  border-radius: 17px !important;
  margin-bottom: 1.05rem !important;
}

/* VM cards */
.sec-vm .vm-link {
  border-radius: 24px !important;
  padding: 1.85rem 1.65rem !important;
  min-height: 100%;
}
.sec-vm .vm-link h3 {
  font-size: clamp(1.4rem, 2.1vw, 1.65rem) !important;
  font-weight: 800 !important;
}

/* Why cards numbered chips */
.sec-why .why-card__n {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 1.7rem;
  padding: 0 .55rem;
  border-radius: 999px;
  background: linear-gradient(155deg, #FFF5FA, #F3EAF8);
  border: 1px solid rgba(236, 22, 140, .12);
  font-size: .68rem !important;
  letter-spacing: .08em;
}

/* Doctors / stories / faq polish */
.sec-doctors .doc-pro {
  border-radius: 24px !important;
  overflow: hidden;
}
.sec-stories .mini-stat {
  border-radius: 20px !important;
  transition: transform .2s ease, box-shadow .2s ease;
}
.sec-stories .mini-stat:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(66, 20, 95, .1);
}
.sec-faq .faq-item {
  border-radius: 18px !important;
}
.sec-faq .accordion-button {
  font-family: var(--title-font);
  font-weight: 750 !important;
  font-size: .98rem;
  padding: 1rem 1.15rem !important;
}

/* Buttons in content — pill + lift */
.app-main .btn-mayom {
  border-radius: 999px !important;
  font-weight: 750;
  box-shadow: 0 10px 22px rgba(236, 22, 140, .22);
}
.app-main .btn-mayom:hover {
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(236, 22, 140, .28);
}
.app-main .btn-soft {
  border-radius: 999px !important;
  font-weight: 700;
}

/* Quick panel — slightly richer */
.sec-quick__panel {
  border-radius: 28px !important;
  box-shadow:
    0 22px 50px rgba(66, 20, 95, .12),
    0 1px 0 rgba(255, 255, 255, .8) inset !important;
}

/* Gallery cards */
.sec-gallery .gallery-card {
  border-radius: 20px !important;
}

/* Blog cards already solid — slight radius sync */
.sec-blog .blog-feature {
  border-radius: 22px !important;
}

/* Hero trust chips */
.hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.hero-trust li {
  background: rgba(255, 255, 255, .14) !important;
  border: 1px solid rgba(255, 255, 255, .22) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff !important;
  font-weight: 700;
  font-size: .78rem;
  padding: .4rem .8rem !important;
  border-radius: 999px !important;
}

@media (max-width: 991.98px) {
  .sec-about .about-copy {
    padding: 1.25rem 1.15rem;
    border-radius: 20px;
  }
}
@media (max-width: 767.98px) {
  .sec-stories .mini-stat:hover { transform: none; }
  .app-main .btn-mayom:hover { transform: none; }
}

/* —— Extra attractive polish (keep section highlights) —— */
.sec-stage .service-tile,
.sec-stage .vm-link,
.sec-stage .gm-home-banner,
.sec-stage .doc-pro,
.sec-stage .t-card,
.sec-stage .faq-item,
.sec-stage .blog-feature,
.sec-stage .why-card,
.sec-stage .mini-stat,
.sec-stage .gm-home-pill {
  backdrop-filter: blur(2px);
}
.sec-services .service-tile h3,
.sec-vm .vm-link h3,
.sec-why .why-card h3,
.sec-stories .t-card cite,
.sec-blog .blog-feature-copy h3 {
  letter-spacing: -.025em;
}
.sec-quick__panel {
  position: relative;
}
.sec-quick__panel::before {
  content: "";
  position: absolute;
  left: 18px;
  right: 18px;
  top: 0;
  height: 3px;
  border-radius: 0 0 999px 999px;
  background: linear-gradient(90deg, transparent, rgba(236, 22, 140, .55), rgba(66, 20, 95, .35), transparent);
  pointer-events: none;
}
.hero-copy h1,
.hero-slide-title {
  font-weight: 800 !important;
  letter-spacing: -.04em !important;
}
.hero-actions .btn-mayom {
  font-weight: 750;
}
.navbar-sbh .nav-link {
  font-weight: 600;
  letter-spacing: -.01em;
}
.nav-cta.btn-mayom {
  font-weight: 750 !important;
  letter-spacing: -.01em;
}
.section-intro .section-title::after {
  width: 3.6rem;
  height: 3.5px;
  background: linear-gradient(90deg, var(--pink) 0%, var(--purple) 70%, transparent 100%);
}
.reel-showcase .reel-heading,
.reel-showcase .reel-sub,
.reel-showcase .reel-kicker {
  font-family: "Gilroy", "Plus Jakarta Sans", sans-serif !important;
}
