/* Shared service navigation and focused service pages. */
@media (min-width: 981px) {
  .nav > a[href="/about"] { position: relative; margin-right: 18px; }
  .nav > a[href="/about"]::after { content: ""; position: absolute; right: -17px; top: 50%; transform: translateY(-50%); height: 26px; width: 1px; background: #aeb79e; pointer-events: none; }
}
.nav-services { position: relative; }
.nav-services-top { display: flex; align-items: center; }
.services-menu { display: none; position: absolute; top: 100%; left: 0; width: 310px; padding: 10px; background: #fff; border: 1px solid #dce1d5; border-radius: 12px; box-shadow: 0 16px 36px #11160f18; z-index: 110; }
.nav .services-menu a { display: block; padding: 13px 14px; line-height: 1.4; white-space: normal; border-radius: 6px; }
.nav-services.is-open > .services-menu { display: block; }
html:not(.js-nav) .nav-services:hover > .services-menu,
html:not(.js-nav) .nav-services:focus-within > .services-menu { display: block; }
.nav-services a:focus-visible { outline: 2px solid #49642d; outline-offset: 3px; }
.service-read-more { display: inline-block; margin-top: 24px; }
.service-page .services-hero h1 { max-width: 1000px; }
.service-page .services-hero .lead { margin-top: 24px; margin-bottom: 16px; }
.service-intro { max-width: 66ch; margin: 0 auto 28px; }
.service-capabilities, .service-process { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.service-capabilities article { padding: 24px 0; border-top: 1px solid var(--line); }
.service-capabilities h3, .service-process h3 { font-size: 1.35rem; margin-bottom: 12px; }
.service-capabilities p, .service-process p { margin-bottom: 0; }
.service-process { list-style: none; padding: 0; margin: 32px 0 0; }
.service-process li { border-top: 1px solid var(--line); padding-top: 24px; }
.service-process .eyebrow { display: block; margin-bottom: 20px; }
.service-related { display: flex; gap: 24px; flex-wrap: wrap; margin: 28px 0; }
@media (max-width: 980px) {
  .nav-services-top { justify-content: space-between; }
  .nav-services-top > a { flex: 1; }
  .services-menu { position: static; width: 100%; box-shadow: none; margin: 4px 0 8px; background: #f5f6f2; }
  .nav { max-height: calc(100dvh - 100px); overflow-y: auto; }
  html:not(.js-nav) .services-menu { display: block; }
  html:not(.js-nav) .nav-wrap { flex-wrap: wrap; }
  html:not(.js-nav) .nav { display: flex; position: static; width: 100%; max-height: none; }
  html:not(.js-nav) .nav-toggle { display: none; }
  .service-capabilities { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-process { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .service-capabilities, .services-page .service-overview-grid { grid-template-columns: 1fr; }
  .service-related { flex-direction: column; }
}
