:root {
  --bg: #f5f7fb;
  --surface: #ffffff;
  --surface-2: #f0f4fa;
  --ink: #10243b;
  --muted: #51657a;
  --brand: #1e3a5f;
  --brand-2: #2b6d90;
  --accent: #0e9b78;
  --line: #d8e2ed;
  --radius: 14px;
  --container: min(1120px, 92vw);
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.55;
}
.container { width: var(--container); margin: 0 auto; }
header.hero {
  color: #fff;
  background: linear-gradient(160deg, var(--brand), var(--brand-2));
  padding: 64px 0 48px;
}
.badge {
  display: inline-block;
  font-size: .78rem;
  padding: 6px 12px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.16);
  border-radius: 999px;
}
h1 { font-size: clamp(2rem, 4.4vw, 3.2rem); margin: 14px 0 10px; line-height: 1.12; }
.lead { max-width: 760px; color: #e3edf8; }
.cta-row { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.btn {
  display:inline-block; text-decoration:none; padding:12px 18px; border-radius:10px; font-weight:700;
}
.btn-primary { background:#fff; color:var(--brand); }
.btn-secondary { color:#fff; border:1px solid rgba(255,255,255,.55); }
section { padding: 46px 0; }
h2 { font-size: clamp(1.4rem, 3.2vw, 2.1rem); margin: 0 0 16px; }
.grid { display:grid; gap:16px; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 18px;
}
.card h3 { margin: 0 0 8px; font-size: 1.06rem; }
.muted { color: var(--muted); }
ul { margin: 0; padding-left: 20px; }
.steps { display:grid; gap:12px; }
.step { background: var(--surface); border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
.step strong { color: var(--brand); }
.contact-box {
  background: #0e2137;
  color: #e7eff8;
  border-radius: var(--radius);
  padding: 20px;
}
.contact-box a { color: #b9f8e9; text-decoration: none; }
footer { padding: 28px 0 46px; color: var(--muted); font-size: .95rem; }
.kpi { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.kpi span { background: var(--surface-2); border:1px solid var(--line); border-radius:999px; padding: 6px 10px; font-size: .84rem; color: var(--muted); }
