/*
 * Movimento de entrada da home. Criado em 15/09/2026, a partir da página
 * modelo prototipo-home-animada.html, aprovada pelo Junior.
 *
 * Critério: o movimento existe para a peça chegar bem, não para ser notado.
 * Distância curta, tempo longo, uma curva só para a página inteira, e nada
 * que se repita enquanto a pessoa lê.
 *
 * Esta folha entra apenas na home, por $extraStyle em templates/home.php.
 * Para desligar tudo, basta tirar aquela linha: nada aqui é obrigatório para
 * a página existir.
 */

/* O estado inicial só vale quando o script assumiu, e ele mesmo desfaz isso
   se a biblioteca não chegar. Conteúdo nunca depende de script para ser lido. */
.cf-anim [data-anim] { opacity: 0; will-change: opacity, transform; }
.cf-anim .catalog-card img, .cf-anim .servicos-card img { clip-path: inset(0 0 22% 0); }

/* Passar o mouse: um dedo de elevação e a foto respirando. Nada mais. */
.catalog-card, .servicos-card, .custom-decor-card {
    transition: transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s cubic-bezier(.22,1,.36,1);
}
@media (hover: hover) and (pointer: fine) {
    .catalog-card:hover, .servicos-card:hover, .custom-decor-card:hover {
        transform: translateY(-3px);
        box-shadow: 0 16px 34px -26px rgba(45, 34, 28, .5);
    }
    .catalog-card img, .servicos-card img { transition: transform 1.1s cubic-bezier(.22,1,.36,1); }
    .catalog-card:hover img, .servicos-card:hover img { transform: scale(1.03); }
    .catalog-cta svg, .servicos-botao svg, .custom-decor-cta svg { transition: transform .5s cubic-bezier(.22,1,.36,1); }
    .catalog-card:hover .catalog-cta svg,
    .servicos-card:hover .servicos-botao svg,
    .custom-decor-card:hover .custom-decor-cta svg { transform: translateX(4px); }
}
.catalog-card img, .servicos-card img { will-change: transform; }

/* Quem pediu menos movimento no aparelho não recebe nenhum. */
@media (prefers-reduced-motion: reduce) {
    .cf-anim [data-anim] { opacity: 1 !important; }
    .cf-anim .catalog-card img, .cf-anim .servicos-card img { clip-path: none !important; }
    .catalog-card, .servicos-card, .custom-decor-card,
    .catalog-card img, .servicos-card img { transition: none !important; }
}
