/* GW audio design | Home Services overview
   Designed to match the wide Core Capability panel in /css/gw/services.css.
   Scope is restricted to .gw-home-services; other index elements are not modified.
*/
.gw-home-services {
  --hs-ink: #253441;
  --hs-blue: #537b9b;
  --hs-line: #dce5ed;
  background: #f5f8fa;
  padding: 4.6rem 0 5.1rem;
}
.gw-home-services .gw-hs-intro-row { margin-bottom: 2.15rem; }
.gw-home-services .gw-hs-eyebrow {
  color: #6a87a3; font-size: .73rem; font-weight: 700; letter-spacing: .12em;
  line-height: 1.5; text-transform: uppercase; margin: 0 0 1.05rem;
}
.gw-home-services .gw-hs-title {
  color: var(--hs-ink); font-size: clamp(1.7rem, 2.65vw, 2.45rem);
  font-weight: 650; letter-spacing: -.037em; line-height: 1.3; margin: 0;
}
.gw-home-services .gw-hs-intro {
  color: #526574; font-size: 1rem; line-height: 1.86; max-width: 720px;
}
.gw-home-services .gw-hs-feature {
  display: grid; grid-template-columns: 1.14fr 1fr;
  border: 1px solid var(--hs-line); background: #fff;
  box-shadow: 0 10px 28px rgba(40,60,77,.06); overflow: hidden;
}
.gw-home-services .gw-hs-feature-image {
  position: relative; min-width: 0; min-height: 350px; background: #e8edf1;
  overflow: hidden;
}
.gw-home-services .gw-hs-feature-image > img {
  display: block; width: 100%; height: 100%; min-height: 350px;
  object-fit: cover; object-position: center;
}
.gw-home-services .gw-hs-image-label {
  position: absolute; bottom: 1.3rem; left: 1.4rem;
  background: rgba(34,50,62,.86); color: #fff;
  font-size: .7rem; font-weight: 700; letter-spacing: .11em;
  padding: .65rem .85rem;
}
.gw-home-services .gw-hs-feature-body {
  display: flex; flex-direction: column; justify-content: center;
  padding: 2.45rem 2.6rem;
}
.gw-home-services .gw-hs-feature-kicker {
  color: #7092ad; font-size: .7rem; font-weight: 700;
  letter-spacing: .09em; line-height: 1.6; margin: 0 0 .9rem;
}
.gw-home-services .gw-hs-feature-body h3 {
  color: #273947; font-size: clamp(1.35rem,1.85vw,1.85rem);
  font-weight: 650; letter-spacing: -.03em; line-height: 1.35;
  margin: 0 0 1.15rem;
}
.gw-home-services .gw-hs-feature-body p:not(.gw-hs-feature-kicker) {
  color: #586977; font-size: .94rem; line-height: 1.8; margin: 0 0 1.08rem;
}
.gw-home-services .gw-hs-feature-link {
  align-self: flex-start; color: #416b8c; font-size: .85rem;
  font-weight: 700; margin-top: .25rem; padding-bottom: .35rem;
  border-bottom: 1px solid #a8bdce; text-decoration: none;
}
.gw-home-services .gw-hs-feature-link:hover,
.gw-home-services .gw-hs-feature-link:focus-visible {
  color: #254d6c; border-color: #254d6c;
}
@media (max-width: 1199px) {
  .gw-home-services .gw-hs-feature-body { padding: 2rem 2.1rem; }
}
@media (max-width: 991px) {
  .gw-home-services { padding: 3.7rem 0 4.1rem; }
  .gw-home-services .gw-hs-feature { grid-template-columns: 1fr; }
  .gw-home-services .gw-hs-feature-image { min-height: 0; aspect-ratio: 16 / 8; }
  .gw-home-services .gw-hs-feature-image > img { min-height: 0; }
}
@media (max-width: 575px) {
  .gw-home-services { padding: 3.15rem 0 3.55rem; }
  .gw-home-services .gw-hs-intro-row { margin-bottom: 1.6rem; }
  .gw-home-services .gw-hs-feature-image { aspect-ratio: 16 / 10; }
  .gw-home-services .gw-hs-feature-body { padding: 1.6rem 1.45rem; }
  .gw-home-services .gw-hs-image-label { left: 1rem; bottom: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-home-services * { scroll-behavior: auto !important; }
}
