/* Ajustes finos - O Jardineiro Garden Market */
html { scroll-behavior: smooth; }
[v-cloak] { display: none; }

/* garante a fonte de exibição enquanto o Tailwind carrega */
h1, h2, h3, h4 { font-family: 'Outfit', sans-serif; }
body { font-family: 'Roboto', sans-serif; }

/* leve textura de scroll */
::selection { background: #288635; color: #fff; }

/* ===== Efeitos de scroll / aparição ===== */
@media (prefers-reduced-motion: no-preference) {
    .reveal {
        opacity: 0;
        transform: translateY(45px);
        transition: opacity .8s cubic-bezier(.2,.7,.2,1),
                    transform .8s cubic-bezier(.2,.7,.2,1);
        transition-delay: var(--rd, 0s);
        will-change: opacity, transform;
    }
    .reveal.reveal-left  { transform: translateX(-50px); }
    .reveal.reveal-right { transform: translateX(50px); }
    .reveal.reveal-zoom  { transform: scale(.9); }
    .reveal.is-visible   { opacity: 1; transform: none; }

    /* entrada do hero ao carregar */
    .hero-in { opacity: 0; transform: translateY(30px); animation: heroIn .9s cubic-bezier(.2,.7,.2,1) forwards; }
    .hero-in.d1 { animation-delay: .1s; }
    .hero-in.d2 { animation-delay: .25s; }
    .hero-in.d3 { animation-delay: .4s; }
    .hero-in.d4 { animation-delay: .55s; }
    @keyframes heroIn { to { opacity: 1; transform: none; } }
}

/* zoom sutil do fundo do hero (base do parallax) */
#heroBg { transform: scale(1.12); transition: transform .1s linear; }

/* elementos com parallax (movidos via JS no scroll) */
@media (prefers-reduced-motion: no-preference) {
    [data-parallax] { will-change: transform; }
}

/* brilho ao passar o mouse nos cartões/projetos */
.hover-rise { transition: transform .4s cubic-bezier(.2,.7,.2,1), box-shadow .4s ease; }
.hover-rise:hover { transform: translateY(-6px); box-shadow: 0 20px 40px -12px rgba(0,63,35,.35); }
