/* Motion-only enhancement for the existing public-site footer. */
[data-footer-motion] {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

[data-footer-motion]::after {
  content: '';
  position: absolute;
  z-index: 0;
  width: 420px;
  height: 420px;
  right: -170px;
  bottom: -220px;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(circle, rgba(231, 227, 217, .055) 0%, rgba(231, 227, 217, 0) 72%);
}

[data-footer-motion] > div:first-child {
  position: relative;
  z-index: 1;
}

[data-footer-link] {
  position: relative;
  display: inline-block;
  width: max-content;
  text-decoration: none;
  transition: color .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1);
}

[data-footer-link]::after {
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(231, 227, 217, .65);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .34s cubic-bezier(.22, 1, .36, 1);
}

@media (hover: hover) and (pointer: fine) {
  [data-footer-link]:hover {
    color: #E7E3D9 !important;
    transform: translate3d(3px, 0, 0);
  }

  [data-footer-link]:hover::after { transform: scaleX(1); }
}

@media (prefers-reduced-motion: no-preference) {
  [data-footer-reveal] {
    opacity: 0;
    filter: blur(3px);
    transform: translate3d(0, 30px, 0);
    transition: opacity .8s cubic-bezier(.22, 1, .36, 1) var(--footer-delay, 0ms),
      transform .8s cubic-bezier(.22, 1, .36, 1) var(--footer-delay, 0ms),
      filter .8s cubic-bezier(.22, 1, .36, 1) var(--footer-delay, 0ms);
    will-change: opacity, transform, filter;
  }

  [data-footer-motion][data-footer-visible] [data-footer-reveal] {
    opacity: 1;
    filter: blur(0);
    transform: translate3d(0, 0, 0);
  }

  [data-footer-logo] {
    opacity: 0;
    transform: translate3d(0, 18px, 0) scale(.985);
    transition: opacity .75s cubic-bezier(.22, 1, .36, 1) 80ms,
      transform .75s cubic-bezier(.22, 1, .36, 1) 80ms;
  }

  [data-footer-motion][data-footer-visible] [data-footer-logo] {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }

  [data-footer-bottom] {
    position: relative;
    border-top-color: transparent !important;
  }

  [data-footer-bottom]::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(231, 227, 217, .16);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 1s cubic-bezier(.22, 1, .36, 1) 620ms;
  }

  [data-footer-motion][data-footer-visible] [data-footer-bottom]::before {
    transform: scaleX(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  [data-footer-reveal], [data-footer-logo] {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    transition: none !important;
  }
}
