.site-footer.footer-directory {
  padding: 54px max(28px, calc((100% - 1200px) / 2)) 22px;
  border-top: 3px solid var(--zen-accent, #2048f3);
  background: #242626;
  color: #c2caca;
  font-size: 15px;
  line-height: 1.65;
}

.footer-directory-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, .85fr) minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.footer-directory-grid > * { min-width: 0; }
.site-footer.footer-directory a { color: #e4e9e9; text-decoration: none; }
.site-footer.footer-directory a:hover { color: #b9d7ff; }
.footer-directory a:focus-visible { outline-color: #9fbfff; outline-offset: 4px; }
.footer-brand { display: inline-flex; align-items: center; }
.footer-brand img { display: block; width: 170px; height: 46px; object-fit: contain; }
.footer-directory .footer-tagline { margin: 12px 0 26px; font-size: 13px; color: #abb5b5; }
.footer-address { margin: 0; font-style: normal; }
.footer-directory .footer-address > p { display: flex; flex-wrap: wrap; column-gap: 8px; margin: 0 0 9px; }
.footer-address strong, .footer-company-data dt { color: #f1f4f4; font-weight: 600; }
.footer-directory .footer-address a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #667272; }
.footer-offices { margin-top: 24px; }
.footer-offices > strong { display: block; margin-bottom: 7px; }
.footer-directory .footer-offices p { margin: 3px 0; }
.footer-company-data { display: grid; gap: 3px; margin: 24px 0 0; }
.footer-company-data > div { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-company-data dt, .footer-company-data dd { margin: 0; }

.footer-directory .footer-directory-column h2 { margin: 10px 0 29px; font-size: 16px; font-weight: 650; line-height: 1.5; color: #fff; }
.footer-directory-column ul { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.footer-directory-column li { margin: 0; padding: 0; }
.footer-directory-column a { display: inline-block; padding: 2px 0; }
.footer-directory-column a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-resource-column ul { gap: 14px; }
.footer-resource-column a { display: block; padding: 10px 14px; border: 1px solid #596464; border-radius: 4px; text-align: center; }
.footer-resource-column a:hover { border-color: #9fbfff; background: #ffffff08; text-decoration: none; }

.footer-directory-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 54px; padding-top: 22px; border-top: 1px solid #454d4d; }
.footer-directory .footer-directory-bottom > p { margin: 0 auto 0 0; font-size: 13px; }
.footer-network-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; font-size: 13px; }
.footer-network-links a { padding: 5px 0; }
.footer-network-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-directory .footer-return { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border: 1px solid #596464; border-radius: 50%; }
.footer-directory .footer-return:hover { border-color: #9fbfff; background: #ffffff08; }
.footer-return svg { width: 18px; height: 18px; }

@media (max-width: 1000px) {
  .footer-directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 56px; }
  .footer-directory .footer-directory-column h2 { margin-top: 0; margin-bottom: 20px; }
  .footer-resource-column a { max-width: 280px; }
  .footer-directory-bottom { margin-top: 38px; }
  .footer-directory .footer-directory-bottom > p { flex-basis: calc(100% - 68px); }
  .footer-network-links { order: 3; flex-basis: 100%; }
}

@media (max-width: 560px) {
  .site-footer.footer-directory { padding: 38px 22px 24px; font-size: 14px; }
  .footer-directory-grid { gap: 32px 22px; }
  .footer-identity, .footer-resource-column { grid-column: 1 / -1; }
  .footer-brand img { width: 155px; height: 42px; }
  .footer-directory .footer-tagline { margin-bottom: 24px; }
  .footer-directory .footer-directory-column h2 { font-size: 15px; margin-bottom: 14px; }
  .footer-directory-column ul { gap: 10px; }
  .footer-resource-column ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .footer-resource-column a { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 48px; padding: 9px; }
  .footer-network-links { gap: 6px 18px; }
}
