/* ---------- Scroll reveal ---------- */
.reveal{
    opacity:0;
    transform:translateY(26px);
    transition:opacity .7s ease, transform .7s ease;
}
.reveal.show{opacity:1;transform:translateY(0);}

/* Staggered children within a grid */
.reveal:nth-child(2){transition-delay:.08s;}
.reveal:nth-child(3){transition-delay:.16s;}
.reveal:nth-child(4){transition-delay:.24s;}
.reveal:nth-child(5){transition-delay:.32s;}
.reveal:nth-child(6){transition-delay:.40s;}

/* ---------- Hover lifts ---------- */
.industry-card,.pillar,.trust-card,.team-card,.coverage-card,
.country-grid div,.regulation-grid span,.cert-placeholder{
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease, background .3s ease;
}
.industry-card:hover,.trust-card:hover,.team-card:hover,.coverage-card:hover{
    transform:translateY(-7px);
    box-shadow:var(--shadow-strong);
}
.pillar:not(.pillar-feature):hover{transform:translateY(-7px);box-shadow:var(--shadow-strong);}
.regulation-grid span:hover,.country-grid div:hover{transform:translateY(-3px);background:rgba(255,255,255,.16);}

/* ---------- Hero entrance animations ---------- */
@keyframes heroIn{
    from{opacity:0;transform:translateY(24px);}
    to{opacity:1;transform:translateY(0);}
}
@keyframes heroVisualIn{
    from{opacity:0;transform:scale(.85);}
    to{opacity:1;transform:scale(1);}
}
.hero-wordmark,.hero-kicker,.hero-tag,.hero-title,
.hero-subtitle,.hero-actions,.hero-metrics{
    opacity:0;animation:heroIn .8s ease forwards;
}
.hero-wordmark{animation-delay:.05s;}
.hero-kicker{animation-delay:.20s;}
.hero-tag{animation-delay:.28s;}
.hero-title{animation-delay:.36s;}
.hero-subtitle{animation-delay:.46s;}
.hero-actions{animation-delay:.56s;}
.hero-metrics{animation-delay:.66s;}
.hero-visual{opacity:0;animation:heroVisualIn 1s ease .4s forwards;}

/* ---------- Hero spinning logo ---------- */
@keyframes cualli-spin{
    from{transform:rotate(0deg);}
    to{transform:rotate(360deg);}
}
.hero-logo.spin{
    animation:cualli-spin 2.4s cubic-bezier(.45,.05,.25,1);
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
    *{scroll-behavior:auto !important;}
    .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
    .industry-card,.pillar,.trust-card,.team-card,.coverage-card,
    .country-grid div,.regulation-grid span,.cert-placeholder{transition:none !important;transform:none !important;}
    .hero-logo.spin{animation:none !important;}
    .hero-wordmark,.hero-kicker,.hero-tag,.hero-title,
    .hero-subtitle,.hero-actions,.hero-metrics,.hero-visual{
        opacity:1 !important;animation:none !important;transform:none !important;
    }
}
