
*{box-sizing:border-box}html,body{margin:0;padding:0}
body{font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;
     color:#e2e8f0;background:#0b1326;line-height:1.6}
a{color:#7dd3fc}a:hover{color:#38bdf8}
.container{max-width:1200px;margin:0 auto;padding:20px}

header.site{position:sticky;top:0;z-index:1000;background:#0a1020;border-bottom:1px solid #1e293b}
.navwrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px}
.brand a{display:flex;align-items:center;gap:10px;color:#e2e8f0;text-decoration:none;font-weight:800}
nav.main ul{display:flex;gap:14px;list-style:none;margin:0;padding:0}
nav.main a{color:#cbd5e1;text-decoration:none;padding:8px 10px;border-radius:8px}
nav.main a:hover{background:#0f172a}
.btn, .button{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(90deg,#38bdf8,#22d3ee);color:#0b1020;
  border:none;padding:10px 14px;border-radius:999px;font-weight:700;text-decoration:none;cursor:pointer}
.btn.outline{background:transparent;border:1px solid #334155;color:#cbd5e1}
footer.site{border-top:1px solid #1e293b;padding:24px;color:#9fb1c8;background:#0a1020}

.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:center;padding:18px;border:1px solid #1e293b;border-radius:20px;background:radial-gradient(1000px 400px at 5% 0%, rgba(56,189,248,.10), transparent 60%), #0a1020}
.hero h1{margin:.2em 0;font-size:clamp(26px,3vw,42px);line-height:1.1}
.hero p{color:#9fb1c8;margin:.4em 0 1em}
.hero .cta{display:flex;gap:10px;flex-wrap:wrap}
.hero .img{min-height:220px;border:1px solid #1e293b;border-radius:16px;background:#0b1020;display:grid;place-items:center}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.tag{padding:6px 10px;border-radius:999px;border:1px solid #233047;background:#0b1020;color:#cbd5e1;font-size:12px}

.section{margin:28px 0}
.section h2{margin:0 0 10px;font-size:20px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.card{border:1px solid #1f2a41;border-radius:16px;overflow:hidden;background:#0f172a}
.card .thumb{aspect-ratio:16/9;background:#0b1020}
.card .content{padding:10px}
.card .title{font-weight:700}
.card .meta{color:#94a3b8;font-size:13px}

.mapwrap{border:1px solid #1f2a41;border-radius:16px;overflow:hidden}
.mapbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:10px;border-bottom:1px solid #1f2a41;background:#0b1020}
#hazardsMap{height:480px}
.key{display:flex;gap:18px;flex-wrap:wrap}
.key .key-col{min-width:200px}
.key .key-row{display:flex;align-items:center;gap:8px;margin:4px 0;color:#cbd5e1}
.key .sw{display:inline-block;width:14px;height:14px;border-radius:4px;border:1px solid #0b1020}

.mobile-toggle{display:none;background:transparent;border:1px solid #334155;color:#e2e8f0;padding:8px 10px;border-radius:8px}
@media (max-width: 900px){
  .hero{grid-template-columns:1fr;gap:16px}
  .grid4{grid-template-columns:repeat(2,1fr)}
  nav.main{position:fixed;inset:60px 0 auto 0;background:#0a1020;border-bottom:1px solid #1e293b;display:none;padding:10px}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;gap:6px}
  .mobile-toggle{display:inline-flex}
}
