:root { --blue:#0b3d6b; --orange:#e8762d; --text:#1f2a37; --muted:#4a5868; --line:#dde3ea; --bg:#f7f9fc; }
* { box-sizing:border-box; }
body { margin:0; font-family:Roboto, Arial, sans-serif; color:var(--text); background:#fff; font-size:16px; line-height:1.5; }
header { background:var(--blue); color:#fff; padding:14px 24px; display:flex; align-items:center; justify-content:space-between; }
header a { color:#fff; text-decoration:none; font-weight:500; }
header .brand { font-style:italic; font-weight:700; font-size:22px; }
main { max-width:960px; margin:0 auto; padding:30px 24px 60px; }
h1 { font-size:34px; line-height:1.15; margin:10px 0 8px; color:var(--blue); }
h2 { font-size:22px; color:var(--blue); margin:28px 0 10px; }
h3 { font-size:17px; margin:18px 0 8px; color:var(--blue); }
.badge { display:inline-block; background:var(--orange); color:#fff; font-weight:700; font-size:13px; letter-spacing:.5px; padding:4px 10px; border-radius:20px; text-transform:uppercase; }
.lead { font-size:18px; color:var(--muted); max-width:760px; margin:0 0 24px; }
.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; margin:0 0 24px; }
.card { background:var(--bg); border:1px solid var(--line); border-left:5px solid var(--blue); border-radius:10px; padding:18px 20px; }
.card h3 { margin:0 0 8px; }
.card p, .card li { font-size:15px; margin:0; }
.card ul { padding-left:18px; margin:6px 0 0; }
.box { background:var(--bg); border:1px solid var(--line); border-radius:10px; padding:18px 20px; margin:0 0 18px; }
.btn { display:inline-block; background:var(--blue); color:#fff; text-decoration:none; font-weight:500; padding:12px 22px; border-radius:6px; border:0; font-size:16px; cursor:pointer; font-family:inherit; }
.btn:hover { background:#0e4d86; }
.btn-secondary { background:#fff; color:var(--blue); border:2px solid var(--blue); padding:10px 20px; }
.btn-orange { background:var(--orange); }
.btn-sm { padding:7px 14px; font-size:14px; }
.muted { color:var(--muted); font-size:14px; }
.err { background:#fdecea; border:1px solid #f5c2c0; color:#8a1f17; border-radius:8px; padding:12px 16px; margin:0 0 16px; }
.ok { background:#e8f5e9; border:1px solid #bfe3c2; color:#1e5a24; border-radius:8px; padding:12px 16px; margin:0 0 16px; }
.warn { background:#fff8e1; border:1px solid #f0d58a; border-radius:8px; padding:12px 16px; margin:0 0 16px; }
.steps { display:flex; gap:8px; list-style:none; padding:0; margin:0 0 24px; flex-wrap:wrap; }
.steps li { flex:1 1 150px; display:flex; align-items:center; gap:8px; font-size:14px; color:var(--muted); background:var(--bg); border:1px solid var(--line); border-radius:8px; padding:8px 12px; }
.steps li span { width:26px; height:26px; border-radius:50%; background:#c7d0dc; color:#fff; font-weight:700; text-align:center; line-height:26px; }
.steps li.active { color:var(--text); border-color:var(--blue); font-weight:500; }
.steps li.active span, .steps li.done span { background:var(--orange); }
form .f { display:block; margin:0 0 14px; }
form .f span { display:block; font-size:14px; font-weight:500; margin-bottom:4px; }
form input[type=text], form input[type=email], form select, form textarea { width:100%; padding:10px 12px; border:1px solid #b9c3cf; border-radius:6px; font:inherit; font-size:15px; }
form textarea { min-height:90px; }
form .c { display:flex; gap:10px; align-items:flex-start; margin:10px 0; font-size:14px; }
form .c input { margin-top:4px; }
.row2 { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
@media (max-width:640px) { .row2 { grid-template-columns:1fr; } h1 { font-size:28px; } }
.section { border:1px solid var(--line); border-radius:10px; padding:16px 18px; margin:0 0 16px; background:#fff; }
.section h3 { margin-top:0; }
.section .orig { background:var(--bg); border-radius:6px; padding:10px 12px; font-size:14px; color:var(--muted); white-space:pre-wrap; }
.section textarea { min-height:70px; }
table.t { width:100%; border-collapse:collapse; font-size:14px; }
table.t td, table.t th { padding:8px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
table.t th { background:var(--bg); }
.price { font-size:28px; font-weight:700; color:var(--blue); }
.tag { display:inline-block; font-size:12px; font-weight:700; color:var(--orange); }
footer { border-top:1px solid var(--line); color:var(--muted); font-size:13px; text-align:center; padding:20px; }
footer a { color:var(--muted); }
