/* Contact-only overrides; existing form providers retain submission logic. */
body.fom-contact-template #page,
body.fom-contact-template .site.grid-container,
body.fom-contact-template #primary { float: none; margin: 0; max-width: none; width: 100%; }
body.fom-contact-template #content { display: block; padding: 0; width: 100%; }
.fom-contact-content { background: #fff; color: #132c39; margin: 0; }
.fom-contact-content *, .fom-contact-content *::before, .fom-contact-content *::after { box-sizing: border-box; }
body.fom-contact-template .fom-contact-content > .wp-block-group__inner-container,
.fom-contact-content > section > .wp-block-group__inner-container { margin: 0; max-width: none; width: 100%; }
.fom-contact-content .fom-contact-wrap { margin-inline: auto; max-width: 1280px; padding-inline: 32px; width: 100%; }
.fom-contact-content .fom-contact-wrap > .wp-block-group__inner-container { max-width: none; }
.fom-contact-content .fom-contact-hero { background: #071827; color: #fff; margin: 0; padding-block: 38px; }
.fom-contact-content .fom-contact-section { margin: 0; padding-block: 48px; }
.fom-contact-content h1, .fom-contact-content h2, .fom-contact-content h3 { color: inherit; font-weight: 750; letter-spacing: -.025em; margin: 0 0 16px; }
.fom-contact-content h1 { font-size: clamp(1.9rem, 3vw, 2.7rem); line-height: 1.15; }
.fom-contact-content h2 { font-size: 1.65rem; line-height: 1.25; }
.fom-contact-content h3 { font-size: 1rem; margin: 24px 0 8px; }
.fom-contact-content p { color: #586d78; font-size: .96rem; line-height: 1.75; margin: 0 0 18px; }
.fom-contact-content .fom-contact-hero p { color: #bdd0da; max-width: 920px; }
.fom-contact-content .fom-contact-hero p:last-child { margin-bottom: 0; }
.fom-contact-content a { color: #007f83; overflow-wrap: anywhere; text-underline-offset: 4px; }
.fom-contact-content a:focus-visible, .fom-contact-content input:focus-visible,
.fom-contact-content select:focus-visible, .fom-contact-content textarea:focus-visible { outline: 3px solid #18b7bb; outline-offset: 3px; }
.fom-contact-content .fom-contact-layout { display: grid; gap: 64px; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); margin: 0; }
.fom-contact-content .wp-block-column { min-width: 0; }
.fom-contact-content .fom-contact-layout > .wp-block-column:last-child { border-left: 1px solid #d8e2e6; padding-left: 40px; }
.fom-contact-content .fom-contact-layout > .wp-block-column:last-child h2:not(:first-child) { font-size: 1.4rem; margin-top: 36px; }
.fom-contact-content .fom-contact-form-fallback { background: #f2f6f7; border-left: 3px solid #007f83; margin-block: 24px; padding: 24px; }
.fom-contact-content .fom-contact-form-fallback a { font-weight: 750; }
.fom-contact-content .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
.fom-contact-content .wp-block-button__link { border: 1px solid #007f83; border-radius: 0; font-size: .88rem; font-weight: 750; line-height: 1.5; padding: 14px 20px; text-decoration: none; }
.fom-contact-content .fom-contact-primary .wp-block-button__link { background: #007f83; color: #fff; }
.fom-contact-content .fom-contact-secondary .wp-block-button__link { background: transparent; color: #007f83; }
.fom-contact-content .fom-contact-note { background: #f2f6f7; margin: 0; padding-block: 28px; }
.fom-contact-content .fom-contact-note p { max-width: 1050px; }
.fom-contact-content .fom-contact-note p:has(a) { display: inline-block; font-size: .85rem; margin: 0 24px 0 0; }
/* Limit text-like controls, never change provider checkbox/radio semantics. */
.fom-contact-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=submit]):not([type=button]),
.fom-contact-content select, .fom-contact-content textarea { max-width: 100%; min-width: 0; width: 100%; }
.fom-contact-content textarea { min-height: 150px; resize: vertical; }
.fom-contact-content input[type=submit], .fom-contact-content button[type=submit] { background: #007f83; border: 1px solid #007f83; color: #fff; min-height: 48px; }
@media (max-width: 900px) {
    .fom-contact-content .fom-contact-wrap { padding-inline: 26px; }
    .fom-contact-content .fom-contact-layout { gap: 30px; grid-template-columns: minmax(0, 1fr); }
    .fom-contact-content .fom-contact-layout > .wp-block-column:last-child { border-left: 0; border-top: 1px solid #d8e2e6; padding: 30px 0 0; }
}
@media (max-width: 767px) {
    .fom-contact-content .fom-contact-wrap { padding-inline: 20px; }
    .fom-contact-content .fom-contact-hero { padding-block: 30px; }
    .fom-contact-content .fom-contact-section { padding-block: 32px; }
    .fom-contact-content input, .fom-contact-content select, .fom-contact-content textarea { font-size: 16px; }
    .fom-contact-content .wp-block-button { flex: 1 1 150px; }
    .fom-contact-content .wp-block-button__link { text-align: center; width: 100%; }
}
