/* Shared Contact component for Home and Program. */

.prose .program-contact { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.5fr); gap: 40px; margin-top: 24px; padding: 40px; background: var(--river-deep); color: white; }
.prose .program-contact h2 { padding: 0; margin: 0 0 18px; border: 0; font-size: 2rem; color: white; }
.prose .program-contact__description { margin: 0; max-width: none; font-size: .9rem; line-height: 1.75; color: #d3e1e2; }
.prose .program-contact__people { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; align-items: start; }
.prose .program-contact .contact-person { padding: 20px 0 0; border: 0; border-top: 1px solid #ffffff40; }
.prose .program-contact .contact-person h3 { margin: 0 0 16px; font-size: 1.2rem; color: white; }
.prose .program-contact .contact-person a { color: #e5f1f2; font-size: .84rem; overflow-wrap: anywhere; }
.prose .program-contact .contact-person a:hover { color: white; }
.prose .program-contact .contact-person a:focus-visible { outline: 2px solid white; outline-offset: 5px; }
@media(max-width:900px) {
  .prose .program-contact { grid-template-columns: 1fr; gap: 28px; padding: 32px; }
}
@media(max-width:700px) {
  .prose .program-contact { margin-top: 20px; padding: 28px 24px; }
  .prose .program-contact h2 { font-size: 1.65rem; }
  .prose .program-contact__people { grid-template-columns: 1fr; gap: 24px; }
}
