/* =========================================================
   REVEAL ANIMATIONS — START
   ========================================================= */

[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity 0.85s var(--ease-out),
    transform 0.85s var(--ease-out);
}
[data-reveal].is-in {
  opacity: 1;
  transform: none;
}

[data-reveal="stagger"] > * {
  opacity: 0;
  transform: translateY(22px) scale(0.97);
  transition:
    opacity 0.7s var(--ease-out),
    transform 0.7s var(--ease-out);
  transition-delay: calc(var(--i, 0) * 0.085s);
}
[data-reveal="stagger"].is-in > * {
  opacity: 1;
  transform: none;
}

/* Media clip enter */
[data-reveal="clip"] {
  opacity: 0;
  clip-path: inset(8% 8% 8% 8% round 1rem);
  transform: translateY(16px);
  transition:
    opacity 0.85s var(--ease-out),
    transform 0.85s var(--ease-out),
    clip-path 0.95s var(--ease-out);
}
[data-reveal="clip"].is-in {
  opacity: 1;
  clip-path: inset(0 0 0 0 round 1rem);
  transform: none;
}

/* Image settle on enter (section media) */
.school-board[data-reveal="stagger"] .school-chip__photo img,
.attach__split[data-reveal="stagger"] .media-mask img,
.achieve__rail .achieve__media img,
.news-list[data-reveal="stagger"] .news-card__media img,
.pulse__event[data-reveal] .event-card__media img {
  transform: scale(1.07);
  transition: transform 1.15s var(--ease-out);
}
.school-board[data-reveal="stagger"].is-in .school-chip__photo img,
.attach__split[data-reveal="stagger"].is-in .media-mask img,
.achieve.is-in .achieve__media img,
.news-list[data-reveal="stagger"].is-in .news-card__media img,
.pulse__event[data-reveal].is-in .event-card__media img {
  transform: scale(1);
}

/* Re-assert hover zoom after settle */
.school-board[data-reveal="stagger"].is-in .school-chip:hover .school-chip__photo img,
.attach__split[data-reveal="stagger"].is-in .feature-block:hover .media-mask img,
.achieve__card:hover .achieve__media img,
.news-list[data-reveal="stagger"].is-in .news-card:hover .news-card__media img,
.pulse__event[data-reveal].is-in .event-card:hover .event-card__media img {
  transform: scale(1.05);
  transition-duration: 0.65s;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  [data-reveal="stagger"] > *,
  [data-reveal="clip"] {
    opacity: 1;
    transform: none;
    clip-path: none;
    transition: none;
  }
  .school-board[data-reveal="stagger"] .school-chip__photo img,
  .attach__split[data-reveal="stagger"] .media-mask img,
  .achieve__rail .achieve__media img,
  .news-list[data-reveal="stagger"] .news-card__media img,
  .pulse__event[data-reveal] .event-card__media img {
    transform: none;
    transition: none;
  }
}

/* =========================================================
   REVEAL ANIMATIONS — END
   ========================================================= */
