/* Round 2: keep the approved hero while making the full page feel continuous. */
body { background: #dcefed; }
.page-shell { padding: 0; background: #eef8f6; }
.hero { margin: 20px 20px 0; }
.brand img { display: block; width: 150px; height: auto; }
.desktop-nav { gap: 30px; }
.intro-strip { background: #dcefed; padding-top: 70px; padding-bottom: 75px; }
.services { border-radius: 0; padding-top: 115px; padding-bottom: 125px; }
.services-heading { padding-bottom: 32px; border-bottom: 1px solid #d9e9e7; }
.service-grid { gap: 18px; }
.service-card { border-radius: 18px; }
.doctor { background: #e8f4f1; padding: 105px 5.5%; grid-template-columns: 47% 53%; }
.doctor-visual { min-height: 600px; border-radius: 24px; background: #dce4e6; }
.doctor-visual::before, .doctor-visual::after { display: none; }
.doctor-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 29%; }
.doctor-visual::after { display: block; z-index: 1; inset: auto 0 0; width: auto; height: 145px; border: 0; border-radius: 0; background: linear-gradient(transparent, #123b4780); }
.doctor-visual-label, .doctor-visual-bottom { z-index: 2; }
.doctor-visual-label { color: #174b57; }
.doctor-visual-bottom { color: #fff; }
.doctor-copy { padding-left: 12%; padding-right: 4%; }
.reviews { display: grid; grid-template-columns: 43% 57%; gap: 5%; align-items: center; background: #fff; padding-top: 120px; padding-bottom: 120px; }
.reviews-heading { align-self: start; padding-top: 32px; }
.reviews h2 { font-size: clamp(56px, 5.9vw, 92px); }
.reviews-fallback { position: relative; display: flex; align-items: center; min-height: 450px; overflow: hidden; background: #e9f6f4; padding: 60px 10%; }
.reviews-fallback::before { content: ""; position: absolute; width: 420px; height: 420px; right: -150px; top: -160px; border: 1px solid #a8d9d7; border-radius: 50%; }
.reviews-fallback::after { content: ""; position: absolute; width: 270px; height: 270px; right: -75px; top: -85px; border: 1px solid #a8d9d7; border-radius: 50%; }
.reviews-fallback > div { position: relative; z-index: 1; }
.reviews-symbol { position: absolute; right: 10%; bottom: 22px; color: #71c6c7; font-size: 90px; line-height: 1; }
.reviews-overline { margin: 0 0 26px; color: #269fae; font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.reviews-fallback h3 { margin: 0 0 20px; font-size: clamp(32px, 3vw, 48px); font-weight: 400; letter-spacing: -.065em; line-height: 1.08; }
.reviews-fallback p:not(.reviews-overline) { max-width: 400px; margin: 0; color: #5f7c80; font-size: 15px; line-height: 1.7; }
.reviews-fallback .text-link { margin-top: 30px; }
.visit { position: relative; margin: 0; border-radius: 0; padding-top: 115px; padding-bottom: 115px; }
.visit::before { content: ""; position: absolute; top: 0; right: 0; width: 50%; height: 100%; background: radial-gradient(circle at 100% 0%, #2b7a7e55, transparent 55%); pointer-events: none; }
.visit > * { position: relative; z-index: 1; }
.map-wrap { width: 100%; height: 410px; margin-top: 65px; overflow: hidden; background: #d8e9e6; }
.map-wrap iframe { display: block; width: 100%; height: 100%; border: 0; }
.visit-grid { gap: 8%; margin-top: 55px; }
.visit-card { border: 0; border-top: 1px solid #82bec477; border-radius: 0; padding: 32px 0 0; min-height: 285px; }
.visit-card-icon { right: 0; top: 29px; }
.site-footer { background: #dcefed; padding-top: 80px; }
.footer-brand { display: block; }
.footer-brand img { display: block; width: 220px; height: auto; }
.footer-bottom { border-color: #afd2d0; }

@media (max-width: 900px) {
  .desktop-nav { gap: 18px; }
  .brand img { width: 125px; }
  .reviews { grid-template-columns: 1fr; gap: 35px; }
  .reviews-heading { padding-top: 0; }
  .reviews-fallback { min-height: 370px; }
  .doctor-visual { min-height: 520px; }
}
@media (max-width: 720px) {
  .page-shell { padding: 0; }
  .hero { margin: 10px 10px 0; }
  .brand img { width: 114px; }
  .intro-strip { padding: 55px 15px 65px; }
  .services { padding-top: 80px; padding-bottom: 90px; }
  .services-heading { padding-bottom: 25px; }
  .doctor { padding: 75px 20px 85px; }
  .doctor-visual { min-height: 445px; }
  .doctor-visual img { object-position: center 24%; }
  .doctor-copy { padding: 55px 4px 0; }
  .reviews { padding-top: 80px; padding-bottom: 85px; }
  .reviews-fallback { padding: 44px 28px; min-height: 370px; }
  .reviews-symbol { font-size: 60px; }
  .visit { padding-top: 85px; padding-bottom: 90px; }
  .map-wrap { height: 320px; margin-top: 42px; }
  .visit-grid { gap: 34px; margin-top: 45px; }
  .visit-card { min-height: 0; padding-top: 27px; }
  .site-footer { padding-top: 70px; }
  .footer-brand img { width: 180px; }
}
@media (max-width: 420px) {
  .brand img { width: 105px; }
  .header-cta { min-width: 48px; min-height: 48px; justify-content: center; }
  .doctor-visual { min-height: 400px; }
  .reviews-fallback h3 { font-size: 34px; }
}
