/* Local integration boundaries; export utilities and animations are otherwise retained. */
body>.preview{display:none!important}#neuform-hero{display:block;position:relative;isolation:isolate;background:#0B1D33;color:#F3F1ED;font-family:"Inter Tight",sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}#neuform-hero svg{display:inline-block;vertical-align:middle;flex-shrink:0}#neuform-hero a{text-decoration:none}#neuform-hero a:focus-visible{outline:2px solid #F3F1ED;outline-offset:6px}#neuform-hero canvas{pointer-events:none}@media(prefers-reduced-motion:reduce){#neuform-hero *,#neuform-hero *:before,#neuform-hero *:after{animation:none!important;transition:none!important}#neuform-hero .word-inner,#neuform-hero .reveal-word{transform:none!important}#neuform-hero #cta-group{opacity:1!important;transform:none!important}}
#neuform-hero>section{min-height:900px;height:100svh;padding:120px 0 150px}#neuform-hero .radial-fallback{position:absolute;inset:0;background:repeating-conic-gradient(from 13deg at 50% 52%,transparent 0deg 13.96deg,#a7b7ae20 14deg 14.06deg,transparent 14.1deg 25deg);mask-image:radial-gradient(ellipse,transparent 15%,#000 100%)}#neuform-hero .webgl-ready .radial-fallback{display:none}#neuform-hero #cta-group>a{color:#0B1D33;display:inline-flex;align-items:center;justify-content:center;min-height:48px}#neuform-hero .masked-title{font-family:"Inter Tight",sans-serif}#neuform-hero h1{font-weight:400}#neuform-hero nav{mix-blend-mode:normal}#neuform-hero .absolute.inset-0.pointer-events-none.z-50{z-index:50}#neuform-hero nav{z-index:30}#neuform-hero h1 br{display:block}@media(max-width:767px){#neuform-hero>section{min-height:844px;height:auto;padding:140px 0 140px}#neuform-hero nav{padding:26px 24px;gap:12px}#neuform-hero nav>a{font-size:10px;padding:10px 12px;letter-spacing:.06em}#neuform-hero h1{font-size:48px;line-height:1.05}#neuform-hero h1 br{display:none}#neuform-hero #cta-group{margin-top:12px}#neuform-hero>section>.relative{margin-top:0}#neuform-hero .masked-title{max-width:100%}}

/* --- Finition pass: official logo, scroll cue, lede hierarchy --- */

/* Keep the visual box responsive, independently of the WebGL drawing buffer.
   These bounds act immediately, even before the deferred resize callback. */
#neuform-hero,#neuform-hero>section{min-width:0;max-width:100%}
#neuform-hero #immersion-canvas{
  display:block;position:absolute;inset:0;
  width:100%;height:100%;max-width:100%;max-height:100%;
}

/* 1. Official Samatsa logo (cream wordmark + emblem) in place of the text mark. */
#neuform-hero .nf-logo{display:inline-flex;align-items:center;line-height:0}
#neuform-hero .nf-logo img{display:block;height:22px;width:auto}
#neuform-hero .nf-logo:focus-visible{outline:2px solid #F3F1ED;outline-offset:6px;border-radius:4px}

/* 2. Scroll cue. The idle bounce stays on the wrapper so the hover shift
      composes with it instead of fighting it for the transform. */
#neuform-hero .nf-cue__bob{display:inline-flex}
#neuform-hero .nf-cue__chevron{display:block;transition:transform .55s cubic-bezier(.16,1,.3,1)}
#neuform-hero .nf-cue:hover .nf-cue__chevron,
#neuform-hero .nf-cue:focus-visible .nf-cue__chevron{transform:translateY(4px)}

/* 5. Lede: the opening sentence one step above the rest, weight only.
      Balanced wrapping keeps the two lines an even length at max-w-2xl. */
#neuform-hero .nf-lede{font-weight:400}
#neuform-hero p.masked-title{text-wrap:balance}

@media(max-width:767px){
  /* v19 : +25 % pour une présence un peu plus affirmée dans l'en-tête mobile */
  #neuform-hero .nf-logo img{height:22.5px}
}

/* --- Micro-itération verticale (desktop >= 1024 px) ---
   Le hero avait un plancher rigide de 900 px : sur un vrai Chrome à 100 %
   (fenêtre 1440 x 900 => viewport ~780 px) la section dépassait de 120 px et
   « Découvrir » tombait sous la ligne de flottaison. La section suit désormais
   la hauteur réelle du viewport et les respirations verticales se resserrent
   progressivement quand celui-ci raccourcit.
   Les rampes sont calées sur deux points : à 900 px de viewport on retrouve
   exactement la composition validée (120 / 150 / 40 / 40) et rien ne bouge
   au-delà ; à 658 px (écran 1366 x 768) tout tient encore avec une respiration
   correcte avant « Découvrir ». Le bas de section réserve toujours la place de
   l'indicateur (48 px d'offset + 46 px de hauteur) pour qu'il ne vienne jamais
   toucher la ligne de prix. Structure, typographie, couleurs, logo, CTA et
   animation de fond inchangés. */
@media(min-width:1024px){
  #neuform-hero>section{
    min-height:100svh;
    height:auto;
    padding-top:clamp(44px,calc(26.5svh - 118.5px),120px);
    padding-bottom:clamp(104px,calc(15.7svh + 9px),150px);
  }
  #neuform-hero>section>.relative{
    gap:clamp(16px,calc(9.3svh - 43.7px),40px);
  }
  #neuform-hero #cta-group{
    margin-top:clamp(16px,calc(8.5svh - 36.5px),40px);
  }
}

/* --- Itération wording : marqueur d'édition, prix et réassurance ----------
   Aucune couleur ni composant nouveau : le prix et la ligne de réassurance
   forment un seul bloc sous le CTA, la réassurance restant volontairement en
   retrait pour ne pas peser dans la hiérarchie. */
#neuform-hero .nf-price{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
}
#neuform-hero .nf-assur{
  margin:0;
  font-size:11px;
  line-height:1.4;
  font-weight:300;
  letter-spacing:.02em;
  color:rgba(167,183,174,.62);
}

@media(min-width:768px){
  #neuform-hero .nf-assur{font-size:12px}
}

/* Le libellé d'édition est plus long qu'avant : on resserre très légèrement
   son interlettrage sur les petits écrans pour qu'il tienne sur une ligne. */
@media(max-width:767px){
  #neuform-hero .nf-edition{letter-spacing:.16em;font-size:11px}
  #neuform-hero .nf-price{gap:5px}
}

/* V15: only the supporting copy widens on mobile to retain three lines
   at 390 px, keeping the original title and CTA positions. */
@media(max-width:767px){
  #neuform-hero p.masked-title{
    width:max-content;
    max-width:calc(100vw - 20px);
    margin-inline:0;
  }
}
