.site-footer { width: 100%; margin: 0; background: var(--forest); color: var(--cream); }
.footer-inner { max-width: 1560px; margin: 0 auto; padding: 24px clamp(24px, 3.4vw, 48px) 20px; }
.footer-brand-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 24px; }
.footer-logo {
  display: block; width: min(100%, clamp(240px, 19vw, 280px)); aspect-ratio: 720 / 321;
  background: var(--cream);
  -webkit-mask: url('images/logo.webp') center / contain no-repeat;
  mask: url('images/logo.webp') center / contain no-repeat;
}
.footer-descriptor { justify-self: end; text-align: right; }
.footer-descriptor p { margin: 0; }
.footer-kind { color: var(--mustard); font: 750 clamp(36px, 3vw, 44px)/1.05 Fraunces, Georgia, serif; letter-spacing: -.025em; }
.footer-specialty { margin-top: 3px !important; font: italic 400 clamp(22px, 1.8vw, 26px)/1.15 Georgia, 'Times New Roman', serif; font-synthesis: none; }
.footer-links-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin-top: 18px; }
.footer-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px clamp(20px, 2.4vw, 34px); }
.footer-nav a, .footer-phone { display: inline-flex; align-items: center; min-height: 44px; font: 700 clamp(18px, 1.4vw, 20px)/1.3 Fraunces, Georgia, serif; }
.footer-phone { font-size: clamp(24px, 2vw, 28px); font-variant-numeric: lining-nums; white-space: nowrap; }
.site-footer a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: transparent; transition: color .16s ease, text-decoration-color .16s ease; }
.site-footer a:hover { color: var(--mustard); text-decoration-color: currentColor; }
.site-footer a:focus-visible { outline: 3px solid var(--mustard); outline-offset: 5px; text-decoration-color: currentColor; }
.footer-legal { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0 24px; border-top: 1px solid var(--mustard); margin-top: 14px; padding-top: 10px; font: 400 clamp(13px, 1vw, 14px)/1.45 Georgia, 'Times New Roman', serif; }
.footer-legal p { margin: 0; }
.footer-credit { display: flex; flex-wrap: wrap; align-items: center; column-gap: .3em; }
.footer-legal a { display: inline-flex; align-items: center; min-height: 44px; text-decoration-color: currentColor; }
@media (max-width: 799px) {
  .footer-inner { padding: 24px 18px; text-align: center; }
  .footer-brand-row { display: flex; flex-direction: column; gap: 14px; }
  .footer-logo { width: min(100%, clamp(150px, 41vw, 170px)); }
  .footer-descriptor { text-align: center; }
  .footer-kind { font-size: clamp(26px, 7.2vw, 30px); }
  .footer-specialty { font-size: clamp(17px, 4.6vw, 19px); }
  .footer-links-row { flex-direction: column; gap: 14px; margin-top: 16px; }
  .footer-nav { justify-content: center; gap: 4px 16px; max-width: 100%; }
  .footer-nav a { font-size: clamp(15px, 4vw, 16px); }
  .footer-phone { font-size: clamp(21px, 5.8vw, 24px); }
  .footer-legal { flex-direction: column; gap: 0; margin-top: 14px; padding-top: 10px; font-size: clamp(12px, 3.3vw, 13px); }
  .footer-credit { justify-content: center; max-width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .site-footer a { transition: none; }
}
