/* Shared footer: natural content flow, compact groups and comfortable touch targets. */
html:root body .footer { padding-top: 40px; padding-bottom: 22px; }
html:root body .footer-top { grid-template-columns: 1.15fr .85fr 1fr; align-items: start; gap: 40px; }
html:root body .footer-top .brand-mark-footer { width: 190px; max-width: 100%; margin-bottom: 12px; }
html:root body .footer-top > div:first-child > p { margin: 0 0 12px; }
html:root body .footer-top h3 { margin: 0 0 14px; }
html:root body .footer-content-items { flex: initial; justify-content: flex-start; gap: 8px; }
html:root body .footer-top .footer-content-items > a { padding-block: 4px; }
html:root body .footer-top .social-links { margin-top: 0; gap: 12px; }
html:root body .footer-top .social-links .social-link { padding-block: 8px; min-height: 44px; }
html:root body .footer-advisor { margin-top: 16px; padding-top: 16px; }
html:root body .footer-advisor h3 { margin-bottom: 8px; }
html:root body .footer-bottom { margin-top: 28px; padding-top: 18px; }
html:root body .footer > .fine { margin-top: 16px; }
@media (max-width: 850px) {
  html:root body .footer-top { grid-template-columns: 1fr 1fr; gap: 28px; }
  html:root body .footer-top > div:first-child { grid-column: 1 / -1; }
  html:root body .footer-top .social-links { max-width: 420px; }
}
@media (max-width: 600px) {
  html:root body .footer { padding-top: 30px; }
  html:root body .footer-top { grid-template-columns: 1fr; gap: 26px; }
  html:root body .footer-top .brand-mark-footer { width: 170px; margin-bottom: 8px; }
  html:root body .footer-top .social-links { gap: 8px; }
  html:root body .footer-content-items { gap: 4px; }
  html:root body .footer-top .footer-content-items > a { min-height: 40px; padding-block: 6px; }
  html:root body .footer-bottom { margin-top: 24px; gap: 12px; }
}
