/* Canonical catalogue navigation, shared by every public template. */
body.drive-ma-site .drive-portal-footer--directory { background: #05070a !important; border-block-start: 1px solid #29364a; padding-block: 2.5rem !important; }
body.drive-ma-site .drive-portal-footer--directory .drive-portal-footer__grid { display: block; }
body.drive-ma-site .drive-portal-footer--directory .drive-portal-footer__brand { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; padding-block-end: 1.75rem; margin-block-end: 1.75rem; border-block-end: 1px solid #29364a; }
body.drive-ma-site .drive-portal-footer--directory .drive-portal-footer__brand > p { margin: 0; max-width: 44ch; flex: 1 1 18rem; }
body.drive-ma-site .drive-portal-footer--directory .drive-portal-footer__contact { margin: 0; min-height: 2.75rem; }
body.drive-ma-site .drive-portal-footer--directory .drive-portal-footer__meta { margin: 0; }
body.drive-ma-site .drive-portal-footer--directory .drive-footer-index { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2rem; align-items: start; }
body.drive-ma-site .drive-footer-index__group { border: 0; background: transparent !important; padding: 0; margin: 0; min-width: 0; box-shadow: none; }
body.drive-ma-site .drive-footer-index__group > summary { box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: .75rem; color: #f7f9fc !important; background: transparent !important; padding: 0 0 1rem; margin: 0; cursor: pointer; list-style: none; }
body.drive-ma-site .drive-footer-index__group > summary::-webkit-details-marker { display: none; }
body.drive-ma-site .drive-footer-index__group > summary h2 { color: inherit !important; font-size: 1rem !important; font-weight: 750; line-height: 1.5; margin: 0 !important; }
body.drive-ma-site .drive-footer-index__group > summary > span { font-size: 1.3rem; line-height: 1; color: #94b8ff; }
body.drive-ma-site .drive-footer-index__group[open] > summary > span { font-size: 0; }
body.drive-ma-site .drive-footer-index__group[open] > summary > span::before { content: "−"; font-size: 1.3rem; }
body.drive-ma-site .drive-footer-index__group nav { display: block; padding: 0; margin: 0; }
body.drive-ma-site .drive-footer-index__group ul { display: block; list-style: none; padding: 0; margin: 0; }
body.drive-ma-site .drive-footer-index__group li { padding: 0; margin: 0; }
body.drive-ma-site .drive-portal-footer--directory .drive-footer-index__group a { box-sizing: border-box; display: flex; align-items: center; min-height: 2rem; padding-block: .3rem; font-size: .875rem !important; font-weight: 400; line-height: 1.55; text-align: start; color: #cbd5e1 !important; overflow-wrap: break-word; text-decoration: none; }
body.drive-ma-site .drive-portal-footer--directory .drive-footer-index__group a:hover { color: #fff !important; text-decoration: underline; text-underline-offset: .22em; }
body.drive-ma-site .drive-portal-footer--directory .drive-footer-index__group a:active { color: #fff !important; background: #142542; }
body.drive-ma-site .drive-footer-index :is(a,summary):focus-visible { outline: 3px solid #94b8ff !important; outline-offset: 3px; border-radius: .15rem; }
@media (min-width: 48.001rem) and (max-width: 68rem) {
  body.drive-ma-site .drive-portal-footer--directory .drive-footer-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
}
@media (max-width: 48rem) {
  body.drive-ma-site .drive-portal-footer--directory { padding-block: 1.5rem !important; }
  body.drive-ma-site .drive-portal-footer--directory .drive-portal-footer__brand { align-items: flex-start; flex-direction: column; gap: .75rem; padding-block-end: 1.25rem; margin-block-end: .5rem; }
  body.drive-ma-site .drive-portal-footer--directory .drive-portal-footer__brand > p { flex: initial; }
  body.drive-ma-site .drive-portal-footer--directory .drive-footer-index { display: block; }
  body.drive-ma-site .drive-footer-index__group { border-block-end: 1px solid #29364a; }
  body.drive-ma-site .drive-footer-index__group > summary { min-height: 3.5rem; padding-block: .75rem; }
  body.drive-ma-site .drive-footer-index__group nav { padding-block: 0 .75rem; }
  body.drive-ma-site .drive-portal-footer--directory .drive-footer-index__group a { min-height: 2.75rem; padding-inline: .2rem; }
}
