/* ------------------------------------------------------------------
   Corvantis Legal Group — animations & small refinements
   The core design system lives in site.css (compiled Tailwind build).
------------------------------------------------------------------ */

/* Hero entrance animation (mirrors the original framer-motion timing) */
.hero-reveal {
    --hero-y: 20px;
    opacity: 0;
    animation: heroReveal 0.6s cubic-bezier(0.25, 0.1, 0.25, 1) forwards;
}

.hero-reveal.hero-h1 {
    --hero-y: 30px;
    animation-duration: 0.7s;
}

.hero-delay-1 { animation-delay: 0.2s; }
.hero-delay-2 { animation-delay: 0.4s; }
.hero-delay-3 { animation-delay: 0.6s; }
.hero-delay-4 { animation-delay: 0.8s; }

@keyframes heroReveal {
    from {
        opacity: 0;
        transform: translateY(var(--hero-y));
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Scroll reveal animation */
.reveal-up      { --reveal-y: 30px; --reveal-x: 0px; }
.reveal-up-sm   { --reveal-y: 20px; --reveal-x: 0px; }
.reveal-left    { --reveal-x: -30px; --reveal-y: 0px; }
.reveal-right   { --reveal-x: 30px; --reveal-y: 0px; }
.reveal-left-sm { --reveal-x: -20px; --reveal-y: 0px; }
.reveal-right-sm{ --reveal-x: 20px; --reveal-y: 0px; }

.js .reveal {
    opacity: 0;
    transform: translate3d(var(--reveal-x, 0px), var(--reveal-y, 30px), 0);
    transition:
        opacity 0.6s cubic-bezier(0.25, 0.1, 0.25, 1),
        transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
    will-change: opacity, transform;
}

.js .reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

/* Respect visitors who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .hero-reveal {
        opacity: 1;
        animation: none;
        transform: none;
    }

    .js .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}
