/* Service detail pages only; city guides and shared layouts retain their styling. */
.service-detail { grid-template-columns:minmax(0,1.75fr) minmax(260px,1fr); gap:clamp(32px,5vw,78px); }
.service-detail article { min-width:0; }
.service-detail article h2 { font-size:clamp(30px,3.3vw,43px); line-height:1.08; margin:38px 0 18px; text-wrap:balance; }
.service-detail article h3 { font-size:20px; line-height:1.35; margin:0 0 12px; }
.service-detail article p,.service-detail article li { font-size:16px; line-height:1.8; }
.service-detail article>section { margin:0 0 38px; scroll-margin-top:130px; }
.service-detail article>section>.eyebrow { margin-top:42px; font-size:10px; }
.service-detail article>section>.eyebrow+h2 { margin-top:12px; }
.service-jump-links { display:flex; flex-wrap:wrap; gap:10px 22px; border-bottom:1px solid #c7d8d3; padding-bottom:20px; margin-bottom:32px; }
.service-jump-links a { font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:5px; padding:6px 0; }
.service-preparation { background:#e4eeeb; border-left:3px solid #087e78; padding:25px; margin-top:30px; }
.service-preparation p { margin:0; }
.service-detail #service-pricing { border-top:1px solid #c7d8d3; padding-top:1px; }
.service-process ol { padding-left:23px; }
.service-process li { padding:0 0 16px 5px; }
.service-reuse { border-left:3px solid #087e78; padding-left:22px; }
.service-reuse a { text-decoration:underline; text-underline-offset:3px; }
.service-detail .faq-list { margin-top:22px; }
.service-detail .faq-list summary { line-height:1.55; }
.service-coverage { border-top:1px solid #c7d8d3; }
.service-coverage nav { display:flex; flex-wrap:wrap; gap:12px 24px; }
.service-coverage a { font-size:14px; text-decoration:underline; text-underline-offset:4px; padding:6px 0; }
.service-detail .quote-aside h2 { font-size:34px; line-height:1.05; margin:15px 0 20px; }
.service-detail .quote-aside h3 { font-family:inherit; font-size:14px; margin:0 0 12px; }
.service-detail .quote-aside .service-links a { font-size:14px; line-height:1.5; }
.service-detail a:focus-visible,.service-detail summary:focus-visible { outline:3px solid #087e78; outline-offset:5px; }
@media(max-width:800px) { .service-detail { grid-template-columns:minmax(0,1fr); gap:25px; } .service-detail article>section { scroll-margin-top:100px; } }
@media(max-width:520px) { .service-jump-links { gap:8px 18px; } .service-preparation { padding:20px; } .service-detail article h2 { font-size:32px; } .service-detail article p,.service-detail article li { font-size:15px; } }
