.page-contact .contact-intro { max-width: 700px; margin-bottom: 2rem; }
.page-contact .contact-eyebrow { color: var(--site-accent); text-transform: uppercase; font-size: .7rem; letter-spacing: .12em; font-weight: 600; margin-bottom: .65rem; }
.page-contact .contact-intro h1 { margin-bottom: .75rem; }
.page-contact .contact-lead { color: var(--site-muted); font-size: 1.1rem; line-height: 1.65; }
.page-contact .contact-locations { display: grid; gap: 1.5rem; }
.page-contact .contact-location { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); border: 1px solid var(--site-border); border-radius: 10px; overflow: hidden; background: #fff; }
.page-contact .contact-information { padding: 1.75rem 2rem; }
.page-contact .contact-information h2 { font-size: 1.4rem; font-weight: 600; line-height: 1.3; margin-bottom: 1.5rem; color: var(--site-ink); }
.page-contact .contact-detail { margin-bottom: 1.25rem; }
.page-contact .contact-detail h3 { font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--site-muted); font-weight: 600; margin-bottom: .5rem; }
.page-contact .contact-email { color: var(--site-accent); text-decoration: underline; text-underline-offset: .2em; overflow-wrap: anywhere; }
.page-contact address { font-style: normal; line-height: 1.7; color: var(--site-muted); margin: 0; font-size: .95rem; }
.page-contact .contact-actions { display: flex; align-items: center; gap: .6rem 1rem; flex-wrap: wrap; }
.page-contact .contact-actions a { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; color: var(--site-muted); font-size: .8rem; text-underline-offset: .2em; }
.page-contact .contact-actions .contact-directions { padding: .6rem .85rem; border: 1px solid var(--site-border); border-radius: 5px; color: var(--site-ink); text-decoration: none; }
.page-contact .contact-directions:hover { background: var(--site-soft); }
.page-contact .contact-map { background: var(--site-soft); min-height: 320px; }
.page-contact .contact-map iframe { display: block; width: 100%; height: 100%; min-height: 320px; border: 0; }
.page-contact .contact-profiles { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; background: var(--site-soft); padding: 1.5rem 2rem; margin-top: 2rem; border-radius: 8px; }
.page-contact .contact-profiles h2 { font-size: 1.2rem; margin: 0; }
.page-contact .contact-profiles nav { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
.page-contact .contact-profiles nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: .85rem; color: var(--site-accent); text-underline-offset: .2em; }
@media (max-width: 767px) {
 .page-contact .contact-location { grid-template-columns: minmax(0, 1fr); }
 .page-contact .contact-information { padding: 1.5rem; }
 .page-contact .contact-map, .page-contact .contact-map iframe { min-height: 240px; height: 240px; }
 .page-contact .contact-profiles { padding: 1.5rem; }
}

.page-contact .contact-information .contact-affiliation { color: var(--site-muted); margin-top: -1rem; margin-bottom: 1.5rem; font-size: .9rem; }
