/* Accueil : une direction lisible, du premier contact à la décision.
   Le moteur, les médias et la trajectoire du hero restent partagés et intacts. */
.home-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; }
.hero-copy .home-actions .cta { margin-top: 0; }
/* Retour Tex 05/09 : les deux boutons du hero étaient trop imposants. On se
   rapproche du bouton du header (12 px / 600) sans descendre sous la cible
   tactile de 44 px : 13,6 px, graisse 600, rembourrage resserré. */
a.home-contact, .hero-copy a.home-contact {
  display: inline-flex; justify-content: center; align-items: center;
  min-height: 44px; padding: .7em 1.6em; border-radius: 999px;
  background: #0071e3; color: #fff; font-size: .85rem; font-weight: 600;
  letter-spacing: -.005em; text-decoration: none;
  transition: background-color 160ms ease-out, transform 160ms ease-out;
}
a.home-contact:hover, .hero-copy a.home-contact:hover { background: #0065cc; }
a.home-contact:focus-visible, .hero-copy a.home-contact:focus-visible { background: #0071e3; outline: 2px solid #f2efe8; outline-offset: 4px; }
a.home-contact:active { transform: translateY(1px); }
.home-newsletter { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; padding: .7em 1.5em; border-radius: 999px; background: #f2efe8; color: #101114; font-size: .85rem; font-weight: 600; letter-spacing: -.005em; text-decoration: none; }
.home-newsletter:hover { background: #fff; }
.home-newsletter:focus-visible { outline: 2px solid #f2efe8; outline-offset: 4px; border-radius: 999px; }
.home-proof-action { margin-top: 28px; text-align: center; }

/* Retour Tex 05/09 : « Lire mon histoire complète » flottait seul dans le coin
   gauche (x 80 dans une colonne de 704), loin du personnage assis au centre
   gauche. Le bouton se recompose près de lui, sous son buste, au lieu de
   rester collé au bord de la page. Il garde sa cible, son focus et son lien. */
@media (min-width: 901px) {
  .corridor-on #histoire .story-copy > .story-cta { text-align: left; }
  #histoire .story-cta a { margin-left: clamp(180px, 21vw, 330px); }
}
@media (max-width: 860px) {
  .home-actions { gap: 4px 20px; margin-top: 16px; }
  .home-actions .home-newsletter { font-size: .875rem; }
  .home-proof-action { margin-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  a.home-contact { transition: none; }
  a.home-contact:active { transform: none; }
}
@media (max-width: 860px) {
  .home-actions { gap: 8px 20px; }
  .home-actions .home-newsletter { min-height: 44px; }
}
@media (max-width: 380px) {
  .hero-copy .hero-sub { font-size: 1rem; line-height: 1.55; margin-top: 16px; }
  .hero-copy .hero-credo { font-size: 1rem; margin-top: 16px; }
  .hero-copy .sc-display--xl { font-size: 2.5rem; }
}
@media (max-width: 340px) {
  .hero-copy .sc-display--xl { font-size: 2.2rem; }
  .hero-copy .hero-eyebrow { font-size: .95rem; }
}
/* La bande suit la composition réelle : la présence reste libre au-dessus,
   le texte ne dépend plus de la luminosité d'une frame de vidéo. */
@media (max-width: 760px) {
  .hero-copy .hero-sub { font-size: 1.0625rem; line-height: 1.55; margin-top: 16px; }
  .hero-copy .hero-credo { font-size: 1rem; margin-top: 16px; }
  .hero-copy .hero-eyebrow { font-size: 1rem; }
  .hero-copy .sc-display--xl { font-size: 2.5rem; }
  .hero-live-stage .hero-veil {
    background: linear-gradient(to bottom, transparent 0,
      transparent max(0px, calc(var(--home-copy-start, 300px) - 88px)),
      rgba(3,3,3,.88) var(--home-copy-start, 300px),
      #030303 100%);
  }
}
@media (max-width: 380px) { .hero-copy .hero-sub { font-size: 1rem; } }
@media (max-width: 340px) { .hero-copy .sc-display--xl { font-size: 2.2rem; } .hero-copy .hero-eyebrow { font-size: .95rem; } }

/* Une révélation d'entrée ne doit jamais masquer une cible clavier. */
[data-sc-in]:focus-within, [data-sc-in]:focus-within > * { opacity: 1 !important; transform: none !important; transition: none !important; }
@media (min-width: 761px) and (prefers-reduced-motion: no-preference) {
  /* Même voile et même extinction : marge AA sur le gris chaud à l'ouverture. */
  #home-hero .hero-veil { opacity: calc(.84 - clamp(0, var(--sc-p, 0) * 2.2, 1) * .84); }
}

/* Le décor 100vw déborde de la colonne de lecture, pas de la page. */
#systeme > .sc-wrap.sc-stage { overflow: visible; }
