.admission-intro.aurora-interactive {
  cursor: pointer;
  isolation: isolate;
}

.admission-intro.aurora-interactive:focus-visible {
  outline: 3px solid #f4c7df;
  outline-offset: -8px;
}

.aurora-interactive .aurora {
  opacity: .44;
  filter: blur(44px) saturate(108%);
  transform-origin: var(--aurora-origin-x, 62%) var(--aurora-origin-y, 45%);
  transition: opacity 800ms ease, filter 800ms ease;
}

.aurora-interactive .aurora i {
  border-radius: 42% 58% 54% 46% / 28% 35% 65% 72%;
  transform-origin: var(--aurora-origin-x, 62%) var(--aurora-origin-y, 45%);
  animation: auroraPastelIdle 17s ease-in-out infinite alternate;
}

.aurora-interactive .aurora i:first-child {
  background: linear-gradient(90deg, transparent, rgb(178 235 219 / 58%), rgb(202 240 231 / 42%), transparent);
}

.aurora-interactive .aurora i:nth-child(2) {
  background: linear-gradient(90deg, transparent, rgb(193 205 250 / 46%), rgb(247 205 224 / 48%), transparent);
  animation-delay: -5.5s;
  animation-duration: 19s;
}

.aurora-interactive .aurora i:nth-child(3) {
  background: linear-gradient(90deg, transparent, rgb(255 227 169 / 48%), rgb(202 237 228 / 46%), transparent);
  animation-delay: -11s;
  animation-duration: 21s;
}

.aurora-interactive .aurora::after {
  position: absolute;
  inset: -22%;
  border-radius: 46%;
  background: repeating-linear-gradient(
    102deg,
    transparent 0 8%,
    rgb(255 255 255 / 15%) 10%,
    transparent 13% 22%
  );
  content: "";
  opacity: 0;
}

.aurora-interactive.aurora-awake .aurora {
  opacity: .7;
  filter: blur(36px) saturate(118%);
  animation: auroraRandomVeil var(--veil-duration, 8.5s) cubic-bezier(.36, .07, .18, 1) both;
}

.aurora-interactive.aurora-awake .aurora i {
  animation: auroraRandomCurtain var(--layer-duration, 8.5s) cubic-bezier(.36, .07, .18, 1) var(--layer-delay, 0s) both;
}

.aurora-interactive.aurora-awake .aurora::after {
  animation: auroraPastelShimmer var(--veil-duration, 8.5s) ease-in-out both;
}

.aurora-specks {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.aurora-specks i {
  position: absolute;
  left: var(--dot-x);
  top: var(--dot-y);
  width: var(--dot-size);
  height: var(--dot-size);
  border-radius: 50%;
  background: var(--dot-color);
  box-shadow: 0 0 calc(var(--dot-size) * 3) var(--dot-color);
  opacity: 0;
  transform: translate(-50%, -50%) scale(.2);
}

.aurora-awake .aurora-specks {
  opacity: 1;
}

.aurora-awake .aurora-specks i {
  animation: auroraSpeckBloom var(--dot-duration) ease-in-out var(--dot-delay) both;
}

.aurora-hint {
  position: absolute !important;
  right: clamp(24px, 5vw, 76px);
  bottom: 24px;
  z-index: 4 !important;
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgb(23 36 63 / 64%);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
  pointer-events: none;
  transition: opacity 300ms ease, transform 300ms ease;
}

.aurora-hint::before {
  width: 26px;
  height: 1px;
  background: currentColor;
  content: "";
}

.aurora-hint b {
  color: #a99be8;
  font-size: 16px;
  animation: auroraHintPulse 2.4s ease-in-out infinite;
}

.aurora-awake .aurora-hint {
  opacity: 0;
  transform: translateY(6px);
}

@keyframes auroraPastelIdle {
  0% { transform: translate3d(-4%, 3%, 0) skewY(-5deg) scale(.96, 1); }
  50% { transform: translate3d(3%, -3%, 0) skewY(5deg) scale(1.06, 1.14); }
  100% { transform: translate3d(7%, 1%, 0) skewY(-3deg) scale(1.01, .98); }
}

@keyframes auroraRandomVeil {
  0%, 100% {
    transform: rotate(-8deg) translate3d(0, 0, 0) scale(1);
  }
  30% {
    transform: rotate(var(--veil-r1, -3deg)) translate3d(var(--veil-x1, -5%), var(--veil-y1, -3%), 0) scale(var(--veil-sx1, 1.08), var(--veil-sy1, 1.12));
  }
  62% {
    transform: rotate(var(--veil-r2, -12deg)) translate3d(var(--veil-x2, 6%), var(--veil-y2, 3%), 0) scale(var(--veil-sx2, 1.15), var(--veil-sy2, .98));
  }
  84% {
    transform: rotate(var(--veil-r3, -6deg)) translate3d(var(--veil-x3, -2%), var(--veil-y3, -4%), 0) scale(var(--veil-sx3, 1.05), var(--veil-sy3, 1.13));
  }
}

@keyframes auroraRandomCurtain {
  0%, 100% {
    transform: translate3d(var(--x0, -6%), var(--y0, 4%), 0) skewY(var(--skew0, -6deg)) scale(var(--sx0, .96), var(--sy0, .9));
  }
  25% {
    transform: translate3d(var(--x1, 8%), var(--y1, -10%), 0) skewY(var(--skew1, 8deg)) scale(var(--sx1, 1.15), var(--sy1, 1.35));
  }
  52% {
    transform: translate3d(var(--x2, -9%), var(--y2, 2%), 0) skewY(var(--skew2, -5deg)) scale(var(--sx2, 1.02), var(--sy2, 1.46));
  }
  78% {
    transform: translate3d(var(--x3, 12%), var(--y3, -5%), 0) skewY(var(--skew3, 10deg)) scale(var(--sx3, 1.2), var(--sy3, 1.12));
  }
}

@keyframes auroraPastelShimmer {
  0%, 100% { opacity: 0; transform: translateX(-18%) skewY(-7deg); }
  24% { opacity: .22; }
  54% { opacity: .12; transform: translateX(12%) skewY(6deg); }
  78% { opacity: .28; }
}

@keyframes auroraSpeckBloom {
  0%, 100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(.2);
  }
  22% {
    opacity: var(--dot-opacity);
  }
  52% {
    opacity: calc(var(--dot-opacity) * .72);
    transform: translate(calc(-50% + var(--dot-dx)), calc(-50% + var(--dot-dy))) scale(1);
  }
  78% {
    opacity: calc(var(--dot-opacity) * .45);
  }
}

@keyframes auroraHintPulse {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(4px); }
}

@media (max-width: 700px) {
  .aurora-hint {
    right: 20px;
    bottom: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .aurora-interactive .aurora,
  .aurora-interactive .aurora i,
  .aurora-interactive .aurora::after,
  .aurora-specks i,
  .aurora-hint b {
    animation: none !important;
  }

  .aurora-interactive.aurora-awake .aurora {
    opacity: .6;
    filter: blur(40px) saturate(112%);
  }

  .aurora-awake .aurora-specks i {
    opacity: .22;
    transform: translate(-50%, -50%) scale(1);
  }
}
