.fl-form { max-width: 58rem; margin-inline: auto; }
.fl-form label { display: block; font-size: .9rem; margin-bottom: 1.5rem; }
.fl-form input:not([type=checkbox]), .fl-form select, .fl-form textarea { display: block; width: 100%; margin-top: .5rem; padding: .85rem; border: 1px solid #8d949b; border-radius: 0; background: #24272a; color: #f3f1eb; font: inherit; }
.fl-form input:focus, .fl-form textarea:focus, .fl-form select:focus { outline: 2px solid #eaddbf; outline-offset: 3px; }
.fl-form textarea { resize: vertical; }
.fl-form-grid { display: grid; grid-template-columns: 1fr; gap: 0 1.75rem; }
.fl-form-help { font-size: .8rem; color: #b5b1a9; }
.fl-consent-note { background: #24272a; padding: 1.5rem; margin: 2rem 0 1rem; font-size: .85rem; }
.fl-consent-note p { margin-block: .75rem; }
.fl-form .fl-consent { display: flex; align-items: flex-start; gap: .75rem; }
.fl-consent input { width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: .15rem; accent-color: #d7c7a0; }
.fl-submit { background: #d7c7a0; color: #17191b; border: 1px solid #d7c7a0; min-height: 3.25rem; padding: .9rem 2rem; font: inherit; }
.fl-submit:disabled { opacity: .55; cursor: not-allowed; }
.fl-message:not(:empty) { border: 1px solid #8d949b; padding: 1rem; margin-bottom: 1.5rem; }
.fl-form .fl-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (min-width: 768px) { .fl-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
