:root { color-scheme: light; --ink:#17202a; --muted:#647083; --brand:#0e7168; --soft:#eef8f6; --line:#dce3e8; --danger:#b42318; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; font-family:Inter,Segoe UI,Arial,sans-serif; color:var(--ink); background:linear-gradient(145deg,#f7fbfa 0%,#fff 55%,#f7f5ee 100%); }
.page-shell { width:min(1120px,calc(100% - 32px)); min-height:100vh; margin:auto; display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; padding:64px 0; }
.eyebrow { display:inline-block; padding:8px 12px; border-radius:999px; background:var(--soft); color:var(--brand); font-weight:700; font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; }
h1 { max-width:700px; margin:20px 0 18px; font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.02; letter-spacing:-.045em; }
.lead { max-width:660px; color:var(--muted); font-size:1.15rem; line-height:1.65; }
.checks { list-style:none; padding:0; margin:30px 0 0; display:grid; gap:13px; }
.checks li::before { content:"✓"; display:inline-grid; place-items:center; width:24px; height:24px; margin-right:10px; border-radius:50%; color:var(--brand); background:var(--soft); font-weight:800; }
.card { padding:34px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.94); box-shadow:0 24px 70px rgba(31,53,60,.12); }
.card h2 { margin:0 0 8px; font-size:1.65rem; }
.card > p,.card small { color:var(--muted); line-height:1.5; }
form { display:grid; gap:16px; margin:26px 0 18px; }
label { display:grid; gap:7px; font-size:.9rem; font-weight:700; }
input { width:100%; padding:13px 14px; border:1px solid #cbd5dd; border-radius:10px; font:inherit; font-weight:400; color:var(--ink); background:#fff; }
input:focus { outline:3px solid rgba(14,113,104,.14); border-color:var(--brand); }
.consent { grid-template-columns:20px 1fr; align-items:start; font-weight:400; color:var(--muted); line-height:1.45; }
.consent input { margin-top:3px; }
button { border:0; border-radius:11px; padding:15px 18px; background:var(--brand); color:#fff; font:inherit; font-weight:800; cursor:pointer; }
button:disabled { opacity:.65; cursor:wait; }
.message { min-height:24px; margin:0; font-size:.92rem; }
.message.error { color:var(--danger); }
.message.success { color:var(--brand); }
@media (max-width:820px) { .page-shell { grid-template-columns:1fr; gap:36px; padding:40px 0; } h1 { font-size:clamp(2.25rem,11vw,3.6rem); } .card { padding:24px; } }
