/* Petites animations douces */
@keyframes fadeUp { from {opacity: 0; transform: translateY(10px);} to {opacity: 1; transform: translateY(0);} }
.fade-up { animation: fadeUp .6s ease-out both; }
.fade-up-del-1 { animation-delay: .1s; } .fade-up-del-2 { animation-delay: .2s; } .fade-up-del-3 { animation-delay: .3s; } .fade-up-del-4 { animation-delay: .4s; }

/* Hero */
.hero-eg {
    background: linear-gradient(135deg, rgba(120,194,173,.12) 0%, rgba(120,194,173,.04) 100%);
    border-radius: 1rem;
    overflow: hidden;
}
.hero-img {
    max-width: 100%;
    border-radius: .75rem;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

/* Cards hover */
.card-hover { transition: transform .2s ease, box-shadow .2s ease; }
.card-hover:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(0,0,0,.08); }

/* Timeline */
.timeline { position: relative; padding-left: 2rem; }
.timeline::before { content: ""; position: absolute; left: .65rem; top: .25rem; bottom: .25rem; width: 2px; background: #e5e7eb; }
.timeline-step { position: relative; margin-bottom: 1.25rem; }
.timeline-step .dot { position: absolute; left: -.1rem; top: .15rem; width: .9rem; height: .9rem; border-radius: 50%; background: #78C2AD; box-shadow: 0 0 0 4px #eaf6f2; }

/* Badge style */
.badge-soft { background: #eaf6f2; color: #2f6f5f; }

/* Utility */
.text-eco { color: #2f6f5f; }
.bg-eco { background: #78C2AD; }
