/* One shared footer for every Razor page, independent of page-specific styles. */
.site-footer { background: #03132e; color: #dce4f5; font-family: "Open Sans", Arial, sans-serif; line-height: 1.5; }
.site-footer-container { width: 89%; max-width: 1280px; margin: 0 auto; }
.site-footer-grid { display: grid; grid-template-columns: 1.3fr repeat(4,minmax(0,1fr)); gap: 48px; padding: 30px 4.7%; }
.site-footer img { display: block; width: 140px; max-width: 100%; height: auto; margin-bottom: 12px; }
.site-footer-brand p { font-size: 12px; margin: 0; max-width: 200px; }
.site-footer h2 { font: 600 13px "Open Sans", Arial, sans-serif; color: #fff; margin: 0 0 10px; }
.site-footer a { display: block; font-size: 12px; color: #dce4f5; text-decoration: none; margin-bottom: 5px; }
.site-footer a:hover { color: #fff; text-decoration: underline; }
.site-footer a:focus-visible { outline: 2px solid #30d6ff; outline-offset: 4px; }
.site-footer-bottom { border-top: 1px solid #ffffff20; padding: 14px 0; }
.site-footer-legal { display: flex; justify-content: space-between; align-items: center; gap: 20px; }
.site-footer-legal p { margin: 0; color: #c5d0e5; font-size: 11px; }
.site-footer-legal nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.site-footer-legal a { font-size: 11px; color: #c5d0e5; margin: 0; }
@media (max-width:1199.98px) { .site-footer-grid { gap: 24px; } }
@media (max-width:950px) { .site-footer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 24px; } }
@media (max-width:600px) {
    .site-footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 28px 0; }
    .site-footer-brand { grid-column: 1 / -1; }
    .site-footer-legal { align-items: flex-start; flex-direction: column; gap: 12px; }
}
