/* Hero : titre, chapeau, appels à l'action. Le schéma vivant est dans schema.css. */
.hero { position: relative; padding-block: 48px 72px; overflow: clip; }
.hero::before {
  content: ""; position: absolute; z-index: -1; right: -10%; top: -120px; width: 70%; height: 640px; pointer-events: none;
  background: radial-gradient(closest-side, color-mix(in srgb, var(--marque) 14%, transparent), transparent);
}
.hero-grille { display: grid; gap: 48px; align-items: center; }
.hero .sur-titre { margin-bottom: 20px; }
.hero h1 { max-width: 14ch; }
.hero .chapeau { max-width: 52ch; margin-top: 24px; font-size: 1.1875rem; color: var(--texte-attenue); }
.hero .actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 36px; }
.hero .mention { margin-top: 20px; font-size: 0.875rem; color: var(--texte-attenue); }
@media (min-width: 720px) { .hero { padding-block: 72px 96px; } }
@media (min-width: 1024px) {
  .hero { padding-block: 88px 120px; }
  .hero-grille { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 32px; }
  .hero h1 { max-width: none; }
}

@media (prefers-reduced-motion: no-preference) {
  .hero-texte > * { animation: hero-monte 600ms ease-out both; }
  .hero-texte > :nth-child(2) { animation-delay: 80ms; }
  .hero-texte > :nth-child(3) { animation-delay: 160ms; }
  .hero-texte > :nth-child(4) { animation-delay: 240ms; }
  .hero-texte > :nth-child(5) { animation-delay: 320ms; }
  @keyframes hero-monte { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
}
.hero h1 em { display: block; }
@media (min-width: 720px) { .hero h1 em { white-space: nowrap; } }
