/* V20.2 PROJECT MAP + SOCIAL PROOF */
.project-map-section{padding:82px 0 88px;background:#f4f3ef;scroll-margin-top:84px}
.project-map-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:46px;align-items:end;margin-bottom:28px}
.project-map-head h2{margin:0;font-size:clamp(34px,4vw,54px);line-height:1.02;letter-spacing:-.035em;color:#202326}
.project-map-head>p{margin:0;color:#6e7478;font-size:13px;line-height:1.7}
.project-map-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.project-map-filter{appearance:none;border:1px solid #d3d2cd;background:#fff;color:#303438;font:700 10px/1.2 Montserrat,sans-serif;letter-spacing:.035em;padding:11px 14px;white-space:nowrap;cursor:pointer;transition:.2s ease}
.project-map-filter:hover,.project-map-filter:focus-visible{border-color:#d66f3f;color:#a94e26;outline:none}
.project-map-filter.is-active{background:#202326;border-color:#202326;color:#fff}
.project-map-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);gap:16px;align-items:stretch}
.project-map-canvas-wrap{min-width:0}
.project-map-canvas{height:600px;border:1px solid #d7d6d1;background:#e7e5df;overflow:hidden;position:relative}
.project-map-loading{position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:#686d70;font-size:12px}
.project-map-note{margin:9px 0 0;color:#8a8e90;font-size:9px;line-height:1.5}
.project-map-list{display:grid;grid-template-columns:1fr;gap:8px;max-height:600px;overflow:auto;padding-right:3px;align-content:start}
.project-map-card{display:block;border:1px solid #d7d6d1;background:#fff;padding:15px 16px;transition:.2s ease}
.project-map-card:hover{border-color:#d66f3f;transform:translateY(-1px)}
.project-map-card[hidden]{display:none!important}
.project-map-card span{display:block;color:#bd6038;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin-bottom:6px}
.project-map-card strong{display:block;color:#202326;font-size:13px;line-height:1.25;margin-bottom:5px}
.project-map-card em{display:block;color:#73787b;font-size:10px;line-height:1.45;font-style:normal}
.social-proof-panel{margin-top:24px;background:#1b1f21;color:#fff;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:50px;padding:46px 50px;align-items:center}
.social-proof-panel h2{font-size:clamp(30px,4vw,48px);line-height:1.03;letter-spacing:-.035em;margin:0 0 16px;max-width:820px}
.social-proof-panel p:not(.eyebrow){margin:0;color:#c7cbcd;max-width:760px;font-size:13px;line-height:1.7}
.social-proof-side{border-left:1px solid #3d4245;padding-left:30px;display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.social-proof-side>span{color:#ef9d78;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.11em}
.social-proof-side>strong{font-size:18px;overflow-wrap:anywhere}
.social-proof-side .btn{margin-top:9px}
.social-proof-side small{color:#8f9598;font-size:9px;line-height:1.5;margin-top:4px}
.gromadis-map-marker{background:transparent;border:0}
.gromadis-map-pin{width:34px;height:34px;border-radius:50% 50% 50% 12%;background:#d66f3f;color:#fff;display:grid;place-items:center;font:800 12px/1 Montserrat,sans-serif;transform:rotate(-45deg);box-shadow:0 5px 14px rgba(0,0,0,.22);border:2px solid #fff}
.gromadis-map-pin>span{transform:rotate(45deg)}
.leaflet-popup-content-wrapper{border-radius:0;box-shadow:0 12px 34px rgba(0,0,0,.18);font-family:Montserrat,sans-serif}
.leaflet-popup-content{margin:16px 17px;min-width:210px}
.map-popup span{display:block;color:#bd6038;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}
.map-popup strong{display:block;color:#202326;font-size:13px;line-height:1.25;margin-bottom:7px}
.map-popup p{margin:0 0 10px;color:#686e72;font-size:10px;line-height:1.45}
.map-popup a{color:#b8542e;font-size:10px;font-weight:800}
@media(max-width:900px){
 .project-map-section{padding:58px 0 62px}
 .project-map-head{grid-template-columns:1fr;gap:14px;margin-bottom:22px}
 .project-map-head>p{font-size:11px}
 .project-map-layout{grid-template-columns:1fr}
 .project-map-canvas{height:480px}
 .project-map-list{grid-template-columns:repeat(2,1fr);max-height:none;overflow:visible;padding:0}
 .social-proof-panel{grid-template-columns:1fr;gap:28px;padding:36px 30px}
 .social-proof-side{border-left:0;border-top:1px solid #3d4245;padding:24px 0 0}
}
@media(max-width:620px){
 .project-map-section{padding:46px 0 50px}
 .project-map-head h2{font-size:31px}
 .project-map-filters{margin-right:-18px;padding-right:18px}
 .project-map-filter{font-size:9px;padding:10px 12px}
 .project-map-canvas{height:410px}
 .project-map-list{grid-template-columns:1fr;gap:7px}
 .project-map-card{padding:13px 14px}
 .social-proof-panel{margin-top:18px;padding:30px 22px}
 .social-proof-panel h2{font-size:29px}
 .social-proof-panel p:not(.eyebrow){font-size:11px}
}

/* V20.2.1 mobile map focus */
.project-map-mobile-tools{display:none;align-items:center;justify-content:space-between;gap:12px;margin:-6px 0 12px}
.project-map-extent-toggle{appearance:none;border:1px solid #d3d2cd;background:#fff;color:#303438;font:800 9px/1.2 Montserrat,sans-serif;letter-spacing:.035em;padding:9px 11px;cursor:pointer;white-space:nowrap}
.project-map-extent-toggle:hover,.project-map-extent-toggle:focus-visible{border-color:#d66f3f;color:#a94e26;outline:none}
.project-map-extent-toggle[hidden]{display:none!important}
.project-map-extent-status{color:#858a8d;font-size:9px;line-height:1.35;text-align:right}
@media(max-width:700px){
 .project-map-mobile-tools{display:flex}
 .project-map-filters{padding-bottom:13px}
 .project-map-canvas{height:430px}
 .project-map-note{font-size:9px;line-height:1.5}
}
@media(max-width:430px){
 .project-map-mobile-tools{align-items:flex-start;flex-direction:column;gap:7px}
 .project-map-extent-status{text-align:left}
 .project-map-canvas{height:400px}
}


/* V20.2.3 marker clustering */
.gromadis-map-cluster{background:transparent;border:0}
.gromadis-map-cluster-badge{width:42px;height:42px;border-radius:50%;background:#202326;color:#fff;display:grid;place-items:center;border:3px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.24);font:800 13px/1 Montserrat,sans-serif;position:relative}
.gromadis-map-cluster-badge:after{content:"";position:absolute;inset:5px;border:1px solid rgba(214,111,63,.8);border-radius:50%}
.gromadis-map-cluster-badge span{position:relative;z-index:1}
.gromadis-map-cluster:hover .gromadis-map-cluster-badge{background:#d66f3f}
@media(max-width:700px){.gromadis-map-cluster-badge{width:44px;height:44px;font-size:14px}.gromadis-map-cluster{margin-left:-1px;margin-top:-1px}}
