.site-footer {
  background: var(--color-emerald-950);
  color: var(--color-white-000);
}

.site-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) repeat(3, minmax(0, 1fr));
  gap: var(--space-8);
  padding-block: clamp(var(--space-12), 7vw, var(--space-20));
}

.site-footer__brand,
.site-footer__group {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: var(--space-3);
}

.site-footer__brand p { margin: 0; color: #d9e2dc; }

.site-footer__brand-link {
  color: var(--color-white-000);
  font-family: var(--font-heading);
  font-size: var(--font-size-24);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.15;
  text-decoration: none;
}

.site-footer__brand-link span { color: var(--color-amber-500); }
.site-footer__brand-link:hover { color: var(--color-white-000); text-decoration: underline; text-decoration-color: var(--color-amber-500); }

.site-footer__heading {
  margin: 0;
  color: var(--color-amber-500);
  font-size: var(--font-size-14);
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.site-footer__links {
  display: grid;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: var(--space-2);
}

.site-footer__links li,
.site-footer__links li + li { margin: 0; padding: 0; }
.site-footer a { color: var(--color-white-000); text-decoration-color: var(--color-amber-500); }
.site-footer a:hover { color: var(--color-white-000); text-decoration-color: currentColor; }

.site-footer__address { margin: 0; font-style: normal; }
.site-footer__bottom {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-block: var(--space-6);
  border-top: 1px solid var(--color-line-dark);
  gap: var(--space-6);
}

.site-footer__warning,
.site-footer__copyright { margin: 0; }
.site-footer__warning { max-width: 54rem; color: var(--color-white-000); font-size: var(--font-size-14); font-weight: 600; line-height: 1.5; }
.site-footer__copyright { color: #d9e2dc; font-size: var(--font-size-14); white-space: nowrap; }

.site-consent[hidden],
[data-age-modal][hidden] { display: none !important; }

.site-consent {
  position: fixed;
  z-index: 800;
  right: var(--space-4);
  bottom: var(--space-4);
  left: var(--space-4);
  max-width: 46rem;
  margin-inline: auto;
  border: 1px solid var(--color-line-light);
  border-radius: var(--radius-md);
  background: var(--color-white-000);
  color: var(--color-ink-950);
  box-shadow: var(--shadow-overlay);
}

.site-consent__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-4);
  gap: var(--space-4);
}

.site-consent__copy { min-width: 0; }
.site-consent__copy h2 { margin: 0 0 var(--space-1); font-size: var(--font-size-18); }
.site-consent__copy p { margin: 0; color: var(--color-ink-600); font-size: var(--font-size-14); line-height: var(--line-height-small); }
.site-consent__actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: var(--space-2); }
.site-consent .button { min-height: 2.5rem; }

.site-age-modal {
  position: fixed;
  z-index: 1200;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-4);
  overflow-y: auto;
}

.site-age-modal__backdrop { position: fixed; inset: 0; background: rgb(8 42 37 / 88%); }

.site-age-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 38rem);
  padding: clamp(var(--space-6), 5vw, var(--space-8));
  border-radius: var(--radius-md);
  background: var(--color-white-000);
  color: var(--color-ink-950);
  box-shadow: var(--shadow-overlay);
}

.site-age-modal__dialog h2 { margin-bottom: var(--space-4); font-size: clamp(1.75rem, 5vw, var(--font-size-32)); }
.site-age-modal__dialog p { margin-bottom: var(--space-6); font-size: var(--font-size-18); line-height: 1.56; }
.site-age-modal__eyebrow { display: inline-block; margin-bottom: var(--space-3); padding: var(--space-1) var(--space-2); border-radius: var(--radius-sm); background: var(--color-amber-500); color: var(--color-ink-950); font-size: var(--font-size-14); font-weight: 700; }
.site-age-modal__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

@media (max-width: 1023px) {
  .site-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__brand { grid-column: 1 / -1; max-width: 42rem; }
}

@media (max-width: 767px) {
  .site-footer__inner { grid-template-columns: 1fr; gap: var(--space-6); }
  .site-footer__brand { grid-column: auto; }
  .site-footer__bottom,
  .site-consent__inner { flex-direction: column; }
  .site-footer__copyright { white-space: normal; }
  .site-consent__actions { width: 100%; }
  .site-consent__actions .button { flex: 1 1 100%; }
  .site-age-modal__actions .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .site-consent,
  .site-age-modal { scroll-behavior: auto; }
}