/* Reef Map styles — uses the site's design tokens from styles.css */
.rm-hero{background:linear-gradient(160deg,var(--deeper),var(--deep) 55%,#04404f);color:#fff;padding:110px 0 36px}
.rm-hero h1,.rm-hero .lede{color:#fff}.rm-hero .lede{color:#dcefee;max-width:46rem}
.rm-hero .eyebrow,.rm-hero .eyebrow a{color:var(--gold)}
.rm-hero .small{color:#bfd9da}
.rm-stage{padding-top:28px}
.rm-layout{display:grid;gap:18px}
@media(min-width:960px){.rm-layout{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}}
.rm-map{position:relative;height:min(78vh,640px);min-height:420px;border-radius:var(--r);overflow:hidden;background:radial-gradient(ellipse at 40% 35%,#cfeeed,#9fd8d6 60%,#7cc5c6);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}
.rm-map.leaflet-container{display:block;font:inherit;background:radial-gradient(ellipse at 40% 35%,#cfeeed,#9fd8d6 60%,#7cc5c6)}
.rm-note{max-width:26rem;padding:0 16px}
.rm-attrib{margin:.5em 0 0}
.rm-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:var(--shadow)}
.rm-panel:focus{outline:none}.rm-panel:focus-visible{outline:3px solid var(--coral)}
.rm-panel h2{margin-top:.2em}
.rm-sub{color:var(--muted);margin:.1em 0 .6em;font-size:.95rem}
.rm-marker{display:flex;align-items:center;justify-content:center}
.rm-marker span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font:700 .95rem/1 var(--font);color:#fff;background:var(--coral);border:3px solid #fff;box-shadow:0 4px 14px rgba(1,21,30,.35);transition:transform .2s}
.rm-marker.is-soon span{background:var(--deep);opacity:.85}
.rm-marker:hover span,.rm-marker:focus span,.rm-marker.is-active span{transform:scale(1.18)}
.rm-marker:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:50%}
.rm-all .rm-group h2{font-size:1.35rem}
.rm-list{list-style:none;padding:0;margin:0;display:grid;gap:14px}
@media(min-width:720px){.rm-list{grid-template-columns:1fr 1fr}}
.rm-item{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.rm-item h3{margin:.05em 0 .1em}.rm-item p{margin:.3em 0;font-size:.95rem}
.rm-item.is-soon{background:var(--foam)}
.rm-pin{flex:0 0 32px;height:32px;border-radius:50%;background:var(--coral);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center}
.rm-item.is-soon .rm-pin{background:var(--deep)}
.rm-badge{display:inline-block;margin-top:6px;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px}
.rm-done{background:#e2f6f1;color:#0a5d55}.rm-soon{background:#ebeef0;color:#4d6670}
.rm-article-wrap{display:grid;gap:28px;padding-top:36px}
@media(min-width:1020px){.rm-article-wrap{grid-template-columns:240px minmax(0,1fr)}.rm-toc{position:sticky;top:90px;align-self:start}}
.rm-toc ol{padding-left:1.2em;margin:.3em 0 1em;font-size:.92rem}.rm-toc li{margin:.3em 0}
.rm-summary{font-size:1.12rem;color:var(--deep);border-left:4px solid var(--aqua);padding-left:14px}
.rm-article section{scroll-margin-top:90px}
.cite{font-size:.68em;line-height:0;margin-left:1px}.cite a{text-decoration:none;font-weight:600}
.rm-refs{font-size:.88rem;padding-left:1.6em}.rm-refs li{margin:.45em 0;overflow-wrap:anywhere}
.rm-refs li:target{background:#fff6dd;border-radius:6px}
.leaflet-tooltip{font:600 .85rem/1.3 var(--font)}
@media (prefers-reduced-motion: reduce){.rm-marker span{transition:none}.rm-marker:hover span,.rm-marker:focus span{transform:none}}
