/* Section — Hero photo (V3). Photo en fond, header sombre posé dessus (dégradé porté par .hero--photo::before).
   Desktop 760 : carte 560 (p40, g40) calée à gauche entre les gouttières (pas le conteneur 1100), centrée verticalement ;
   bloc titre H1 + texte Body 480 (gap 16) ; groupe CTA + mention aligné à gauche.
   Mobile 760 : carte pleine largeur (p24, g16) calée en bas (32 px), textes centrés, CTA pleine largeur. */
.hero { position: relative; min-height: min(100svh, var(--size-hero)); display: flex; flex-direction: column; isolation: isolate; background: var(--brandt-carbon); }
.hero__media { position: absolute; inset: 0; z-index: -1; }
.hero__media img { width: 100%; height: 100%; object-fit: cover; }
.hero__content { flex: 1 1 auto; display: flex; align-items: flex-end; padding: var(--header-height) var(--gutter) var(--space-32); }
.hero__card { width: 100%; align-items: stretch; text-align: center; }
.hero__heading { display: flex; flex-direction: column; gap: var(--space-16); }
@media (min-width: 1024px) {
  .hero__content { align-items: center; padding-block: 0; }
  .hero__card { width: var(--size-hero-card); max-width: 100%; text-align: left; }
  .hero__heading { max-width: var(--size-hero-title); }
  .hero__cta { align-self: flex-start; }
}
