.project-map{background:#ded9cd;padding-top:105px}.map-heading{grid-template-columns:1.5fr 1fr;align-items:end;gap:8vw;margin-bottom:55px;display:grid}.map-heading h2{font-size:clamp(48px,5.6vw,82px)}.map-heading>p{color:#5e615b;max-width:500px;margin:0 0 8px;font-size:14px;line-height:1.75}.map-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.map-panel{min-width:0}.map-panel-heading{border-bottom:1px solid #1d211d33;justify-content:space-between;align-items:baseline;gap:20px;padding:0 2px 15px;display:flex}.map-panel-heading h3{margin:0;font-family:Georgia,serif;font-size:27px;font-weight:400}.map-panel-heading p{color:#6c6f68;text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:10px}.map-frame{isolation:isolate;background:#d2d2c8;border:1px solid #1d211d33;height:410px;min-height:0;position:relative;overflow:hidden}.leaflet-map{background:#d2d2c8;width:100%;height:100%;font-family:Arial,Helvetica,sans-serif}.interactive-map{width:100%;height:100%}.map-touch-lock,.map-touch-done{display:none}.leaflet-map .leaflet-tile-pane{filter:grayscale()contrast(.86)brightness(1.08)}.leaflet-map .leaflet-control-zoom{border:0;border-radius:0;box-shadow:0 5px 18px #1d211d2e}.leaflet-map .leaflet-control-zoom a{color:#1d211d;border:0;border-bottom:1px solid #dedbd2;border-radius:0}.leaflet-map .leaflet-control-zoom a:last-child{border-bottom:0}.project-div-icon{background:0 0;border:0}.leaflet-project-dot{place-items:center;width:32px;height:32px;display:grid;position:relative}.leaflet-project-dot:before{content:"";background:#b2251d33;border-radius:50%;width:30px;height:30px;animation:2.4s ease-out infinite map-pulse;position:absolute}.leaflet-project-dot i{background:#b2251d;border:2px solid #fff;border-radius:50%;width:13px;height:13px;position:relative;box-shadow:0 2px 7px #28181459}.project-leaflet-popup .leaflet-popup-content-wrapper{border-radius:0;padding:0;box-shadow:0 18px 45px #191c1847}.project-leaflet-popup .leaflet-popup-content{margin:0;width:240px!important}.project-leaflet-popup .leaflet-popup-tip{box-shadow:3px 3px 8px #191c181f}.project-leaflet-popup .leaflet-popup-close-button{color:#fff;text-shadow:0 1px 4px #000000b3;z-index:2;width:28px;height:28px;font-size:20px}.leaflet-project-popup img{object-fit:cover;width:100%;height:112px;display:block}.leaflet-project-popup>div{padding:12px 15px 14px}.leaflet-project-popup p{text-transform:uppercase;letter-spacing:.17em;color:#7d7e78;margin:0 0 7px;font-size:9px}.leaflet-project-popup h3{margin:0 0 8px;font-family:Georgia,serif;font-size:21px;font-weight:400}.leaflet-project-popup strong{margin-bottom:7px;font-size:12px;font-weight:600;display:block}.leaflet-project-popup span{color:#6e716b;font-size:11px}.map-key{text-transform:uppercase;letter-spacing:.11em;z-index:500;pointer-events:none;background:#ffffffeb;align-items:center;gap:8px;padding:10px 12px;font-size:9px;display:flex;position:absolute;top:12px;right:12px}.map-key span{background:#b2251d;border-radius:50%;width:8px;height:8px}.map-photo-note{color:#777970;margin:14px 0 0;font-size:11px}@keyframes map-pulse{0%{opacity:1;transform:scale(.5)}75%,to{opacity:0;transform:scale(1.45)}}@media (width<=850px){.map-heading{grid-template-columns:1fr;gap:24px}.map-grid{grid-template-columns:1fr;gap:42px}.map-frame{height:430px}}@media (width<=850px),(pointer:coarse){.interactive-map.is-locked .leaflet-map{pointer-events:none}.map-touch-lock{z-index:650;touch-action:pan-y;background:#1d211d14;place-items:center;display:grid;position:absolute;inset:0}.map-touch-lock button,.map-touch-done{color:#1d211d;font:inherit;background:#fffffff5;border:1px solid #1d211d38;box-shadow:0 8px 24px #1d211d33}.map-touch-lock button{cursor:pointer;flex-direction:column;align-items:center;gap:3px;min-width:154px;padding:12px 20px 11px;display:flex}.map-touch-lock button span{font-size:14px;font-weight:700}.map-touch-lock button small{color:#6c6f68;font-size:11px}.map-touch-done{z-index:700;cursor:pointer;min-height:42px;padding:0 17px;font-size:14px;font-weight:700;display:block;position:absolute;top:12px;left:12px}}@media (width<=600px){.project-map{padding-left:4vw;padding-right:4vw}.map-frame{height:410px}.map-photo-note{padding:0 3vw}.leaflet-map .leaflet-control-attribution{font-size:8px}}@media (prefers-reduced-motion:reduce){.leaflet-project-dot:before{animation:none}}
