/* Contact form: colors, typography and controls follow theme-2026.css. */
.contact-container{max-width:960px}
.contact-intro{margin-bottom:36px}
.contact-intro h2{margin-bottom:20px}
.contact-intro>p:last-child{font-size:14px;color:var(--muted)}
.contact-card{background:var(--white);border:1px solid var(--line);padding:44px 48px}
.page-contact [hidden]{display:none!important}
.contact-card fieldset{padding:0;margin:0;border:0;min-width:0}
.contact-card legend{padding:0;font-family:var(--serif);font-size:21px;line-height:1.8;margin-bottom:16px}
.contact-required{display:inline-block;color:var(--coral);font:500 10px/1.7 var(--sans);border:1px solid currentColor;padding:0 5px;margin-left:6px;vertical-align:middle}
.contact-help{font-size:12px;color:var(--muted);margin-top:10px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
.contact-message{grid-column:1/-1}
.contact-actions{border-top:1px solid var(--line);margin-top:16px;padding-top:20px}
.contact-actions .btn{width:100%;gap:20px;margin-top:22px;padding:15px 24px}
.contact-card .btn:disabled{opacity:.6;cursor:wait}
.contact-notice{padding:20px 24px;margin-bottom:24px;border:1px solid var(--line);background:var(--sand);overflow-wrap:anywhere}
.contact-error{border-color:var(--coral);color:var(--coral)}
#contact-result h2{font-size:28px;margin-bottom:20px}
.contact-summary{margin:28px 0}
.contact-summary dt{font-size:12px;color:var(--muted);margin-top:18px}
.contact-summary dd{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.contact-card{padding:25px 22px}.contact-fields{grid-template-columns:1fr}.contact-card legend{font-size:18px}.contact-intro br{display:none}.contact-intro h2,#contact-result h2{font-size:24px}.contact-notice{padding:16px}}
