/* ===== Hero Accueil — photo plein écran + overlay (migration fidèle) ===== */
.hero {
    position: relative;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8rem 1.5rem 2rem;
    overflow: hidden;
    isolation: isolate;
    color: var(--blanc-ivoire);
    text-align: center;
}
.hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.hero__overlay {
    position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(135deg, rgba(31, 31, 31, 0.65) 0%, rgba(31, 31, 31, 0.6) 50%, rgba(31, 31, 31, 0.40) 100%);
}
.hero__inner { max-width: 1000px; width: 100%; display: flex; flex-direction: column; align-items: center; gap: 1.5rem; }

.hero__title {
    font-family: var(--font-titre);
    font-size: clamp(2.5rem, 6vw, 5.5rem);
    line-height: 0.95;
    color: var(--blanc-ivoire);
    max-width: 900px;
    font-weight: 400;
    letter-spacing: 0.5px;
}
.hero__title .accent { color: var(--jaune-safran); font-weight: 400; font-size: 0.95em; }

/* Seule exception au texte 1rem : le sous-titre du hero est un « lead » volontairement plus grand */
.hero__desc { max-width: 560px; color: var(--blanc-ivoire); font-size: 1.5rem; line-height: 1.6; }

.hero__cta { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; margin-top: 0.5rem; }

.hero__stats {
    margin-top: 4rem;
    display: flex; flex-wrap: wrap; justify-content: center;
    gap: 3rem 4rem;
    padding-top: 2.5rem;
    border-top: 1px solid rgba(254, 253, 246, 0.2);
    width: 100%; max-width: 780px;
}
.hero__stat { display: flex; flex-direction: column; align-items: center; gap: 0.25rem; }
.hero__stat-value { font-family: var(--font-titre); font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1; color: var(--bleu-celeste); }
.hero__stat-label { font-family: var(--font-corps); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; color: var(--blanc-ivoire); }

@media (max-width: 640px) {
    .hero { padding: 8rem 1.25rem 4rem; }
    .hero__stats { gap: 2rem; }
}
