:root { --bg:#0f172a; --ink:#f1f5f9; --muted:#94a3b8; --accent:#60a5fa; --card:#1e293b; --line:#334155; --ok:#4ade80; --bad:#f87171; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font:16px/1.5 -apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
a { color:var(--accent); }
main { max-width:860px; margin:0 auto; padding:40px 20px 60px; }
.hero { text-align:center; }
h1 { font-size:2.2rem; margin:0 0 8px; }
.lead { color:var(--muted); font-size:1.15rem; margin:0 0 32px; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:16px; text-align:left; }
.card { display:block; background:var(--card); border:1px solid var(--line); border-radius:12px; padding:22px; color:var(--ink); text-decoration:none; }
.card h2 { margin:0 0 8px; font-size:1.2rem; } .card p { color:var(--muted); margin:0 0 14px; }
.card .cta { color:var(--accent); font-weight:600; }
.card.soon { opacity:.7; }
.foot { margin-top:40px; color:var(--muted); }
form { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:24px; text-align:left; }
label { display:block; margin-bottom:14px; font-size:14px; color:var(--muted); }
input[type=text], input[type=email], input[type=tel], select, textarea { display:block; width:100%; margin-top:5px; padding:10px 12px; font:inherit; color:var(--ink); background:#0b1220; border:1px solid var(--line); border-radius:8px; }
textarea { resize:vertical; }
fieldset { border:1px solid var(--line); border-radius:10px; padding:12px 16px 4px; margin:0 0 16px; }
legend { color:var(--muted); font-size:14px; padding:0 6px; }
.checks { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:4px 16px; }
.checks label, label.consent { display:flex; gap:10px; align-items:flex-start; color:var(--ink); font-size:15px; }
.checks input, .consent input { margin-top:4px; }
.row { display:flex; gap:14px; } .row label { flex:1; } .row label.s { flex:0 0 140px; }
button { padding:12px 22px; font:inherit; font-weight:600; background:var(--accent); color:#0b1220; border:0; border-radius:8px; cursor:pointer; }
.err { background:#3b1111; border:1px solid var(--bad); color:#fecaca; border-radius:8px; padding:10px 14px; margin-bottom:14px; }
.ok { background:#0f2f1b; border:1px solid var(--ok); color:#bbf7d0; border-radius:12px; padding:24px; }
.hp { position:absolute; left:-9999px; }
small { color:var(--muted); }
@media (max-width:600px) { .row { flex-wrap:wrap; } .row label.s { flex:1 1 100%; } }
