:root {
  --ftr-pad-top: 2.5rem;
  --ftr-gap-text: 1.375rem;
  --ftr-gap-rule: 2.5rem;
  --ftr-bar-pad: 1.75rem;
  --ftr-bar-gap: clamp(1.125rem, calc(-0.91544rem + 8.7059vw), 3.4375rem);
  --fs-ftr-title: 1.125rem;
  --ftr-text-width: clamp(20rem, calc(4.55882rem + 65.8824vw), 37.5rem);
}

.footer {
  background: var(--indigo);
  color: var(--text-white);
  margin-top: var(--section-gap);
  padding-inline: var(--page-margin);
  text-align: center;
}

.footer__disclaimer { padding-top: var(--ftr-pad-top); padding-bottom: var(--ftr-gap-rule); }
.footer__title { letter-spacing: normal; }
.footer__text {
  font-size: var(--fs-small); line-height: 1.45;
  color: var(--text-light-lavender);
  margin-top: var(--ftr-gap-text);
  margin-inline: auto;
  max-width: var(--ftr-text-width);
}

.footer__rule { height: .0625rem; background: var(--lavender); margin-inline: calc(-1 * var(--page-margin)); }

.footer__bar {
  display: flex; flex-wrap: wrap;
  align-items: center; justify-content: center;
  gap: var(--ftr-bar-gap);
  padding-block: var(--ftr-bar-pad);
  font-size: var(--fs-small); line-height: 1.4;
}
.footer__link {
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text-white);
  transition: color var(--t) ease;
}
.footer__link:hover { color: var(--accent-secondary); }
.footer__copy { color: var(--text-light-lavender); }

@media (max-width: 599px) {
  .footer__bar { gap: var(--ftr-bar-gap) 2.5rem; }
  .footer__copy { flex-basis: 100%; }
}