:root{
  --navy:#082a57;
  --blue:#0b79d0;
  --cyan:#18a8cf;
  --teal:#19b9a5;
  --ink:#0f1f33;
  --muted:#66758a;
  --line:#dfe8f2;
  --soft:#f4f8fc;
  --white:#ffffff;
  --shadow:0 20px 50px rgba(8,42,87,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 40px));margin:auto}

.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(223,232,242,.9)}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{display:flex;align-items:center;height:100%}.brand img{width:185px;max-height:72px;height:auto;object-fit:contain}
.nav{display:flex;gap:26px;font-size:14px;font-weight:600;color:#29425f}
.nav a:hover{color:var(--blue)}
.menu-toggle{display:none;border:0;background:none;font-size:28px;color:var(--navy)}

.hero{position:relative;overflow:hidden;background:
  radial-gradient(circle at 85% 20%, rgba(25,185,165,.14), transparent 34%),
  radial-gradient(circle at 65% 35%, rgba(11,121,208,.12), transparent 32%),
  linear-gradient(180deg,#f9fcff 0%,#eef7ff 100%);
border-bottom:1px solid var(--line)}
.hero::before{content:"";position:absolute;inset:auto -100px -220px auto;width:620px;height:620px;border:1px solid rgba(11,121,208,.12);border-radius:50%}
.hero-grid{min-height:610px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:70px}
.eyebrow{display:inline-block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--blue);margin-bottom:16px}
.hero h1,.section h2{margin:0;line-height:1.05;color:var(--navy);letter-spacing:-.04em}
.hero h1{font-size:clamp(44px,6vw,74px);max-width:760px}
.hero-copy>p{font-size:19px;line-height:1.7;color:#52667e;max-width:700px;margin:24px 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:10px;font-size:14px;font-weight:700}
.btn-primary{background:linear-gradient(135deg,var(--navy),var(--blue));color:white;box-shadow:0 12px 26px rgba(11,121,208,.2)}
.btn-secondary{background:white;border:1px solid var(--line);color:var(--navy)}
.trust-row{display:flex;gap:20px;flex-wrap:wrap;margin-top:34px;color:#6c7e91;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}

.hero-panel{background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.95);box-shadow:var(--shadow);padding:26px;border-radius:24px;min-height:390px;position:relative;overflow:hidden}
.hero-panel::after{content:"";position:absolute;width:240px;height:240px;border-radius:50%;right:-90px;top:-80px;background:linear-gradient(135deg,rgba(11,121,208,.18),rgba(25,185,165,.18))}
.mini-card{position:relative;z-index:2;background:white;border:1px solid var(--line);padding:20px;border-radius:16px}
.mini-card small{display:block;color:var(--muted);margin-bottom:8px}
.mini-card strong{font-size:26px;color:var(--navy)}
.mini-card p{margin:8px 0 0;color:#6a7d91;line-height:1.5}
.sparkline{height:120px;margin:24px 0;border-radius:14px;background:
 linear-gradient(180deg,rgba(11,121,208,.16),rgba(11,121,208,0)),
 linear-gradient(130deg,transparent 44%,rgba(11,121,208,.0) 45%),
 repeating-linear-gradient(0deg,transparent 0 29px,rgba(8,42,87,.07) 30px);
 position:relative;overflow:hidden}
.sparkline::before{content:"";position:absolute;left:5%;right:5%;top:54%;height:4px;background:linear-gradient(90deg,var(--blue),var(--teal));transform:skewY(-8deg);border-radius:4px}
.metric-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.metric-grid div{background:#f8fbfe;border:1px solid var(--line);border-radius:12px;padding:14px}
.metric-grid span{display:block;font-size:12px;color:var(--muted);margin-bottom:5px}
.metric-grid b{color:var(--navy)}

.section{padding:86px 0}
.section-soft{background:var(--soft)}
.section-dark{background:linear-gradient(135deg,#06234a,#0b4f82);color:white}
.section-head{display:flex;justify-content:space-between;gap:50px;align-items:flex-end;margin-bottom:36px}
.section h2{font-size:clamp(34px,4vw,50px)}
.section-head p{max-width:520px;color:var(--muted);line-height:1.7;margin:0}

.topic-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.topic-card{padding:24px;border:1px solid var(--line);border-radius:18px;background:white;transition:.2s ease;min-height:210px}
.topic-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#cfe3f5}
.icon{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#e6f3ff,#e7fbf7);color:var(--blue);font-weight:800;margin-bottom:30px}
.topic-card h3{margin:0 0 9px;color:var(--navy);font-size:18px}
.topic-card p{margin:0;color:var(--muted);line-height:1.6;font-size:14px}

.dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}
.dashboard-card{background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 32px rgba(8,42,87,.05)}
.dashboard-visual{height:190px;position:relative;overflow:hidden}
.dashboard-visual::before,.dashboard-visual::after{content:"";position:absolute;border-radius:16px}
.dashboard-visual::before{inset:28px 24px;background:rgba(255,255,255,.92);box-shadow:0 10px 30px rgba(0,0,0,.06)}
.dashboard-visual::after{left:48px;right:48px;bottom:52px;height:10px;background:linear-gradient(90deg,var(--blue) 0 30%,var(--teal) 30% 62%,#a8c7e6 62%);border-radius:4px}
.election{background:linear-gradient(135deg,#0c376d,#1a89d6)}
.cities{background:linear-gradient(135deg,#0f6ea7,#27b8c7)}
.economy{background:linear-gradient(135deg,#0c315f,#19a58f)}
.dashboard-body{padding:22px}
.dashboard-body h3{margin:12px 0 8px;color:var(--navy)}
.dashboard-body p{margin:0 0 14px;color:var(--muted);line-height:1.6;font-size:14px}
.badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#eaf4ff;color:var(--blue);font-size:11px;font-weight:800}
.badge-muted{background:#f0f3f7;color:#708197}
.text-link{color:var(--blue);font-weight:700;font-size:13px}
.embed-box{margin-top:24px;padding:26px 28px;border-radius:18px;background:white;border:1px dashed #b9d3ea;display:flex;align-items:center;justify-content:space-between;gap:30px}
.embed-box h3{margin:0 0 8px;color:var(--navy)}
.embed-box p{margin:0;color:var(--muted)}
.embed-box code{background:#082a57;color:#d9f2ff;padding:16px 18px;border-radius:12px;white-space:nowrap}

.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.lead{font-size:18px;line-height:1.7;color:var(--muted)}
.method-list{display:grid;gap:14px}
.method-list>div{display:flex;gap:16px;padding:18px;border:1px solid var(--line);border-radius:14px}
.method-list b{color:var(--blue)}
.method-list span{display:flex;flex-direction:column;gap:4px}
.method-list small{color:var(--muted);font-size:13px}

.light{color:#7fd6ff}
.section-dark h2{color:#fff}
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:start}
.section-dark p{color:#c7d8ea;line-height:1.7}
.about-note{padding:26px;border:1px solid rgba(255,255,255,.14);border-radius:18px;background:rgba(255,255,255,.06)}
.about-note .muted{opacity:.75}

.footer{background:#041b39;color:#b8c8dc;border-top:1px solid rgba(255,255,255,.08)}
.footer-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:13px}

@media(max-width:980px){
  .hero-grid,.split,.about-grid{grid-template-columns:1fr}
  .hero-grid{padding:60px 0}
  .topic-grid{grid-template-columns:repeat(2,1fr)}
  .dashboard-grid{grid-template-columns:1fr}
  .nav{display:none;position:absolute;top:88px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:20px;flex-direction:column}
  .nav.open{display:flex}
  .menu-toggle{display:block}
  .section-head{align-items:flex-start;flex-direction:column}
  .embed-box{flex-direction:column;align-items:flex-start}
}
@media(max-width:620px){
  .container{width:min(100% - 26px,1180px)}
  .brand img{width:160px;max-height:66px}
  .topic-grid{grid-template-columns:1fr}
  .hero h1{font-size:44px}
  .hero-copy>p{font-size:17px}
  .footer-inner{flex-direction:column;align-items:flex-start;padding:22px 0}
  .embed-box code{white-space:normal;word-break:break-all;width:100%}
}
