/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

/* Landing page: cards fade/slide in, staggered, once scrolled into view (see scroll_reveal_controller.js) */
.reveal-stagger > * {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s ease, transform .5s ease;
}

.reveal-stagger.in-view > * {
    opacity: 1;
    transform: translateY(0);
}

.reveal-stagger.in-view > *:nth-child(2) { transition-delay: 110ms; }
.reveal-stagger.in-view > *:nth-child(3) { transition-delay: 220ms; }
.reveal-stagger.in-view > *:nth-child(4) { transition-delay: 330ms; }

/* Keep the first child visible from the start; only later children fade in (email preview). */
.reveal-keep-first > *:first-child { opacity: 1; transform: none; transition: none; }

.reveal-check {
    transform: scale(0);
    transition: transform .35s cubic-bezier(.34,1.56,.64,1);
}

.reveal-stagger.in-view .reveal-check {
    transform: scale(1);
    transition-delay: 520ms;
}

@media (prefers-reduced-motion: reduce) {
    .reveal-stagger > * { opacity: 1 !important; transform: none !important; }
    .reveal-check { transform: scale(1) !important; }
}
