.site-footer {
  background: #233847;
  color: #d1dce2;
  border-top: 4px solid var(--teal-primary);
  font-size: 0.875rem;
  line-height: 1.75;
}
.footer-inner {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 3rem var(--content-gutter);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
  text-align: left;
}
.footer-col { min-width: 0; }
.footer-brand-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.footer-logo { display: block; flex: 0 0 76px; width: 76px; height: 76px; padding: 5px; background: #fff; border-radius: 50%; object-fit: contain; }
.footer-brand-name { color: #fff; font-family: var(--font-display); font-size: 1.2rem; line-height: 1.3; }
.site-footer p { margin: 0; color: inherit; font-size: 0.875rem; line-height: 1.8; }
.footer-brand-desc { max-width: 35ch; }
.footer-heading { margin: 0 0 1.25rem; color: #fff; font: 700 0.85rem var(--font-body); letter-spacing: 0.08em; text-transform: uppercase; }
.footer-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.65rem 1.25rem; }
.footer-link, .footer-legal a { color: #d1dce2; text-decoration: none; overflow-wrap: anywhere; }
.footer-link:hover, .footer-legal a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.site-footer a:focus-visible { outline: 2px solid var(--teal-accent); outline-offset: 5px; }
.site-footer .footer-disclaimer { font-size: 0.8rem; color: #b9c8d2; }
.footer-bottom { max-width: var(--max-width); margin: 0 auto; padding: 1.25rem var(--content-gutter); border-top: 1px solid #ffffff24; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0.75rem 2rem; font-size: 0.75rem; color: #b9c8d2; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; }
@media (max-width: 899px) {
  .footer-inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .footer-col:last-child { grid-column: 1 / -1; }
}
@media (max-width: 559px) {
  .footer-inner { grid-template-columns: minmax(0, 1fr); padding-block: 2rem; gap: 2rem; }
  .footer-col:last-child { grid-column: auto; }
  .footer-brand-desc { max-width: none; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
}
