:root { --bg:#0b0f19; --card:#121a2b; --txt:#e8eefc; --muted:#b7c3df; --accent:#7aa2ff; --ok:#36d399; --warn:#fbbf24; }
*, *::before, *::after { box-sizing: border-box; }
body { margin:0; font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial; background: radial-gradient(1200px 600px at 20% 0%, #162044, var(--bg)); color:var(--txt); }
.wrap { max-width: 980px; margin: 0 auto; padding: 28px 18px 64px; }
.hero { padding: 28px 0 16px; }
h1 { font-size: clamp(28px, 4.2vw, 46px); line-height: 1.12; margin: 8px 0 14px; text-wrap: balance; word-break: keep-all; }
.sub { color: rgba(232, 238, 252, 0.78); font-size: 18px; margin: 0 0 22px; max-width: 70ch; }
.grid { display:grid; grid-template-columns: 1.2fr 1fr; gap: 18px; align-items: start; }
@media (max-width: 900px){ .grid{ grid-template-columns:1fr; } }
.card { background: rgba(18,26,43,.92); border: 1px solid rgba(122,162,255,.18); border-radius: 14px; padding: 18px; box-shadow: 0 12px 40px rgba(0,0,0,.35); }
.sec { margin-top: 10px; }
.sec h2 { margin: 0 0 10px; font-size: 18px; }
.sec ul, .sec ol { margin: 10px 0 0 18px; color: var(--muted); }
label { display:block; font-size: 13px; color: var(--muted); margin: 12px 0 6px; }
input, select { display:block; max-width:100%; width:100%; padding: 8px 10px; border-radius: 10px; border: 1px solid rgba(255,255,255,.14); background: rgba(8,12,22,.55); color: var(--txt); outline:none; }
input:focus, select:focus { border-color: rgba(122,162,255,.65); box-shadow: 0 0 0 3px rgba(122,162,255,.15); }
.row { display:grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 520px){ .row{ grid-template-columns:1fr; } }
button { width: 100%; border: 0; border-radius: 12px; padding: 12px 14px; font-weight: 700; background: linear-gradient(90deg, #7aa2ff, #9b7aff); color:#0b0f19; cursor:pointer; margin-top: 14px; }
button:hover { filter: brightness(1.05); }
.below { margin-top: 8px; text-align:center; color: var(--muted); font-size: 12px; }
.pill { display:inline-block; font-size: 12px; padding: 4px 8px; border-radius: 999px; background: rgba(54,211,153,.12); border: 1px solid rgba(54,211,153,.25); color: var(--ok); }
.micro { margin-top: 14px; padding: 10px 12px; border-radius: 12px; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); color: rgba(232, 238, 252, 0.72); font-size: 13px; line-height: 1.35; box-shadow: 0 0 0 1px rgba(122,162,255,.06) inset; }
.micro-title { color: rgba(232, 238, 252, 0.88); font-weight: 600; }
.formTitle { margin:0 0 8px; }
.formHint { margin:0 0 10px; color: var(--muted); }
.consents { margin-top: 12px; }
.consent { display:flex; gap:10px; align-items:flex-start; padding: 10px 10px; border-radius: 12px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); color: rgba(232, 238, 252, 0.86); }
.consent + .consent { margin-top: 10px; }
.consent input { width:auto; margin-top: 3px; }
.msg { margin: 12px 0 0; color: var(--warn); min-height: 18px; }
