/* Public profile links, shared by the homepage and news footer. */
footer .footer-socials { margin-top: 1.25rem; color: var(--blue); }
.footer-social-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: .35rem .75rem; margin-bottom: .65rem; font-size: .8rem; font-weight: 600; }
.footer-social-handle { color: var(--muted); font-size: .75rem; font-weight: 400; }
.social-links { display: flex; flex-wrap: wrap; gap: .5rem; }
footer .social-links a { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; padding: .6rem .85rem; border: 1px solid var(--border); border-radius: 8px; color: inherit; font-size: .8rem; font-weight: 600; text-decoration: none; }
footer .social-links a:hover { color: var(--blue); background: #EEF3FA; border-color: var(--blue); }
.social-links svg { width: 17px; height: 17px; flex-shrink: 0; }
.social-links a:focus-visible { outline: 3px solid var(--terracota); outline-offset: 3px; }
.news-footer .footer-socials { margin: 0 auto 1.25rem; color: rgba(255,255,255,.9); }
.news-footer .footer-social-title, .news-footer .social-links { justify-content: center; }
.news-footer .footer-social-handle { color: rgba(255,255,255,.7); }
.news-footer .social-links a { border-color: rgba(255,255,255,.25); }
.news-footer .social-links a:hover { color: white; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.65); }
