/* Service pages use the same Archivo typography and palette as the public site. */
.service-hero { padding-bottom: 56px; }
.service-hero h1 { max-width: 22ch; font-size: clamp(2.15rem, 4.6vw, 4.35rem); }
.service-hero .lead { max-width: 67ch; }
.service-actions { display: flex; align-items: center; gap: 18px 28px; flex-wrap: wrap; margin-top: 28px; }
.service-actions > a { min-height: 44px; display: inline-flex; align-items: center; }
.service-layout .local-content > section { scroll-margin-top: 115px; }
.service-layout .local-content ul { padding-left: 1.3rem; }
.service-layout .local-content li + li { margin-top: 10px; }
.service-aside nav { display: grid; margin: 20px 0; border-block: 1px solid var(--line); padding: 10px 0; }
.service-aside nav a, .service-related a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 4px; }
.service-aside h2:not(:first-child) { margin-top: 32px; }
.service-related { list-style: none; padding: 0; margin: 12px 0 22px; }
.service-faq details { border-top: 1px solid var(--line); padding: 0; }
.service-faq details:last-child { border-bottom: 1px solid var(--line); }
.service-faq summary { cursor: pointer; padding: 20px 24px 20px 0; min-height: 48px; font-size: 1.05rem; font-weight: 600; line-height: 1.5; }
.service-faq details p { padding-bottom: 18px; }
.service-reference { padding-top: 26px; border-top: 1px solid var(--line); }
.service-reference .service-updated { font-size: .9rem; margin-top: 20px; }
.service-page a:focus-visible, .service-page summary:focus-visible { outline: 2px solid var(--ink); outline-offset: 5px; }
@media (max-width: 600px) {
  .service-hero { padding-bottom: 36px; }
  .service-hero h1 { max-width: 100%; overflow-wrap: break-word; }
  .service-actions { align-items: flex-start; flex-direction: column; gap: 10px; }
  .service-aside { position: static; }
}
