/* Footer-only candidate. Preserve existing wordmark/brand treatment. */
.site-footer { padding-block-end: calc(88px + env(safe-area-inset-bottom)); }
.site-footer .footer-top {
  display: grid;
  grid-template-columns: minmax(200px, .8fr) minmax(0, 1.4fr);
  align-items: start;
  gap: clamp(28px, 4vw, 64px);
  padding-bottom: 40px;
}
.site-footer .footer-top > *, .site-footer .footer-links > * { min-width: 0; }
.site-footer .footer-brand { max-width: 320px; }
.site-footer .footer-brand p { color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.65; }
.site-footer .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 4vw, 56px); }
.site-footer .footer-links a { font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
.site-footer .footer-links small { font-size: 12px; line-height: 1.5; }
.site-footer .footer-bottom {
  padding-right: 0;
  padding-left: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  gap: 12px 24px;
  font-size: 13px;
  line-height: 1.7;
}
.site-footer .footer-bottom > * { min-width: 0; overflow-wrap: anywhere; }
.site-footer .footer-bottom > :last-child { flex: 1 1 20rem; text-align: end; }
.site-footer .rem-footer-links { gap: 10px 22px; font-size: 14px; line-height: 1.7; }
.site-footer a[href^="tel:"], .site-footer a[href^="mailto:"] { direction: ltr; unicode-bidi: isolate; }
@media (max-width: 980px) {
  .site-footer .footer-top { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 740px) {
  .site-footer .footer-bottom { padding-right: 0; padding-left: 0; flex-direction: column; }
  .site-footer .footer-bottom > :last-child { flex: initial; text-align: start; }
}
@media (max-width: 480px) {
  .site-footer .footer-links { grid-template-columns: minmax(0, 1fr); gap: 24px; }
}
