/* Shared footer: editorial typography and the original company information. */
/* Let short internal pages fill the viewport before the footer ends. */
body:not(.home) { display:flex; flex-direction:column; height:auto; min-height:100vh; min-height:100svh; }
body:not(.home) > main#site-content { flex:1 0 auto; width:100%; }
body:not(.home) > .site-footer { flex-shrink:0; }
.site-footer { margin-top:0; padding:56px 32px 64px; background:#081a30; color:#c3d1e2; border-top:1px solid #263b53; font-family:'Source Sans 3',sans-serif; }
.site-footer::before { content:none; }
.site-footer__inner { max-width:1200px; padding:0; margin-inline:auto; }
.site-footer__columns { display:grid; grid-template-columns:minmax(0,1.7fr) repeat(2,minmax(0,1fr)); gap:64px; align-items:start; }
.site-footer__col { display:flex; flex-direction:column; align-items:flex-start; gap:14px; min-width:0; text-align:left; }
.site-footer .footer-widget { margin:0; }
.site-footer :is(p,h4,.footer-widget__title,.site-footer__group-title) { font-family:'Source Sans 3',sans-serif; font-size:17px; line-height:1.5; letter-spacing:0; text-transform:none; text-shadow:none; margin:0; color:#c3d1e2; }
.site-footer :is(h4,.footer-widget__title,.site-footer__group-title) { color:#f7f9fc; font-weight:600; }
.site-footer .site-footer__group-title { margin:12px 0 10px; font-size:20px; }
.site-footer a { color:#e7eefb; border:0; text-decoration:underline; text-decoration-color:#53677e; text-underline-offset:5px; transition:color 180ms ease; overflow-wrap:anywhere; }
.site-footer a:hover { color:#aeebff; text-decoration-color:#aeebff; }
.site-footer a:focus-visible { outline:3px solid #8c6eff; outline-offset:4px; border-radius:2px; }
.site-footer .wp-block-image { margin:0 !important; }
.site-footer .wp-block-image img { width:112px; height:auto; display:block; }
@media(max-width:900px) { .site-footer__columns { gap:32px; grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .site-footer { padding:40px 24px 48px; }
 .site-footer__columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 24px; justify-items:stretch; text-align:left; }
 .site-footer__col:first-child { grid-column:1/-1; }
 .site-footer__col { align-items:flex-start; }
 .site-footer .site-footer__group-title { margin-top:0; }
}
@media(prefers-reduced-motion:reduce) { .site-footer a { transition:none; } }
.site-footer__group-title { overflow-wrap: anywhere; hyphens: auto; }
