
/* V30: shared footer contrast and responsive polish; all site pages */
.site-footer { background:#101f48 !important; color:#eaf2ff !important; border-top:1px solid rgba(191,219,254,.16); }
.site-footer .footer-heading { color:#ffffff !important; font-weight:750; letter-spacing:.01em; }
.site-footer .footer-brand p { color:#c7d8f4 !important; line-height:1.75; }
.site-footer .footer-link, .site-footer .footer-links a { color:#c7d8f4 !important; line-height:1.6; }
.site-footer .footer-link:hover, .site-footer .footer-links a:hover { color:#ffffff !important; text-decoration:underline; text-underline-offset:4px; }
.site-footer .footer-bottom, .site-footer .footer-bottom p { color:#b8cbed !important; }
.site-footer .footer-bottom { border-top:1px solid rgba(219,234,254,.25); gap:1rem; }
.site-footer .social-icon-btn { background:#ffffff !important; color:#284776 !important; border-color:#e6efff !important; }
.site-footer .social-icon-btn:hover { background:#dbeafe !important; color:#153d91 !important; transform:translateY(-2px); }
.site-footer .footer-grid { align-items:start; }
.site-footer a:focus-visible { outline:2px solid #93c5fd; outline-offset:4px; border-radius:3px; }
@media(max-width:640px) { .site-footer {padding:3rem 0 1.5rem;} .site-footer .footer-grid {gap:2rem;} .site-footer .footer-bottom {text-align:left;align-items:flex-start;} }
