/* Load after imported reference CSS so the shared footer stays intentional. */
.footer {
  position: relative;
  background: #edf3f7;
  color: #526171;
  border-top: 4px solid #0b426f;
  font-size: 13px;
  padding: 42px 0 38px;
}
.footer .footer-grid { display: grid; grid-template-columns: minmax(280px, 2.25fr) repeat(3, minmax(132px, 1fr)); gap: clamp(32px, 5vw, 84px); align-items: start; padding-top: 4px; padding-bottom: 0; }
.footer-brand { padding-right: clamp(0px, 2vw, 30px); }
.footer .logo.logo-image { width: 210px; height: 68px; margin: 0 0 14px; }
.footer-brand p { max-width: 370px; margin: 0; color: #526171; font-size: 13px; line-height: 1.75; }
.footer-col { min-width: 0; }
.footer-col h5 { margin: 8px 0 17px; color: #123b58; font-size: 12px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.footer-col ul { margin: 0; padding: 0; list-style: none; }
.footer-col ul li { margin: 0 0 11px; line-height: 1.45; }
.footer-col ul li a { color: #526171; transition: color .18s ease, padding-left .18s ease; }
.footer-col ul li a:hover { color: #e65c00; padding-left: 4px; }
@media (max-width: 900px) { .footer { padding: 34px 0; } .footer .footer-grid { grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(115px, 1fr)); gap: 28px; } .footer .logo.logo-image { width: 195px; height: 62px; } }
@media (max-width: 680px) { .footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; } .footer-brand { grid-column: 1 / -1; padding-right: 0; } }
@media (max-width: 420px) { .footer .footer-grid { grid-template-columns: 1fr; gap: 23px; } .footer-brand { grid-column: auto; } .footer-col h5 { margin: 0 0 11px; } }
