/* ============================================================
   Premium Scroll & Intro Animations
   ============================================================ */

/* — Initial states (will be revealed when in view) — */
[data-anim] {
    opacity: 0;
    will-change: transform, opacity, filter;
}

[data-anim="kicker"] {
    transform: translateY(12px);
    letter-spacing: 0.12em;
    transition:
        opacity var(--dur-kicker) var(--ease-soft),
        transform var(--dur-kicker) var(--ease-soft),
        letter-spacing var(--dur-kicker) var(--ease-soft);
}

[data-anim="title"] {
    transform: translateY(24px);
    filter: blur(8px);
    transition:
        opacity var(--dur-title) var(--ease-premium),
        transform var(--dur-title) var(--ease-premium),
        filter var(--dur-title) var(--ease-premium);
}

[data-anim="paragraph"] {
    transform: translateY(20px);
    transition:
        opacity var(--dur-paragraph) var(--ease-soft) 120ms,
        transform var(--dur-paragraph) var(--ease-soft) 120ms;
}

[data-anim="buttons"] {
    transform: translateY(18px);
    transition:
        opacity var(--dur-paragraph) var(--ease-soft) 220ms,
        transform var(--dur-paragraph) var(--ease-soft) 220ms;
}

[data-anim="trust"] {
    transform: translateY(14px);
    filter: blur(6px);
    transition:
        opacity var(--dur-paragraph) var(--ease-soft) 320ms,
        transform var(--dur-paragraph) var(--ease-soft) 320ms,
        filter var(--dur-paragraph) var(--ease-soft) 320ms;
}

[data-anim="card"] {
    transform: translateY(28px) scale(0.97);
    transition:
        opacity var(--dur-card) var(--ease-premium),
        transform var(--dur-card) var(--ease-premium);
}

[data-anim="image"] {
    transform: scale(1.06);
    transition:
        opacity var(--dur-image) var(--ease-premium),
        transform var(--dur-image) var(--ease-premium);
}

/* — Revealed state — */
[data-anim].is-in {
    opacity: 1;
    transform: none;
    filter: none;
    letter-spacing: inherit;
}

[data-anim="kicker"].is-in { letter-spacing: 0.22em; }

/* — Staggered card delays inside a parent — */
.stagger > [data-anim].is-in:nth-child(1) { transition-delay: 80ms; }
.stagger > [data-anim].is-in:nth-child(2) { transition-delay: 160ms; }
.stagger > [data-anim].is-in:nth-child(3) { transition-delay: 240ms; }
.stagger > [data-anim].is-in:nth-child(4) { transition-delay: 320ms; }
.stagger > [data-anim].is-in:nth-child(5) { transition-delay: 400ms; }
.stagger > [data-anim].is-in:nth-child(6) { transition-delay: 480ms; }
.stagger > [data-anim].is-in:nth-child(7) { transition-delay: 560ms; }
.stagger > [data-anim].is-in:nth-child(8) { transition-delay: 640ms; }
.stagger > [data-anim].is-in:nth-child(9) { transition-delay: 720ms; }
.stagger > [data-anim].is-in:nth-child(10) { transition-delay: 800ms; }
