fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.form-field { display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1.25rem; }
.form-field label { color: #f2f8fb; font-weight: 650; }
.form-field label span { color: #a3b5c1; font-size: .8125rem; font-weight: 400; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-width: 0; min-height: 48px; padding: .75rem; font: inherit; color: #f2f8fb; background: #0c1822; border: 1px solid #426272; border-radius: .4rem; }
.form-field textarea { resize: vertical; }
.form-field :focus-visible, button:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
.field-help { color: #a3b5c1; font-size: .875rem; line-height: 1.6; }
button { font: inherit; color: var(--blue); cursor: pointer; }
button:disabled { opacity: .6; cursor: not-allowed; }
#contact-status { margin-top: 1rem; padding: 1rem; border: 1px solid var(--line); border-radius: .4rem; }
#contact-status[data-state="error"] { color: #ffd0c9; border-color: #a76659; }
#contact-status[data-state="success"] { color: #c1f7a5; border-color: #669553; }
#captcha-section { margin-block: 1rem; }
#captcha-widget { margin-block: 1rem; }
.visually-hidden, .form-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 600px) { .form-grid { grid-template-columns: 1fr; gap: 0; } #contact-submit { width: 100%; } }
