.jj-sah{--jj-sah-border:rgba(0,0,0,.11);--jj-sah-soft:rgba(0,0,0,.045);--jj-sah-text:inherit}
.jj-sah__intro{max-width:900px;margin:0 0 28px}
.jj-sah__service-nav{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 38px}
.jj-sah__service-nav a{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:1px solid var(--jj-sah-border);border-radius:999px;text-decoration:none;font-weight:600}
.jj-sah__service{scroll-margin-top:120px;margin:0 0 48px}
.jj-sah__service>h2,.jj-sah__other>h2{margin-bottom:20px}
.jj-sah__map-head h2{margin-bottom:14px}
.jj-sah__county-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.jj-sah__county{padding:24px;border:1px solid var(--jj-sah-border);border-radius:14px;background:#fff}
.jj-sah__county h3{margin-top:0;margin-bottom:16px}
.jj-sah__county h3 a{text-decoration:none}
.jj-sah__town-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:0;padding:0;list-style:none}
.jj-sah__town-links a{display:block;padding:8px 0;text-decoration:none;border-bottom:1px solid var(--jj-sah-border)}
.jj-sah__town-links a:after{content:'›';float:right;opacity:.55}
.jj-sah__other{margin:10px 0 48px;padding-top:10px}
.jj-sah__other-intro{max-width:900px;margin-bottom:22px}
.jj-sah__county--other{background:var(--jj-sah-soft)}
.jj-sah__plain-towns{margin:0;line-height:1.8}
.jj-sah__map-wrap{margin-top:44px}
.jj-sah-map{width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--jj-sah-border);z-index:1}
.jj-sah-nearby{margin:38px 0;padding:26px;border:1px solid rgba(0,0,0,.11);border-radius:14px}
.jj-sah-nearby ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 18px;list-style:none;padding:0;margin:18px 0}
.jj-sah-nearby li a{text-decoration:none}
.jj-sah-nearby__all{margin-bottom:0}
@media(max-width:800px){.jj-sah__county-grid{grid-template-columns:1fr}.jj-sah__town-links{grid-template-columns:1fr}.jj-sah-nearby ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.jj-sah__county{padding:18px}.jj-sah__service-nav{display:grid;grid-template-columns:1fr;width:100%}.jj-sah-nearby ul{grid-template-columns:1fr}}

.jj-sah-map-popup__town {
    display: block;
    margin-bottom: 6px;
}
.jj-sah-map-popup__links {
    margin: 0;
    padding-left: 18px;
}
.jj-sah-map-popup__links li {
    margin: 3px 0;
}

/* Match Leaflet to the active site's body typography (e.g. Avada).
   Leaflet sets its own Helvetica/Arial stack on .leaflet-container, so the
   container itself must inherit before popup descendants can inherit it. */
.jj-sah-map.leaflet-container {
    font-family: inherit !important;
}
.jj-sah-map .leaflet-popup,
.jj-sah-map .leaflet-popup-content-wrapper,
.jj-sah-map .leaflet-popup-content,
.jj-sah-map .leaflet-popup-content a,
.jj-sah-map .leaflet-popup-content strong,
.jj-sah-map .leaflet-popup-content li {
    font-family: inherit !important;
}

/* v1.7 local internal linking */
.jj-sah__town-note{display:block;margin-top:.3em;font-size:.92em;line-height:1.45;opacity:.82}
.jj-sah-local-links{margin:32px 0}
.jj-sah-local-links__section{margin:0 0 28px}
.jj-sah-local-links__section h2{margin-bottom:12px}
.jj-sah-local-links__section ul{margin:0;padding-left:1.2em}
.jj-sah-local-links__section li{margin:.35em 0}
.jj-sah-local-links__footer{margin-top:18px}
.jj-sah-local-links__footer span{margin:0 .45em;opacity:.55}

/* v1.8 core service related cards */
.jj-sah-related{margin:42px 0}
.jj-sah-related__head{display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:28px}
.jj-sah-related__head h2{margin:0;text-align:center}
.jj-sah-related__controls{position:absolute;right:0;display:flex;gap:8px}
.jj-sah-related__controls button{width:40px;height:40px;border:1px solid rgba(0,0,0,.14);background:#fff;border-radius:50%;cursor:pointer;font:inherit;font-size:24px;line-height:1}
.jj-sah-related__viewport{overflow:hidden}
.jj-sah-related__track{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.jj-sah-related--carousel .jj-sah-related__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding-bottom:2px;touch-action:pan-x;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain}
.jj-sah-related--carousel .jj-sah-related__track::-webkit-scrollbar{display:none}
.jj-sah-related__card{min-width:0;background:#f3f3f3;scroll-snap-align:start}
.jj-sah-related--carousel .jj-sah-related__card{flex:0 0 calc((100% - 48px)/3)}
.jj-sah-related__card-link{display:block;color:inherit;text-decoration:none}
.jj-sah-related__image{display:block;aspect-ratio:16/9;overflow:hidden;background:#e8e8e8}
.jj-sah-related__image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.jj-sah-related__card:hover .jj-sah-related__image img{transform:scale(1.025)}
.jj-sah-related__image-placeholder{display:block;width:100%;height:100%;background:rgba(0,0,0,.06)}
.jj-sah-related__label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 16px;font-weight:600;color:inherit}
.jj-sah-related__arrow{font-size:24px;line-height:1;opacity:.75}
@media(max-width:900px){.jj-sah-related__track{grid-template-columns:repeat(2,minmax(0,1fr))}.jj-sah-related--carousel .jj-sah-related__card{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:600px){.jj-sah-related__head{justify-content:flex-start;padding-right:96px}.jj-sah-related__head h2{text-align:left}.jj-sah-related__track{grid-template-columns:1fr}.jj-sah-related--carousel .jj-sah-related__card{flex-basis:86%}.jj-sah-related__controls{right:0}.jj-sah-related__label{padding:15px 14px}}
.jj-sah-related__content{display:block;padding:18px 16px}
.jj-sah-related__content .jj-sah-related__label{padding:0}
.jj-sah-related__description{display:block;margin-top:8px;font-weight:400;line-height:1.55;color:inherit;opacity:.82}
@media(max-width:600px){.jj-sah-related__content{padding:15px 14px}.jj-sah-related__content .jj-sah-related__label{padding:0}}
