
:root {
  --blue: #1E40AF;
  --ink: #0f172a; /* slate-900 */
  --ink-2: #1f2937; /* gray-800 */
  --muted: #6b7280; /* gray-500 */
  --bg: #f8fafc; /* slate-50 */
  --card: #ffffff;
  --ring: #e5e7eb;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; color: var(--ink); background: #fff; }
a { color: var(--ink); text-decoration: none; }
a:hover { color: var(--blue); }
.container { max-width: 1100px; margin: 0 auto; padding: 0 1.25rem; }

.site-header { position: sticky; top:0; z-index: 50; background: rgba(255,255,255,.8); backdrop-filter: blur(8px); border-bottom:1px solid var(--ring); }
.nav-wrap { display:flex; align-items:center; justify-content: space-between; padding: .9rem 0; gap: 1rem; }
.logo { height: 44px; }
.logo.small { height: 32px; }
.nav { display:flex; gap: 1rem; align-items:center; }
.nav a { padding: .5rem .75rem; border-radius: .75rem; }
.nav a.cta { background: var(--blue); color: #fff; }
.nav a.cta:hover { opacity: .9; }
.nav-toggle { display:none; background:none; border:none; font-size: 1.6rem; }

@media (max-width: 850px) {
  .nav-toggle { display:block; }
  .nav { position: absolute; top: 60px; right: 1rem; background:#fff; border:1px solid var(--ring); border-radius: .75rem; padding: .5rem; display:none; flex-direction:column; }
  .nav.open { display:flex; }
}

.hero { background: radial-gradient(60% 50% at 50% 0%, rgba(59,130,246,.12), transparent), var(--bg); }
.hero-inner { display:grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; padding: 3rem 0 4rem; }
.hero-copy h1 { font-size: clamp(2rem, 2.6vw + 1.2rem, 3.2rem); line-height: 1.1; margin: 0; }
.hero-copy p { color: var(--muted); font-size: 1.1rem; margin-top: 1rem; }
.cta-row { display:flex; gap:.75rem; margin-top: 1rem; flex-wrap: wrap; }
.btn { display:inline-block; padding: .9rem 1.1rem; border-radius: 1rem; border:1px solid var(--ring); }
.btn.primary { background: var(--blue); color: #fff; border-color: transparent; }
.btn.ghost { background: #fff; }
.pill-row { display:flex; gap:1rem; padding:0; list-style:none; margin-top: .8rem; color: var(--muted); flex-wrap: wrap; }
.pill-row li { display:flex; align-items:center; gap:.4rem; }

.hero-card { background:#fff; border:1px solid var(--ring); border-radius: 1.5rem; padding: 1rem; display:grid; gap:.6rem; align-self:start; box-shadow: 0 10px 30px rgba(0,0,0,.05); }
.feature { border:1px dashed var(--ring); border-radius: 1rem; padding:.75rem; display:flex; flex-direction:column; }
.feature strong { color: var(--ink-2); }
.feature span { color: var(--muted); font-size:.95rem; }

.section { padding: 3rem 0; }
.section.alt { background: var(--bg); border-top:1px solid var(--ring); border-bottom:1px solid var(--ring); }
.card-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:1rem; margin-top: 1rem; }
.card-grid.tight { grid-template-columns: repeat(3, 1fr); }
.card { background: var(--card); border:1px solid var(--ring); border-radius: 1.25rem; padding:1rem; box-shadow: 0 6px 18px rgba(0,0,0,.04); }
.card h3 { margin-top:0; }
.card ul { margin: .25rem 0 0 1rem; }
.three-col { display:grid; grid-template-columns: 1fr 1fr 1fr; gap:1rem; }
.step { background:#fff; border:1px solid var(--ring); border-radius: 1.25rem; padding: 1rem; }
.step span { color: var(--blue); font-weight:700; }
.stats-grid { display:grid; grid-template-columns: 1fr 1fr 1fr; gap:1rem; }
.stat { background:#fff; border:1px solid var(--ring); border-radius: 1.25rem; text-align:center; padding:1rem; }
.stat strong { font-size:1.8rem; }
.two-col { display:grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.contact-form .grid { display:grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.contact-form .grid .full { grid-column: 1 / -1; }
.contact-form input, .contact-form textarea { width:100%; padding:.8rem; border:1px solid var(--ring); border-radius: .75rem; }
.fineprint { color: var(--muted); font-size: .85rem; }
.contact-meta p { color: var(--muted); }

.site-footer { background: #0b1220; color: #d1d5db; margin-top: 3rem; }
.site-footer a { color: #d1d5db; }
.footer-grid { display:grid; grid-template-columns: 2fr 1fr 1fr; gap:1rem; padding: 2rem 0; }
.footer-bottom { display:flex; align-items:center; justify-content: space-between; border-top:1px solid #1f2937; padding: 1rem 0; }
.legal-links { display:flex; gap:1rem; }

@media (max-width: 900px) {
  .hero-inner { grid-template-columns: 1fr; }
  .card-grid, .card-grid.tight { grid-template-columns: 1fr 1fr; }
  .three-col { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr; }
  .two-col { grid-template-columns: 1fr; }
  .contact-form .grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
}
