@import "https://fonts.googleapis.com/css2?family=Rajdhani:wght@500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#060908;--bg-base:#0d120b;--bg-surface:#131a10;--bg-raised:#1b2417;--border-dim:#64823724;--border-mid:#6482374d;--border-bright:#82af3ca6;--text-primary:#b4c98c;--text-secondary:#587040;--accent:#7db82c;--accent-amber:#c49028}html,body{height:100%}body{background-color:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Rajdhani,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5}.landing-body{flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;display:flex;position:relative;overflow:hidden}.landing-body:before{content:"";pointer-events:none;background-image:linear-gradient(#64823711 1px,#0000 1px),linear-gradient(90deg,#64823711 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(90% 90%,#000 10%,#0000 80%);mask-image:radial-gradient(90% 90%,#000 10%,#0000 80%)}.landing-body:after{content:"";pointer-events:none;background:radial-gradient(70% 60% at 50% 45%,#7db82c17 0%,#0000 65%);position:absolute;inset:0}.hero-reticle{width:min(560px,90vw);height:min(560px,90vw);color:var(--accent);opacity:.065;pointer-events:none;z-index:0;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.landing-content{z-index:1;flex-direction:column;align-items:center;gap:44px;width:100%;max-width:680px;padding:48px 24px;display:flex;position:relative}.hero-text{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.hero-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:4px;font-size:.68rem;font-weight:600;display:inline-flex}.hero-eyebrow:before,.hero-eyebrow:after{content:"";background:var(--accent);opacity:.55;width:24px;height:1px;display:block}.hero-text h1{letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary);text-shadow:0 0 80px #7db82c29;font-size:clamp(3.2rem,11vw,6rem);font-weight:700;line-height:1}.hero-subtitle{letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-size:clamp(.72rem,2vw,.85rem);font-weight:500}.map-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;width:100%;display:grid}.map-card{background:var(--bg-surface);border:1px solid var(--border-dim);color:inherit;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));flex-direction:column;padding:24px 22px 20px;text-decoration:none;transition:background .18s,border-color .18s;display:flex;position:relative;overflow:hidden}.map-card:before{content:"";border-top:1px solid var(--accent);border-left:1px solid var(--accent);opacity:.4;width:13px;height:13px;transition:opacity .18s;position:absolute;top:6px;left:6px}.map-card:after{content:"";border-bottom:1px solid var(--accent);border-right:1px solid var(--accent);opacity:.4;width:13px;height:13px;transition:opacity .18s;position:absolute;bottom:6px;right:6px}.map-card:hover{background:var(--bg-raised);border-color:var(--border-bright)}.map-card:hover:before,.map-card:hover:after{opacity:1}.map-card-badge{letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--border-mid);width:fit-content;color:var(--accent);background:#7db82c17;align-items:center;margin-bottom:10px;padding:3px 8px;font-size:.6rem;font-weight:700;display:inline-flex}.map-card h2{letter-spacing:.05em;text-transform:uppercase;color:var(--text-primary);margin-bottom:5px;font-size:clamp(1.8rem,5vw,2.4rem);font-weight:700;line-height:1}.map-card-desc{letter-spacing:.05em;color:var(--text-secondary);flex:1;font-size:.8rem;font-weight:500}.map-card-arrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-top:18px;font-size:.75rem;font-weight:700;transition:gap .18s;display:flex}.map-card-arrow:after{content:"──›"}.map-card:hover .map-card-arrow{gap:12px}@media (width<=540px){.landing-content{gap:32px;padding:36px 16px}.map-grid{gap:10px}}.map-header{background:var(--bg-surface);border-bottom:1px solid var(--border-mid);flex-shrink:0;align-items:center;gap:12px;height:50px;padding:0 14px;display:flex;position:relative;box-shadow:0 1px #7db82c26,0 2px 12px #00000080}.map-header:before{content:"";background:var(--accent);opacity:.7;width:2px;position:absolute;top:8px;bottom:8px;left:0}.back-link{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border-dim);background:var(--bg-base);white-space:nowrap;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-family:Rajdhani,system-ui,sans-serif;font-size:.74rem;font-weight:600;text-decoration:none;transition:color .15s,border-color .15s;display:inline-flex}.back-link:hover{color:var(--text-primary);border-color:var(--border-mid)}.back-link svg{flex-shrink:0}.map-header-divider{background:var(--border-dim);flex-shrink:0;width:1px;height:16px}.map-header h1{letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:clamp(.78rem,2.5vw,.95rem);font-weight:700;overflow:hidden}.map-wrapper{flex:1;min-height:0;position:relative;overflow:hidden}.map-legend{z-index:1000;border:1px solid var(--border-mid);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#060908eb;min-width:138px;padding:8px 13px 10px;position:absolute;bottom:16px;left:14px}.map-legend:before{content:"";border-top:1px solid var(--accent);border-left:1px solid var(--accent);opacity:.55;width:9px;height:9px;position:absolute;top:5px;left:5px}.map-legend:after{content:"";border-bottom:1px solid var(--accent);border-right:1px solid var(--accent);opacity:.55;width:9px;height:9px;position:absolute;bottom:5px;right:5px}.legend-header{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--border-dim);margin-bottom:8px;padding-bottom:6px;font-size:.6rem;font-weight:700}.legend-item{align-items:center;gap:9px;padding:3px 0;display:flex}.legend-item+.legend-item{border-top:1px solid var(--border-dim)}.legend-icon{object-fit:contain;flex-shrink:0;width:16px;height:23px}.legend-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-primary);font-size:.76rem;font-weight:600}@media (width<=480px){.map-legend{min-width:118px;padding:6px 10px 8px;bottom:10px;left:8px}.legend-icon{width:13px;height:18px}.legend-label{font-size:.68rem}}.leaflet-control-zoom{overflow:hidden;border:1px solid var(--border-mid)!important;border-radius:0!important;box-shadow:0 2px 12px #00000080!important}.leaflet-control-zoom a{background:var(--bg-surface)!important;width:32px!important;height:32px!important;color:var(--text-primary)!important;border-bottom:1px solid var(--border-dim)!important;border-radius:0!important;font-family:monospace!important;font-size:16px!important;font-weight:400!important;line-height:32px!important;transition:background .15s,color .15s!important}.leaflet-control-zoom a:last-child{border-bottom:none!important}.leaflet-control-zoom a:hover{background:var(--bg-raised)!important;color:var(--accent)!important}.leaflet-popup-content-wrapper{background:var(--bg-surface)!important;color:var(--text-primary)!important;border:1px solid var(--border-mid)!important;letter-spacing:.06em!important;text-transform:uppercase!important;border-radius:0!important;padding:0!important;font-family:Rajdhani,system-ui,sans-serif!important;font-size:.9rem!important;font-weight:600!important;box-shadow:0 4px 20px #0009!important}.leaflet-popup-content{margin:10px 14px!important}.leaflet-popup-tip{background:var(--bg-surface)!important;box-shadow:none!important}.leaflet-popup-close-button{color:var(--text-secondary)!important;padding:4px 6px!important;font-size:18px!important}.leaflet-popup-close-button:hover{color:var(--text-primary)!important}.leaflet-control-fullscreen a{background:var(--bg-surface)!important;color:var(--text-primary)!important;border:1px solid var(--border-mid)!important;border-radius:0!important;box-shadow:0 2px 12px #00000080!important}.leaflet-control-fullscreen a:hover{background:var(--bg-raised)!important;color:var(--accent)!important}
