.hero-neural{position:relative;height:65vh;height:65dvh;min-height:480px;max-height:750px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-top:80px}
.hero-neural #map{position:absolute;inset:0;z-index:1;background:#0d1a16}
.hero-neural .map-tint{position:absolute;inset:0;z-index:2;background:rgba(13,26,22,.5);pointer-events:none}
.neural-center{position:absolute;top:clamp(1.5rem,4vw,3rem);left:0;right:0;z-index:10;text-align:center}
.neural-center h1{font-family:"Playfair Display",serif;font-weight:700;color:#fff;font-size:clamp(2rem,4.5vw,3.8rem);line-height:1.1;letter-spacing:-.02em;opacity:0;transform:scale(.92);animation:heroEnter 1s cubic-bezier(.16,1,.3,1) .3s forwards,heroGlow 4s ease-in-out 1.3s infinite;background:transparent;padding:.2em .7em .1em;display:inline-block;border-radius:4px}
.neural-center .subtitle{font-family:"Outfit",sans-serif;font-size:clamp(.55rem,1vw,.8rem);font-weight:500;color:#d4af37;letter-spacing:.35em;text-transform:uppercase;margin-top:.15rem;opacity:0;animation:fadeUp .8s ease .8s forwards}
.town-node{position:absolute;transform:translate(-3px,-50%);z-index:5;display:flex;align-items:center;gap:6px;cursor:default;opacity:.85;background:transparent;padding:4px 2px 3px 0;border-radius:3px}
.town-node .dot{width:6px;height:6px;min-width:6px;background:#d4af37;border-radius:50%;animation:dotGlow var(--glow-dur,3s) ease-in-out infinite;animation-delay:var(--glow-delay,0s)}
.town-node .name{font-family:"Outfit",sans-serif;font-size:clamp(.6rem,1.1vw,.82rem);font-weight:500;color:rgba(255,255,255,.7);white-space:nowrap}
.town-edge{position:absolute;z-index:5;display:flex;align-items:center;gap:4px;opacity:.6;background:transparent;padding:2px 8px;border-radius:3px}
.town-edge .arrow{color:rgba(255,255,255,.5);font-size:.7rem;line-height:1}
.town-edge .name{font-family:"Outfit",sans-serif;font-size:clamp(.55rem,1vw,.75rem);font-weight:500;color:rgba(255,255,255,.45);white-space:nowrap}
.maplibregl-ctrl-attrib,.maplibregl-ctrl-logo{display:none!important}
@keyframes heroEnter{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes heroGlow{0%,100%{text-shadow:0 0 60px rgba(212,175,55,.35),0 0 120px rgba(212,175,55,.12)}50%{text-shadow:0 0 80px rgba(212,175,55,.55),0 0 160px rgba(212,175,55,.2)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes dotGlow{0%,100%{box-shadow:0 0 4px 1px rgba(212,175,55,.3);transform:scale(1)}50%{box-shadow:0 0 14px 4px rgba(212,175,55,.6),0 0 28px 8px rgba(212,175,55,.2);transform:scale(1.3)}}
@media(prefers-reduced-motion:reduce){.neural-center h1,.neural-center .subtitle,.town-node{opacity:1!important;transform:none!important;animation:none!important}}
