.site-footer {
  background: var(--color-brown);
  color: var(--color-cream);
  padding: var(--spacing-xl) var(--spacing-lg) clamp(48px, 6vw, 88px);
}
.footer-container {
  max-width: 1240px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 88px);
  align-items: start;
}
.footer-brand { min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: var(--spacing-xxl); }
.footer-quote { margin: 0; font-size: clamp(var(--font-size-h3), 3vw, 44px); font-weight: var(--font-weight-regular); line-height: 1.3; max-width: 22ch; }
.footer-quote b { color: var(--color-orange); font-weight: var(--font-weight-bold); }
.footer-brand > a { display: block; width: min(100%, 330px); }
.footer-logo { display: block; width: 100%; height: auto; }
.footer-nav-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--spacing-xl); padding-top: var(--spacing-lg); min-width: 0; }
.footer-link-group { min-width: 0; }
.footer-link-group + .footer-link-group { padding-left: var(--spacing-xl); border-left: 1px solid var(--color-brown-hover); }
.footer-heading { margin: 0 0 var(--spacing-lg); text-transform: uppercase; font-size: var(--font-size-body-small); font-weight: var(--font-weight-bold); }
.nav-footer { display: grid; gap: var(--spacing-md); list-style: none; padding: 0; margin: 0; }
.nav-footer a, .nav-footer-disabled span { font-size: var(--font-size-body-base); line-height: 1.5; color: var(--color-cream); text-decoration: none; overflow-wrap: anywhere; }
.nav-footer a { display: inline-block; padding-block: 4px; }
.nav-footer a:hover { color: var(--color-orange); text-decoration: underline; text-underline-offset: 5px; }
.site-footer a:focus-visible { outline: 2px solid var(--color-cream); outline-offset: 5px; }
.nav-footer-disabled span { color: var(--color-cream-dark); }
@media (max-width: 900px) {
 .footer-container { gap: var(--spacing-lg); }
 .footer-nav-grid { gap: var(--spacing-md); }
 .footer-link-group + .footer-link-group { padding-left: var(--spacing-md); }
 .footer-quote { font-size: var(--font-size-h3); }
}
@media (max-width: 680px) {
 .site-footer { padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-xxl); }
 .footer-container { grid-template-columns: minmax(0, 1fr); gap: var(--spacing-xl); }
 .footer-brand { gap: var(--spacing-lg); }
 .footer-quote { font-size: clamp(26px, 7vw, 34px); max-width: 24ch; }
 .footer-brand > a { width: 220px; }
 .footer-nav-grid { padding: 0; }
 .nav-footer { gap: var(--spacing-sm); }
 .nav-footer a { min-height: 44px; display: flex; align-items: center; }
 .footer-heading { margin-bottom: var(--spacing-md); }
 .nav-footer a, .nav-footer-disabled span { font-size: var(--font-size-body-small); }
}
