:root{
  --navy:#0b1630;--navy-2:#0e1b3a;--ink:#0c1216;--text:#eef6ff;--muted:#a0b6ca;
  --accent:#ff6b3d;--accent2:#ffb24d;--ring:rgba(255,255,255,.1);
  --shadow:0 16px 48px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.35);
  --radius:16px
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;background:radial-gradient(1100px 560px at 12% -8%,#152b4f 0%,transparent 60%),var(--navy);
  color:var(--text);font:16px/1.55 Inter,ui-sans-serif,system-ui,Segoe UI,Roboto,Arial,sans-serif
}
a{color:var(--text);text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}

/* NAV */
.nav{position:sticky;top:0;z-index:100;background:linear-gradient(180deg,rgba(14,27,58,.88),rgba(11,22,48,.78));backdrop-filter:blur(10px);border-bottom:1px solid var(--ring)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 18px}
.brand{display:flex;align-items:center;gap:14px}
.brand .logo{height:44px;width:auto;display:block;filter:drop-shadow(0 6px 18px rgba(255,107,61,.25))}
.brand-title{font-weight:900;letter-spacing:.4px}
.brand-sub{display:block;color:var(--muted);font-size:12px;margin-top:-2px}
.links{display:none;gap:20px;font-weight:600;color:var(--muted)}
@media(min-width:980px){.links{display:flex}}
.links a{opacity:.9}.links a:hover{opacity:1}
.cta{display:flex;gap:12px}
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;border:1px solid var(--ring);background:linear-gradient(180deg,#0f2144,#0b1a36);box-shadow:var(--shadow);color:var(--text);transition:transform .08s ease,box-shadow .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn.primary{border:none;background:linear-gradient(180deg,var(--accent2),var(--accent));color:var(--ink)}
.btn.ghost{background:transparent}

/* HERO */
.hero{padding:60px 0 34px;background:radial-gradient(900px 500px at 20% 0%,rgba(255,107,61,.15) 0%,transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:center}
@media(max-width:980px){.hero-grid{grid-template-columns:1fr}}
h1{font-size:52px;line-height:1.06;margin:0 0 12px}
.grad{background:linear-gradient(90deg,var(--accent2),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.lede{color:var(--muted);max-width:60ch}
.badges{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0 0 0;padding:0;list-style:none;color:var(--muted);font-size:13px}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}

/* MAP CARD */
.map-card{border:1px solid var(--ring);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#0e2249,#0b1f44);box-shadow:var(--shadow)}
.map-top{padding:10px 14px;color:var(--muted);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--ring)}
.map-host{height:380px;position:relative}
.mapboxgl-ctrl,.mapboxgl-ctrl-group{border-radius:10px; box-shadow:var(--shadow)}
.mapboxgl-popup{font:14px/1.4 Inter,system-ui,sans-serif;color:#0b1630}
.mapboxgl-popup-content{border-radius:12px; padding:12px 12px 10px}
.mapboxgl-ctrl-logo{display:none !important}

/* KPI row */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:12px;border-top:1px solid var(--ring)}
.kpi{background:#0b1b36;border:1px dashed var(--ring);border-radius:12px;padding:10px;text-align:center}
.kpi-h{color:var(--muted);font-size:12px}
.kpi-v{font-size:18px;font-weight:900}

/* Panels / Footer */
.panel{padding:50px 0}
.card{background:linear-gradient(180deg,#0f2144,#0b1a36);border:1px solid var(--ring);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.footer{padding:26px 0;background:#09152d;border-top:1px solid var(--ring)}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px}
@media(max-width:980px){.footer-grid{grid-template-columns:1fr}}
.logo-small{height:36px}
.copy{color:#87a0b6;font-size:12px;text-align:center;margin-top:12px}

/* Utility */
.muted{color:var(--muted)}
