/* ProForge kit styles (quote form, service area map). Colors come from the theme: --pf-dark, --pf-accent, --pf-ink, --pf-radius. */
.pf-quote{padding:72px 20px;background:var(--pf-quote-bg,#f5f6f8)}
.pf-quote__inner{max-width:780px;margin:0 auto}
.pf-quote h2{margin:0 0 8px;text-align:center;color:var(--pf-dark,#111)}
.pf-quote__intro{text-align:center;margin:0 0 24px;color:var(--pf-ink,#444)}
.pf-quote form{display:grid;grid-template-columns:1fr 1fr;gap:14px;background:#fff;border:1px solid rgba(0,0,0,.09);border-radius:var(--pf-radius,12px);padding:26px;box-shadow:0 18px 50px rgba(0,0,0,.07)}
.pf-quote label{display:block;font-size:.92rem;font-weight:600;color:var(--pf-dark,#111)}
.pf-quote input,.pf-quote textarea{width:100%;box-sizing:border-box;margin-top:6px;padding:12px 13px;border:1px solid #cfd3d8;border-radius:8px;font:inherit;background:#fff;color:#111}
.pf-quote input:focus,.pf-quote textarea:focus{outline:2px solid var(--pf-accent,#c60);outline-offset:1px}
.pf-quote .pf-full{grid-column:1/-1}
.pf-quote .pf-consent{display:flex;gap:9px;align-items:flex-start;font-weight:400}
.pf-quote .pf-consent input{width:auto;margin-top:4px}
.pf-quote .pf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pf-quote__button{grid-column:1/-1;padding:15px;border:0;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;background:var(--pf-accent,#c60);color:var(--pf-on-accent,#111)}
.pf-quote__notice{padding:12px 14px;border-radius:8px;margin:0 0 16px}
.pf-quote__notice.is-ok{background:#e5f7ed;color:#145b36}
.pf-quote__notice.is-error{background:#fff0ee;color:#8b251e}
@media(max-width:640px){.pf-quote{padding:52px 16px}.pf-quote form{grid-template-columns:1fr;padding:18px}}
.pf-area{padding:72px 20px;background:var(--pf-area-bg,#fff)}
.pf-area__inner{max-width:1180px;margin:0 auto}
.pf-area__head{text-align:center;margin-bottom:28px}
.pf-area__head h2{margin:0;color:var(--pf-dark,#111)}
.pf-area__eyebrow{margin:0 0 8px;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--pf-accent,#c60)}
.pf-area__layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px;align-items:start}
.pf-area__towns{padding:24px;border:1px solid rgba(0,0,0,.09);border-radius:var(--pf-radius,12px);background:#fff}
.pf-area__towns h3{margin:0 0 12px;color:var(--pf-dark,#111)}
.pf-area__towns ul{margin:0 0 18px;padding:0;list-style:none;columns:2;column-gap:16px}
.pf-area__towns li{padding:5px 0;break-inside:avoid}
.pf-area__towns a{color:inherit}
.pf-area__cta{display:inline-block;padding:12px 18px;border-radius:8px;background:var(--pf-accent,#c60);color:var(--pf-on-accent,#111);font-weight:700;text-decoration:none}
@media(max-width:860px){.pf-area__layout{grid-template-columns:1fr}}
.pf-service-area-map{position:relative;width:100%;height:420px;overflow:hidden;isolation:isolate;border:1px solid #d8ddd9;border-radius:var(--pf-radius,12px);background:#e8ecef}
.pf-service-area-map__fallback{position:absolute;inset:0;z-index:0;display:grid;place-items:center;margin:0;color:#63717b;transition:opacity .25s}
.pf-service-map--tiles-loaded .pf-service-area-map__fallback{opacity:0}
.pf-service-map__tiles{position:absolute;inset:0;z-index:1;overflow:hidden}
.pf-service-map__tile{position:absolute;width:256px;height:256px;max-width:none;user-select:none}
.pf-service-map__overlay{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none}
.pf-service-map__radius{fill:var(--pf-accent,#c60);fill-opacity:.14;stroke:var(--pf-accent,#c60);stroke-width:3;stroke-dasharray:10 8;vector-effect:non-scaling-stroke}
.pf-service-map__markers{position:absolute;inset:0;z-index:3}
.pf-service-map-marker{position:absolute;display:flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;transform:translate(-50%,-50%);cursor:pointer}
.pf-service-map-marker__dot{display:block;width:14px;height:14px;border:3px solid var(--pf-dark,#111);border-radius:50%;background:#fff;box-shadow:0 2px 7px rgba(0,0,0,.28)}
.pf-service-map-marker__label{padding:3px 6px;border-radius:4px;color:var(--pf-dark,#111);background:rgba(255,255,255,.92);font-size:10px;font-weight:800;line-height:1;white-space:nowrap}
.pf-service-map__popup{position:absolute;z-index:5;width:200px;padding:10px 12px;border-radius:8px;background:#fff;font-size:.78rem;transform:translate(-50%,calc(-100% - 14px));pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.pf-service-map__popup strong,.pf-service-map__popup span{display:block}
.pf-service-map__attribution{position:absolute;right:0;bottom:0;z-index:6;padding:3px 6px;background:rgba(255,255,255,.9);font-size:9px}
@media(max-width:640px){.pf-service-area-map{height:320px}}
