.island-map{margin-top:var(--section-gap,4rem)}.island-map-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.5rem;display:flex}.island-map-heading h2{font-size:var(--island-section-size);letter-spacing:-.03em;font-weight:700;line-height:1.18}.island-map-intro{max-width:43ch;color:var(--body-text);font-size:.9375rem;line-height:1.6}.island-map-visual{border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--island-water);overflow:hidden}.island-map-toolbar{color:var(--island-ink);justify-content:space-between;gap:1rem;padding:.7rem 1rem;font-size:.8125rem;font-weight:600;display:flex}.island-map-canvas{background:var(--island-water);width:100%;height:clamp(23rem,45vw,39rem)}.island-map-canvas .leaflet-container{font-family:inherit}.island-map-canvas .leaflet-control-attribution{font-size:.6875rem}.island-map-canvas .leaflet-control-zoom a{width:var(--touch-target-size);height:var(--touch-target-size);line-height:var(--touch-target-size)}.island-map-canvas .leaflet-control-attribution a{color:var(--island-ink)}.island-map-tile-error{background:var(--muted);color:var(--foreground);padding:.7rem 1rem;font-size:.875rem}.island-map-note{color:var(--island-ink);padding:.55rem 1rem .75rem;font-size:.75rem;line-height:1.45}.island-map-note a{text-underline-offset:.15em;text-decoration:underline}.island-map-below{margin-top:1.25rem}.island-map-area-head{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem;display:flex}.island-map-area-head h3{letter-spacing:-.025em;font-size:1.25rem;font-weight:700}.island-map-area-head p{color:var(--muted-foreground);font-size:.875rem}.island-map-area-head button{min-height:2.75rem;color:var(--primary);text-underline-offset:.2em;cursor:pointer;font-size:.875rem;font-weight:700;text-decoration:underline}.island-map-choices{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.island-map-home-groups{border-top:1px solid var(--border-soft);margin-bottom:1.25rem}.island-map-home-group{border-bottom:1px solid var(--border-soft)}.island-map-home-group summary{cursor:pointer;align-items:center;gap:1rem;min-height:4.5rem;padding:.75rem .25rem;list-style:none;display:flex}.island-map-home-group summary::-webkit-details-marker{display:none}.island-map-home-group summary>span:first-child{flex:1;min-width:0}.island-map-home-group summary strong{font-size:.9375rem;font-weight:650;display:block}.island-map-home-group summary small{color:var(--muted-foreground);margin-top:.2rem;font-size:.8125rem;line-height:1.4;display:block}.island-map-group-count{color:var(--muted-foreground);flex-shrink:0;font-size:.8125rem}.island-map-home-group summary:after{content:"";border-bottom:2px solid;border-right:2px solid;flex-shrink:0;width:.55rem;height:.55rem;transition:transform .15s;transform:rotate(45deg)}.island-map-home-group[open] summary:after{transform:rotate(225deg)}.island-map-home-group .island-map-choices{margin:.25rem 0 1rem}.island-map-choice,.island-map-fallback-link{border:1px solid var(--border-soft);background:var(--background);min-height:2.75rem;color:var(--foreground);border-radius:9999px;align-items:center;padding:.45rem .85rem;font-size:.8125rem;font-weight:600;line-height:1.2;display:inline-flex}.island-map-choice{cursor:pointer}.island-map-choice:hover,.island-map-choice[aria-pressed=true]{border-color:var(--primary);background:var(--primary);color:var(--primary-foreground)}.island-map-fallback-link{text-underline-offset:.2em;text-decoration:underline}.island-map-choices[hidden],.island-map-nojs-groups[hidden],.island-map-choice[hidden],.island-map-fallback-link[hidden],[data-attraction][hidden],[data-attractions-empty][hidden],[data-map-error][hidden],[data-map-reset][hidden]{display:none!important}.island-map-choice:focus-visible,.island-map-fallback-link:focus-visible,.island-map-area-head button:focus-visible,.island-map-home-group summary:focus-visible{outline:3px solid var(--ring);outline-offset:2px}@media (prefers-reduced-motion:reduce){.island-map-home-group summary:after{transition:none}}.island-map-canvas .leaflet-interactive:focus-visible,.island-map-canvas .leaflet-popup a:focus-visible,.island-map-canvas .leaflet-popup-close-button:focus-visible{outline:3px solid var(--ring);outline-offset:2px}.island-map-canvas .island-map-popup .leaflet-popup-content-wrapper{border-radius:var(--radius-xl);background:var(--background);color:var(--foreground);padding:0;overflow:hidden}.island-map-canvas .island-map-popup .leaflet-popup-content{margin:0;font-family:inherit;line-height:1.45;width:min(17rem,100vw - 5rem)!important}.island-map-canvas .island-map-popup .leaflet-popup-tip{background:var(--background)}.island-map-canvas .island-map-popup .leaflet-popup-close-button{z-index:2;background:var(--background);width:2.8125rem;height:2.8125rem;color:var(--foreground);border-radius:50%;place-items:center;font-size:1.5rem;line-height:1;display:grid;top:.5rem;right:.5rem;box-shadow:0 2px 10px #0003}.island-map-popup-card img{aspect-ratio:3/2;object-fit:cover;background:var(--muted);width:100%;height:auto;display:block}.island-map-popup-card img[hidden]{display:none}.island-map-canvas .island-map-popup-card h3{margin:0;padding:.75rem .875rem 0;font-size:1rem;font-weight:700;line-height:1.3}.island-map-canvas .island-map-popup-card p{color:var(--body-text);font-size:var(--navigation-text-size);margin:0;padding:.35rem .875rem 0;line-height:1.5}.island-map-popup-links{flex-wrap:wrap;gap:.1rem .75rem;padding:.25rem .875rem .45rem;display:flex}.island-map-popup-links a{min-height:2.75rem;color:var(--primary);font-size:var(--navigation-text-size);text-underline-offset:.2em;align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}.island-map-attractions{margin-top:2.5rem}.island-map-attractions-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.island-map-attraction{border:1px solid var(--border-soft);border-radius:var(--radius-xl);background:var(--background);overflow:hidden}.island-map-attraction-media{aspect-ratio:3/2;background:var(--muted);display:block}.island-map-attraction-media img{object-fit:cover;width:100%;height:100%;display:block}.island-map-attraction-illustration{height:100%;color:var(--island-ink);background:var(--island-water);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;display:flex}.island-map-attraction-illustration small{letter-spacing:.02em;font-size:.6875rem}.island-map-attraction-body{padding:.85rem 1rem 1rem}.island-map-attraction p{color:var(--muted-foreground);margin:0 0 .35rem;font-size:.75rem}.island-map-attraction h4{font-size:.9375rem;font-weight:700;line-height:1.4}.island-map-attraction a{color:var(--foreground);align-items:baseline;gap:.25rem;display:inline-flex}.island-map-attraction a:hover{color:var(--primary)}.island-map-attraction .island-map-attraction-media{width:100%;display:block}@media (width<=47.99rem){.island-map{margin-top:var(--section-gap,2rem)}.island-map-heading{margin-bottom:1rem;display:block}.island-map-intro{margin-top:.65rem}.island-map-toolbar{font-size:.75rem}.island-map-toolbar span:last-child{display:none}.island-map-canvas{height:36rem}.island-map-choices{gap:.4rem}.island-map-choice,.island-map-fallback-link{padding-inline:.7rem}.island-map-attractions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=25rem){.island-map-attractions-grid{grid-template-columns:1fr}}.island-map-nojs-groups{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.25rem 0;display:grid}.island-map-nojs-groups section{border:1px solid var(--border-soft);border-radius:var(--radius-xl);padding:.8rem}.island-map-nojs-groups h4{font-weight:700}.island-map-nojs-groups a{text-underline-offset:.2em;text-decoration:underline}.island-map-nojs-groups li{color:var(--body-text);margin-top:.35rem;font-size:.875rem}@media (width<=47.99rem){.island-map-nojs-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=25rem){.island-map-nojs-groups{grid-template-columns:1fr}}.portal-map-page-heading{max-width:64rem}.portal-map-page-heading h1{font-size:var(--island-section-size)}.portal-map-page-heading .reading{margin-top:1rem}.island-map-full .island-map-heading h2{font-size:1.375rem}.island-map-full{margin-top:2.5rem}.island-map-legend{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.island-map-legend span{align-items:center;gap:.4rem;display:inline-flex}.island-map-legend i{background:var(--primary);border:1px solid var(--background);border-radius:50%;width:.65rem;height:.65rem}.island-map-legend i[data-place-symbol]{background:var(--background);border-color:var(--island-ink)}@media (width<=47.99rem){.island-map-toolbar .island-map-legend span{display:inline-flex}}
