/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(20px); transition: opacity .55s ease, transform .55s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

/* FAQ accordion */
.faq-answer { max-height: 0; overflow: hidden; transition: max-height .35s ease, padding .35s ease; }
.faq-item.open .faq-answer { max-height: 400px; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-icon { transition: transform .3s ease; }

/* Leaflet */
.mapa { height: 420px; }

/* Hero background overlay */
.hero-bg {
    background-image: linear-gradient(to right, rgba(0,0,0,0.97) 55%, rgba(0,0,0,0.65)),
                      url('https://images.unsplash.com/photo-1589829545856-d10d557cf95f?w=1400&q=80');
    background-size: cover;
    background-position: center;
}

/* Card image */
.card-img { width: 100%; height: 200px; object-fit: cover; }
