/* Targeted additions to the existing service template; no changes to shared UI. */
.core-service .article-hero-content { padding-block:24px 36px; }
.core-service .service-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }
.core-service .service-hero-actions .service-action { background:var(--paper); color:var(--ink); text-decoration:none; }
.core-service .service-hero-actions .service-action:hover { background:#e4e7de; }
.core-service .service-hero-phone { display:inline-flex; align-items:center; min-height:48px; font-size:16px; color:#fff; text-decoration:underline; text-underline-offset:5px; }
.core-service .core-contact-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; }
.core-service .core-contact-actions > a { min-height:48px; display:inline-flex; align-items:center; }
.core-service a:focus-visible,.core-service summary:focus-visible,.core-service .service-table-scroll:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.core-service .service-copy > .article-lead { margin-top:0; }
.core-service .core-route-list { list-style:none; padding:0; margin-block:28px 40px; }
.core-service .core-route-list li { padding:18px 0; margin:0; border-bottom:1px solid var(--line); }
.core-service .core-route-list li:first-child { border-top:1px solid var(--line); }
.core-service .core-route-list a { display:inline-block; font-size:19px; font-weight:500; padding-block:4px; }
.core-service .core-route-list span { display:block; margin-top:5px; font-size:15px; line-height:1.7; color:var(--muted); }
.core-service .core-scope { margin-block:28px 36px; }
.core-service .core-scope dt { font-weight:650; padding-top:20px; border-top:1px solid var(--line); }
.core-service .core-scope dd { margin:8px 0 24px; }
.core-service table caption { text-align:left; padding:18px 16px; font-size:14px; color:var(--muted); }
.core-service .core-price-table th,.core-service .core-price-table td { min-width:0; }
.core-service .core-price-table td { font-variant-numeric:tabular-nums; white-space:nowrap; }
.core-service .core-price-table th[scope="row"] { background:transparent; font-weight:500; }
.core-service .core-faq details { border-top:1px solid var(--line); padding-block:20px; }
.core-service .core-faq details:last-child { border-bottom:1px solid var(--line); }
.core-service .core-faq summary { cursor:pointer; font-size:18px; line-height:1.5; font-weight:500; }
.core-service .core-faq details p { margin:16px 0 0; }
.core-service .core-alias { display:block; scroll-margin-top:115px; }
.core-service .core-reading-list { list-style:none; padding:0; }
.core-service .core-reading-list li { padding:0; }
.core-service .core-reading-list a { display:inline-block; padding-block:8px; }
.core-service .core-area-links { display:flex; flex-wrap:wrap; gap:8px 24px; list-style:none; padding:0; }
.core-service .core-area-links li { margin:0; padding:0; }
.core-service .core-area-links a { display:inline-flex; align-items:center; min-height:44px; }
.core-service .core-budget-table th,.core-service .core-budget-table td { min-width:145px; }
.core-service .core-budget-table td { white-space:nowrap; font-variant-numeric:tabular-nums; }
.core-service .core-budget-table th:first-child { min-width:96px; position:sticky; left:0; z-index:1; border-right:1px solid var(--line); }
.core-service .core-budget-table tbody th { background:var(--paper); font-weight:500; }
.core-service .core-budget-table caption.sr-only { padding:0; }
.core-service .core-measure { white-space:nowrap; }
.core-service .core-table-hint { display:none; }
@media(max-width:760px) {
  .core-service .core-table-hint { display:block; font-size:13px; color:var(--muted); margin-top:-12px; }
  .core-service .article-hero-content { padding-block:18px 30px; }
  .core-service .service-hero-actions { gap:8px 16px; margin-top:20px; }
  .core-service .service-hero-phone { font-size:15px; }
  .core-service .core-scope dd { margin-left:0; }
  .core-service .core-route-list a { font-size:18px; }
  .core-service .core-faq summary { font-size:17px; }
}
