.site-footer { background: var(--night); color: var(--paper); border-top: 8px solid var(--wine); }
.footer-inner { max-width: 1200px; margin: 0 auto; padding: 3rem 1.5rem 2rem; }
.page-directory h2 { max-width: 20ch; font-size: 2.4rem; margin-bottom: 2rem; color: var(--gold); }
.directory-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3rem; }
.directory-group h3 { color: var(--paper); margin-bottom: 1rem; }
.directory-group ul { list-style: none; padding: 0; margin: 0; }
.directory-group li { margin: 0; border-bottom: 1px solid #62575d; }
.directory-link { display: flex; align-items: center; min-height: 52px; max-width: 100%; padding: .65rem 0; color: var(--paper); font-size: 1.125rem; text-decoration: none; }
.directory-link:hover { text-decoration: underline; }
.directory-link[aria-current="page"] { color: var(--gold); }
.directory-link[aria-current="page"]::before { content: "◆"; font-size: 1rem; margin-right: .65rem; }
.site-footer a:focus-visible { outline-color: var(--gold); }
.guide-footnote { max-width: 65ch; font-size: 1.125rem; line-height: 1.6; margin: 2.5rem 0 0; padding-top: 1.5rem; border-top: 1px solid #62575d; }
@media (min-width: 1250px) { .footer-inner { padding-left: 0; padding-right: 0; } }
@media (max-width: 800px) { .directory-columns { grid-template-columns: 1fr; gap: 2rem; } }
@media (max-width: 520px) {
  .footer-inner { padding: 2.5rem 1.25rem 2rem; }
  .page-directory h2 { font-size: 2rem; }
}
