/* ============================================================================
 * GO — écran de bienvenue : deux couleurs, blanc et vert aéro   build bienvenue-2026-10-07-2
 * Fond de verre vert (reflet en haut, bulles qui montent). Les traits de vitesse
 * filent, le G blanc se trace d'un geste, sa barre jaillit en flèche, l'étincelle
 * s'allume, puis « Go » et « by MyCell ».
 * Décoratif uniquement (aria-hidden). « Réduire les animations » : jamais joué.
 * ========================================================================== */
.bienvenue { display: none; }
html.avec-bienvenue body { overflow: hidden; }
html.avec-bienvenue .bienvenue {
  position: fixed; inset: 0; z-index: 9999; display: block; cursor: pointer; overflow: hidden; color: #FFFFFF;
  background: radial-gradient(90% 55% at 50% 108%, rgba(201,255,158,.55), transparent 70%),
              linear-gradient(180deg, #8EE563 0%, #36C25E 42%, #12994B 78%, #0B7F3E 100%);
  -webkit-tap-highlight-color: transparent;
}
/* Une ancienne page (balisage d'avant) : seule la scène compte */
.bienvenue > :not(.bv-scene) { display: none !important; }
.bv-scene { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; gap: 6px; padding-bottom: 6vh; }
.bienvenue.sortie { animation: bv-sortie .5s cubic-bezier(.4,0,.2,1) forwards; }
@keyframes bv-sortie { to { opacity: 0; transform: scale(1.06) translateX(16px); filter: blur(4px); } }

/* Reflet de verre en haut, façon « aéro » */
.bv-reflet { position: absolute; left: -10%; right: -10%; top: -32vh; height: 62vh; border-radius: 0 0 50% 50%; pointer-events: none;
  background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,.08) 70%, transparent); }
/* Bulles blanches qui montent */
.bv-bulles { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.bv-bulles i { position: absolute; bottom: -40px; border-radius: 50%; border: 1.5px solid rgba(255,255,255,.85);
  background: radial-gradient(circle at 32% 30%, rgba(255,255,255,.95) 0 18%, rgba(255,255,255,.18) 40%, rgba(255,255,255,.05) 70%);
  opacity: 0; animation-name: bv-bulle; animation-timing-function: cubic-bezier(.3,.1,.5,1); animation-fill-mode: forwards; }
@keyframes bv-bulle { 10% { opacity: .95; } 100% { opacity: 0; transform: translate(14px, -105vh); } }

.bv-logo { position: relative; width: min(74vw, 320px); height: auto; overflow: visible; }
/* Les traits (pathLength = 1) se dessinent */
.bv-logo .go-vitesse path, .bv-logo .go-g, .bv-logo .go-fleche { stroke-dasharray: 1 1; stroke-dashoffset: 1; }
.bv-logo .go-vitesse path { animation: bv-trace .45s cubic-bezier(.65,0,.35,1) forwards; }
.bv-logo .go-vitesse path:nth-child(1) { animation-delay: .1s; }
.bv-logo .go-vitesse path:nth-child(2) { animation-delay: .2s; }
.bv-logo .go-vitesse path:nth-child(3) { animation-delay: .3s; }
.bv-logo .go-g { animation: bv-trace .95s cubic-bezier(.65,0,.35,1) .2s forwards; }
.bv-logo .go-fleche { animation: bv-trace .38s cubic-bezier(.2,.8,.3,1) 1.05s forwards; }
@keyframes bv-trace { to { stroke-dashoffset: 0; } }
/* La pointe jaillit, l'étincelle s'allume */
.bv-logo .go-pointe { transform-box: fill-box; transform-origin: left center; opacity: 0; transform: translateX(-40px) scaleX(.3);
  animation: bv-jaillit .42s cubic-bezier(.34,1.56,.64,1) 1.28s forwards; }
@keyframes bv-jaillit { to { opacity: 1; transform: none; } }
.bv-logo .go-eclat { transform-box: fill-box; transform-origin: center; transform: scale(0) rotate(-90deg);
  animation: bv-eclat .55s cubic-bezier(.34,1.56,.64,1) 1.45s forwards, bv-scintille 1.4s ease-in-out 2s infinite; }
@keyframes bv-eclat { to { transform: scale(1) rotate(0); } }
@keyframes bv-scintille { 50% { transform: scale(1.2) rotate(25deg); } }

.bv-nom { position: relative; font-family: var(--font-titre, system-ui, sans-serif); font-size: clamp(64px, 18vw, 96px); font-weight: 900; font-style: italic;
  letter-spacing: -3px; line-height: .95; color: #FFFFFF; text-shadow: 0 6px 22px rgba(5,80,42,.35);
  opacity: 0; transform: translateX(-24px) skewX(-8deg); animation: bv-elan .55s cubic-bezier(.22,1,.36,1) 1.5s forwards; }
@keyframes bv-elan { to { opacity: 1; transform: none; } }
.bv-signature { position: relative; font-size: 15px; font-weight: 700; letter-spacing: 2.5px; color: rgba(255,255,255,.92);
  opacity: 0; animation: bv-monte .6s cubic-bezier(.22,1,.36,1) 1.8s forwards; }
@keyframes bv-monte { from { transform: translateY(10px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html.avec-bienvenue .bienvenue { display: none; } }
