:root {
  --bg: #f7f7f4;
  --card: #ffffff;
  --ink: #172126;
  --muted: #5e6b70;
  --line: #dfe4e2;
  --accent: #1d5f7a;
  --accent-dark: #174b60;
  --warm: #eef3f1;
  --max: 1120px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.6;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
.container { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; }
.site-header {
  position: sticky; top: 0; z-index: 20;
  background: rgba(247,247,244,.94); backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(223,228,226,.8);
}
.nav { min-height: 68px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { font-weight: 800; letter-spacing: -.02em; text-decoration:none; font-size: 1.05rem; }
.nav-links { display:flex; align-items:center; gap:22px; font-size:.95rem; }
.nav-links a { text-decoration:none; color:var(--muted); }
.nav-links a.button { color:white; }
.button {
  display:inline-flex; align-items:center; justify-content:center;
  padding: 12px 18px; border-radius: 999px; background:var(--accent); color:white;
  text-decoration:none; font-weight:700; border:0; cursor:pointer;
}
.button:hover { background:var(--accent-dark); }
.button.secondary { background:white; color:var(--ink); border:1px solid var(--line); }
.hero { padding: 92px 0 68px; }
.eyebrow {
  display:inline-block; margin-bottom:16px; font-size:.86rem; text-transform:uppercase;
  letter-spacing:.12em; font-weight:800; color:var(--accent);
}
.hero-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap:54px; align-items:center; }
h1, h2, h3 { line-height:1.08; letter-spacing:-.035em; margin:0 0 18px; }
h1 { font-size: clamp(2.8rem, 6vw, 5.6rem); max-width: 900px; }
h2 { font-size: clamp(2rem, 3.6vw, 3.4rem); }
h3 { font-size: 1.3rem; }
.lead { font-size: clamp(1.12rem, 2vw, 1.35rem); color:var(--muted); max-width:760px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:28px; }
.hero-card {
  background:var(--card); border:1px solid var(--line); border-radius:24px; padding:28px;
  box-shadow: 0 18px 50px rgba(20,40,48,.07);
}
.hero-card ul { padding-left:20px; margin:0; }
.hero-card li + li { margin-top:10px; }
.section { padding:76px 0; }
.section.alt { background:var(--warm); }
.section-intro { max-width:780px; margin-bottom:34px; }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.card { background:white; border:1px solid var(--line); border-radius:20px; padding:26px; }
.card p { color:var(--muted); margin-bottom:0; }
.steps { counter-reset: step; display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.step { background:white; border:1px solid var(--line); border-radius:18px; padding:22px; }
.step::before {
  counter-increment: step; content: counter(step);
  width:34px; height:34px; border-radius:50%; display:grid; place-items:center;
  background:var(--accent); color:#fff; font-weight:800; margin-bottom:18px;
}
.price-box {
  display:flex; align-items:flex-start; justify-content:space-between; gap:30px;
  background:var(--ink); color:#fff; border-radius:24px; padding:34px;
}
.price-box p { color:#d7e0e3; margin:0; max-width:720px; }
.price { font-size:2.6rem; font-weight:900; line-height:1; white-space:nowrap; }
.faq details { background:white; border:1px solid var(--line); border-radius:14px; padding:18px 20px; }
.faq details + details { margin-top:12px; }
.faq summary { cursor:pointer; font-weight:750; }
.faq p { color:var(--muted); }
.contact-wrap { display:grid; grid-template-columns:.8fr 1.2fr; gap:34px; align-items:start; }
form { background:white; border:1px solid var(--line); border-radius:22px; padding:26px; }
label { display:block; font-size:.92rem; font-weight:750; margin-bottom:7px; }
input, select, textarea {
  width:100%; padding:13px 14px; border:1px solid #cfd7d4; border-radius:11px;
  font:inherit; background:#fff; color:var(--ink);
}
textarea { min-height:130px; resize:vertical; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { margin-bottom:16px; }
.small { font-size:.88rem; color:var(--muted); }
.footer { padding:34px 0 52px; color:var(--muted); font-size:.9rem; }
.footer-inner { display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.trust-strip { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
.trust-pill { padding:9px 12px; background:white; border:1px solid var(--line); border-radius:999px; font-size:.92rem; }
.notice { padding:14px 16px; border-left:4px solid var(--accent); background:#fff; color:var(--muted); }
@media (max-width: 860px) {
  .hero-grid, .contact-wrap, .grid-2 { grid-template-columns:1fr; }
  .grid-3 { grid-template-columns:1fr; }
  .steps { grid-template-columns:1fr 1fr; }
  .nav-links a:not(.button) { display:none; }
  .hero { padding-top:64px; }
}
@media (max-width: 560px) {
  .steps, .form-grid { grid-template-columns:1fr; }
  .price-box { flex-direction:column; }
  .price { font-size:2.2rem; }
}
