@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
/* KAVEVA — page d'accueil des visiteurs (12/10/2026, maquette validée) : vidéo d'ÉVA à la première visite, puis la page de vente sur un écran */
:root{--nuit:#030807;--bord:#1B3A40;--turquoise:#00EEF2;--menthe:#5CE8F0;--pale:#B5F6FA;--texte:#EAFAF4;--doux:#8CA6AA;--titre:Manrope,system-ui,sans-serif;--corps:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:dark}
html,body{margin:0;height:100%;background:var(--nuit);color:var(--texte);font-family:var(--corps);-webkit-font-smoothing:antialiased}
.bv-ecran{position:relative;max-width:520px;min-height:100dvh;margin:0 auto;overflow:hidden}
a{color:inherit}
button:focus-visible,a:focus-visible{outline:3px solid var(--pale);outline-offset:3px}

/* la vidéo plein écran */
.bv-video{position:fixed;inset:0;max-width:520px;margin:0 auto;z-index:5;background:var(--nuit);transform-origin:50% 46%}
.bv-video[hidden]{display:none}
.bv-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bv-filantes{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;z-index:2;pointer-events:none}
.bv-fondu{position:absolute;left:0;right:0;bottom:0;height:150px;z-index:1;background:linear-gradient(180deg,transparent,var(--nuit))}
.bv-haut{position:absolute;left:18px;right:18px;top:calc(16px + env(safe-area-inset-top));z-index:3;display:flex;justify-content:space-between;align-items:center}
.bv-haut img{height:32px;width:auto}
.bv-pill{min-height:42px;padding:0 18px;border:1px solid rgba(181,246,250,.35);border-radius:99px;background:rgba(3,8,7,.55);color:var(--texte);font:700 15px var(--corps);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.bv-son{position:absolute;left:50%;bottom:calc(130px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:10px;min-height:54px;padding:0 24px;border:0;border-radius:99px;background:var(--turquoise);color:#02242A;font:800 17px var(--corps);cursor:pointer;box-shadow:0 0 0 8px rgba(0,238,242,.15),0 14px 40px rgba(0,0,0,.5);white-space:nowrap}
.bv-son[hidden]{display:none}
.bv-decouvrir{position:absolute;left:50%;bottom:calc(64px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:3;display:grid;justify-items:center;gap:2px;color:var(--pale);font:700 12px var(--corps);letter-spacing:.08em;text-transform:uppercase;background:none;border:0;cursor:pointer;animation:bvFlotte 2.2s ease-in-out infinite}
@keyframes bvFlotte{50%{transform:translate(-50%,6px)}}

/* fin de la vidéo : ÉVA est aspirée vers « Créer mon compte », le bouton s'illumine */
.bv-trou{position:fixed;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;z-index:6;pointer-events:none;opacity:0}
.bv-trou.eclat{animation:bvEclat .5s ease-out forwards}
@keyframes bvEclat{0%{opacity:1;box-shadow:0 0 0 0 rgba(0,238,242,.9),0 0 30px 10px rgba(181,246,250,.9);background:#E6FEFF}100%{opacity:0;transform:scale(18);box-shadow:0 0 0 2px rgba(0,238,242,0),0 0 0 0 rgba(181,246,250,0);background:transparent}}
.bv-cta.avale{animation:bvAvale .6s ease-out}
@keyframes bvAvale{0%{transform:scale(1.08);box-shadow:0 0 0 10px rgba(0,238,242,.35),0 0 60px rgba(0,238,242,.8)}100%{transform:none;box-shadow:0 0 0 6px rgba(0,238,242,.12)}}

/* la page de vente : un seul écran de téléphone */
.bv-vente{position:relative;min-height:100dvh;box-sizing:border-box;padding:calc(16px + env(safe-area-inset-top)) 18px calc(10px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}
.bv-vente>*:not(.kv-ciel){position:relative;z-index:1;flex-shrink:0}
.bv-logo{height:24px;width:auto;align-self:flex-start}
.bv-titre{margin:0;font:800 26px/1.08 var(--titre);letter-spacing:-.01em}
.bv-titre em{font-style:normal;color:var(--turquoise);white-space:nowrap;font-size:.92em}
.bv-sous{margin:-4px 0 0;display:grid;font-size:16px;line-height:1.4;color:#C6DFE2;white-space:nowrap}
.bv-sous .decale{justify-self:end}
.bv-tuiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bv-tuile{display:grid;grid-template-columns:auto 1fr;column-gap:7px;row-gap:2px;align-items:center;align-content:start;padding:9px 10px;border-radius:18px;background:rgba(13,34,38,.8);border:1px solid var(--bord);min-width:0}
.bv-tuile svg{color:var(--turquoise)}
.bv-tuile b{font:800 14.5px/1.15 var(--titre)}
.bv-tuile span{grid-column:1/-1;font-size:12.5px;line-height:1.35;color:#B6D3D7}
.bv-roles{display:grid;border-radius:18px;overflow:hidden;border:1px solid rgba(0,238,242,.35);background:linear-gradient(135deg,rgba(0,238,242,.10),rgba(13,34,38,.85) 60%)}
.bv-role{display:flex;align-items:center;gap:12px;padding:7px 12px}
.bv-role+.bv-role{border-top:1px solid rgba(0,238,242,.18)}
.bv-role small{display:block;font:800 10.5px var(--corps);letter-spacing:.14em;color:var(--doux)}
.bv-role b{display:block;font:800 15px/1.25 var(--corps)}
.bv-role.elle b{font:800 21px/1.1 var(--titre);color:var(--turquoise);text-shadow:0 0 18px rgba(0,238,242,.45)}
.bv-r-ico{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--turquoise);color:#02242A;box-shadow:0 0 0 5px rgba(0,238,242,.15)}
.bv-r-ava{flex:none;width:38px;height:38px;border-radius:12px;object-fit:cover;border:1px solid rgba(0,238,242,.5)}
.bv-bas{margin-top:auto;display:grid;gap:8px}
.bv-prix-t{margin:0;text-align:center;font:800 14px var(--corps);color:var(--pale)}
.bv-apesanteur{position:relative;height:122px;margin-inline:-18px}
.bv-formule{position:absolute;left:0;top:0;width:150px;box-sizing:border-box;padding:8px 10px;border-radius:14px;border:1px solid var(--bord);background:rgba(13,34,38,.92);text-align:center;will-change:transform;box-shadow:0 10px 26px rgba(0,0,0,.45)}
.bv-formule.plus{border-color:rgba(0,238,242,.55)}
.bv-formule b{display:block;font:800 13px var(--corps);color:var(--menthe);letter-spacing:.04em}
.bv-formule strong{display:block;font:800 22px/1.15 var(--titre)}
.bv-formule strong small{font:600 12px var(--corps);color:var(--doux)}
.bv-formule span{display:block;font-size:12px;color:#B6D3D7}
.bv-offre{margin:0;text-align:center;font:800 15px var(--corps);color:var(--pale);letter-spacing:.02em}
.bv-cta{display:grid;place-items:center;min-height:54px;border-radius:18px;background:var(--turquoise);color:#02242A;font:800 17px var(--corps);text-decoration:none;box-shadow:0 0 0 6px rgba(0,238,242,.12)}
.bv-lien{display:block;text-align:center;line-height:38px;min-height:38px;color:var(--texte);font:600 14px var(--corps);text-decoration:none}
.bv-lien u{color:var(--menthe);text-underline-offset:3px}
.bv-mbi{margin:0;text-align:center;color:var(--doux);font-size:11px}
@media (prefers-reduced-motion:reduce){.bv-decouvrir,.bv-cta.avale{animation:none}}

/* 15/10 soir — nouvelle page d'offre : un seul écran, prix qui s'entrechoquent et s'allument */
.bv-vente.nv{height:100dvh;min-height:0;overflow:hidden;gap:clamp(8px,1.5vh,13px);padding:calc(10px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.nv-haut{display:flex;align-items:center;justify-content:space-between}
.nv-haut img{height:28px;width:auto}
.nv-pill{font:600 13px var(--corps);color:var(--pale);text-decoration:none;padding:8px 14px;border-radius:99px;border:1px solid rgba(0,238,242,.16);background:rgba(14,34,36,.55);backdrop-filter:blur(10px)}
.nv-hero{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px}
.nv-titre{margin:0;font:700 clamp(18px,5vw,21px)/1.25 var(--titre);letter-spacing:-.01em;color:var(--texte);text-wrap:balance}
.nv-titre small{display:block;margin-bottom:3px;font:700 11px var(--corps);letter-spacing:.18em;color:var(--turquoise)}
.nv-titre em{font-style:normal;color:var(--turquoise)}
.nv-eva{position:relative;width:62px;height:62px}
.nv-eva::before{content:"";position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 55%,var(--turquoise) 80%,transparent 100%);animation:nvTour 3s linear infinite;filter:drop-shadow(0 0 8px var(--turquoise))}
.nv-eva img{position:relative;width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--nuit);box-sizing:border-box}
.nv-eva i{position:absolute;right:0;bottom:2px;width:11px;height:11px;border-radius:50%;background:var(--turquoise);border:3px solid var(--nuit);box-shadow:0 0 10px var(--turquoise)}
@keyframes nvTour{to{transform:rotate(1turn)}}
.nv-sous{margin:0;font-size:14px;color:var(--doux);line-height:1.35}
.nv-sous b{color:var(--texte);font-weight:500}
.nv-services{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.nv-svc{display:grid;justify-items:center;gap:6px;padding:10px 4px;border-radius:16px;background:rgba(14,34,36,.55);border:1px solid rgba(0,238,242,.16);font:600 11.5px/1.15 var(--corps);color:var(--pale);text-align:center;backdrop-filter:blur(10px)}
.nv-svc svg{color:var(--turquoise)}
.nv-duo{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 8px;border-radius:99px;background:linear-gradient(90deg,rgba(0,238,242,.10),rgba(0,238,242,.02));border:1px solid rgba(0,238,242,.16)}
.nv-mic{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--turquoise);color:#02242A}
.nv-mic svg{width:18px;height:18px}
.nv-duo p{margin:0;font-size:13.5px;line-height:1.25;color:var(--texte);min-width:0}
.nv-duo p b{color:var(--turquoise)}
.bv-vente>.nv-arene{position:relative;flex:1 1 0;min-height:120px;border-radius:22px;overflow:hidden}
.nv-legende{position:absolute;left:0;right:0;top:4px;margin:0;text-align:center;font:700 11px var(--corps);letter-spacing:.12em;text-transform:uppercase;color:var(--doux);z-index:2}
.nv-legende span{display:block;margin-top:3px;text-transform:none;letter-spacing:.02em;font-weight:600;opacity:.85}
.nv-etincelles{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.nv-prix{position:absolute;left:0;top:0;z-index:3;width:clamp(138px,40vw,160px);padding:12px 10px;box-sizing:border-box;border-radius:20px;text-align:center;background:rgba(8,22,24,.82);border:1px solid rgba(0,238,242,.16);backdrop-filter:blur(12px);transition:box-shadow .5s,border-color .5s,background .5s;will-change:transform}
.nv-prix b{display:block;font:800 12px var(--titre);letter-spacing:.14em;color:var(--pale)}
.nv-prix strong{display:block;font:800 34px/1.1 var(--titre);color:var(--texte);font-variant-numeric:tabular-nums}
.nv-prix strong small{font:500 13px var(--corps);color:var(--doux)}
.nv-prix span{font-size:12px;color:var(--doux)}
.nv-prix strong [data-kv-prix],.nv-fiche [data-kv-prix],.nv-fiche [data-kv-tva]{display:inline;font:inherit;color:inherit}
.nv-prix.choc{border-color:var(--turquoise);background:rgba(0,60,62,.85);box-shadow:0 0 0 1px var(--turquoise),0 0 28px rgba(0,238,242,.75),0 0 70px rgba(0,238,242,.35),inset 0 0 22px rgba(0,238,242,.35);transition:box-shadow .05s,border-color .05s,background .05s}
.nv-prix.choc strong{color:#fff;text-shadow:0 0 14px var(--turquoise)}
.nv-prix.choc b{color:var(--turquoise)}
.nv-bas{display:grid;gap:8px;justify-items:center}
.nv-offre{margin:0;font:700 14px var(--corps);color:var(--pale)}
.nv-cta{position:relative;overflow:hidden;width:100%;box-sizing:border-box;font:800 18px var(--titre);box-shadow:0 10px 34px rgba(0,238,242,.35)}
.nv-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);transform:translateX(-120%);animation:nvBalai 3.2s ease-in-out infinite}
@keyframes nvBalai{55%,100%{transform:translateX(120%)}}
.nv-pill:focus-visible,.nv-cta:focus-visible{outline:2px solid var(--pale);outline-offset:3px}
.nv .bv-mbi{font-size:10.5px;opacity:.75}
@media (prefers-reduced-motion:reduce){.nv-eva::before,.nv-cta::after{animation:none}}
.nv-4{color:var(--turquoise);font-weight:800;text-shadow:0 0 6px var(--turquoise),0 0 14px rgba(0,238,242,.7);animation:nv4 2.4s ease-in-out infinite}
@keyframes nv4{50%{text-shadow:0 0 10px var(--turquoise),0 0 22px rgba(0,238,242,.9)}}
@media (prefers-reduced-motion:reduce){.nv-4{animation:none}}

/* Fiche d'offre (au toucher d'un prix) */
button.nv-prix{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.nv-prix em{display:block;margin-top:5px;font:700 11px var(--corps);font-style:normal;color:var(--turquoise);letter-spacing:.04em}
.nv-prix:focus-visible{outline:2px solid var(--pale);outline-offset:3px}
.nv-voile{position:fixed;inset:0;z-index:20;background:rgba(1,6,6,.72);backdrop-filter:blur(6px);animation:nvFondu .25s ease-out}
.nv-fiche{position:fixed;left:0;right:0;bottom:0;z-index:21;max-width:520px;margin:0 auto;max-height:calc(100dvh - 24px - env(safe-area-inset-top));overflow:auto;box-sizing:border-box;
  padding:26px max(20px,env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));display:grid;gap:14px;
  border-radius:28px 28px 0 0;background:linear-gradient(180deg,#06191A 0%,#030807 70%);border-top:1px solid var(--turquoise);
  box-shadow:0 -10px 60px rgba(0,238,242,.25),inset 0 1px 0 rgba(0,238,242,.5);animation:nvMonte .38s cubic-bezier(.2,.9,.25,1.1)}
.nv-fiche::before{content:"";position:absolute;left:50%;top:9px;width:40px;height:4px;margin-left:-20px;border-radius:4px;background:rgba(181,246,250,.25)}
@keyframes nvMonte{from{transform:translateY(100%)}}
@keyframes nvFondu{from{opacity:0}}
.nv-croix{position:absolute;right:max(12px,env(safe-area-inset-right));top:12px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(0,238,242,.25);background:rgba(14,34,36,.8);color:var(--pale);cursor:pointer}
.nv-croix:focus-visible{outline:2px solid var(--pale);outline-offset:2px}
.nv-offre-bloc{display:grid;gap:10px}
.nv-sur{margin:0;font:700 11px var(--corps);letter-spacing:.16em;color:var(--turquoise);display:flex;align-items:center;gap:8px;padding-right:50px}
.nv-badge{padding:3px 8px;border-radius:99px;background:var(--turquoise);color:#02242A;font:800 10px var(--corps);letter-spacing:.06em}
.nv-fiche h2{margin:0;font:800 clamp(24px,7vw,30px)/1.1 var(--titre);letter-spacing:-.02em;color:var(--texte);text-wrap:balance}
.nv-fiche h2 em{font-style:normal;color:var(--turquoise);text-shadow:0 0 18px rgba(0,238,242,.45)}
.nv-chapo{margin:0;font-size:15px;line-height:1.45;color:var(--doux)}
.nv-liste{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:9px}
.nv-liste li{display:grid;grid-template-columns:26px 1fr;align-items:start;gap:8px;font-size:15px;line-height:1.35;color:var(--texte)}
.nv-liste svg{width:22px;height:22px;padding:2px;border-radius:50%;background:rgba(0,238,242,.14);color:var(--turquoise);box-sizing:border-box}
.nv-liste b{color:var(--pale)}
.nv-prix-fiche{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:18px;border:1px solid rgba(0,238,242,.3);background:rgba(0,238,242,.06)}
.nv-prix-fiche strong{font:800 40px/1 var(--titre);color:#fff;text-shadow:0 0 18px rgba(0,238,242,.6);font-variant-numeric:tabular-nums}
.nv-prix-fiche span{font-size:13px;line-height:1.3;color:var(--doux)}
.nv-cta-fiche{font-size:16px;padding:0 14px;text-align:center}
.nv-fine{margin:0;text-align:center;font-size:11px;color:var(--doux)}
@media (prefers-reduced-motion:reduce){.nv-fiche,.nv-voile{animation:none}}
.nv-fiche[hidden],.nv-voile[hidden],.nv-offre-bloc[hidden]{display:none}
.nv-fiche{gap:12px;padding-top:22px}
.nv-fiche h2{font-size:clamp(22px,6.2vw,26px)}
.nv-chapo{font-size:14px;line-height:1.4}
.nv-liste{gap:7px}
.nv-liste li{font-size:14px}
.nv-prix-fiche strong{font-size:34px}
.nv-fiche h2{padding-right:40px}
.nv-essai{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;min-height:48px;padding:6px 14px;border-radius:16px;border:1px solid var(--turquoise);background:rgba(0,238,242,.07);color:var(--pale);text-decoration:none;font:700 15px var(--corps);box-shadow:0 0 18px rgba(0,238,242,.18),inset 0 0 12px rgba(0,238,242,.08)}
.nv-essai svg{color:var(--turquoise);flex:none}
.nv-essai small{display:block;font:500 11.5px var(--corps);color:var(--doux)}
.nv-essai span{text-align:left;line-height:1.2}
.nv-essai:focus-visible{outline:2px solid var(--pale);outline-offset:3px}
