:root {
  --accent: #eb0a1e;
}

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

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

@keyframes drift {
  0% {
    transform: translate3d(0, 0, 0) scale(1);
  }
  100% {
    transform: translate3d(22px, -35px, 0) scale(1.15);
  }
}

@keyframes pulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 10px 25px rgba(235, 10, 30, 0.24);
  }
  50% {
    transform: scale(1.04);
    box-shadow: 0 14px 35px rgba(235, 10, 30, 0.34);
  }
}

@keyframes scroll-marquee {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-240px * 6 - 12px * 5));
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ===== Staggered reveal for card grids (children cascade in instead of all at once) ===== */
:is(.service-grid, .service-page-grid, .printing-category-grid, .printing-product-grid,
    .package-grid, .choose-grid, .blog-grid, .testimonial-page-grid, .work-grid) > .reveal:nth-child(1) { transition-delay: .04s; }
:is(.service-grid, .service-page-grid, .printing-category-grid, .printing-product-grid,
    .package-grid, .choose-grid, .blog-grid, .testimonial-page-grid, .work-grid) > .reveal:nth-child(2) { transition-delay: .12s; }
:is(.service-grid, .service-page-grid, .printing-category-grid, .printing-product-grid,
    .package-grid, .choose-grid, .blog-grid, .testimonial-page-grid, .work-grid) > .reveal:nth-child(3) { transition-delay: .20s; }
:is(.service-grid, .service-page-grid, .printing-category-grid, .printing-product-grid,
    .package-grid, .choose-grid, .blog-grid, .testimonial-page-grid, .work-grid) > .reveal:nth-child(4) { transition-delay: .28s; }
:is(.service-grid, .service-page-grid, .printing-category-grid, .printing-product-grid,
    .package-grid, .choose-grid, .blog-grid, .testimonial-page-grid, .work-grid) > .reveal:nth-child(5) { transition-delay: .36s; }
:is(.service-grid, .service-page-grid, .printing-category-grid, .printing-product-grid,
    .package-grid, .choose-grid, .blog-grid, .testimonial-page-grid, .work-grid) > .reveal:nth-child(6) { transition-delay: .44s; }
:is(.service-grid, .service-page-grid, .printing-category-grid, .printing-product-grid,
    .package-grid, .choose-grid, .blog-grid, .testimonial-page-grid, .work-grid) > .reveal:nth-child(7) { transition-delay: .52s; }
:is(.service-grid, .service-page-grid, .printing-category-grid, .printing-product-grid,
    .package-grid, .choose-grid, .blog-grid, .testimonial-page-grid, .work-grid) > .reveal:nth-child(8) { transition-delay: .60s; }

/* ===== Section-heading: red underline draws under the eyebrow as the heading enters ===== */
.section-heading .eyebrow { position: relative; }
.section-heading .eyebrow::after {
  content: "";
  display: block;
  height: 2px;
  width: 0;
  margin: 7px auto 0;
  background: var(--red, #eb0a1e);
  transition: width .6s cubic-bezier(.16, 1, .3, 1) .25s;
}
.section-heading.reveal.is-visible .eyebrow::after,
.section-heading .reveal.is-visible .eyebrow::after { width: 44px; }

@media (prefers-reduced-motion: reduce) {
  .section-heading .eyebrow::after { transition: none; width: 44px; }
}
