/* ---- accessibility + utilities ---- */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 12px; top: -64px; z-index: 1000; background: #c9a06a; color: #141311; padding: 12px 16px; border-radius: 2px; font-weight: 700; font-size: 13px; letter-spacing: 0.04em; transition: top .2s ease; }
.skip-link:focus { top: 12px; }
a:focus-visible, button:focus-visible, input:focus-visible, [role="button"]:focus-visible { outline: 2px solid #e4c48f; outline-offset: 3px; }

/* map: the interactive embed loads on request (see site.js) */
.map-load { position: absolute; inset: 0; z-index: 1; display: flex; align-items: center; justify-content: center; padding: 0 0 56px; border: 0; cursor: pointer; color: #f4ede1; font: 700 12px/1 'Work Sans', sans-serif; letter-spacing: 0.08em; text-transform: uppercase;
  background: radial-gradient(ellipse at 50% 40%, rgba(201,160,106,0.14), rgba(26,24,21,0) 60%), #1a1815; }
.map-load span { border: 1px solid rgba(201,160,106,0.55); border-radius: 2px; padding: 13px 18px; transition: background .25s ease, color .25s ease; }
.map-load:hover span { background: #c9a06a; color: #141311; }
.map-info { z-index: 2; }
.map-frame iframe:not([src]) { visibility: hidden; }
