.request-form { --form-bg: var(--surface, #fbfaf6); --form-ink: var(--text, #1c211d); --form-muted: var(--text-muted, #575e57); --form-line: var(--border, #dcd8cd); color: var(--form-ink); text-align: left; }
.request-form h2 { margin: 0 0 12px; }
.request-form .form-intro { margin: 0 0 24px; }
.form-fields { display: grid; gap: 18px; border: 0; padding: 0; margin: 0; min-width: 0; }
.form-field { min-width: 0; }
.form-field label { display: block; font-size: 15px; font-weight: 650; margin-bottom: 6px; }
.form-field label span { font-weight: 400; color: var(--form-muted); }
.request-form input, .request-form textarea { display: block; box-sizing: border-box; width: 100%; min-width: 0; padding: 12px 14px; border: 1px solid #808a81; border-radius: 10px; background: var(--form-bg); color: var(--form-ink); font: inherit; font-size: 16px; line-height: 1.5; }
.request-form textarea { resize: vertical; min-height: 140px; }
.request-form input:focus-visible, .request-form textarea:focus-visible, .request-form button:focus-visible, .request-form a:focus-visible { outline: 3px solid #b38a46; outline-offset: 3px; }
.request-form .form-hint { font-size: 13px; line-height: 1.55; margin: 6px 0 0; color: var(--form-muted); }
.request-form .form-privacy { font-size: 13px; line-height: 1.65; margin: 20px 0; color: var(--form-muted); }
.request-form .form-privacy a { color: inherit; }
.request-form .form-submit { min-height: 52px; border: 0; border-radius: 12px; padding: 12px 22px; background: #213a2d; color: #fbfaf6; font: inherit; font-weight: 700; cursor: pointer; }
.request-form .form-submit:hover { background: #304d3b; }
.request-form .form-submit:disabled { opacity: .65; cursor: default; }
.request-form .form-status { margin: 16px 0 0; padding: 12px 14px; border: 1px solid var(--form-line); border-radius: 10px; font-size: 15px; line-height: 1.55; }
.request-form .form-status:empty { display: none; }
.request-form .form-status[data-state="error"] { border-color: #b0614a; }
.request-form .form-status[data-state="success"] { border-color: #6c8e6b; }
.request-form .form-fallback { margin: 18px 0 0; font-size: 14px; overflow-wrap: anywhere; }
.request-form .form-honeypot { display: none; }
.feature-form-card { padding: 30px; border: 1px solid #dcd8cd; border-radius: 20px; background: #fbfaf6; }
@media (max-width: 400px) { .feature-form-card { padding: 24px; } .request-form .form-submit { width: 100%; } }
