/* Shared service detail page — typography, imagery, premium readability */

:root {
  --service-heading: #24272c;
  --service-body: #4b5563;
  --service-accent: #8cb369;
}

/* Body copy: dark slate for contrast on light / soft-green surfaces */
.section .section-title > .text-muted,
.section .service-overview .text-muted,
.section .service-approach .text-muted,
.section .service-contact-card .text-muted,
.section .service-overview-copy .text-muted,
.section .service-overview-copy ul.text-muted,
.section .service-overview-copy li,
.section p.text-muted {
  color: var(--service-body) !important;
}

.section .section-title .title,
.section .service-overview h5,
.section .service-approach-card-body h5,
.section .service-contact-card h5,
.section .service-contact-card h6 {
  color: var(--service-heading);
}

.section .service-contact-card a.text-muted:hover {
  color: var(--service-accent) !important;
}

/* Preserve green accents (icons, checks, active nav stay on page / theme) */

/* Overview image: integrate with content — radius, shadow, slight visual weight */
.service-overview-figure {
  overflow: hidden;
  border-radius: 16px;
  box-shadow: 0 0.5rem 1.5rem rgba(22, 28, 45, 0.1);
  background-color: #fff;
}

.service-overview-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 16px;
  object-fit: cover;
  object-position: center;
}

.service-overview-media {
  align-items: center;
}

@media (min-width: 992px) {
  .service-overview-figure {
    /* Slightly larger visual presence without changing the grid */
    width: 104%;
    max-width: none;
    margin-left: auto;
    margin-right: -2%;
  }
}

@media (max-width: 991.98px) {
  .service-overview-figure {
    margin-top: 1.5rem;
    width: 100%;
    margin-right: 0;
  }
}

@media (prefers-reduced-motion: no-preference) {
  @media (hover: hover) and (pointer: fine) {
    .service-overview-figure img {
      transition: transform 300ms ease-out;
    }

    .service-overview-figure:hover img {
      transform: scale(1.03);
    }

    .service-approach-card {
      transition: transform 300ms ease-out, box-shadow 300ms ease-out;
    }

    .service-approach-card-media img {
      transition: transform 300ms ease-out;
    }

    .service-approach-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 0.65rem 1.35rem rgba(22, 28, 45, 0.12) !important;
    }

    .service-approach-card:hover .service-approach-card-media img {
      transform: scale(1.03);
    }
  }
}
