/* Shared, progressive-enhancement motion system */
html.animations-ready .reveal {
  opacity: 0;
  transform: translate3d(0, 34px, 0);
  transition:
    opacity .78s cubic-bezier(.16, 1, .3, 1),
    transform .78s cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

html.animations-ready .reveal.reveal-left {
  transform: translate3d(-38px, 0, 0);
}

html.animations-ready .reveal.reveal-right {
  transform: translate3d(38px, 0, 0);
}

html.animations-ready .reveal.reveal-scale {
  transform: scale(.965);
}

html.animations-ready .reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  will-change: auto;
}

html.animations-ready .image-reveal {
  position: relative;
  overflow: hidden;
}

html.animations-ready .image-reveal::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: 0;
  background: #d8aa32;
  transform: translateX(0);
  transform-origin: right;
  transition: transform 1s cubic-bezier(.77, 0, .18, 1);
  transition-delay: var(--reveal-delay, 0ms);
  pointer-events: none;
}

html.animations-ready .image-reveal.is-visible::after {
  transform: translateX(101%);
}

html.animations-ready .image-reveal > img {
  transform: scale(1.06);
  transition: transform 1.25s cubic-bezier(.16, 1, .3, 1);
  transition-delay: var(--reveal-delay, 0ms);
}

html.animations-ready .image-reveal.is-visible > img {
  transform: scale(1);
}

.page-enter {
  animation: pageEnter .9s cubic-bezier(.16, 1, .3, 1) both;
}

.page-enter-late {
  animation-delay: .16s;
}

.page-enter-later {
  animation-delay: .3s;
}

.page-enter-right {
  animation: pageEnterRight 1.05s cubic-bezier(.16, 1, .3, 1) .12s both;
}

@keyframes pageEnter {
  from { opacity: 0; transform: translateY(28px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes pageEnterRight {
  from { opacity: 0; transform: translateX(34px) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}

/* Quiet ambient movement for decorative elements */
.home-hero__availability,
.foundation-hero__badge,
.calendar-hero__badge,
.restorer-editorial__seal {
  animation: gentleFloat 5s ease-in-out infinite;
}

@keyframes gentleFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-7px); }
}

/* Shared interactive lift */
.services-editorial__item,
.foundation-impact-grid article,
.join-pathway,
.bio-work__grid article,
.speaking-editorial__topics article,
.calendar-pillars article {
  backface-visibility: hidden;
}

.home-hero__primary i,
.foundation-btn i,
.join-btn i,
.bio-btn i,
.calendar-btn i,
.footer-editorial__primary-btn i {
  transition: transform .22s ease;
}

.home-hero__primary:hover i,
.foundation-btn:hover i,
.join-btn:hover i,
.bio-btn:hover i,
.calendar-btn:hover i,
.footer-editorial__primary-btn:hover i {
  transform: translateX(4px);
}

/* Accordion content retains smooth, readable movement */
.homepage-faq .accrodion-title h4,
.homepage-faq__number {
  transition: color .25s ease, transform .25s ease;
}

.homepage-faq .accrodion-title:hover h4 {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  html.animations-ready .reveal,
  html.animations-ready .image-reveal > img,
  html.animations-ready .image-reveal::after,
  .page-enter,
  .page-enter-right,
  .home-hero__availability,
  .foundation-hero__badge,
  .calendar-hero__badge,
  .restorer-editorial__seal {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  html.animations-ready .image-reveal::after {
    display: none;
  }

  *, *::before, *::after {
    scroll-behavior: auto !important;
  }
}
