@font-face {
  font-family: "Adam";
  src: url("/assets/fonts/Adam-Bold.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

.font-adam {
  font-family: "Adam", "Epilogue", system-ui, sans-serif;
}

@keyframes legacy-student-modal-in {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes legacy-student-hero-sheen {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

.legacy-student-modal {
  animation: legacy-student-modal-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) backwards;
}

.legacy-student-modal.is-birthday {
  box-shadow:
    0 0 0 2px rgba(255, 217, 102, 0.75),
    0 0 36px 8px rgba(247, 201, 72, 0.45),
    0 0 80px 16px rgba(217, 154, 18, 0.28),
    0 30px 100px rgba(16, 16, 16, 0.35);
  animation:
    legacy-student-modal-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) backwards,
    legacy-student-modal-birthday-glow 1.6s ease-in-out infinite;
}

@keyframes legacy-student-modal-birthday-glow {
  0%,
  100% {
    box-shadow:
      0 0 0 2px rgba(255, 217, 102, 0.65),
      0 0 28px 6px rgba(247, 201, 72, 0.35),
      0 0 64px 12px rgba(217, 154, 18, 0.2),
      0 30px 100px rgba(16, 16, 16, 0.35);
  }

  50% {
    box-shadow:
      0 0 0 3px rgba(255, 240, 166, 0.95),
      0 0 48px 14px rgba(247, 201, 72, 0.6),
      0 0 96px 22px rgba(217, 154, 18, 0.35),
      0 30px 100px rgba(16, 16, 16, 0.35);
  }
}

.legacy-student-hero {
  background: #101010;
}

.legacy-student-hero.is-birthday {
  background: linear-gradient(135deg, #1c1608 0%, #101010 42%, #241a08 100%);
  box-shadow:
    0 0 0 1px rgba(255, 217, 102, 0.55),
    0 0 28px 6px rgba(247, 201, 72, 0.4),
    0 0 56px 12px rgba(217, 154, 18, 0.22),
    inset 0 0 42px rgba(255, 217, 102, 0.14);
  animation: legacy-student-hero-birthday-glow 1.6s ease-in-out infinite;
}

@keyframes legacy-student-hero-birthday-glow {
  0%,
  100% {
    box-shadow:
      0 0 0 1px rgba(255, 217, 102, 0.5),
      0 0 24px 4px rgba(247, 201, 72, 0.35),
      0 0 48px 8px rgba(217, 154, 18, 0.18),
      inset 0 0 36px rgba(255, 217, 102, 0.1);
  }

  50% {
    box-shadow:
      0 0 0 2px rgba(255, 240, 166, 0.85),
      0 0 40px 12px rgba(247, 201, 72, 0.62),
      0 0 72px 18px rgba(217, 154, 18, 0.32),
      inset 0 0 58px rgba(255, 217, 102, 0.22);
  }
}

.legacy-student-body {
  background: #f4f4f4;
}

@media (prefers-reduced-motion: reduce) {
  .legacy-student-modal,
  .legacy-student-hero {
    animation: none;
  }

  .legacy-student-modal.is-birthday {
    animation: none;
    box-shadow:
      0 0 0 2px rgba(255, 217, 102, 0.8),
      0 0 40px 10px rgba(247, 201, 72, 0.5),
      0 30px 100px rgba(16, 16, 16, 0.35);
  }

  .legacy-student-hero.is-birthday {
    animation: none;
    box-shadow:
      0 0 0 2px rgba(255, 217, 102, 0.7),
      0 0 32px 8px rgba(247, 201, 72, 0.45),
      inset 0 0 40px rgba(255, 217, 102, 0.14);
  }
}

@keyframes legacy-birthday-gold {
  0%,
  100% {
    background: linear-gradient(135deg, #d99a12, #ffd966);
    box-shadow:
      0 0 0 0 rgba(247, 201, 72, 0.75),
      0 4px 14px rgba(159, 103, 0, 0.3);
  }

  50% {
    background: linear-gradient(135deg, #ffcf40, #fff0a6);
    box-shadow:
      0 0 0 5px rgba(247, 201, 72, 0.18),
      0 7px 22px rgba(159, 103, 0, 0.48);
  }
}

.legacy-birthday-booking {
  animation: legacy-birthday-gold 1.35s ease-in-out infinite;
  border-color: #fff0a6 !important;
  color: #241600 !important;
}

@media (prefers-reduced-motion: reduce) {
  .legacy-birthday-booking {
    animation: none;
    background: linear-gradient(135deg, #d99a12, #ffd966) !important;
  }

  .legacy-downgrade-cta {
    animation: none;
  }
}

@keyframes legacy-downgrade-attention {
  0%,
  100% {
    transform: scale(1) translateY(0);
  }

  40% {
    transform: scale(1.045) translateY(-4px);
  }

  60% {
    transform: scale(1.02) translateY(-1px);
  }
}

.legacy-downgrade-cta {
  animation: legacy-downgrade-attention 1.7s ease-in-out infinite;
  will-change: transform;
}

