/* ============================================================
   Prestataires — hero immersif « super pro »
   ============================================================ */
.phero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background: var(--dark);
    color: #f3ede2;
    padding: clamp(9rem, 18vh, 13rem) 0 clamp(4rem, 8vw, 7rem);
    text-align: center;
}
.phero__bg { position: absolute; inset: 0; z-index: 0; }
.phero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.3; }
.phero__veil {
    position: absolute; inset: 0;
    background:
        radial-gradient(70% 65% at 50% 0%, rgba(124,59,70,0.4), transparent 60%),
        linear-gradient(180deg, rgba(18,15,11,0.55), rgba(18,15,11,0.92));
}
.phero__grain {
    position: absolute; inset: 0; opacity: 0.05; mix-blend-mode: overlay; pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.phero__glow { position: absolute; z-index: 0; border-radius: 50%; filter: blur(30px); pointer-events: none; }
.phero__glow--a { top: -25%; right: -8%; width: min(680px, 70vw); height: min(680px, 70vw);
    background: radial-gradient(circle, rgba(124,59,70,0.5), transparent 62%); animation: pheroFloat 17s ease-in-out infinite alternate; }
.phero__glow--b { bottom: -35%; left: -10%; width: min(560px, 60vw); height: min(560px, 60vw);
    background: radial-gradient(circle, rgba(124,59,70,0.3), transparent 64%); animation: pheroFloat 22s ease-in-out infinite alternate-reverse; }
@keyframes pheroFloat { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-4%,4%,0) scale(1.12); } }

.phero__inner { position: relative; z-index: 1; max-width: 820px; margin-inline: auto; }

.phero__eyebrow { display: inline-flex; align-items: center; gap: 0.6rem; justify-content: center; margin-bottom: 1.3rem; color: var(--accent-tint); }
.phero__eyebrow span { width: 26px; height: 1px; background: var(--accent-tint); opacity: 0.7; }

.phero__title {
    font-family: var(--display); font-weight: 500;
    font-size: clamp(2.4rem, 1.2rem + 4.6vw, 5rem); line-height: 1.02;
    letter-spacing: -0.015em; margin: 0; color: #fff; text-wrap: balance;
}
.phero__title em { font-style: italic; color: var(--accent-tint); }

.phero__lead {
    max-width: 60ch; margin: 1.5rem auto 0;
    color: rgba(243,237,226,0.8); font-weight: 300;
    font-size: clamp(1.04rem, 0.95rem + 0.45vw, 1.24rem); line-height: 1.65;
}

/* Barre de recherche premium (verre dépoli) */
.phero__search {
    display: flex; align-items: center; gap: 0.5rem;
    max-width: 620px; margin: 2.3rem auto 0;
    padding: 0.5rem 0.5rem 0.5rem 1.2rem;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(243,237,226,0.22);
    border-radius: 100px;
    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
    box-shadow: 0 30px 60px -30px rgba(0,0,0,0.6);
    transition: border-color 0.25s var(--ease), box-shadow 0.25s var(--ease);
}
.phero__search:focus-within { border-color: var(--accent-tint); box-shadow: 0 30px 70px -28px rgba(124,59,70,0.7); }
.phero__search-ic { flex: none; color: var(--accent-tint); display: inline-flex; }
.phero__search-ic .icon { width: 20px; height: 20px; }
.phero__search input {
    flex: 1; min-width: 0; border: 0; background: transparent; outline: none;
    color: #fff; font-family: var(--sans); font-size: 1.02rem; padding: 0.6rem 0.2rem;
}
.phero__search input::placeholder { color: rgba(243,237,226,0.55); }
.phero__search .btn { flex: none; border-radius: 100px; white-space: nowrap; }

/* Statistiques */
.phero__stats {
    list-style: none; display: flex; flex-wrap: wrap; justify-content: center;
    gap: 0.6rem 1.6rem; margin: 1.9rem 0 0; padding: 0;
    font-family: var(--sans); font-size: 0.92rem; color: rgba(243,237,226,0.75);
}
.phero__stats li { display: inline-flex; align-items: center; gap: 0.5rem; }
.phero__stats li + li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--accent-tint); margin-right: 1.1rem; opacity: 0.6; }
.phero__stats strong { color: #fff; font-weight: 600; }
.phero__stats .icon { width: 15px; height: 15px; color: var(--accent-tint); fill: var(--accent-tint); stroke: var(--accent-tint); }

.phero__signup { margin: 2rem 0 0; font-size: 0.92rem; color: rgba(243,237,226,0.62); }
.phero__signup a { color: #fff; display: inline-flex; align-items: center; gap: 0.35rem; text-decoration: underline; text-underline-offset: 3px; }
.phero__signup a .icon { width: 0.9em; height: 0.9em; transition: transform 0.3s var(--ease); }
.phero__signup a:hover { color: var(--accent-tint); }
.phero__signup a:hover .icon { transform: translateX(3px); }

/* Indice de défilement */
.phero__scroll { position: absolute; left: 50%; bottom: 1.4rem; transform: translateX(-50%); z-index: 1;
    width: 26px; height: 42px; border: 1px solid rgba(243,237,226,0.35); border-radius: 100px; display: grid; place-items: start center; padding-top: 8px; }
.phero__scroll span { width: 4px; height: 8px; border-radius: 4px; background: var(--accent-tint); animation: pheroScroll 1.8s ease-in-out infinite; }
@keyframes pheroScroll { 0% { opacity: 0; transform: translateY(-2px); } 40% { opacity: 1; } 80%,100% { opacity: 0; transform: translateY(10px); } }

/* Entrée animée (CSS pur) */
.phero__inner > * { animation: pheroRise 0.85s var(--ease) both; }
.phero__title { animation-delay: 0.06s; }
.phero__lead { animation-delay: 0.13s; }
.phero__search { animation-delay: 0.2s; }
.phero__stats { animation-delay: 0.28s; }
.phero__signup { animation-delay: 0.35s; }
@keyframes pheroRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* Responsive */
@media (max-width: 620px) {
    .phero { padding-bottom: clamp(3rem, 14vw, 5rem); }
    .phero__title br { display: none; }
    .phero__search { flex-wrap: wrap; border-radius: 22px; padding: 0.8rem; gap: 0.7rem; }
    .phero__search input { flex: 1 1 100%; text-align: center; }
    .phero__search .btn { flex: 1 1 100%; justify-content: center; }
    .phero__scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .phero__glow, .phero__scroll span, .phero__inner > * { animation: none; }
}
