.site-footer {
  background: #e8f4f7;
  color: #3d4d5c;
  border-top: 1px solid #d3e5e9;
  padding: 44px clamp(20px, 5vw, 80px) 0;
}
.site-footer .footer-inner { max-width: 1340px; margin: 0 auto; }
.site-footer .footer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr) minmax(0, 1.15fr);
  align-items: start;
  gap: 48px;
  padding-bottom: 32px;
}
.site-footer .footer-grid > * { min-width: 0; }
.site-footer .footer-logo-area {
  display: flex;
  align-items: center;
  gap: 16px;
  width: fit-content;
  margin-bottom: 16px;
  text-decoration: none;
}
.site-footer .footer-logo-area img { display: block; width: 88px; height: 88px; object-fit: contain; flex-shrink: 0; }
.site-footer .footer-brand { color: #2a6e80; font-size: .78rem; font-weight: 500; letter-spacing: .09em; line-height: 1.7; text-transform: uppercase; }
.site-footer .footer-about,
.site-footer .footer-disclaimer-text { font-size: .85rem; line-height: 1.8; margin: 0; max-width: 46ch; }
.site-footer .footer-col-head { font-family: 'DM Sans', sans-serif; font-size: .72rem; font-weight: 500; letter-spacing: .14em; line-height: 1.5; text-transform: uppercase; color: #1a2332; margin: 8px 0 18px; }
.site-footer .footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 20px; }
.site-footer .footer-link { display: inline-block; color: #3d4d5c; text-decoration: none; font-size: .85rem; line-height: 1.6; padding: 3px 0; width: fit-content; }
.site-footer .footer-link:hover { color: #2a6e80; text-decoration: underline; text-underline-offset: 4px; }
.site-footer a:focus-visible { outline: 2px solid #2a6e80; outline-offset: 5px; border-radius: 2px; }
.site-footer .footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 12px 28px; flex-wrap: wrap; border-top: 1px solid #cddfe4; padding: 20px 0; }
.site-footer .footer-bottom p { font-size: .75rem; line-height: 1.7; margin: 0; }
.site-footer .footer-legal { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.site-footer .footer-legal .footer-link { font-size: .75rem; }
@media (max-width: 900px) {
  .site-footer .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px 40px; }
  .site-footer .footer-identity { grid-column: 1 / -1; }
  .site-footer .footer-about { max-width: 68ch; }
}
@media (max-width: 560px) {
  .site-footer { padding-top: 28px; }
  .site-footer .footer-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; padding-bottom: 28px; }
  .site-footer .footer-logo-area { gap: 12px; }
  .site-footer .footer-logo-area img { width: 72px; height: 72px; }
  .site-footer .footer-col-head { margin-top: 0; margin-bottom: 12px; }
  .site-footer .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
}
