/* Shared by every standard site footer; overrides legacy page layouts. */
.site-footer.shared-site-footer { background: #14334d; color: #cedde9; border-top: 3px solid #4b9ed0; padding: 44px 0 26px; }
.site-footer.shared-site-footer .footer-grid.footer-grid-4 { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 32px; margin-bottom: 28px; }
.site-footer.shared-site-footer .brand { display: inline-flex; align-items: center; gap: 8px; flex-wrap: wrap; color: #fff; font-size: 1.35rem; }
.site-footer.shared-site-footer .brand .mark { display: inline-block; flex: 0 0 44px; width: 44px; height: 44px; background: url('../assets/branding/2ob-mark-light.png') center / contain no-repeat; font-size: 0; }
.site-footer.shared-site-footer .footer-description { margin-top: 14px; max-width: 36ch; color: #cedde9; }
.site-footer.shared-site-footer h4 { color: #fff; margin-bottom: 12px; }
.site-footer.shared-site-footer a:not(.brand) { display: block; color: #cedde9; padding: 5px 0; }
.site-footer.shared-site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer.shared-site-footer .footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; color: #cedde9; }
@media (max-width: 900px) {
  .site-footer.shared-site-footer .footer-grid.footer-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
  .site-footer.shared-site-footer .footer-grid.footer-grid-4 { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
