/* The site's light base colour, with navy type. Everything is centred in one column so the
   footer reads as a single unit: logo, links, social icons, then the legal line. */
.compact-footer { background:var(--paper,#f7f9fb); color:#193e67; border-top:0; }
.compact-footer-inner { padding-top:52px; padding-bottom:24px; }
.footer-directory { display:flex; flex-direction:column; align-items:center; gap:22px; padding-bottom:34px; text-align:center; }
.compact-footer .brand-logo { width:72px; height:72px; border-radius:50%; }
/* style.css has an older vertical .footer-links rule; set direction, alignment and size explicitly. */
.footer-links { display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; column-gap:34px; row-gap:0; max-width:880px; font-size:15px; }
.footer-links a { display:flex; align-items:center; column-gap:5px; min-height:44px; font-size:15px; line-height:1.4; }
.footer-social { display:flex; gap:10px; list-style:none; margin:0; padding:0; }
.footer-social a { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--line,#c9d2de); border-radius:50%; transition:background-color .18s, border-color .18s; }
.footer-social svg { width:20px; height:20px; }
.compact-footer .footer-social a:hover { background:var(--ice,#e5edf6); border-color:#193e67; text-decoration:none; }
.compact-footer .footer-social a:focus-visible { border-radius:50%; }
.footer-legal { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0 26px; border-top:1px solid var(--line,#c9d2de); padding-top:14px; color:#506472; }
.footer-legal nav { display:flex; flex-wrap:wrap; justify-content:center; gap:0 26px; }
.footer-legal a { display:flex; align-items:center; min-height:40px; font-size:12px; line-height:1.4; }
.footer-legal small { display:flex; align-items:center; min-height:40px; font-size:12px; white-space:nowrap; }
.compact-footer a { transition:color .18s; }
.compact-footer a:hover { color:#1c4e9d; text-decoration:underline; text-underline-offset:6px; }
.compact-footer a:focus-visible { outline:2px solid #285ea8; outline-offset:5px; border-radius:3px; }
@media(max-width:700px) {
  .compact-footer-inner { padding:36px 22px 20px; }
  .footer-directory { gap:16px; padding-bottom:24px; }
  .compact-footer .brand-logo { width:60px; height:60px; }
  /* Two tidy columns of links on phones instead of a ragged wrap. */
  .footer-links { display:grid; grid-template-columns:repeat(2,max-content); column-gap:32px; justify-content:center; text-align:left; }
  .footer-links a { font-size:14px; }
  .footer-legal { gap:0 20px; }
}
@media(prefers-reduced-motion:reduce) { .compact-footer a, .footer-social a { transition:none; } }
