/**
 * Page load entrance — subtle fade for shell + AOS content blocks.
 */

@media (prefers-reduced-motion: reduce) {
  html.apg-page-loading body {
    opacity: 1;
  }

  [data-aos] {
    opacity: 1 !important;
    transform: none !important;
  }
}

@media (prefers-reduced-motion: no-preference) {
  html.apg-page-loading body {
    opacity: 0;
  }

  html.apg-page-ready body {
    opacity: 1;
    transition: opacity 0.45s ease;
  }

  html.apg-page-ready .site-header {
    animation: apg-enter-header 0.55s cubic-bezier(0.4, 0, 0.2, 1) both;
  }

  html.apg-page-ready #primary.site-main {
    animation: apg-enter-main 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.06s both;
  }

  html.apg-page-ready #site-footer {
    animation: apg-enter-main 0.65s cubic-bezier(0.4, 0, 0.2, 1) 0.12s both;
  }

  html.apg-page-ready main ~ .mc-cta,
  html.apg-page-ready main ~ .section-cta {
    animation: apg-enter-main 0.65s cubic-bezier(0.4, 0, 0.2, 1) 0.1s both;
  }
}

@keyframes apg-enter-header {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes apg-enter-main {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

/* Slightly softer AOS motion site-wide */
[data-aos] {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
