/* Erebe v5 – accessible presentation, map resources and glossary */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #bd861c!important;outline-offset:4px!important;box-shadow:0 0 0 2px #fff8e8!important}
:where(button,summary){touch-action:manipulation}
:where(.map-jump,.map-resource-section,.map-access-note,.map-schematic-grid){scroll-margin-top:108px}
.site-header :where(.font-controls button,.a11y-settings summary,.a11y-settings-panel button){min-width:44px;min-height:44px}
.utility-inner{gap:12px;position:relative;flex-wrap:wrap}
.a11y-settings{position:relative;z-index:90;margin-left:8px;font-size:.89rem;align-self:center}
.a11y-settings>summary{display:flex;align-items:center;gap:8px;min-height:44px;border:1px solid #bfa46f;background:#f7f0df;color:#192e25;padding:8px 14px;border-radius:5px;cursor:pointer;font-weight:700;list-style:none}
.a11y-settings>summary::-webkit-details-marker{display:none}
.a11y-settings[open]>summary{background:#eadbb8}
.a11y-settings-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:100;width:min(350px,92vw);padding:17px;border:2px solid #415a40;border-radius:9px;background:#fffef8;color:#142a1e;box-shadow:0 12px 32px #122c2350;display:grid;gap:8px}
.a11y-settings-title{font-size:1.15rem;font-weight:800;margin:0 0 5px}
.a11y-settings-panel button{background:#f1eddf;border:2px solid #60755e;color:#152a1d;border-radius:6px;text-align:left;padding:8px 12px;font-weight:650;cursor:pointer}
.a11y-settings-panel button[aria-pressed="true"]{background:#245238;color:#fff;border-color:#183c29}
.a11y-settings-panel button[aria-pressed="true"]:before{content:'✓ ';font-weight:900}
.a11y-settings-panel a{color:#17472c;text-decoration:underline;padding:10px 3px;font-weight:700}
.a11y-settings-help{line-height:1.55;color:#42463f;font-size:.83rem}
.map-jump{background:#eae8d9;border:1px solid #bbb59d;border-radius:12px;padding:22px 24px;margin:0 0 30px}
.map-jump-title{font-size:1.13rem;font-weight:800;color:#213a2e;margin:0 0 10px}
.map-jump-links{display:flex;flex-wrap:wrap;gap:9px}
.map-jump-links a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:9px 15px;border:2px solid #315943;border-radius:6px;background:#fffdf7;color:#20402c;font-weight:700;text-decoration:none;line-height:1.4}
.map-jump-links a:hover,.map-jump-links a:focus-visible{background:#234735;color:#fff}
.map-resource-section{border-top:1px solid #c9bea8;padding:42px 0 48px;max-width:100%}
.map-section-heading{max-width:880px;margin-bottom:24px}
.map-section-heading h2{font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.2;margin:.55rem 0 1rem;color:#253d2e}
.map-section-heading p{line-height:1.75;font-size:1.07rem}
.map-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.map-resource-card{min-width:0;background:#fbf9f1;border:1px solid #bbb39e;border-radius:10px;padding:24px;display:flex;flex-direction:column;box-shadow:0 3px 12px #1d382312;position:relative;overflow:hidden}
.map-resource-card:before{content:'';width:100%;height:5px;position:absolute;top:0;left:0;background:#4c725a}
.map-resource-card--archive:before{background:#966a36}.map-resource-card--hiking:before{background:#466d74}
.map-resource-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center;margin-bottom:15px}
.map-resource-badge{display:inline-block;font-size:.78rem;font-weight:800;border-radius:5px;background:#e5e9dc;color:#26402c;padding:5px 9px}
.map-resource-era{font-size:.82rem;color:#585c4c}
.map-resource-card h3{color:#243f30;font-weight:800;font-size:1.4rem;line-height:1.35;margin:0 0 13px}
.map-resource-card p{max-width:72ch;line-height:1.7;margin:0 0 21px}
.map-resource-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.map-action{min-height:44px;display:inline-flex;gap:8px;align-items:center;justify-content:center;background:#244d34;border:2px solid #244d34;color:#fff!important;text-decoration:none!important;border-radius:5px;padding:9px 15px;font-weight:800;line-height:1.4;max-width:100%}
.map-action--outline{background:#fffef7;color:#244d34!important}
.map-action:hover,.map-action:focus-visible{background:#162e22;color:#fff!important}
.map-domain{font-size:.78rem;color:#595b4e;overflow-wrap:anywhere}
.map-method,.map-access-note,.map-source-note{background:#eee8d9;border-left:4px solid #537150;padding:16px 20px;margin:23px 0;line-height:1.7}
.map-source-note .map-action{margin:8px 0 0}
.map-access-note h2{font-size:1.5rem;margin:0 0 12px;color:#263d2f}
.map-schematic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.map-schematic{overflow:hidden;background:#f8f5eb;border:1px solid #c9bca6;border-radius:9px;min-width:0}
.map-schematic>a{display:block;overflow:hidden;background:#e9ecde}
.map-schematic img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.map-schematic-body{padding:17px 20px 24px}.map-schematic-body h3{font-size:1.38rem;line-height:1.3;color:#29402f;margin:0 0 11px}
.map-schematic-body p{line-height:1.7;margin:0 0 13px}
.access-statement{max-width:82ch;margin:0 auto 90px}.access-statement h2{margin:2rem 0 1rem;font-size:1.8rem}.access-statement p{line-height:1.82}
.term-wrap{display:inline;position:relative;white-space:normal;isolation:isolate}
.term-trigger{font:inherit;line-height:inherit;color:inherit;background:transparent;padding:0 2px;border:0;border-bottom:2px dotted #597346;cursor:help;display:inline;min-height:0;vertical-align:baseline;text-align:inherit}
.term-info{font-size:.7em;font-weight:900;display:inline-block;border:1.5px solid #3b5a43;color:#294631;border-radius:50%;width:1.17em;height:1.17em;line-height:1;vertical-align:middle;text-align:center;margin-left:.2em}
.term-pop{font-size:.94rem;font-weight:500;line-height:1.65;color:#152b1d;background:#fffef3;border:2px solid #365c3c;border-radius:7px;box-shadow:0 9px 26px #18332940;padding:12px 15px;min-width:min(260px,80vw);width:max-content;max-width:min(390px,84vw);position:absolute;bottom:calc(100% + 10px);left:0;z-index:120;display:none;white-space:normal;text-align:left}
.term-wrap:hover .term-pop,.term-wrap:focus-within .term-pop,.term-wrap.is-open .term-pop{display:block}
.term-wrap.is-dismissed .term-pop{display:none!important}
.term-trigger:hover,.term-trigger[aria-expanded="true"]{background:#dce9d8;color:#123b20}
:where(.page-content p,.long-read p,.town-section p,.learning-module p) a:not(.map-action){text-decoration:underline;text-underline-offset:.18em}
:where(.map-resource-card,.map-schematic,.learning-card,.feature-card,.field-photo){transition:transform .3s ease,box-shadow .3s ease}
@media(hover:hover) and (prefers-reduced-motion:no-preference){:where(.map-resource-card,.map-schematic,.learning-card,.feature-card,.field-photo):hover{transform:translateY(-3px);box-shadow:0 10px 28px #20382822}}
html[data-erebe-reading="true"]{--erebe-readable:#fffff6}html[data-erebe-reading="true"] body{background:#fffff6!important}html[data-erebe-reading="true"] :where(.long-read,.page-content,.town-shell,.access-statement) p{max-width:75ch;line-height:1.95!important;letter-spacing:.015em;word-spacing:.06em}html[data-erebe-reading="true"] :where(.page-content,.long-read) :is(p,li){margin-bottom:1.15em}
html[data-erebe-contrast="true"] body{background:#fff!important;color:#111!important}
html[data-erebe-contrast="true"] :where(.page-content,.page-intro,.town-intro,.map-resource-card,.map-jump,.map-resource-section,.map-access-note,.learning-card,.game-panel,.reading-highlight,.access-statement,.town-lede,.town-toc,.town-section,.map-schematic,.map-schematic-body,.erebe-gallery-teaser,.answer-guide){background:#fff!important;color:#111!important;border-color:#222!important}
html[data-erebe-contrast="true"] :where(h1,h2,h3,h4,p,li,span,figcaption){text-shadow:none!important}
html[data-erebe-contrast="true"] :where(.page-content,.page-intro,.town-shell,.access-statement) a:not(.map-action){color:#073eae!important;text-decoration:underline!important}
html[data-erebe-contrast="true"] .map-action{background:#073b28!important;color:#fff!important;border-color:#073b28!important}
html[data-erebe-contrast="true"] .term-trigger{color:#111!important;border-bottom-color:#073eae!important}
html[data-erebe-contrast="true"] .term-pop{background:#fff!important;color:#111!important;border-color:#000!important}
html[data-erebe-contrast="true"] .site-header,html[data-erebe-contrast="true"] .site-footer{background:#11291e!important;color:#fff!important}
html[data-erebe-contrast="true"] .map-resource-badge{background:#fff!important;color:#111!important;border:1px solid #111}
html[data-erebe-contrast="true"] :where(a,button,summary):focus-visible{outline-color:#ecb71b!important;box-shadow:0 0 0 2px #000!important}
html[data-erebe-motion="true"] *,html[data-erebe-motion="true"] *::before,html[data-erebe-motion="true"] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-erebe-motion="true"] .hero .hero-photo{transform:none!important;will-change:auto!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.hero .hero-photo{animation:none!important;transform:none!important;will-change:auto!important}}
@media(max-width:850px){.map-resource-grid,.map-schematic-grid{grid-template-columns:minmax(0,1fr)}.map-resource-section{padding-block:28px}.map-resource-card{padding:21px}.term-pop{left:auto;right:0}}
@media(max-width:600px){.a11y-settings{margin-left:0}.a11y-settings-panel{right:auto;left:0}.map-jump{padding:15px}.map-resource-head{align-items:flex-start}.map-resource-era{flex-basis:100%}.term-pop{max-width:75vw;right:auto;left:0}}
@media print{.a11y-settings,.map-jump,.map-action{display:none!important}.term-pop{display:none!important}.map-resource-grid,.map-schematic-grid{display:block}.map-resource-card,.map-schematic{break-inside:avoid;margin-bottom:15px}}

:where(.desktop-nav a,.mobile-menu-panel a,.town-links a,.header-cta,.site-footer nav a){min-height:44px;align-items:center}

@media(max-width:600px){.map-jump-links a{width:100%}.a11y-settings>summary{font-size:.86rem}}
