/* ── HOME PAGE ── */
.main { padding-top: var(--nav-h); }

/* ── HERO : image pleine largeur + overlay ── */
.hero {
  position: relative;
  height: calc(100svh - var(--nav-h));
  min-height: 500px;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.hero__bg {
  position: absolute; inset: 0; z-index: 0;
}
.hero__video-wrap {
  position: absolute; inset: 0; z-index: 0; overflow: hidden;
}
.hero__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(0.55) saturate(0.85);
}
/* Image fallback */
.hero__bg-img {
  position: absolute; inset: 0;
  background: url('https://site.unionstore.fr/crs11.png') center/cover no-repeat;
  filter: brightness(0.52) saturate(0.85);
}
.hero__overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(to bottom, rgba(0,0,0,0.12) 0%, rgba(0,0,0,0.08) 50%, rgba(0,0,0,0.45) 100%);
}
/* Vague blanche en bas exactement comme le site */
.hero__wave {
  position: absolute; bottom: -2px; left: 0; right: 0; z-index: 2;
  line-height: 0;
}
.hero__wave svg { width: 100%; height: auto; display: block; fill: var(--bg); }

.hero__inner {
  position: relative; z-index: 3;
  text-align: center; max-width: 780px;
  padding: 0 24px;
  animation: hero-in 0.7s cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes hero-in { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }

.hero__title {
  font-size: clamp(40px, 7vw, 80px);
  font-weight: 800; color: #fff;
  line-height: 1.1; letter-spacing: -0.03em;
  margin-bottom: 20px;
  text-shadow: 0 2px 20px rgba(0,0,0,0.25);
}
.hero__sub {
  font-size: clamp(15px, 2vw, 18px);
  color: rgba(255,255,255,0.88);
  max-width: 540px; margin: 0 auto 36px;
  line-height: 1.65;
  text-shadow: 0 1px 8px rgba(0,0,0,0.2);
}
.hero__actions { display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap; }
.hero__cta { font-size:15px; padding:13px 30px; border-radius:var(--r2); }
.hero__cta--primary { background:var(--blue); color:#fff; box-shadow:0 4px 16px rgba(37,99,235,0.4); }
.hero__cta--primary:hover { background:var(--blue-h); transform:translateY(-2px); box-shadow:0 6px 22px rgba(37,99,235,0.5); }
.hero__cta--ghost { background:rgba(255,255,255,0.15); color:#fff; border:1px solid rgba(255,255,255,0.35); backdrop-filter:blur(8px); }
.hero__cta--ghost:hover { background:rgba(255,255,255,0.25); transform:translateY(-1px); }

/* ── WAVE ANIMÉE — animée via JS requestAnimationFrame ── */
.hero__wave svg { overflow: visible; }
.hero__wave canvas { display: none; }
