.site-footer {
  margin-top: var(--space-9);
  border-top: 3px solid var(--color-ink-navy);
  background: var(--color-ink-navy);
  color: var(--color-surface-white);
}

.site-footer__inner { display: grid; gap: var(--space-6); padding-block: var(--space-7) var(--space-5); }
.site-footer__intro { display: grid; gap: var(--space-3); max-width: 31rem; }
.site-footer__intro p,
.site-footer__bottom p,
.site-footer__bottom address { margin: 0; }
.site-footer__brand { color: var(--color-surface-white); font-family: var(--font-heading); font-size: 1.25rem; font-weight: 900; letter-spacing: 0.08em; text-decoration: none; text-transform: uppercase; }
.site-footer__brand:hover { color: var(--color-arcade-coral); }
.site-footer__region { color: var(--color-arcade-coral); font-family: var(--font-mono); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }

.site-footer__nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.site-footer__group { display: grid; gap: var(--space-3); }
.site-footer__group h2 { margin: 0; color: var(--color-arcade-coral); font-size: var(--text-compact); letter-spacing: 0.06em; }
.site-footer__group ul { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.site-footer__group li,
.site-footer__group li + li { margin: 0; padding: 0; }
.site-footer__group a,
.site-footer__bottom a { color: var(--color-surface-white); }
.site-footer__group a:hover,
.site-footer__bottom a:hover { color: var(--color-arcade-coral); }

.site-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-4); padding-top: var(--space-4); border-top: 1px solid rgb(255 255 255 / 30%); color: rgb(255 255 255 / 82%); font-size: var(--text-compact); }
.site-footer__bottom address { max-width: 35rem; }

.consent-banner {
  position: fixed;
  z-index: 200;
  right: var(--gutter-mobile);
  bottom: var(--gutter-mobile);
  left: var(--gutter-mobile);
  border: 3px solid var(--color-ink-navy);
  background: var(--color-surface-white);
  box-shadow: var(--shadow-hard-strong);
}
.consent-banner[hidden] { display: none; }
.consent-banner__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); padding: var(--space-4); }
.consent-banner__copy { display: grid; gap: var(--space-2); }
.consent-banner__copy h2,
.consent-banner__copy p { margin: 0; }
.consent-banner__copy h2 { font-size: 1rem; }
.consent-banner__copy p { color: var(--color-ink-muted); font-size: var(--text-compact); }
.consent-banner__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.consent-banner__button { min-width: 5.5rem; }
.consent-banner__button--reject { background: var(--color-surface-white); }
.consent-banner__button--reject:hover { background: var(--color-canvas-milk); color: var(--color-ink-navy); }

@media (max-width: 47.5rem) {
  .site-footer { margin-top: var(--space-7); }
  .site-footer__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .consent-banner__inner { flex-direction: column; align-items: stretch; }
  .consent-banner__actions > * { flex: 1 1 8rem; }
}

@media (max-width: 28rem) {
  .site-footer__nav { grid-template-columns: 1fr; }
}
