/* Service pages keep the main hero design with spacing for its larger photo card. */
.hero.service-hero { background-image: linear-gradient(90deg,#0e3458ed 0%,#0e3458b8 48%,#0e345830 100%),var(--service-photo); padding: 180px 0 72px; min-height: 0; }
.service-hero > .container > .row { --bs-gutter-x: 3rem; --bs-gutter-y: 2.5rem; }
.hero.service-hero h1 { margin: 16px 0 20px; font-size: clamp(2.5rem,4.3vw,4rem); }
.hero.service-hero p { max-width: 36rem; margin-bottom: 0; }
.service-hero .hero-caption { display: block; padding: 12px; width: 100%; max-width: 440px; margin: 0 0 0 auto; }
.service-hero .hero-caption img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 62% 40%; border-radius: 16px; }
.service-hero .hero-caption > div { padding: 18px 10px 10px; }
.service-hero .hero-caption strong { font-size: 18px; line-height: 1.4; }
.service-hero .hero-caption span { margin-top: 6px; line-height: 1.5; }
@media (max-width: 991.98px) {
  .hero.service-hero { padding: 140px 0 56px; }
  .service-hero .hero-caption { max-width: 480px; margin: 0; }
}
@media (max-width: 575.98px) {
  .hero.service-hero { padding: 124px 0 40px; }
  .service-hero > .container > .row { --bs-gutter-y: 2rem; }
  .hero.service-hero h1 { font-size: clamp(2rem,8.5vw,2.65rem); line-height: 1.15; }
  .hero.service-hero p { font-size: 16px; }
  .service-hero .hero-caption { max-width: none; }
}
