/* Motion — site-wide plus a distinct hover/entrance language per page.
   Hover effects are gated to fine pointers. prefers-reduced-motion is in variables.css. */

.js-reveal {
  opacity: 0;
  transition: opacity 0.55s var(--ease-standard), transform 0.55s var(--ease-standard);
  transition-delay: var(--reveal-delay, 0ms);
}
.page--home .js-reveal { transform: translateY(18px); }
.page--universities .js-reveal { transform: scale(0.96); }
.page--courses .js-reveal { transform: translateX(-16px); }
.page--admission-timeline .js-reveal { transform: translateY(14px) scale(0.98); }
.page--fees-scholarships .js-reveal { transform: translateY(16px); }
.page--student-visa .js-reveal { transform: translateX(14px); }
.page--about .js-reveal,
.page--contact .js-reveal { transform: translateY(12px); }
.js-reveal.is-in {
  opacity: 1;
  transform: none;
}

@keyframes motion-enter {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
.hero-split__copy > * {
  animation: motion-enter 0.65s var(--ease-standard) both;
}
.hero-split__copy > *:nth-child(1) { animation-delay: 0.04s; }
.hero-split__copy > *:nth-child(2) { animation-delay: 0.12s; }
.hero-split__copy > *:nth-child(3) { animation-delay: 0.2s; }
.hero-split__copy > *:nth-child(4) { animation-delay: 0.28s; }
.hero-split__copy > *:nth-child(5) { animation-delay: 0.36s; }

.hero-split__media img {
  transition: transform 7s var(--ease-standard);
}
.uni-highlights__icon {
  transition: transform var(--duration-standard) var(--ease-standard);
}
.uni-band__art {
  transition: transform 0.5s var(--ease-standard);
}
.contact-fab__toggle {
  transition: transform var(--duration-standard) var(--ease-standard), background var(--duration-standard) var(--ease-standard);
}
.nav-primary__link {
  position: relative;
}
.nav-primary__link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 100%;
  height: 1px;
  background: var(--color-gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--duration-standard) var(--ease-standard);
}
.nav-primary__link:hover::after,
.nav-primary__link:focus-visible::after,
.nav-primary__link[aria-current="page"]::after {
  transform: scaleX(1);
}

.course-row__ask span,
.uni-profile-card__explore span {
  display: inline-block;
  transition: transform var(--duration-standard) var(--ease-standard);
}

/* ---------- Fine-pointer hovers ---------- */
@media (hover: hover) and (pointer: fine) {
  .btn:hover { transform: translateY(-1px); }
  .btn:active { transform: translateY(0); }

  .contact-fab__toggle:hover { transform: scale(1.06); }
  .uni-band:hover .uni-band__art { transform: rotate(-4deg) scale(1.04); }

  .hero-split:hover .hero-split__media img { transform: scale(1.05); }

  .uni-highlights li { transition: transform var(--duration-standard) var(--ease-standard); }
  .uni-highlights li:hover .uni-highlights__icon { transform: translateY(-4px); }

  /* Home — lift + gold wash / slide / fill */
  .page--home .uni-card {
    transition: transform var(--duration-standard) var(--ease-standard),
      border-color var(--duration-standard) var(--ease-standard),
      background var(--duration-standard) var(--ease-standard);
  }
  .page--home .uni-card:hover {
    transform: translateY(-5px);
    background: #fff;
  }
  .page--home .course-pill {
    background-image: linear-gradient(var(--color-gold), var(--color-gold));
    background-repeat: no-repeat;
    background-size: 0 100%;
    background-position: left center;
    transition: color var(--duration-standard) var(--ease-standard),
      border-color var(--duration-standard) var(--ease-standard),
      transform var(--duration-standard) var(--ease-standard),
      background-size 280ms var(--ease-standard);
  }
  .page--home .course-pill:hover {
    color: var(--color-navy-deep);
    border-color: var(--color-gold);
    background-color: transparent;
    background-size: 100% 100%;
    transform: translateY(-2px);
  }

  .page--home .intake-card {
    transition: transform var(--duration-standard) var(--ease-standard),
      border-color var(--duration-standard) var(--ease-standard);
  }
  .page--home .intake-card:hover {
    transform: translateX(8px);
    border-color: var(--color-gold);
  }
  .page--home .intake-card__icon {
    transition: transform var(--duration-standard) var(--ease-standard);
  }
  .page--home .intake-card:hover .intake-card__icon { transform: rotate(-10deg); }

  .page--home .step-row__circle {
    transition: transform var(--duration-standard) var(--ease-standard),
      background var(--duration-standard) var(--ease-standard),
      color var(--duration-standard) var(--ease-standard);
  }
  .page--home .step-row__item:hover .step-row__circle {
    transform: scale(1.08);
    background: var(--color-gold);
    color: #fff;
  }

  .page--home .investment-col__icon {
    display: inline-block;
    transition: transform var(--duration-standard) var(--ease-standard);
  }
  .page--home .investment-col:hover .investment-col__icon {
    transform: translateY(-5px);
  }

  .page--home .consult-radio:hover { color: var(--color-gold); }
  .page--home .consult-field input:hover { border-color: var(--color-gold-light); }

  /* Universities — card lift + mark tilt */
  .page--universities .uni-profile-card {
    transition: transform var(--duration-standard) var(--ease-standard),
      box-shadow var(--duration-standard) var(--ease-standard);
  }
  .page--universities .uni-profile-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-card-hover);
  }
  .page--universities .uni-profile-card__mark img {
    transition: transform 0.4s var(--ease-standard);
  }
  .page--universities .uni-profile-card:hover .uni-profile-card__mark img {
    transform: rotate(-8deg) scale(1.08);
  }
  .page--universities .uni-profile-card:hover .uni-profile-card__explore span {
    transform: translateX(5px);
  }
  .page--universities .uni-highlights li:hover .uni-highlights__icon {
    transform: rotate(-8deg);
  }

  /* Courses — row shifts, arrow leads */
  .page--courses .course-row {
    transition: transform var(--duration-standard) var(--ease-standard);
  }
  .page--courses .course-row:hover { transform: translateX(10px); }
  .page--courses .course-row__num,
  .page--courses .course-row__icon {
    transition: color var(--duration-standard) var(--ease-standard),
      transform var(--duration-standard) var(--ease-standard);
  }
  .page--courses .course-row:hover .course-row__icon { transform: rotate(-8deg); }
  .page--courses .course-row:hover .course-row__ask span { transform: translateX(6px); }
  .page--courses .uni-highlights li:hover .uni-highlights__icon {
    transform: scale(1.12);
  }

  /* Admission — stage circles fill, process numbers step */
  .page--admission-timeline .admit-stages__num {
    transition: transform var(--duration-standard) var(--ease-standard),
      background var(--duration-standard) var(--ease-standard),
      color var(--duration-standard) var(--ease-standard);
  }
  .page--admission-timeline .admit-stages h3 {
    transition: color var(--duration-standard) var(--ease-standard);
  }
  .page--admission-timeline .admit-stages li:hover .admit-stages__num {
    transform: scale(1.12);
    background: var(--color-gold);
    color: #fff;
  }
  .page--admission-timeline .admit-stages li:hover h3 { color: var(--color-gold); }
  .page--admission-timeline .admit-process__num {
    transition: transform var(--duration-standard) var(--ease-standard);
  }
  .page--admission-timeline .admit-process li:hover .admit-process__num {
    transform: translateX(6px);
  }
  .page--admission-timeline .uni-highlights li:hover .uni-highlights__icon {
    transform: rotate(8deg);
  }

  /* Fees — ledger figures warm, award numbers pulse */
  .page--fees-scholarships .fees-sheet__figure,
  .page--fees-scholarships .fees-sheet__icon {
    transition: color var(--duration-standard) var(--ease-standard),
      transform var(--duration-standard) var(--ease-standard);
  }
  .page--fees-scholarships .fees-sheet li:hover .fees-sheet__figure {
    color: var(--color-gold);
  }
  .page--fees-scholarships .fees-sheet li:hover .fees-sheet__icon {
    transform: rotate(-12deg);
  }
  .page--fees-scholarships .fees-awards__num {
    transition: transform var(--duration-standard) var(--ease-standard);
  }
  .page--fees-scholarships .fees-awards li:hover .fees-awards__num {
    transform: scale(1.18);
  }
  .page--fees-scholarships .uni-highlights li:hover .uni-highlights__icon {
    transform: translateY(-4px) scale(1.08);
  }

  /* Student visa — file-index bar, rights figures, photo ease */
  .page--student-visa .visa-path li {
    position: relative;
  }
  .page--student-visa .visa-path li::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 10px;
    bottom: 10px;
    width: 2px;
    background: var(--color-gold);
    transform: scaleY(0);
    transform-origin: top;
    transition: transform 280ms var(--ease-standard);
  }
  .page--student-visa .visa-path li:hover::before { transform: scaleY(1); }
  .page--student-visa .visa-path__num {
    transition: transform var(--duration-standard) var(--ease-standard);
  }
  .page--student-visa .visa-path li:hover .visa-path__num { transform: translateX(4px); }

  .page--student-visa .visa-rights__figure {
    transition: color var(--duration-standard) var(--ease-standard),
      transform var(--duration-standard) var(--ease-standard);
  }
  .page--student-visa .visa-rights li:hover .visa-rights__figure {
    color: var(--color-gold);
    transform: translateY(-3px);
  }

  .page--student-visa .visa-help li {
    transition: transform var(--duration-standard) var(--ease-standard);
  }
  .page--student-visa .visa-help li:hover { transform: translateX(6px); }

  .page--student-visa .visa-ask__list h3 {
    transition: color var(--duration-standard) var(--ease-standard);
  }
  .page--student-visa .visa-ask__list li:hover h3 { color: var(--color-gold); }
  .page--student-visa .visa-ask__shot img {
    transition: transform 5s var(--ease-standard);
  }
  .page--student-visa .visa-ask__media:hover .visa-ask__shot img {
    transform: scale(1.06);
  }
  .page--student-visa .uni-highlights li:hover .uni-highlights__icon {
    transform: translateX(4px);
  }

  /* About / contact — cards lift */
  .page--about .grid > div,
  .page--contact .card {
    transition: transform var(--duration-standard) var(--ease-standard),
      box-shadow var(--duration-standard) var(--ease-standard);
  }
  .page--contact .card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-card-hover);
  }
}

@media (prefers-reduced-motion: reduce) {
  .js-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .hero-split__copy > * { animation: none; }
  .hero-split__media img,
  .visa-ask__shot img { transition: none; }
}
