.contact-form { display: grid; gap: 1rem; text-align: left; color: #fff; }
.contact-fields { display: grid; gap: 1rem; }
.contact-form label { display: block; margin-bottom: .4rem; font-weight: 500; }
.contact-form input:not([type=checkbox]), .contact-form textarea { box-sizing: border-box; width: 100%; min-width: 0; border: 1px solid #8196a2; border-radius: .6rem; padding: .75rem; background: #182d3a; color: #fff; font: inherit; }
.contact-form textarea { resize: vertical; }
.contact-form input:focus-visible, .contact-form textarea:focus-visible, .contact-form button:focus-visible, .contact-form a:focus-visible { outline: 3px solid #74d3f2; outline-offset: 3px; }
.contact-form .contact-notice { display: flex; align-items: flex-start; gap: .75rem; margin: 0; font-weight: 400; }
.contact-notice input { width: 1.25rem; height: 1.25rem; flex-shrink: 0; margin-top: .15rem; accent-color: #74d3f2; }
.contact-form a { text-decoration: underline; text-underline-offset: 3px; }
.contact-note { color: #d0dde5; font-size: .875rem; line-height: 1.6; }
.contact-form button { min-height: 48px; border: 0; border-radius: 2rem; padding: .85rem 1.2rem; background: #74d3f2; color: #003544; font: inherit; font-weight: 600; cursor: pointer; }
.contact-form button:disabled { opacity: .65; cursor: wait; }
.contact-status { margin: 0; line-height: 1.6; overflow-wrap: anywhere; }
.contact-status[data-state=error] { color: #ffd6d6; }
.contact-status[data-state=success] { color: #b5f4d2; }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (min-width: 640px) { .contact-fields { grid-template-columns: 1fr 1fr; } }
