.contact-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;padding-top:36px;padding-bottom:64px;align-items:start}
.form-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px;box-shadow:0 14px 40px -24px rgba(7,19,48,.35)}
.form-card label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#475569;margin:14px 0 6px}
.form-card .two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-card .two label{margin-top:0}
.req{color:#dc2626}
.opt{font-weight:500;text-transform:none;letter-spacing:0;color:#94a3b8}
.form-card input[type=text],.form-card input[type=email],.form-card textarea{width:100%;padding:11px 13px;border:1px solid #cbd5e1;border-radius:9px;font:inherit;font-size:15px;color:var(--ink);background:#fff}
.form-card textarea{resize:vertical;min-height:130px}
.form-card input:focus,.form-card textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(29,78,216,.15);outline:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.turnstile{margin:18px 0 6px;min-height:65px}
.note{font-size:13px;color:#64748b;margin:8px 0 14px}
.err{color:#b91c1c;font-size:14px;font-weight:600;margin:8px 0;min-height:1.2em}
.block{display:block;width:100%;text-align:center}
.btn[disabled]{opacity:.55;cursor:not-allowed}
.code{text-align:center;font-family:ui-monospace,Consolas,Menlo,monospace;font-size:28px;letter-spacing:.5em;padding:12px!important}
.row-links{display:flex;justify-content:space-between;margin:14px 0 0}
.link{background:none;border:0;padding:0;color:var(--blue);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.link:hover{text-decoration:underline}
.link[disabled]{opacity:.5;cursor:not-allowed}
.done{text-align:center;padding:24px 8px}
.done .tick{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:#dcfce7;color:#16a34a;font-size:34px;line-height:64px;font-weight:700}
.done h2{font-size:24px;margin-bottom:10px}
.done p{color:var(--muted)}
.done .btn{margin:6px 4px}
.side{display:flex;flex-direction:column;gap:16px}
.side .card p{margin:0 0 8px}
.steps{margin:0;padding-left:20px;color:var(--muted);font-size:15px}
.steps li{margin:6px 0}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}.form-card .two{grid-template-columns:1fr}}
