/* Variante « La phrase » intégrée au second bandeau, styles isolés du hero. */
.lp .origin-phrase { position:relative; overflow:hidden; padding:0; border-top:1px solid #b9a9ff33; }
.lp .origin-phrase .phrase-inner { position:relative; z-index:2; max-width:1240px; margin:auto; padding:68px 56px; }
.lp .origin-phrase .eyebrow { font-size:11px; color:var(--lavender); }
.lp .origin-phrase h2 { margin-top:18px; font-size:var(--fs,clamp(40px,6.2vw,92px)); line-height:1.06; letter-spacing:-.025em; text-wrap:nowrap; }
.origin-phrase h2 .ln { display:block; white-space:nowrap; }
.origin-phrase h2 br.m { display:none; }
.origin-phrase .phrase-reel { position:relative; display:inline-block; vertical-align:bottom; overflow:hidden; white-space:nowrap; padding-bottom:.18em; margin-bottom:-.18em; }
.origin-phrase .phrase-reel.moving { padding-bottom:0; margin-bottom:0; }
.origin-phrase .phrase-reel > span { display:inline-block; }
.origin-phrase .phrase-reel > span.in-w { position:absolute; left:0; top:0; }
.origin-phrase .phrase-reel.var { color:var(--lavender); }
.origin-phrase .phrase-reel.var::after { content:''; position:absolute; left:.02em; right:.04em; bottom:.07em; height:max(2px,.045em); border-radius:2px; background:#8f6bed; transform-origin:left center; }
.origin-phrase .phrase-reel.var.draw::after { animation:origin-phrase-draw .6s cubic-bezier(.2,.8,.2,1) .5s both; }
@keyframes origin-phrase-draw { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.origin-phrase .route { position:absolute; inset:0; width:100%; height:100%; z-index:1; pointer-events:none; }
.origin-phrase .route .bed { fill:none; stroke:#b9a9ff; stroke-opacity:.42; stroke-width:1.6; stroke-dasharray:1.5 9; stroke-linecap:round; }
.origin-phrase .route .node { fill:#17123a; stroke:#b9a9ff; stroke-width:1.6; stroke-opacity:.8; }
.origin-phrase .route .runner { fill:var(--lavender); filter:drop-shadow(0 0 6px #b9a9ffcc); }
.lp .origin-phrase .phrase-start { margin-top:36px; min-height:46px; padding:12px 23px; height:auto; }
@media(max-width:640px) { .lp .origin-phrase .phrase-inner { padding:44px 20px 40px; }.lp .origin-phrase h2 { line-height:1.08; }.origin-phrase h2 br.m { display:inline; }.origin-phrase .route { display:none; }.lp .origin-phrase .phrase-start { margin-top:30px; } }
@media(prefers-reduced-motion:reduce) { .origin-phrase .phrase-reel.var.draw::after { animation:none; } }
/* Le dernier arc rejoint le bouton et souligne brièvement l’arrivée du point. */
.origin-phrase .route .cta-node { fill:#6344d9; stroke:#c6b9f9; }
.lp .origin-phrase .phrase-start { transition:box-shadow .3s; }
.lp .origin-phrase .phrase-start.is-route-arriving { box-shadow:0 0 0 5px #b9a9ff1f,0 0 22px #a68af977; }
#beta-registration { scroll-margin-top:calc(var(--site-header-height,104px) + 22px); }
@media(prefers-reduced-motion:reduce) { .lp .origin-phrase .phrase-start { transition:none; } }
