
/* Approved SVG logo, hidden honeypot and form states carried forward from v3. */
.brand img{width:196px;max-width:min(40vw,196px);height:auto;max-height:59px;object-fit:contain}
.spam-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.quote-form button:disabled{cursor:wait;opacity:.75;transform:none}
.status{min-height:1.2em}
@media(max-width:760px){.brand img{width:166px;max-width:calc(100vw - 150px)}}
/* The price is now a small caption BELOW the photograph, not an overlay. */
.hero-media{min-width:0}
.price-note{position:static;display:inline-flex;align-items:center;gap:9px;margin:14px 0 0;padding:9px 13px;border:1px solid #d4e5f0;border-radius:9px;box-shadow:none;background:#fff;white-space:normal}
.price-note span{font-size:13px;line-height:1.3;font-weight:500;color:#36546b}
.price-note strong{font-family:inherit;font-size:19px;line-height:1;font-weight:750;color:#103e65}
.locations-teaser{background:#f7fbfe}
.locations-heading{display:flex;align-items:end;justify-content:space-between;gap:26px}
.locations-heading p{max-width:640px;color:var(--muted);margin-top:16px}
.locations-heading .button{flex-shrink:0}
.location-shortcuts{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;margin-top:30px}
.location-shortcuts a,.place-list a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px 15px;color:var(--ink);font-size:14px;text-decoration:none;display:flex;justify-content:space-between;gap:12px}
.location-shortcuts a:hover,.place-list a:hover{border-color:var(--blue);background:#eff8fe}
.location-shortcuts span,.place-list span{color:var(--blue)}
.area-directory{padding:55px 0 85px}
.area-directory .intro{max-width:800px;color:var(--muted);font-size:17px;margin-top:18px}
.directory-search{max-width:520px;margin:26px 0 21px}
.directory-search label{font-size:14px;font-weight:650}
.alphabet-links{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 42px}
.alphabet-links a{display:grid;place-items:center;width:33px;height:33px;border-radius:8px;background:#edf6fc;text-decoration:none;font-weight:700;font-size:14px}
.place-group{padding:24px 0 35px;border-top:1px solid var(--line);scroll-margin-top:120px}
.place-group h2{font-size:34px;margin-bottom:22px}
.place-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.place-list a{font-size:13px;padding:11px 12px}
.place-list a[hidden],.place-group[hidden]{display:none!important}
.search-empty{color:var(--muted);padding:30px 0}
.service-local{background:#f7fbfe;padding:58px 0}
.service-local .crumb{font-size:13px;margin-bottom:30px;color:#597284}
.service-local .crumb a{color:#597284}
.service-local .local-layout{display:grid;grid-template-columns:1fr 0.9fr;gap:50px;align-items:center}
.service-local h1{font-size:clamp(38px,4.1vw,58px)}
.service-local .lead{font-size:17px;color:var(--muted);margin:20px 0 25px}
.service-local img{width:100%;aspect-ratio:1.45;object-fit:cover;border-radius:24px}
.service-local .caption{font-size:12px;color:var(--muted);margin-top:10px}
.local-detail{padding:70px 0}
.local-detail .detail-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:58px}
.local-detail h2{font-size:40px;margin-bottom:20px}
.local-detail h3{font-size:22px;margin:25px 0 12px}
.local-detail p{color:var(--muted)}
.local-detail ul{padding-left:20px;color:var(--muted)}
.local-detail li{margin:7px 0}
.local-card{background:#edf6fc;border-radius:18px;padding:32px;align-self:start}
.local-card h3{margin-top:0}
.local-card a.button{margin-top:24px}
.related-places{border-top:1px solid var(--line);padding:40px 0 60px}
.related-places h2{font-size:31px;margin-bottom:24px}
.related-places .location-shortcuts{margin-top:0}
@media(max-width:1000px){.place-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.price-note{margin-top:10px;padding:8px 11px;gap:8px}.price-note span{font-size:12px}.price-note strong{font-size:18px}
 .locations-heading{display:block}.locations-heading .button{margin-top:22px;width:100%}
 .location-shortcuts{grid-template-columns:1fr 1fr;gap:8px;margin-top:22px}
 .location-shortcuts a{padding:12px;font-size:12px}
 .area-directory{padding:35px 0 55px}.place-list{grid-template-columns:1fr 1fr;gap:8px}.place-group{padding:20px 0 25px}
 .service-local{padding:24px 0 34px}.service-local .local-layout{display:flex;flex-direction:column-reverse;gap:25px}
 .service-local h1{font-size:40px}.service-local .crumb{margin-bottom:20px}
 .local-detail{padding:48px 0}.local-detail .detail-grid{display:block}.local-detail h2{font-size:32px}
 .local-card{margin-top:30px;padding:26px}.related-places{padding:30px 0 50px}
}
@media(max-width:400px){.place-list{grid-template-columns:1fr}}
