:root{
  --bg:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --card:#f8fafc;
  --border:#e2e8f0;
  --accent:#2563eb;
  --accent2:#0ea5e9;
  --shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
  --radius: 18px;
  --max: 1100px;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Apple Color Emoji","Segoe UI Emoji"; color:var(--text); background:var(--bg); }
a{ color:inherit; text-decoration:none; }
a:hover{ text-decoration:underline; }
img{ max-width:100%; display:block; }

.container{ max-width:var(--max); margin:0 auto; padding:0 18px; }
.nav{
  position:sticky; top:0; z-index:10;
  background:rgba(255,255,255,0.85);
  backdrop-filter: blur(10px);
  border-bottom:1px solid var(--border);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:68px; gap:16px; }
.brand{ display:flex; align-items:center; gap:10px; font-weight:800; letter-spacing:-0.3px; }
.brand-badge{
  width:34px; height:34px; border-radius:10px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  box-shadow: var(--shadow);
}
.nav-links{ display:flex; gap:14px; align-items:center; flex-wrap:wrap; }
.nav-links a{ padding:10px 10px; border-radius:10px; color:var(--muted); font-weight:600; }
.nav-links a.active, .nav-links a:hover{ color:var(--text); background:var(--card); text-decoration:none; }
.cta{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:12px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:#fff; font-weight:800; border:0;
  box-shadow: var(--shadow);
}
.cta:hover{ filter:brightness(1.02); text-decoration:none; }

.hero{
  padding:52px 0 22px;
  background:
    radial-gradient(900px 300px at 20% 10%, rgba(37,99,235,0.12), transparent 60%),
    radial-gradient(900px 300px at 80% 0%, rgba(14,165,233,0.10), transparent 60%);
}
.hero-grid{
  display:grid; grid-template-columns: 1.2fr 0.8fr; gap:26px; align-items:stretch;
}
@media (max-width: 880px){
  .hero-grid{ grid-template-columns: 1fr; }
}

.kicker{ color:var(--accent); font-weight:800; letter-spacing:0.2px; }
h1{ margin:10px 0 10px; font-size:44px; line-height:1.08; letter-spacing:-1px; }
@media (max-width: 520px){ h1{ font-size:36px; } }
.subhead{ color:var(--muted); font-size:18px; line-height:1.55; margin:0 0 18px; }
.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 0; }
.secondary{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 14px; border-radius:12px;
  background:var(--card); border:1px solid var(--border);
  font-weight:800; color:var(--text);
}
.secondary:hover{ text-decoration:none; border-color:#cbd5e1; }

.card{
  background:var(--card);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
  box-shadow: 0 8px 18px rgba(15,23,42,0.06);
}

.stat-grid{
  display:grid; grid-template-columns: repeat(3, 1fr); gap:12px;
}
@media (max-width: 700px){ .stat-grid{ grid-template-columns:1fr; } }

.stat strong{ display:block; font-size:22px; }
.stat span{ color:var(--muted); font-weight:600; }

.section{ padding:34px 0; }
.section h2{ font-size:28px; margin:0 0 12px; letter-spacing:-0.5px; }
.section p{ color:var(--muted); line-height:1.65; margin:0 0 12px; }
.grid-3{ display:grid; grid-template-columns: repeat(3,1fr); gap:14px; }
@media (max-width: 900px){ .grid-3{ grid-template-columns:1fr; } }

.pill{
  display:inline-flex; gap:8px; align-items:center;
  padding:6px 10px; border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  color:var(--muted);
  font-weight:700;
}

.footer{
  padding:22px 0;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:14px;
}
.footer a{ color:var(--muted); }

.form{
  display:grid; gap:10px;
}
.input, textarea{
  width:100%;
  padding:12px 12px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  font-size:15px;
}
textarea{ min-height:120px; resize:vertical; }
.small{ font-size:13px; color:var(--muted); }

.notice{
  border-left: 4px solid var(--accent);
  padding:10px 12px;
  background: #eff6ff;
  border-radius: 12px;
  color: #0b244a;
}
.embed{
  width:100%;
  height:740px;
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
  background:#fff;
}