.map-tool{max-width:1520px;margin:34px auto 74px;padding:0 min(4vw,48px)}
.map-tool__selector{display:flex;gap:8px;align-items:center;margin:0 0 14px;overflow:auto;padding-bottom:2px;scrollbar-width:none}
.map-tool__selector::-webkit-scrollbar{display:none}
.map-tool__selector button{border:1px solid color-mix(in srgb,var(--ch) 17%,transparent);background:var(--ln);color:var(--sl);padding:9px 13px;border-radius:999px;font:500 11px var(--fm);cursor:pointer;white-space:nowrap;transition:.18s ease}
.map-tool__selector button:hover,.map-tool__selector button.is-active{background:var(--ch);color:var(--bn);border-color:var(--ch)}
.map-tool__shell{position:relative;background:#F5F0E7;border:1px solid color-mix(in srgb,var(--ch) 10%,transparent);box-shadow:0 26px 80px rgba(26,23,21,.07);overflow:hidden;min-height:680px}
.map-tool__canvas{position:relative;width:100%;aspect-ratio:16/9;background:#F5F0E7}
.map-tool__canvas svg{display:block;width:100%;height:100%;overflow:visible}
.map-tool__canvas svg text,.map-tool__canvas svg line,.map-tool__canvas svg circle,.map-tool__canvas svg rect:not(:first-of-type){pointer-events:none}
.map-tool__canvas .district-shape{cursor:pointer;transition:opacity .18s ease,fill .18s ease,filter .18s ease;outline:none}
.map-tool__canvas .district-shape:hover,.map-tool__canvas .district-shape:focus-visible{filter:brightness(.96) saturate(1.18);stroke:#826730!important;stroke-width:5!important}
.map-tool__canvas.has-active .district-shape:not(.is-active){opacity:.48}
.map-tool__canvas .district-shape.is-active{fill:#C29F4F!important;fill-opacity:.92!important;stroke:#1A1715!important;stroke-width:6!important;filter:drop-shadow(0 6px 10px rgba(26,23,21,.14))}
.map-tool__panel{position:absolute;z-index:10;right:2.4%;top:4.5%;bottom:4.5%;width:31%;min-width:0;background:rgba(26,23,21,.97);color:var(--bn);padding:clamp(18px,1.65vw,30px);display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(26,23,21,.20);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(194,159,79,.50) transparent;scrollbar-gutter:stable}
.map-tool__panel::-webkit-scrollbar{width:5px}.map-tool__panel::-webkit-scrollbar-track{background:transparent}.map-tool__panel::-webkit-scrollbar-thumb{background:rgba(194,159,79,.45);border-radius:10px}
.map-tool__eyebrow{font:500 8.5px/1 var(--fm);letter-spacing:.15em;text-transform:uppercase;color:var(--hn)}
.map-tool__panel h2{font:300 clamp(26px,2.15vw,40px)/1.03 var(--fd);letter-spacing:-.015em;margin:10px 0 5px;color:var(--bn);overflow-wrap:anywhere;hyphens:auto}
.map-tool__subtitle{font-size:11.5px;line-height:1.35;color:rgba(242,235,223,.62);margin:0 0 12px;overflow-wrap:anywhere}
.map-tool__tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:12px}
.map-tool__tag{border:1px solid rgba(242,235,223,.17);padding:4px 7px;font-size:9px;line-height:1.25;color:rgba(242,235,223,.82)}
.map-tool__prices{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:11px}
.map-tool__price{min-width:0;padding:10px;border:1px solid rgba(242,235,223,.10);background:rgba(250,247,241,.045)}
.map-tool__price small{display:block;font:400 7.5px/1.35 var(--fm);letter-spacing:.10em;text-transform:uppercase;color:rgba(242,235,223,.45);margin-bottom:6px;overflow-wrap:anywhere}
.map-tool__price strong{display:block;font:400 clamp(12px,1.05vw,16px)/1.25 var(--fm);font-variant-numeric:tabular-nums;color:var(--bn);white-space:nowrap}
.map-tool__section{border-top:1px solid rgba(242,235,223,.12);padding-top:9px;margin-top:0}
.map-tool__section small{display:block;font:500 7.5px/1 var(--fm);letter-spacing:.12em;text-transform:uppercase;color:var(--hn);margin-bottom:5px}
.map-tool__section p{margin:0;color:rgba(242,235,223,.80);font-size:clamp(10.4px,.78vw,11.6px);line-height:1.42;overflow-wrap:anywhere;hyphens:auto}
.map-tool__section .verdict{font:300 clamp(15px,1.18vw,19px)/1.25 var(--fd);color:var(--bn)}
.map-tool__foot{margin-top:11px;padding-top:10px;border-top:1px solid rgba(242,235,223,.10);color:rgba(242,235,223,.47);font-size:8.5px;line-height:1.35;overflow-wrap:anywhere}
.map-tool__panel.is-compact{padding:16px 19px}.map-tool__panel.is-compact h2{font-size:clamp(24px,1.95vw,34px);margin-top:7px}.map-tool__panel.is-compact .map-tool__subtitle{margin-bottom:8px}.map-tool__panel.is-compact .map-tool__tags{margin-bottom:8px}.map-tool__panel.is-compact .map-tool__prices{margin-bottom:8px}.map-tool__panel.is-compact .map-tool__price{padding:8px}.map-tool__panel.is-compact .map-tool__section{padding-top:7px}.map-tool__panel.is-compact .map-tool__section p{font-size:10.3px;line-height:1.34}.map-tool__panel.is-compact .map-tool__section .verdict{font-size:15.5px;line-height:1.20}.map-tool__panel.is-compact .map-tool__foot{margin-top:8px;padding-top:7px;font-size:8px}
.map-tool__panel.is-condensed .map-tool__subtitle{font-size:10.5px}.map-tool__panel.is-condensed .map-tool__tag{padding:3px 6px;font-size:8.3px}.map-tool__panel.is-condensed .map-tool__section small{font-size:7px;margin-bottom:3px}.map-tool__panel.is-condensed .map-tool__section p{font-size:9.8px;line-height:1.28}.map-tool__panel.is-condensed .map-tool__section .verdict{font-size:14.5px}.map-tool__panel.is-condensed .map-tool__foot{font-size:7.6px}
.map-tool__method{max-width:840px;margin:28px auto 0;padding:0 min(6vw,40px);color:var(--sl);font-size:13px;line-height:1.7}
.map-tool__method strong{color:var(--ch)}
@media(max-width:1180px) and (min-width:981px){.map-tool__panel{right:1.8%;top:3%;bottom:3%;width:34%;padding:16px 18px}.map-tool__panel h2{font-size:clamp(24px,2.3vw,32px)}}
@media(max-width:980px){
 .map-tool{padding:0 16px;margin-top:25px}
 .map-tool__shell{min-height:0;overflow:visible;background:transparent;border:none;box-shadow:none}
 .map-tool__canvas{height:auto;aspect-ratio:2500/2160;overflow:hidden;border:1px solid color-mix(in srgb,var(--ch) 10%,transparent);background:#F5F0E7}
 .map-tool__canvas svg{width:100%;height:100%}
 .map-tool__panel,.map-tool__panel.is-compact,.map-tool__panel.is-condensed{position:relative;right:auto;top:auto;bottom:auto;width:100%;height:auto;max-height:none;min-height:0;margin-top:0;padding:28px 24px;overflow:visible;scrollbar-gutter:auto}
 .map-tool__panel h2,.map-tool__panel.is-compact h2{font-size:clamp(30px,7vw,42px);margin:12px 0 6px}
 .map-tool__subtitle,.map-tool__panel.is-compact .map-tool__subtitle{font-size:12.5px;margin-bottom:16px}
 .map-tool__tags,.map-tool__panel.is-compact .map-tool__tags{margin-bottom:16px}
 .map-tool__price,.map-tool__panel.is-compact .map-tool__price{padding:12px}
 .map-tool__section,.map-tool__panel.is-compact .map-tool__section{padding-top:12px}
 .map-tool__section p,.map-tool__panel.is-compact .map-tool__section p,.map-tool__panel.is-condensed .map-tool__section p{font-size:12px;line-height:1.5}
 .map-tool__section .verdict,.map-tool__panel.is-compact .map-tool__section .verdict,.map-tool__panel.is-condensed .map-tool__section .verdict{font-size:clamp(18px,5vw,23px);line-height:1.32}
 .map-tool__foot,.map-tool__panel.is-compact .map-tool__foot,.map-tool__panel.is-condensed .map-tool__foot{font-size:9.5px;line-height:1.45;margin-top:14px;padding-top:12px}
 .map-tool__prices{max-width:560px}
}
@media(max-width:560px){.map-tool__selector{padding-left:1px}.map-tool__canvas{height:auto;aspect-ratio:2500/2160}.map-tool__panel,.map-tool__panel.is-compact,.map-tool__panel.is-condensed{padding:24px 20px}.map-tool__prices{grid-template-columns:1fr}.map-tool__price strong{font-size:15px}}
@media(prefers-reduced-motion:reduce){.map-tool__canvas .district-shape{transition:none}}
