/* OGC island maps (ogc-map/1). Explorer's-atlas style: deep teal water, cream land, a thin uniform turquoise coastal
   line, orange markers, a true lat/long grid. The coastal line is decoration only: it never varies with depth.
   Markers and labels are HTML laid over the SVG so they keep a readable size at any map width. */
.ogc-map{container-type:inline-size;container-name:ogcmap;margin:0;--m-water:#123F4D;--m-water-2:#0E3440;--m-land:#FBF9F4;--m-land-2:#E3D7BD;--m-land-3:#A9B9B6;--m-halo:#86CFC6;--m-grid:rgba(243,240,232,.09);--m-pin:#B8461A;--m-pin-d:#F0A57F;--m-ink:#0F2A33;--m-on-d:#F3F0E8;--m-on-d-2:rgba(243,240,232,.78);position:relative;min-width:0}
.ogc-map.ogc-map{box-shadow:none}
.ogc-map .ogc-map__key,.ogc-map .ogc-map__legend,.ogc-mapfacts.ogc-mapfacts{margin:0;padding:0;list-style:none}
.ogc-map .ogc-map__facts,.ogc-map .ogc-map__inset-cap,.ogc-map .ogc-map__cap{margin:0;padding:0}
.ogc-map__stage{position:relative;aspect-ratio:var(--ar);background:var(--m-water);overflow:hidden}
.ogc-map__svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.ogc-map__grid{fill:none;stroke:var(--m-grid);stroke-width:1;vector-effect:non-scaling-stroke}
.ogc-map__halo{fill:none;stroke:var(--m-halo);stroke-opacity:.34;stroke-width:4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.ogc-map__land{fill:var(--m-land-3)}
.ogc-map__second{fill:var(--m-land-2)}
.ogc-map__focus{fill:var(--m-land)}
.ogc-map__region{fill:var(--m-land-2)}
.ogc-map__region.is-hl{fill:var(--m-land)}
.ogc-map__border{fill:none;stroke:var(--m-ink);stroke-width:1.6;stroke-dasharray:5 3;stroke-linecap:round;vector-effect:non-scaling-stroke}
.ogc-map__box{fill:none;stroke:var(--m-pin-d);stroke-width:1.5;vector-effect:non-scaling-stroke}
.ogc-map__zone{stroke:var(--m-ink);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.ogc-map__zone-bg{fill:var(--m-land)}.ogc-map__zone-line{stroke:var(--m-pin);stroke-width:2}

/* markers */
.ogc-map__pin{position:absolute;z-index:2;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:var(--m-pin);box-shadow:0 0 0 2px var(--m-land);pointer-events:none}
.ogc-map__pin--town-main{width:15px;height:15px;margin:-7.5px 0 0 -7.5px;box-shadow:0 0 0 2px var(--m-land),0 0 0 3.5px var(--m-pin)}
.ogc-map__pin--airport{border-radius:2px;background:var(--m-ink)}
.ogc-map__pin--bridge{width:14px;height:6px;margin:-3px 0 0 -7px;border-radius:2px;background:var(--m-ink)}
.ogc-map__pin--peak{width:0;height:0;margin:-8px 0 0 -6px;border-radius:0;background:none;box-shadow:none;border:6px solid transparent;border-bottom:10px solid var(--m-ink);border-top:0}
.ogc-map__pin--island,.ogc-map__pin--area,.ogc-map__pin--water{display:none}
.ogc-map__num{display:none}
.ogc-map__s{display:none}

/* labels */
.ogc-map__lbl{position:absolute;z-index:3;display:block;max-width:none;white-space:nowrap;padding:3px 7px 4px;border-radius:3px;background:rgba(251,249,244,.95);color:var(--m-ink)!important;font:600 13px/1.15 'Archivo',Helvetica,Arial,sans-serif;font-stretch:88%;letter-spacing:0;text-decoration:none!important;box-shadow:0 1px 2px rgba(11,35,43,.25)}
a.ogc-map__lbl:hover{background:#fff;text-decoration:underline!important}
.ogc-map__lbl small{display:block;margin-top:1px;font:500 10px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4A6470}
.ogc-map__lbl--island,.ogc-map__lbl--water{padding:0;background:none;box-shadow:none;color:var(--m-on-d)!important;text-shadow:0 0 3px var(--m-water),0 0 6px var(--m-water)}
.ogc-map__lbl--island{font:500 11.5px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}
.ogc-map__lbl--water{font:italic 400 13px/1.2 'Source Serif 4',Georgia,serif;color:var(--m-on-d-2)!important}
a.ogc-map__lbl--island{text-decoration:underline!important;text-decoration-color:rgba(243,240,232,.45)!important;text-underline-offset:3px}
.ogc-map__lbl--area{padding:4px 8px 5px;text-align:center;background:rgba(251,249,244,.9)}
.ogc-map__lbl--c{transform:translate(-50%,-50%)}
.ogc-map__lbl--n{transform:translate(-50%,calc(-100% - 11px))}
.ogc-map__lbl--s{transform:translate(-50%,11px)}
.ogc-map__lbl--e{transform:translate(12px,-50%)}
.ogc-map__lbl--w{transform:translate(calc(-100% - 12px),-50%)}
.ogc-map__lbl--ne{transform:translate(8px,calc(-100% - 7px))}
.ogc-map__lbl--nw{transform:translate(calc(-100% - 8px),calc(-100% - 7px))}
.ogc-map__lbl--se{transform:translate(8px,7px)}
.ogc-map__lbl--sw{transform:translate(calc(-100% - 8px),7px)}

/* north arrow and scale */
.ogc-map__n{position:absolute;z-index:3;top:12px;right:12px;bottom:auto;left:auto;display:grid;place-items:center;width:34px;height:34px;border:1.5px solid var(--m-on-d-2);border-radius:50%;color:var(--m-on-d);font:700 12px/1 'Archivo',Helvetica,Arial,sans-serif}
.ogc-map__n--tl{left:12px;right:auto}.ogc-map__n--rm{top:56%}.ogc-map__n--bl{top:auto;bottom:52px;left:14px;right:auto}.ogc-map__n--br{top:auto;bottom:14px}
.ogc-map__n::before{content:"";position:absolute;top:-7px;left:50%;margin-left:-5px;border:5px solid transparent;border-bottom:7px solid var(--m-pin-d);border-top:0}
.ogc-map__scale{position:absolute;z-index:3;left:14px;bottom:12px;right:40%;display:grid;gap:5px;font:500 11px/1 'DM Mono',ui-monospace,monospace;color:var(--m-on-d)}
.ogc-map__scale span{display:block;height:6px;border:1.5px solid var(--m-on-d);border-top:0;position:relative}
.ogc-map__scale span b{position:absolute;left:calc(100% + 6px);top:-3px;font-weight:500;white-space:nowrap}

/* inset: a sibling of the stage, laid over its corner on wide maps and set below it on narrow ones */
.ogc-map__inset{position:absolute;z-index:4;top:12px;right:12px;width:25%}
.ogc-map__inset--tl{left:12px;right:auto}
.ogc-map__inset-map{position:relative;aspect-ratio:var(--ar);background:var(--m-water-2);outline:1px solid rgba(243,240,232,.5);overflow:hidden}
.ogc-map__inset .ogc-map__land{fill:var(--m-land-3)}
.ogc-map__inset .ogc-map__focus{fill:var(--m-land)}
.ogc-map .ogc-map__inset-cap{margin:0;padding:5px 6px;background:var(--m-water-2);font:500 10px/1.3 'DM Mono',ui-monospace,monospace;letter-spacing:.06em;color:var(--m-on-d-2);text-transform:uppercase;outline:1px solid rgba(243,240,232,.5)}
.ogc-map__inset-cap b{display:block;color:var(--m-on-d);font-weight:500}
.ogc-map__inset .ogc-map__pin{width:8px;height:8px;margin:-4px 0 0 -4px}
.ogc-map__inset .ogc-map__lbl{font-size:11px;padding:2px 5px 3px}

/* below the map: key, legend, facts, caption */
.ogc-map__below{display:grid;gap:14px 32px;margin-top:14px}
.ogc-map__key{list-style:none;margin:0;padding:0;display:grid;gap:2px 20px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.ogc-map__key li{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font:500 15px/1.3 'Archivo',Helvetica,Arial,sans-serif;font-stretch:92%;color:var(--m-ink)}
.ogc-map__key li a{color:var(--m-ink);text-decoration:underline;text-decoration-color:rgba(15,42,51,.35);text-underline-offset:3px}
.ogc-map__key li small{display:block;margin-top:1px;font:400 12.5px/1.35 'DM Mono',ui-monospace,monospace;color:#4A6470}
.ogc-map__key .ogc-map__num{display:inline-grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%;background:var(--m-ink);color:#fff;font:600 11.5px/1 'DM Mono',ui-monospace,monospace}
.ogc-map__legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;list-style:none;font:400 12.5px/1.4 'DM Mono',ui-monospace,monospace;color:#4A6470}
.ogc-map__legend li{display:flex;align-items:center;gap:7px;margin:0}
.ogc-map__legend i{display:inline-block;width:16px;height:11px;border-radius:2px;border:1px solid rgba(15,42,51,.3)}
.ogc-map__legend i.focus{background:var(--m-land)}.ogc-map__legend i.second{background:var(--m-land-2)}.ogc-map__legend i.land{background:var(--m-land-3)}
.ogc-map__legend i.zone{background:repeating-linear-gradient(45deg,#FBF9F4 0 3px,#B8461A 3px 5px)}
.ogc-map__legend i.border{border:0;border-top:2px dashed var(--m-ink);height:0;border-radius:0}
.ogc-map__cap{margin:0;font:400 12px/1.5 'DM Mono',ui-monospace,monospace;color:#4A6470}
.ogc-map__cap a{color:#4A6470;text-decoration:underline;text-underline-offset:2px}

/* facts strip (cards) and fact list (guides): HTML, never inside the image */
.ogc-mapfacts{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.ogc-mapfacts li{margin:0;padding:5px 9px 6px;border-radius:3px;background:#EEF6F5}
.ogc-mapfacts li span{display:block;font:500 10.5px/1.3 'DM Mono',ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#4A6470}
.ogc-mapfacts li b{display:block;font:700 15px/1.2 'Archivo',Helvetica,Arial,sans-serif;font-stretch:90%;color:#0F2A33}
.ogc-map__facts{margin:0;display:grid;gap:10px 24px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.ogc-map__facts div{margin:0;padding:10px 0 0;border-top:1px solid rgba(15,42,51,.14)}
.ogc-map__facts dt{margin:0;font:500 11.5px/1.3 'DM Mono',ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase;color:#4A6470}
.ogc-map__facts dd{margin:3px 0 0;font:600 17px/1.25 'Archivo',Helvetica,Arial,sans-serif;font-stretch:92%;color:var(--m-ink)}
.ogc-map__facts dd small{display:block;margin-top:3px;font:400 12.5px/1.4 'DM Mono',ui-monospace,monospace;color:#4A6470}
.ogc-map__facts dd small a{color:#4A6470;text-decoration:underline;text-underline-offset:2px}

/* card size: fewer, smaller marks; the whole card is the link */
.ogx-dest__media--map::after{display:none}
.ogc-map-card{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px}
.ogc-dir-map{position:relative;aspect-ratio:16/10;margin:0 0 14px;overflow:hidden;border-radius:3px}
.ogc-dir-card .ogc-mapfacts{margin:10px 0 4px}
.ogx-dest__body .ogc-mapfacts{margin:2px 0 4px}
.ogc-map--card{position:absolute;inset:0}
.ogc-map--card .ogc-map__stage{position:absolute;inset:0;aspect-ratio:auto}
.ogc-map--card .ogc-map__halo{stroke-width:3}
.ogc-map--card .ogc-map__lbl{font-size:12px;padding:2px 6px 3px}
.ogc-map--card .ogc-map__lbl small{display:none}
.ogc-map--card .ogc-map__n{top:8px;right:8px;width:26px;height:26px;font-size:10.5px}
.ogc-map__attr{position:absolute;z-index:3;right:5px;bottom:5px;padding:2px 4px;border-radius:2px;background:rgba(14,52,64,.62);color:rgba(251,249,244,.86);font:500 9px/1.2 'DM Mono',ui-monospace,monospace;letter-spacing:.02em;white-space:nowrap;pointer-events:none}
.ogc-map--card .ogc-map__n--tl{left:12px;right:auto}.ogc-map__n--rm{top:56%}.ogc-map__n--bl{top:auto;bottom:52px;left:14px;right:auto}.ogc-map__n--br{top:auto;bottom:14px}
.ogc-map__n::before{top:-6px}
.ogc-map--card .ogc-map__pin{width:10px;height:10px;margin:-5px 0 0 -5px}
.ogc-map--card .ogc-map__pin--town-main{width:12px;height:12px;margin:-6px 0 0 -6px}
.ogc-map--card .ogc-map__pin--bridge{width:12px;height:5px;margin:-2.5px 0 0 -6px}

/* narrow maps: pill labels for secondary places give way to numbered markers named in the key below; island names stay,
   smaller; long names switch to their short form; the inset drops below the map */
@container ogcmap (max-width:560px){
  .ogc-map--guide .ogc-map__lbl{font-size:12px;padding:2px 6px 3px}
  .ogc-map--guide .ogc-map__lbl--island{font-size:10px;padding:0}
  .ogc-map--guide .ogc-map__lbl small{display:none}
  .ogc-map--guide .ogc-map__t{display:none}
  .ogc-map--guide .ogc-map__s{display:inline}
  .ogc-map--guide .ogc-map__lbl[data-pri="3"],.ogc-map--guide .ogc-map__lbl[data-pri="2"]:not(.ogc-map__lbl--island):not(.ogc-map__lbl--area){display:none}
  .ogc-map--guide .ogc-map__pin[data-pri="3"],.ogc-map--guide .ogc-map__pin[data-pri="2"]:not(.ogc-map__pin--island):not(.ogc-map__pin--area){display:grid;place-items:center;width:20px;height:20px;margin:-10px 0 0 -10px;border:0;border-radius:50%;background:var(--m-ink);box-shadow:0 0 0 2px var(--m-land)}
  .ogc-map--guide .ogc-map__pin[data-pri="3"] .ogc-map__num,.ogc-map--guide .ogc-map__pin[data-pri="2"]:not(.ogc-map__pin--island):not(.ogc-map__pin--area) .ogc-map__num{display:block;color:#fff;font:600 11px/1 'DM Mono',ui-monospace,monospace}
  .ogc-map__inset{position:relative;top:auto;right:auto;left:auto;display:grid;grid-template-columns:42% 1fr;gap:10px;align-items:start;width:auto;margin-top:10px}
  .ogc-map .ogc-map__inset-cap{background:none;outline:0;padding:0;color:#4A6470}
  .ogc-map__inset-cap b{color:var(--m-ink)}
  .ogc-map__inset .ogc-map__lbl{display:none}
  .ogc-map__scale{right:45%}
  .ogc-map__n{width:28px;height:28px;font-size:11px;top:10px;right:10px;left:auto;bottom:auto}
}
@container ogcmap (max-width:300px){
  .ogc-map--card .ogc-map__lbl{font-size:11px;padding:2px 5px}
  .ogc-map--card .ogc-map__lbl[data-pri="2"],.ogc-map--card .ogc-map__lbl[data-pri="3"]{display:none}
}
@media (min-width:760px){.ogc-map__below{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.ogc-map__below .ogc-map__cap,.ogc-map__below .ogc-map__legend{grid-column:1/-1}}
@media (prefers-reduced-motion:no-preference){a.ogc-map__lbl{transition:background .15s}}
a.ogc-map__lbl:focus-visible,.ogc-map__key a:focus-visible{outline:2px solid #B8461A;outline-offset:2px}
