/* Contact form styles are scoped to avoid affecting the editorial site. */
.contact-message { background: linear-gradient(135deg, #edf7f6, #f2f7fa); color: var(--ink, #16324a); }
.contact-message-layout { display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); align-items: start; gap: clamp(2rem, 5vw, 4.5rem); }
.contact-message-intro { min-width: 0; }
.contact-message-intro h2 { max-width: 16ch; }
.contact-message-intro > p:not(.eyebrow) { max-width: 48ch; color: var(--muted, #476071); }
.contact-message .contact-direct-email { margin-top: 1.75rem; }
.contact-direct-email a { display: inline-block; padding-block: .35rem; color: var(--teal-dark, #07545a); font-weight: 600; overflow-wrap: anywhere; }
.contact-message-form { position: relative; min-width: 0; margin: 0; padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid #bfd6dc; border-radius: 6px 6px 30px 6px; background: #ffffff; color: var(--ink, #16324a); }
.contact-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.contact-field { min-width: 0; }
.contact-field-wide { grid-column: 1 / -1; }
.contact-field label { display: block; margin-bottom: .4rem; color: var(--ink, #16324a); font-size: .92rem; font-weight: 600; line-height: 1.5; }
.contact-field input, .contact-field select, .contact-field textarea { display: block; width: 100%; max-width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid #6b8f99; border-radius: 4px; background: #ffffff; color: #16324a; font: inherit; line-height: 1.5; }
.contact-field textarea { min-height: 160px; resize: vertical; }
.contact-field select { padding-inline-end: 2rem; }
.contact-field input:focus-visible, .contact-field select:focus-visible, .contact-field textarea:focus-visible, .contact-form-status:focus-visible { outline: 3px solid var(--focus, #a74d00); outline-offset: 3px; }
.contact-field [aria-invalid="true"] { border-color: #9a2d2d; border-width: 2px; }
.contact-field-error, .contact-field-hint { margin: .35rem 0 0; font-size: .85rem; line-height: 1.55; }
.contact-field-hint { color: var(--muted, #476071); }
.contact-field-error { color: #9a2d2d; }
.contact-send-row { display: flex; align-items: center; margin-top: 1.5rem; }
.contact-send { flex-shrink: 0; }
.contact-send:disabled { border-color: #476071; background: #476071; color: #ffffff; cursor: not-allowed; }
.contact-message-form[aria-busy="true"] .contact-send:disabled { cursor: wait; }
.contact-form-status { margin: 1.15rem 0 0; color: var(--muted, #476071); font-size: .95rem; line-height: 1.65; overflow-wrap: anywhere; }
.contact-form-status:empty { margin: 0; }
.contact-form-status[data-state="error"] { padding: .85rem 1rem; border-inline-start: 3px solid #9a2d2d; background: #fff4f2; color: #792222; }
.contact-form-status[data-state="success"] { padding: .85rem 1rem; border-inline-start: 3px solid #096b72; background: #edf7f6; color: #07545a; }
.contact-message-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.contact-message .contact-field-error[hidden] { display: none; }
.contact-no-script { margin-top: 1rem; color: var(--muted, #476071); }
@media (max-width: 800px) { .contact-message-layout { grid-template-columns: 1fr; gap: 1.75rem; } .contact-message-intro h2 { max-width: none; } }
@media (max-width: 520px) { .contact-form-grid { grid-template-columns: 1fr; } .contact-field-wide { grid-column: auto; } .contact-send-row, .contact-send { width: 100%; } }
