.surf-map-shell{background:#e7f2eb;border-radius:30px;padding:clamp(.65rem,3vw,2rem)}
.surf-world{max-width:none;margin:.4rem auto}
.surf-land{fill:#9fb7a4;stroke:#e7f2eb;stroke-width:.5}
.surf-map-pin{cursor:pointer}
.surf-map-pin circle{fill:#9c4528;stroke:#fff;stroke-width:2}
.surf-map-pin.upcoming circle{fill:#5b6e60;stroke-dasharray:3 2}
.surf-map-pin .surf-dot{fill:white;stroke:none}
.surf-map-pin[aria-pressed=true] circle:first-child,.surf-map-pin:hover circle:first-child,.surf-map-pin:focus-visible circle:first-child{fill:#153b31;stroke:#f6bd4f;stroke-width:3}
.surf-map-filters{display:flex;flex-wrap:wrap;justify-content:center;gap:.45rem}
.surf-map-filters button{border-radius:999px;background:#fff}
.surf-map-filters button[aria-pressed=true]{background:#245649;color:#fff}
.surf-map-detail{background:#fce5d2;border-radius:22px;padding:1.25rem;margin-top:1rem}
.surf-map-detail h3{font:700 2rem Georgia,serif;margin:.3em 0}
.surf-map-detail dl{display:grid;grid-template-columns:minmax(7rem,auto) 1fr;gap:.5rem 1rem;max-width:70ch}
.surf-map-detail dd{margin:0;overflow-wrap:anywhere}
.surf-map-detail dt{font-weight:700}
@media(max-width:480px){.surf-map-detail dl{display:block}.surf-map-detail dd{margin:0 0 .65rem}}
.surf-map-views{display:grid;grid-template-columns:minmax(0,2.7fr) minmax(190px,1fr);align-items:center;gap:1rem}
.surf-island{margin:0;background:#f8fcf6;border-radius:18px;padding:.55rem}
.surf-island figcaption{text-align:center;font-weight:750;font-size:.88rem}
.surf-island svg{margin:0 auto;max-width:290px}
.surf-island text{font:700 13px system-ui,sans-serif;fill:#193a32;pointer-events:none}
@media(max-width:720px){.surf-map-views{grid-template-columns:1fr}.surf-island{width:min(100%,330px);margin:0 auto}}
