.relay-nav-group { position: relative; }
.relay-nav-group summary {
  display: flex;
  align-items: center;
  gap: .42rem;
  min-height: 2.75rem;
  color: var(--lilac);
  font-size: .9rem;
  list-style: none;
  cursor: pointer;
}
.relay-nav-group summary::-webkit-details-marker { display: none; }
.relay-nav-group summary::after {
  content: "";
  display: inline-block;
  width: .42rem;
  height: .42rem;
  border: solid currentColor;
  border-width: 0 1px 1px 0;
  transform: translateY(-.12rem) rotate(45deg);
}
.relay-nav-group[open] summary, .relay-nav-group summary:hover,
.relay-nav-group:has([aria-current]) summary { color: var(--oat); }
.relay-nav-group[open] summary::after { transform: translateY(.08rem) rotate(225deg); }
.relay-nav-group ul {
  position: absolute;
  z-index: 2;
  top: calc(100% + .3rem);
  inset-inline-start: -.65rem;
  list-style: none;
  margin: 0;
  padding: .42rem;
  min-width: 13rem;
  border: 1px solid var(--dark-line);
  border-radius: .4rem;
  background: var(--plum);
  box-shadow: 0 .7rem 1.5rem #1b14285c;
}
.relay-nav-group a {
  display: block;
  padding: .6rem .72rem;
  border-radius: .25rem;
  color: var(--oat);
  text-decoration: none;
  font-size: .9rem;
}
.relay-nav-group a:hover, .relay-nav-group a[aria-current] { background: var(--aubergine); color: var(--apricot); }

.relay-service-hero {
  background: var(--aubergine);
  color: var(--oat);
  padding-block: clamp(2.6rem, 6.7vw, 6rem);
}
.relay-service-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr);
  align-items: center;
  gap: clamp(1.5rem, 4.5vw, 4rem);
}
.relay-breadcrumb {
  display: flex;
  gap: .65rem;
  flex-wrap: wrap;
  align-items: baseline;
  color: var(--lilac);
  font-size: .8rem;
  margin-bottom: 1.2rem;
}
.relay-breadcrumb a { color: var(--apricot); text-underline-offset: .24em; }
.relay-service-hero h1 {
  font: 600 clamp(3.75rem, 7.25vw, 7rem)/.91 var(--font-display);
  letter-spacing: -.038em;
  text-wrap: balance;
}
.relay-service-lead { margin-top: 1rem; max-width: 31rem; color: var(--oat); font-size: clamp(1.02rem, 1.6vw, 1.2rem); line-height: 1.56; }
.relay-service-note { margin-top: .78rem; max-width: 31rem; color: var(--lilac); font-size: .9rem; line-height: 1.55; }
.relay-service-actions { margin-top: 1.35rem; display: flex; flex-wrap: wrap; gap: .6rem; }
.relay-service-actions .button-outline { border-color: var(--dark-line); }
.relay-service-photo { aspect-ratio: 1.5; overflow: hidden; border: 1px solid var(--dark-line); border-radius: .48rem; }
.relay-service-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 59% center; }
.relay-service-body, .relay-service-faq, .relay-home-services { padding-block: clamp(3.3rem, 6.4vw, 5.7rem); }
.relay-service-faq { background: var(--subtle); }
.relay-home-services { background: var(--subtle); }
.relay-service-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  align-items: end;
  gap: .85rem 2rem;
  margin-bottom: 1.7rem;
}
.relay-service-section-head h2 {
  font: 600 clamp(2.6rem, 4.9vw, 4.5rem)/.96 var(--font-display);
  letter-spacing: -.026em;
}
.relay-service-faq .relay-service-section-head { display: block; }
.relay-service-section-head p, .relay-service-features p { max-width: 40rem; color: var(--muted); line-height: 1.6; }
.relay-service-section-head a, .relay-service-features a { color: var(--link); }
.relay-service-features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
  gap: .85rem;
}
.relay-service-features article {
  background: var(--surface);
  border: 1px solid var(--light-line);
  border-top: 3px solid var(--link);
  border-radius: .42rem;
  padding: clamp(1rem, 2.8vw, 1.85rem);
}
.relay-service-features h3 { font: 600 clamp(1.6rem, 2.7vw, 2.2rem)/1.04 var(--font-display); }
.relay-service-features p { margin-top: .6rem; font-size: .94rem; }
.relay-service-features .text-link { margin-top: .7rem; }
.relay-footer-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 880px) {
  .js .site-nav.is-open { max-height: 70vh; overflow: auto; align-items: start; }
  .relay-nav-group { width: 100%; }
  .relay-nav-group ul { position: static; min-width: 0; box-shadow: none; }
  .relay-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .relay-service-hero-grid, .relay-service-section-head { grid-template-columns: 1fr; }
  .relay-service-photo { aspect-ratio: 1.68; }
}
