.contact-page .contact-hero { background: radial-gradient(ellipse at 95% 10%, #dff4ff, transparent 55%), linear-gradient(145deg, #f7faff, #eef3fb); }
.contact-page .contact-hero h1 { max-width: 850px; }
.contact-page .contact-methods .site-card { display: flex; flex-direction: column; align-items: flex-start; }
.contact-page .contact-methods .site-text-link { margin-top: auto; overflow-wrap: anywhere; }
.contact-page .contact-methods .contact-meeting-card { border-color: #aac8e8; background: #f6f9ff; }
.contact-page .contact-icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 24px; color: #1555b9; background: #eaf2ff; border-radius: 12px; }
.contact-page .contact-icon svg { width: 26px; height: 26px; }
.contact-page .contact-prepare { display: grid; gap: 24px; }
.contact-page .contact-prepare .site-heading { margin-bottom: 0; }
.contact-page .contact-details { display: grid; gap: 12px; margin: 0; padding-left: 24px; }
.contact-page .contact-details li { padding-left: 8px; }
.contact-page .contact-details li::marker { color: #1555b9; }
.contact-page .contact-steps { display: grid; gap: 28px; list-style: none; padding: 0; margin: 0; }
.contact-page .contact-step-number { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #b4c9e3; border-radius: 50%; color: #1555b9; font-size: .85rem; font-weight: 750; margin-bottom: 20px; }
.contact-page .contact-steps p { margin-bottom: 0; }
.contact-page .contact-availability { margin: 36px 0 0; padding: 20px 24px; border-left: 3px solid #155cd7; background: #f3f6fb; border-radius: 0 12px 12px 0; font-size: .95rem; }
.contact-page .contact-final { padding-top: 0; }
@media (min-width: 992px) {
    .contact-page .contact-prepare { grid-template-columns: 1fr 1fr; gap: 64px; }
    .contact-page .contact-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
