/* Contact page only: approved palette, typography and editorial spacing. */
.contact-hero.hero { height: max(470px, 66svh); }
.contact-hero .hero-content { max-width: 760px; }
.contact-hero .contact-intro { max-width: 560px; margin: 28px auto 0; font-size: 14px; line-height: 1.9; letter-spacing: .02em; }
.contact-methods { background: var(--ivory); }
.contact-methods-grid { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 6%; }
.contact-methods-grid > div { min-width: 0; }
.contact-methods h2 { font-family: var(--font-ui); font-size: 11px; letter-spacing: .13em; margin-bottom: 28px; }
.contact-detail { display: inline-block; font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.contact-detail:hover { text-decoration: underline; text-underline-offset: 5px; }
.contact-methods .text-link { margin-top: 16px; }
.contact-form-inner { max-width: 760px; }
.contact-form-inner h2 { margin-bottom: 48px; }
#contact-form fieldset { padding: 0; margin: 0; border: 0; min-width: 0; }
.contact-form-legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-field { margin-bottom: 32px; }
.contact-field label { display: block; font-size: 10px; letter-spacing: .13em; margin-bottom: 12px; }
.contact-field input,.contact-field textarea { display: block; width: 100%; min-width: 0; background: transparent; border: 0; border-bottom: 1px solid var(--navy); padding: 12px 0; font: inherit; color: inherit; border-radius: 0; }
.contact-field textarea { resize: vertical; }
@media(max-width: 900px) {
 .contact-methods-grid { grid-template-columns: 1fr; gap: 44px; }
 .contact-methods h2 { margin-bottom: 16px; }
}
@media(max-width: 600px) {
 .contact-hero .contact-intro { font-size: 13px; }
}

.contact-hero .hero-media > img { object-position:center 8%; }
.contact-required { margin-bottom:32px; font-size:12px; }
.contact-field-grid { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }
#contact-form button:disabled { opacity:.5; cursor:wait; }
@media(max-width:600px) { .contact-field-grid { grid-template-columns:1fr; } }

.contact-page .site-header { margin-bottom:0; background:var(--ivory); color:var(--navy); }
.contact-page .contact-hero { padding-top:60px; }
