.site-footer, .site-footer * { box-sizing: border-box; }
.site-footer { display: block; margin: 0; padding: 36px 28px 0; background: #203f60; color: #fff; font-family: 'Open Sans', sans-serif; text-align: left; }
.site-footer-grid { display: grid; grid-template-columns: 1.35fr .7fr 1.2fr 1.1fr; gap: 40px; max-width: 1200px; margin: 0 auto; padding-bottom: 28px; }
.site-footer a { color: #e0e8f0; text-decoration: none; }
.site-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.site-footer h2 { margin: 0 0 12px; padding: 0; color: #fff; font: 500 14px/1.5 'Poppins', sans-serif; text-align: left; }
.site-footer p { margin: 0 0 16px; padding: 0; font-size: 14px; line-height: 1.75; color: #e0e8f0; text-align: left; }
.site-footer .site-footer-identity { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; color: #fff; font: 500 15px/1.4 'Poppins', sans-serif; letter-spacing: 1px; }
.site-footer-identity img { display: block; width: 44px; height: 44px; object-fit: contain; }
.site-footer ul { display: flex; flex-direction: column; gap: 7px; padding: 0; margin: 0; list-style: none; }
.site-footer li { display: block; padding: 0; margin: 0; font-size: 14px; line-height: 1.6; }
.site-footer-email { display: block; font-size: 14px; overflow-wrap: anywhere; }
.site-footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; max-width: 1200px; margin: 0 auto; padding: 10px 0; border-top: 1px solid #ffffff30; }
.site-footer-bottom p { margin: 0; color: #bdcddd; font-size: 12px; }
.site-footer-bottom > div { display: flex; align-items: center; gap: 24px; }
.site-footer-bottom a, .site-footer-bottom button { color: #bdcddd; font: 12px/1.5 'Open Sans', sans-serif; }
.site-footer-bottom button { padding: 12px 0; border: 0; background: none; cursor: pointer; }
.site-footer-bottom button:hover { color: #fff; text-decoration: underline; }
.site-footer :focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.capability-card[id] { scroll-margin-top: 110px; }
@media (max-width: 1000px) { .site-footer-grid { grid-template-columns: 1fr 1fr; gap: 28px 48px; } }
@media (max-width: 560px) { .site-footer { padding: 28px 24px 0; } .site-footer-grid { grid-template-columns: 1fr; gap: 24px; padding-bottom: 24px; } .site-footer h2 { margin-bottom: 14px; } .site-footer-bottom { align-items: flex-start; flex-direction: column; gap: 4px; } }
