/* Shared footer */
.site-footer { background:#244d4d; color:#e2f0ef; padding:48px 5% 24px; }
.site-footer * { box-sizing:border-box; }
.site-footer .footer-container { max-width:1200px; margin:0 auto 32px; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr); gap:48px; align-items:start; }
.site-footer .footer-container > div { min-width:0; }
.site-footer .footer-brand { display:inline-flex; align-items:center; background:#fff; padding:10px 14px; border-radius:10px; margin:0 0 16px; line-height:1; }
.site-footer .footer-brand img { display:block; width:auto; height:48px; max-width:100%; object-fit:contain; }
.site-footer .footer-tagline { margin:0 0 12px; color:#fff; font-size:18px; font-weight:600; line-height:1.4; }
.site-footer .footer-description,.site-footer .disclaimer-text { margin:0; color:#c9dfde; font-size:14px; line-height:1.75; }
.site-footer .footer-section-title { margin:0 0 16px; color:#fff; font-size:16px; font-weight:600; line-height:1.4; }
.site-footer .footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 18px; }
.site-footer .footer-link { display:block; margin:0; padding:2px 0; color:#e2f0ef; font-size:14px; line-height:1.5; text-decoration:none; overflow-wrap:break-word; }
.site-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.site-footer a:focus-visible { outline:2px solid #b2dfdb; outline-offset:5px; border-radius:2px; }
.site-footer .footer-bottom { max-width:1200px; margin:0 auto; padding-top:20px; border-top:1px solid rgba(226,240,239,.22); display:flex; justify-content:space-between; align-items:center; gap:16px 24px; }
.site-footer .copyright { margin:0; padding:0; border:0; text-align:left; color:#c9dfde; font-size:13px; line-height:1.6; }
.site-footer .footer-legal { display:flex; flex-wrap:wrap; gap:12px 24px; }
.site-footer .footer-legal a { color:#e2f0ef; font-size:13px; line-height:1.6; text-decoration:none; }
@media(max-width:900px) { .site-footer .footer-container { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px 36px; } .site-footer .footer-right { grid-column:1/-1; } }
@media(max-width:600px) { .site-footer { padding:32px 5% 20px; } .site-footer .footer-container { grid-template-columns:minmax(0,1fr); gap:28px; margin-bottom:24px; } .site-footer .footer-right { grid-column:auto; } .site-footer .footer-bottom { flex-direction:column; align-items:flex-start; gap:12px; } }
