/* GIST V4.9 — interactive cartographic point field.
   Existing portfolio controls, links, language switch and the original logo remain intact. */
.geo-map-side{background:linear-gradient(150deg,#171e1c 0%,#1d2622 54%,#101513 100%);border-right-color:#807c7055}
.geo-map-frame{border:1px solid #d7cbb020;box-shadow:inset 0 0 75px #0005;background:radial-gradient(ellipse at 48% 52%,#31423a7a 0%,#15231c00 62%),linear-gradient(150deg,#1c2924,#0e1613);cursor:crosshair;overflow:visible}
.geo-map-frame:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(to right,#adbfac13 1px,transparent 1px),linear-gradient(to bottom,#adbfac13 1px,transparent 1px);background-size:6.25% 20%;mask-image:radial-gradient(ellipse at center,#000,transparent 87%)}
.geo-map-frame:after{z-index:2;opacity:.22;background-image:linear-gradient(90deg,#d6c5a118 1px,transparent 1px),linear-gradient(#d6c5a118 1px,transparent 1px);background-size:25% 50%;pointer-events:none}
.geo-silhouette{opacity:.045;filter:grayscale(1) brightness(1.6);pointer-events:none}
.geo-particle-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.map-watermark{z-index:1;color:#cbd7c512;left:4%;bottom:4%}.map-watermark span{color:#bdc5b94c}
.geo-pins{z-index:5}
.geo-pin-ring{background:#c59b72d9;border-color:#f6dbc6;box-shadow:0 0 0 4px #d5ae7531,0 0 18px #c29a8659}
.geo-pin.historic-only .geo-pin-ring{background:#7e9b8ecb;border-color:#d8eee4;box-shadow:0 0 0 4px #9dc4b02b}
.geo-pin:hover .geo-pin-ring,.geo-pin:focus-visible .geo-pin-ring,.geo-pin.selected .geo-pin-ring{background:#e6b27e;box-shadow:0 0 0 6px #d7af7541,0 0 28px #d2a16b73}
.geo-pin-tip{background:#ede9dd;color:#20251f;box-shadow:0 10px 40px #050706aa}
.geo-pin-tip small{color:#815e40}
.geo-coordinates{color:#bcb4a3;z-index:7;bottom:-21px}
.geo-point-topline{position:absolute;left:4%;right:4%;top:7%;display:flex;justify-content:space-between;align-items:center;z-index:3;pointer-events:none;color:#b9c8b7a6;font-size:9px;letter-spacing:.18em}
.geo-point-status{display:flex;align-items:center;gap:9px}.geo-point-status i{display:block;width:5px;height:5px;border-radius:50%;background:#d0aa7d;box-shadow:0 0 12px #d4a066}
.geo-cloud-toolbar{position:absolute;left:3.5%;right:3.5%;bottom:6%;z-index:7;display:flex;align-items:center;justify-content:space-between;gap:8px;pointer-events:none}
.geo-cloud-toolbar .geo-scatter{pointer-events:auto;display:flex;align-items:center;gap:18px;border:1px solid #e4cfad60;padding:9px 13px;background:#151f1cbb;color:#dfd6c7;letter-spacing:.12em;font-size:9px;cursor:pointer;transition:background .2s,transform .2s,border-color .2s}
.geo-cloud-toolbar .geo-scatter:hover,.geo-cloud-toolbar .geo-scatter:focus-visible{background:#a47e5c;color:#121713;border-color:#c9b398}
.geo-cloud-toolbar .geo-scatter.is-scattering{background:#d0ab82;color:#0f1613}
.geo-cloud-toolbar #geoMotionHint{font-size:8px;letter-spacing:.16em;color:#ccd1c29b;text-align:right;white-space:nowrap}
.geo-particle-cursor{position:absolute;width:78px;height:78px;border-radius:50%;border:1px solid #ded7b71b;transform:translate(-50%,-50%);pointer-events:none;z-index:3;opacity:0;transition:opacity .2s}
.geo-particle-cursor.is-visible{opacity:1}
.geo-map-foot{color:#c5bdab}.geo-map-foot small{color:#a8aa9e}
.geo-legend-dot.archive-dot{background:#cba178;box-shadow:0 0 9px #cba17866}.geo-legend-dot.historical-dot{background:#9bb3a7}
.geo-toggle{border-color:#9ba59674}.geo-toggle button{color:#bac6b8}.geo-toggle button.is-active,.geo-toggle button:hover{background:#cfaa82;color:#171c17}
@media(max-width:760px){.geo-map-frame{margin-top:84px;margin-bottom:115px}.geo-point-topline{top:-27px}.geo-cloud-toolbar{bottom:-63px;left:0;right:0}.geo-cloud-toolbar .geo-scatter{font-size:8px;padding:7px 8px;gap:6px}.geo-cloud-toolbar #geoMotionHint{font-size:7px;max-width:49%;white-space:normal;line-height:1.35}.geo-point-topline{font-size:7px}.geo-pin-tip{color:#101a14}.geo-map-side{padding:18px 5px}.geo-coordinates{bottom:-31px}}
@media(prefers-reduced-motion:reduce){.geo-particle-cursor{display:none}.geo-scatter{transition:none!important}}

.geo-scatter:disabled{opacity:.35;cursor:not-allowed!important}
