/* One map, shared with the public guide and the hosted map in the local app. */
.skip-link{position:absolute;left:15px;top:-100px;z-index:50;background:#eee9dd;color:#10160f;padding:14px}.skip-link:focus{top:12px}
#map-status{font-size:19px;color:var(--paper)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.collection-intro{color:var(--muted);line-height:1.5;margin:0}.collection-links{display:flex;gap:12px;flex-wrap:wrap}.collection-links a{border:1px solid var(--line);border-radius:6px;padding:13px 16px;text-decoration:none;white-space:nowrap;min-height:46px;display:flex;align-items:center}
.map-search{position:relative;flex:1 1 260px;max-width:420px}.map-search svg{position:absolute;left:13px;top:13px;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.7}.map-search input{width:100%;height:46px;color:var(--paper);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 14px 10px 42px}.map-toolbar .region-filters{padding-top:0}
.selected-actions{display:flex;gap:10px;flex-wrap:wrap}.selected-actions button{min-height:46px;padding:12px 18px;background:transparent;border:1px solid var(--brass);border-radius:5px;color:var(--brass)}#selected-description{color:var(--muted);line-height:1.5}.route-fields{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}.route-actions{grid-column:1/-1;display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.route-actions label{width:130px}.route-actions button{min-height:46px}#route-clear{padding:10px;background:transparent;border:1px solid var(--line);border-radius:5px}#route-result{border-top:1px solid var(--line);margin-top:16px;padding:12px 0}#route-result ol{max-height:240px;overflow:auto;padding-left:25px;line-height:1.5;font-size:14px}#route-result li{margin:0 0 12px;padding-left:4px}#route-summary{font-size:19px;font-weight:bold}.step-distance{display:block;color:var(--muted);font-size:12px}.collection-footnote{margin-top:24px;color:var(--muted);font-size:12px;line-height:1.6}
:root{color-scheme:dark;--ink:#10160f;--panel:#192018;--paper:#eee9dd;--muted:#b0b5a9;--brass:#c6ad75;--line:#3e4738;font-family:Arial,Helvetica,sans-serif;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button,select{cursor:pointer}button,a,input,select,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--brass)}button{color:inherit}a{color:var(--brass)}button:disabled{cursor:wait;opacity:.6}[hidden]{display:none!important}
.collection{max-width:1600px;margin:0 auto;padding:clamp(20px,3.5vw,54px)}.collection-header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--brass);font-size:12px;font-weight:bold}.collection-header h1{font:normal clamp(36px,4.4vw,62px)/1.08 Georgia,serif;margin:10px 0}.intro{color:var(--muted);max-width:720px;line-height:1.5;margin:0}.header-links{display:flex;gap:12px;flex-wrap:wrap}.header-links a{border:1px solid var(--line);border-radius:6px;padding:13px 16px;text-decoration:none;white-space:nowrap;min-height:46px;display:flex;align-items:center}
.map-toolbar{display:flex;gap:18px;align-items:center;margin:26px 0 20px}.search-field{flex:1 1 260px;max-width:420px}.search-field span{display:block;font-size:12px;color:var(--muted);margin:0 0 6px}.search-field input{width:100%;height:46px;color:var(--paper);background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:10px 14px}.region-filters{display:flex;gap:7px;flex-wrap:wrap;align-items:center;padding-top:20px}.region-filters button{min-height:44px;background:transparent;border:1px solid var(--line);border-radius:6px;color:var(--brass);padding:10px 13px}.region-filters button[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.region-filters .region-count{font-size:11px;opacity:.7;margin-left:6px}
.collection-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:28px;align-items:start}.map-section{min-width:0}.map-wrap{position:relative;border:1px solid var(--line);border-radius:8px;overflow:hidden;height:clamp(420px,61vh,720px);background:#242c20}.map-wrap #field-map{width:100%;height:100%;color:#1a2118}.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:var(--panel);text-align:center}.map-fallback>span{font:56px Georgia,serif;color:var(--brass)}.map-fallback p{max-width:440px;color:var(--muted);line-height:1.5}.map-fallback strong{font-size:20px;max-width:500px;line-height:1.5}.map-fallback button,.secondary-action{border:1px solid var(--brass);background:transparent;color:var(--brass);border-radius:5px;padding:12px 18px;min-height:46px}
.map-layers{position:absolute;top:12px;left:12px;display:flex;gap:0;margin:0;padding:3px;border:1px solid #8b927e;background:rgba(20,27,18,.95);border-radius:7px;box-shadow:0 2px 7px #0005}.map-layers legend{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.map-layers label{position:relative;display:flex;align-items:center;cursor:pointer;min-height:42px;padding:9px 12px;border-radius:4px;font-size:13px;color:var(--paper)}.map-layers label:has(input:checked){background:var(--paper);color:var(--ink)}.map-layers input{position:absolute;opacity:0;width:1px;height:1px}.map-layers label:has(input:focus-visible){outline:3px solid var(--brass);outline-offset:3px}
.fit-map{position:absolute;top:12px;right:12px;width:46px;height:48px;border:1px solid #8b927e;border-radius:7px;color:var(--paper);background:rgba(20,27,18,.95);display:grid;place-items:center;box-shadow:0 2px 7px #0005}.fit-map svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7}.map-note,.route-access{font-size:12px;line-height:1.5;color:var(--muted)}.map-note{margin:10px 0 0}.map-pin{position:absolute;transform:translate(-50%,-50%);min-width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;z-index:2}.pin-face{width:31px;height:31px;display:grid;place-items:center;border:2px solid #e9d59f;border-radius:50%;background:#243521;color:#fff9e9;font-size:12px;font-weight:bold;box-shadow:0 2px 5px #0007;position:relative}.map-pin:hover .pin-face,.map-pin[aria-pressed=true] .pin-face{background:#f6f0dd;color:#15200f;border-color:#987831;transform:scale(1.13)}.pin-connector{position:absolute;pointer-events:none;left:50%;top:50%;width:var(--connector-length,0);height:2px;background:#94763d;transform-origin:0 50%;transform:rotate(var(--connector-angle,0deg));z-index:-1}.map-region-pin{z-index:3;min-width:120px}.map-region-pin .pin-face{border-radius:6px;width:auto;height:auto;min-height:36px;white-space:nowrap;padding:8px 12px;background:#f1ebd8;color:#182013;gap:8px;display:flex;font-size:13px}.map-region-pin small{font-size:11px;font-weight:normal;color:#525b47}
.selected-story{margin-top:18px;border:1px solid var(--line);border-radius:7px;padding:20px;background:var(--panel)}.selected-story h2{font:normal 29px/1.15 Georgia,serif;margin:8px 0}.selected-story>p:not(.eyebrow){color:var(--muted);line-height:1.5;margin:8px 0 18px}.story-actions{display:flex;gap:10px;flex-wrap:wrap}.primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 18px;border:1px solid var(--paper);border-radius:5px;background:var(--paper);color:var(--ink);font-weight:bold;text-decoration:none}.story-actions button{min-height:46px;padding:12px 18px;background:transparent;border:1px solid var(--brass);border-radius:5px;color:var(--brass)}
.directions-panel{margin-top:20px;border:1px solid var(--line);border-radius:7px;background:var(--panel);padding:0 20px}.directions-panel summary{font-size:17px;color:var(--paper);padding:18px 0;min-height:56px;cursor:pointer}.directions-panel form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.directions-panel label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);min-width:0}.directions-panel select{height:46px;min-width:0;width:100%;background:var(--ink);color:var(--paper);border:1px solid var(--line);border-radius:4px;padding:8px}.route-controls{grid-column:1/-1;display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.route-controls label{width:130px}.route-controls button{min-height:46px}.directions-panel>p,.directions-panel>a{margin:14px 0;line-height:1.5}.directions-panel>a{display:inline-flex;padding:9px 0;min-height:44px}.route-result{border-top:1px solid var(--line);margin-top:16px;padding:12px 0}.route-result h3{font-size:19px;margin:5px 0 10px}.route-result ol{max-height:240px;overflow:auto;padding-left:25px;line-height:1.5;font-size:14px}.route-result li{margin:0 0 12px;padding-left:4px}.route-result .step-distance{display:block;color:var(--muted);font-size:12px}
.list-header{display:flex;justify-content:space-between;gap:16px;align-items:baseline;padding:3px 0 16px;border-bottom:1px solid var(--line)}.list-header h2{font-size:18px;font-weight:normal;margin:0}.list-header span{color:var(--muted);font-size:13px}.study-list{max-height:calc(61vh + 85px);min-height:280px;overflow:auto;overscroll-behavior:contain;scrollbar-color:#58634b transparent}.study-group{margin:0}.study-group h3{position:sticky;top:0;background:var(--ink);z-index:1;margin:0;padding:15px 8px 10px;color:var(--brass);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.study{display:grid;grid-template-columns:30px minmax(0,1fr) 44px;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding:7px 0}.study[aria-current=true]{background:#242f20}.study-number{color:var(--brass);font-size:11px;text-align:center}.study-locate{border:0;background:transparent;text-align:left;min-height:76px;padding:10px 6px;color:var(--paper)}.study-locate strong{display:block;font:normal clamp(20px,1.6vw,26px)/1.2 Georgia,serif}.study-locate small{display:block;color:var(--muted);font-size:12px;line-height:1.4;margin-top:7px}.study-play{display:grid;place-items:center;width:44px;height:48px;text-decoration:none;font-size:18px;border-radius:4px}.study-play:hover{background:#2c3727}.study-locate:hover strong{text-decoration:underline;text-decoration-color:var(--brass);text-underline-offset:4px}.no-results{padding:25px 8px;color:var(--muted);line-height:1.6}
.collection-footer{margin-top:24px;color:var(--muted);font-size:12px;line-height:1.6}.collection-footer a{white-space:nowrap}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#story-dialog{position:fixed;inset:0;width:min(1460px,98vw);height:96dvh;max-width:98vw;max-height:96dvh;border:1px solid var(--line);border-radius:7px;padding:0;background:var(--ink);color:var(--paper);overflow:hidden}#story-dialog::backdrop{background:#000d}#close-story{position:absolute;z-index:3;top:8px;right:8px;min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:5px;background:#182016;color:var(--paper);font-size:24px}#story-frame-wrap{width:100%;height:100%}#story-frame-wrap iframe{width:100%;height:100%;border:0}.embedded-collection .collection{padding:24px}.embedded-collection .collection-header{margin-top:0}
@media(max-width:1050px){.collection-layout{grid-template-columns:minmax(0,1.45fr) minmax(270px,1fr);gap:20px}.map-toolbar{align-items:flex-start}.region-filters{padding-top:0}.collection-header{align-items:flex-start}.map-layers label{padding:9px}.story-panel .study-locate strong{font-size:21px}}
@media(max-width:720px){.collection{padding:20px 14px}.collection-header{display:block}.collection-header h1{font-size:40px}.header-links{margin-top:18px}.header-links a{padding:10px 13px}.map-toolbar{display:block;margin-top:22px}.search-field{max-width:none}.region-filters{margin-top:13px;gap:6px}.region-filters button{padding:9px 11px}.collection-layout{grid-template-columns:1fr;gap:26px}.map-wrap{height:clamp(340px,56vh,530px)}.map-layers{left:9px;top:9px}.fit-map{right:9px;top:9px}.map-layers label{font-size:12px;padding:9px}.study-list{max-height:none}.study-locate strong{font-size:25px}.study-locate{min-height:80px}.selected-story{padding:17px}.directions-panel{padding:0 15px}.directions-panel form{grid-template-columns:1fr}.route-controls{grid-column:auto}.story-panel{scroll-margin-top:15px}.map-note{font-size:11px}#story-dialog{width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;border-radius:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:720px){.collection-links{margin-top:18px}.collection-links a{padding:10px 13px}.map-search{display:block;max-width:none}.route-fields{grid-template-columns:1fr}.map-toolbar .region-filters{padding-top:0}.collection-intro{max-width:480px}.selected-actions{gap:8px}}
