:root{--color-navy: #0e1a2e;--color-gold: #a07c3a;--color-cream: #faf8f4;--color-parchment: #f0ece3;--color-navy-muted: rgba(14, 26, 46, .5);--color-border: rgba(14, 26, 46, .1);--color-border-gold: rgba(160, 124, 58, .45);--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, sans-serif;--max-w: 1200px;--px: 48px;--nav-h: 66px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased}body{background:var(--color-cream);color:var(--color-navy);font-family:var(--font-body)}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font:inherit}img,svg{display:block}.site-nav{flex-shrink:0;z-index:400;background:var(--color-cream);border-bottom:.5px solid var(--color-border);transition:background .2s}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;max-width:var(--max-w);margin:0 auto;padding:0 var(--px);height:var(--nav-h)}.logo{display:flex;align-items:center;gap:10px;flex-shrink:0}.logo-text{display:flex;flex-direction:column;line-height:1}.logo-the{font-size:.48rem;font-weight:500;letter-spacing:.28em;color:var(--color-navy-muted);text-transform:uppercase}.logo-name{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--color-navy)}.logo-gold{color:var(--color-gold)}.nav-links{display:flex;align-items:center;gap:28px;flex:1;justify-content:flex-end;margin-right:8px}.nav-link{font-size:.875rem;color:var(--color-navy-muted);transition:color .15s}.nav-link:hover{color:var(--color-navy)}.nav-active{color:var(--color-gold)!important;font-weight:500}.nav-right{display:flex;align-items:center;gap:10px}.btn-primary{display:inline-block;background:var(--color-navy);color:var(--color-cream);padding:11px 26px;border-radius:4px;font-family:var(--font-body);font-size:.875rem;font-weight:500;transition:opacity .15s;white-space:nowrap}.btn-primary:hover{opacity:.82}.nav-theme-toggle{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:.5px solid var(--color-border);color:var(--color-navy-muted);transition:border-color .15s,color .15s;flex-shrink:0}.nav-theme-toggle:hover{color:var(--color-navy);border-color:var(--color-gold)}.nav-theme-toggle .icon-sun{display:none}.nav-theme-toggle .icon-moon,[data-theme=dark] .nav-theme-toggle .icon-sun{display:block}[data-theme=dark] .nav-theme-toggle .icon-moon{display:none}.map-wrap{position:relative;width:100%;height:calc(100dvh - var(--nav-h));isolation:isolate}#map{position:absolute;inset:0}.leaflet-control-attribution{font-family:var(--font-body)!important;font-size:.65rem!important;background:#faf8f4d9!important;backdrop-filter:blur(4px);color:#0e1a2e8c!important;padding:3px 8px!important;border-radius:4px 0 0!important}.leaflet-control-zoom{border:none!important;box-shadow:0 2px 12px #0e1a2e26!important}.leaflet-control-zoom a{background:var(--color-cream)!important;color:var(--color-navy)!important;border:.5px solid var(--color-border)!important;font-family:var(--font-body)!important;width:30px!important;height:30px!important;line-height:28px!important;transition:background .15s!important}.leaflet-control-zoom a:hover{background:var(--color-parchment)!important}.pin-doc{width:30px;height:30px;border-radius:50%;background:#0e1a2e;border:2.5px solid #a07c3a;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px #0e1a2e73;cursor:pointer;transition:transform .15s;font-size:13px;line-height:1}.pin-doc:hover{transform:scale(1.15)}.pin-com{width:13px;height:13px;border-radius:50%;background:#a07c3a;border:1.5px solid rgba(250,248,244,.6);opacity:.8;cursor:pointer;box-shadow:0 1px 6px #00000040;transition:transform .15s,opacity .15s}.pin-com:hover{transform:scale(1.3);opacity:1}.map-legend{position:absolute;bottom:28px;left:16px;z-index:500;background:var(--color-cream);border:.5px solid var(--color-border);border-radius:6px;padding:12px 16px;box-shadow:0 2px 12px #0e1a2e1f;display:flex;flex-direction:column;gap:8px}.legend-row{display:flex;align-items:center;gap:10px}.legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.doc-dot{background:#0e1a2e;border:2px solid #a07c3a;width:14px;height:14px}.com-dot{background:#a07c3a;opacity:.75}.legend-label{font-size:.78rem;color:var(--color-navy-muted)}.info-panel{position:absolute;top:0;right:0;bottom:0;z-index:500;width:360px;max-width:90vw;background:var(--color-cream);border-left:.5px solid var(--color-border);overflow-y:auto;padding:48px 32px 40px;box-shadow:-4px 0 24px #0e1a2e1a;animation:slideIn .2s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-close{position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--color-navy-muted);border:.5px solid var(--color-border);transition:color .15s}.panel-close:hover{color:var(--color-navy)}.panel-badge{display:inline-block;font-size:.62rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--color-gold);border:.5px solid var(--color-border-gold);padding:3px 11px;border-radius:99px;margin-bottom:16px}.panel-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;color:var(--color-navy);margin-bottom:6px;line-height:1.25}.panel-meta{font-size:.78rem;color:var(--color-navy-muted);margin-bottom:20px}.panel-divider{border:none;border-top:.5px solid var(--color-border);margin:20px 0}.panel-body{font-size:.9rem;font-weight:300;line-height:1.8;color:var(--color-navy)}.panel-submitter{font-size:.82rem;color:var(--color-navy-muted);font-style:italic;margin-top:16px}.panel-link{display:inline-block;margin-top:24px;font-size:.82rem;font-weight:500;color:var(--color-gold);border-bottom:.5px solid var(--color-border-gold);padding-bottom:2px;transition:opacity .15s}.panel-link:hover{opacity:.7}.panel-type-badge{display:inline-block;font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:2px 9px;border-radius:99px;margin-bottom:6px}.panel-type-badge.documented{background:#0e1a2e12;color:var(--color-navy);border:.5px solid var(--color-border)}.panel-type-badge.community{background:#a07c3a1a;color:#7a5e20;border:.5px solid var(--color-border-gold)}.geo-status{position:absolute;bottom:28px;right:16px;z-index:500;background:var(--color-cream);border:.5px solid var(--color-border);border-radius:4px;padding:6px 12px;font-size:.75rem;color:var(--color-navy-muted);box-shadow:0 2px 8px #0e1a2e1a}[data-theme=dark] body{background:#0d1422;color:#e2ddd5}[data-theme=dark] .site-nav{background:#0d1422;border-bottom-color:#e2ddd514}[data-theme=dark] .logo-the{color:#e2ddd566}[data-theme=dark] .logo-name{color:#e2ddd5}[data-theme=dark] .logo svg rect{fill:#ffffff1a!important}[data-theme=dark] .nav-link{color:#e2ddd580}[data-theme=dark] .nav-link:hover{color:#e2ddd5}[data-theme=dark] .nav-theme-toggle{border-color:#e2ddd51f;color:#e2ddd580}[data-theme=dark] .nav-theme-toggle:hover{color:#e2ddd5;border-color:var(--color-gold)}[data-theme=dark] .map-legend{background:#141d2f;border-color:#e2ddd514}[data-theme=dark] .legend-label{color:#e2ddd580}[data-theme=dark] .info-panel{background:#141d2f;border-left-color:#e2ddd514;box-shadow:-4px 0 24px #0000004d}[data-theme=dark] .panel-close{border-color:#e2ddd51a;color:#e2ddd580}[data-theme=dark] .panel-close:hover,[data-theme=dark] .panel-title{color:#e2ddd5}[data-theme=dark] .panel-meta,[data-theme=dark] .panel-submitter{color:#e2ddd580}[data-theme=dark] .panel-body{color:#e2ddd5}[data-theme=dark] .panel-divider{border-top-color:#e2ddd514}[data-theme=dark] .panel-type-badge.documented{background:#e2ddd512;color:#e2ddd5;border-color:#e2ddd51f}[data-theme=dark] .geo-status{background:#141d2f;border-color:#e2ddd514;color:#e2ddd580}[data-theme=dark] .leaflet-control-attribution{background:#0e162ad9!important;color:#e2ddd573!important}[data-theme=dark] .leaflet-control-zoom a{background:#141d2f!important;color:#e2ddd5!important;border-color:#e2ddd514!important}[data-theme=dark] .leaflet-control-zoom a:hover{background:#1a2540!important}[data-theme=dark] .doc-dot{background:#ffffff26!important}[data-theme=dark] .pin-doc{background:#1a2540!important}.nav-more{position:relative}.nav-more-btn{display:flex;align-items:center;gap:4px}.nav-more-btn svg{transition:transform .15s;flex-shrink:0}.nav-more-btn[aria-expanded=true] svg{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:calc(100% + 12px);right:0;background:var(--color-cream);border:.5px solid var(--color-border);border-radius:6px;padding:8px 0;min-width:190px;box-shadow:0 4px 24px #0e1a2e1f;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .15s,transform .15s;z-index:300}.nav-dropdown.open{opacity:1;pointer-events:auto;transform:translateY(0)}.dropdown-link{display:block;padding:9px 18px;font-size:.875rem;color:var(--color-navy-muted);transition:color .15s,background .15s}.dropdown-link:hover{color:var(--color-navy);background:var(--color-parchment)}.nav-hamburger{display:none;width:34px;height:34px;align-items:center;justify-content:center;border-radius:4px;border:.5px solid var(--color-border);color:var(--color-navy-muted);transition:color .15s;flex-shrink:0}.nav-hamburger:hover{color:var(--color-navy)}.mobile-menu{position:fixed;inset:0;z-index:600;pointer-events:none}.mobile-menu.open{pointer-events:auto}.mobile-backdrop{position:absolute;inset:0;background:#0e1a2e66;opacity:0;transition:opacity .2s;border:none;width:100%;height:100%;cursor:default}.mobile-menu.open .mobile-backdrop{opacity:1}.mobile-panel{position:absolute;top:0;right:0;bottom:0;width:280px;max-width:85vw;background:var(--color-cream);display:flex;flex-direction:column;transform:translate(100%);transition:transform .25s ease;box-shadow:-4px 0 24px #0e1a2e26}.mobile-menu.open .mobile-panel{transform:translate(0)}.mobile-panel-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:.5px solid var(--color-border)}.mobile-panel-title{font-family:var(--font-display);font-size:.9rem;color:var(--color-navy)}.mobile-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;border:.5px solid var(--color-border);color:var(--color-navy-muted)}.mobile-close:hover{color:var(--color-navy)}.mobile-nav{flex:1;overflow-y:auto}.mobile-nav-link{display:block;padding:14px 20px;font-size:.9rem;color:var(--color-navy);border-bottom:.5px solid var(--color-border);transition:background .15s,color .15s}.mobile-nav-link:hover{background:var(--color-parchment);color:var(--color-gold)}.mobile-divider{height:0;border-top:.5px solid var(--color-border);margin:4px 0}.mobile-submit{padding:20px;border-top:.5px solid var(--color-border)}.site-footer{background:var(--color-navy);border-top:.5px solid var(--color-border-gold);padding:32px var(--px);flex-shrink:0}.footer-inner{max-width:var(--max-w);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-text{font-size:.9rem;color:#faf8f4a6}.footer-cta{display:inline-block;padding:10px 24px;border-radius:4px;background:var(--color-gold);color:var(--color-cream);font-size:.875rem;font-weight:500;transition:opacity .15s;white-space:nowrap}.footer-cta:hover{opacity:.85}[data-theme=dark] .nav-hamburger{border-color:#e2ddd51f;color:#e2ddd580}[data-theme=dark] .nav-hamburger:hover{color:#e2ddd5}[data-theme=dark] .nav-dropdown{background:#141d2f;border-color:#e2ddd514;box-shadow:0 4px 24px #0000004d}[data-theme=dark] .dropdown-link{color:#e2ddd580}[data-theme=dark] .dropdown-link:hover{color:#e2ddd5;background:#e2ddd50d}[data-theme=dark] .mobile-panel{background:#141d2f}[data-theme=dark] .mobile-panel-header{border-bottom-color:#e2ddd514}[data-theme=dark] .mobile-panel-title{color:#e2ddd5}[data-theme=dark] .mobile-close{border-color:#e2ddd51a;color:#e2ddd580}[data-theme=dark] .mobile-nav-link{color:#e2ddd5;border-bottom-color:#e2ddd50f}[data-theme=dark] .mobile-nav-link:hover{background:#e2ddd50d}[data-theme=dark] .mobile-divider,[data-theme=dark] .mobile-submit{border-top-color:#e2ddd514}@media(max-width:900px){:root{--px: 24px}.nav-hamburger{display:flex}.nav-links{display:none}.info-panel{width:100%;border-left:none;border-top:.5px solid var(--color-border);top:auto;height:60%}@keyframes slideIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}}
