/* Shared section rhythm: height follows content rather than the viewport. */
:root { --section-space: 88px; }
body:not(.admin-page) > section[class], body:not(.admin-page) main > section[class] {
  min-height: auto !important;
  padding-top: var(--section-space) !important;
  padding-bottom: var(--section-space) !important;
}
.treatment-banner-light {
  color: #173454 !important;
  border-top: 1px solid #dcecf3;
  border-bottom: 1px solid #dcecf3;
}
.treatment-banner-light::before { display: none; }
.treatment-banner-light h2,
.treatment-banner-light h3,
.treatment-banner-light h4 { color: #173454 !important; }
.treatment-banner-light p { color: #587087 !important; }
.treatment-banner-light h2 span,
.treatment-banner-light .treatment-banner-badge,
.treatment-banner-light .treatment-banner-badge i { color: #087bb3 !important; }
.treatment-banner-light .treatment-banner-badge { background: #e8f5fb; border-color: #cfe6f0; }
.treatment-banner-light > .container > .two-col-grid > div:last-child > div {
  background: rgba(255,255,255,.84) !important;
  border-color: #d8e8ef !important;
  box-shadow: 0 20px 40px rgba(23,52,84,.10) !important;
}
.hero-split-grid { min-height: auto !important; align-items: stretch; }
.hero-text-side { padding: 0 40px 0 0 !important; }
@media (min-width: 901px) {
  .hero-slider-side {
    position: relative;
    height: auto !important;
    margin: 0 !important;
    align-self: stretch !important;
    min-height: 460px;
  }
  .hero-slider-side img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 70% top !important;
  }
}
@media (max-width: 900px) {
  :root { --section-space: 64px; }
  .hero-text-side { padding: 0 0 32px !important; }
  .hero-slider-side { margin: 0 !important; }
}
@media (max-width: 600px) {
  :root { --section-space: 56px; }
}

/* Keep contact details within narrow screens. */
.contact-page .section-padding .container > div > div { min-width: 0; }
.contact-page .section-padding a { overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .contact-page .section-padding .container > div > div { padding-inline: 20px !important; }
  .contact-page .section-padding .container > div > div:first-child { padding-inline: 0 !important; }
  .contact-page .section-padding .container > div > div:first-child > div { padding: 20px !important; gap: 14px !important; }
}

/* Four-photo hero crossfade, matching the About preview slideshow. */
.hero-photo-carousel .hero-photo-slide {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  object-position: var(--slide-position) !important;
  opacity: 0; animation: heroPhotoFade 20s linear infinite;
  animation-delay: var(--slide-delay);
}
@keyframes heroPhotoFade {
  0%, 20% { opacity: 1; }
  25%, 95% { opacity: 0; }
  100% { opacity: 1; }
}
.hero-photo-carousel.is-paused .hero-photo-slide { animation-play-state: paused; }

@media (prefers-reduced-motion: reduce) {
  .hero-photo-carousel .hero-photo-slide { animation: none; opacity: 0; }
  .hero-photo-carousel .hero-photo-slide:first-child { opacity: 1; }
}
