/* Scoped additions. Existing typography, menu, call button and home stay intact. */
.sa-service-detail { margin-block:12px 40px; }
.sa-service-detail *, .sa-service-directory * { box-sizing:border-box; }
.sa-service-breadcrumbs { display:flex;flex-wrap:wrap;gap:8px 12px;font-size:13px;line-height:1.5;margin:0 0 18px;color:#525252; }
.sa-service-breadcrumbs a { text-decoration:underline;text-underline-offset:3px; }
.sa-service-breadcrumbs [aria-current] { overflow-wrap:anywhere; }
.sa-service-detail .sa-service-hero { padding:clamp(24px,4vw,52px); }
.sa-service-kicker { display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.5;margin-bottom:20px; }
.sa-service-kicker img { width:42px;height:42px;padding:8px;border:1px solid #b6b6b6;border-radius:12px;flex:none; }
.sa-service-detail h1 { font:inherit;font-size:clamp(30px,3.6vw,48px);font-weight:400;letter-spacing:-.025em;line-height:1.16;max-width:950px;margin:0;text-wrap:balance;overflow-wrap:break-word; }
.sa-service-detail .sa-service-lead { max-width:800px;font-size:clamp(17px,1.5vw,20px);line-height:1.65;margin:22px 0 0; }
.sa-service-hero-actions { display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:28px; }
.sa-service-text-link { display:inline-flex;gap:12px;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:5px;font-size:15px; }
.sa-service-layout { display:grid;grid-template-columns:minmax(185px,240px) minmax(0,1fr);align-items:start;gap:24px;margin-top:24px;scroll-margin-top:110px; }
.sa-service-toc { position:sticky;top:110px;max-height:calc(100vh - 130px);overflow:auto;padding:20px 10px 20px 0; }
.sa-service-toc p { font-size:13px;margin:0 0 12px;color:#555; }
.sa-service-toc ol { list-style:none;margin:0;padding:0;display:grid;gap:4px; }
.sa-service-toc a { display:block;padding:10px 12px;border-left:2px solid #c4c4c4;font-size:14px;line-height:1.5; }
.sa-service-toc a:hover { border-color:#3652d9;color:#243ba5; }
.sa-service-sections { min-width:0;display:grid;gap:18px; }
.sa-service-detail .sa-service-section { padding:clamp(22px,3vw,40px);scroll-margin-top:110px; }
.sa-service-detail h2 { font:inherit;font-size:clamp(23px,2.2vw,30px);font-weight:400;line-height:1.3;letter-spacing:-.01em;margin:0 0 20px;overflow-wrap:break-word; }
.sa-service-section p,.sa-service-section li { font-size:17px;line-height:1.75;max-width:78ch; }
.sa-service-section p { margin:0 0 16px; }.sa-service-section p:last-child {margin-bottom:0;}
.sa-service-section ul,.sa-service-section ol { padding-left:23px;margin:0 0 22px;display:grid;gap:12px; }
.sa-service-section li { padding-left:4px; }.sa-service-section strong {font-weight:700;}
.sa-service-faq { border-top:1px solid #ccc;margin:0;padding:0; }
.sa-service-faq:last-child { border-bottom:1px solid #ccc; }
.sa-service-faq summary { list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 0;font-size:17px;line-height:1.5;font-weight:700; }
.sa-service-faq summary::-webkit-details-marker {display:none;}
.sa-service-faq summary::after {content:'+';font-weight:400;font-size:25px;flex:none;width:24px;text-align:center;}
.sa-service-faq[open] summary::after {content:'−';}
.sa-service-faq>div { padding:0 24px 20px 0; }
.sa-service-detail .sa-service-next { display:flex;gap:28px;align-items:center;justify-content:space-between;padding:clamp(24px,3vw,40px);margin-top:24px; }
.sa-service-next>div {max-width:700px;}.sa-service-next h2 {margin-bottom:12px;}.sa-service-next p {font-size:17px;line-height:1.6;margin:0;}.sa-service-next>a {flex-shrink:0;}
.sa-service-related {margin-top:32px;}.sa-service-related>div {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.sa-service-related>div>a {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px;font-size:18px;line-height:1.4;min-height:94px;}
.sa-service-related svg,.sa-service-detail-link svg {width:22px;height:22px;flex:none;}
.sa-service-related>p {display:flex;flex-wrap:wrap;gap:10px 24px;font-size:15px;}
.sa-service-related>p>a {text-decoration:underline;text-underline-offset:4px;min-height:44px;display:inline-flex;align-items:center;}
.sa-service-detail-link {display:flex;justify-content:space-between;gap:14px;align-items:center;min-height:46px;margin-top:auto;padding-top:12px;border-top:1px solid #bbb;font-size:15px;text-decoration:underline;text-underline-offset:4px;}
.sa-service-directory {display:flex;flex-wrap:wrap;gap:8px 20px;padding-block:16px;margin-bottom:20px;}
.sa-service-directory a {display:flex;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px;}
.sa-service-detail a:focus-visible,.sa-service-detail summary:focus-visible,.sa-service-detail-link:focus-visible,.sa-service-directory a:focus-visible {outline:3px solid #3652d9;outline-offset:5px;border-radius:4px;}
@media(max-width:980px){.sa-service-layout {grid-template-columns:1fr;gap:16px;}.sa-service-toc {position:static;max-height:none;padding:18px;border:1px solid #bbb;border-radius:18px;}.sa-service-toc ol {grid-template-columns:repeat(2,minmax(0,1fr));}.sa-service-next {flex-direction:column;align-items:flex-start!important;}.sa-service-related>div {grid-template-columns:1fr;}.sa-service-related>div>a {min-height:72px;}}
@media(max-width:540px){.sa-service-detail {margin-top:8px;}.sa-service-detail h1{font-size:30px;}.sa-service-detail .sa-service-hero{padding:24px 20px;}.sa-service-detail .sa-service-section{padding:24px 20px;}.sa-service-hero-actions{align-items:stretch;flex-direction:column;gap:12px;}.sa-service-detail .craftco-pill{justify-content:space-between;white-space:normal;font-size:15px;min-height:52px;max-width:100%;}.sa-service-toc ol{grid-template-columns:1fr;}.sa-service-section p,.sa-service-section li{font-size:16px;line-height:1.7;}.sa-service-faq summary{font-size:16px;}.sa-service-next>a{width:100%;}.sa-service-breadcrumbs{font-size:12px;gap:6px 8px;}}
@media(prefers-reduced-motion:reduce){.sa-service-detail .craftco-pill,.sa-service-detail .craftco-pill-core{animation:none!important;transition:none!important;}}
