/* Contact directory, scoped to the Contact Us page's new section. */
.contact-directory-panel { border-left: 1px solid var(--stroke); border-right: 1px solid var(--stroke); padding: 80px 40px; }
.contact-directory-heading { max-width: 760px; margin-bottom: 36px; }
.contact-directory-heading .label-2 { display: inline-block; width: fit-content; margin: 0 0 24px; }
.contact-directory-heading h2 { margin-bottom: 20px; }
.contact-directory-hello { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 36px; margin-bottom: 24px; border: 1px solid var(--primary); border-radius: 4px; background: linear-gradient(115deg, #eb4d2126, var(--primary-dark)); color: var(--white); }
.contact-directory-kicker { display: block; color: var(--paragraph-gray); margin-bottom: 12px; font-size: 14px; }
.contact-directory-address { display: block; font-size: clamp(22px, 3vw, 38px); line-height: 1.3; overflow-wrap: anywhere; }
.contact-directory-arrow { flex-shrink: 0; }
.contact-directory-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.contact-directory-card { display: flex; flex-direction: column; gap: 18px; min-width: 0; padding: 28px; border: 1px solid var(--stroke); border-radius: 4px; color: var(--white); transition: border-color 160ms ease, background-color 160ms ease; }
.contact-directory-card-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.contact-directory-card h3 { font-size: 22px; line-height: 1.3; margin: 0; }
.contact-directory-card-title img { flex-shrink: 0; opacity: .6; }
.contact-directory-card p { margin: 0; }
.contact-directory-email { margin-top: auto; padding-top: 8px; font-size: 15px; overflow-wrap: anywhere; }
.contact-directory-card:hover, .contact-directory-hello:hover { border-color: var(--primary); background-color: #eb4d2114; }
.contact-directory-card:focus-visible, .contact-directory-hello:focus-visible { outline: 2px solid var(--white); outline-offset: 4px; }
@media screen and (max-width: 1199px) { .contact-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 767px) {
  .contact-directory-panel { padding: 48px 20px; }
  .contact-directory-hello { padding: 24px; gap: 16px; }
  .contact-directory-card { padding: 24px; }
}
@media screen and (max-width: 479px) {
  .contact-directory-grid { grid-template-columns: 1fr; }
  .contact-directory-hello { align-items: flex-start; }
  .contact-directory-arrow { width: 24px; }
}
