/* Simply Factu : page d'accueil */
:root{
  --canvas:#F4F8FC; --panel:#FFFFFF; --sky:#DCEAF6;
  --accent:#2F78B5; --accent-hover:#24649A; --accent-muted:#B9D4EC;
  --blush:#F2A7B8; --blush-bg:#FBE3E9; --blush-text:#8A3A4E; --pen:#C4365A;
  --text-primary:#22324A; --text-secondary:#56657A; --line:#D6E3F0; --line-strong:#8FA6BF;
  --ok:#2A7A4B; --ok-bg:#E3F4EA;
  --night:#13213A; --night-2:#1A2B47; --night-line:#2C4264; --night-text:#EAF1FA; --night-muted:#A9BCD4;
  --display:"Plus Jakarta Sans",system-ui,sans-serif;
  --body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Spline Sans Mono",ui-monospace,Consolas,monospace;
  --hand:"Caveat","Segoe Print",cursive;
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --maxw:1180px; --gutter:clamp(16px,4vw,40px); --fil-gap:clamp(30px,5vw,64px);
  --r:20px;
  --tshadow:0 1px 2px rgba(5,9,18,.9),0 3px 14px rgba(5,9,18,.7),0 10px 44px rgba(5,9,18,.75);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{overflow-x:hidden;overflow-x:clip;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;overflow-x:clip;background:var(--canvas);color:var(--text-primary);font:400 18px/1.62 var(--body);font-variant-numeric:tabular-nums;animation:pageIn .9s var(--ease-out) both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
img,video,svg{display:block;max-width:100%}
a{color:var(--accent)}
h1,h2,h3{font-family:var(--display);font-weight:800;letter-spacing:-.022em;line-height:1.1;margin:0;color:inherit}
p{margin:0}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:6px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:fixed;left:16px;top:-60px;z-index:100;background:var(--panel);padding:10px 16px;border-radius:10px;font-weight:700;transition:top .3s var(--ease-out)}
.skip:focus{top:12px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter) 0 calc(var(--gutter) + var(--fil-gap))}

/* Couche de fond : un seul environnement, qui dérive lentement */
.env{position:fixed;inset:-12%;z-index:-2;pointer-events:none;background:
  radial-gradient(38% 34% at 18% 26%,rgba(220,234,246,.95),transparent 72%),
  radial-gradient(34% 30% at 84% 62%,rgba(251,227,233,.6),transparent 72%),
  radial-gradient(40% 40% at 50% 100%,rgba(220,234,246,.7),transparent 70%);
  animation:envDrift 74s var(--ease-io) -22s infinite alternate}
.env::after{content:"";position:absolute;inset:0;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
@keyframes envDrift{from{transform:translate3d(-2%,-1%,0) scale(1)}to{transform:translate3d(2%,1.5%,0) scale(1.06)}}

/* Boutons */
.btn{--bg:var(--accent);display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:999px;background:var(--bg);color:#fff;font:700 17px/1.2 var(--display);letter-spacing:-.01em;text-decoration:none;border:0;cursor:pointer;box-shadow:0 10px 26px rgba(47,120,181,.28);transition:background .35s var(--ease-out),transform .35s var(--ease-out),box-shadow .35s var(--ease-out);text-shadow:none}
.btn:hover{--bg:var(--accent-hover);transform:translateY(-2px);box-shadow:0 14px 32px rgba(47,120,181,.34)}
.btn svg{width:18px;height:18px;transition:transform .35s var(--ease-out)}
.btn:hover svg{transform:translateX(3px)}
.btn.ghost{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent-muted)}
.btn.ghost:hover{box-shadow:inset 0 0 0 2px var(--accent);transform:translateY(-2px)}
.btn.soon,.btn.soon:hover{background:#EEF3F9;color:var(--text-secondary);box-shadow:inset 0 0 0 1.5px var(--line);transform:none;cursor:default;padding-inline:16px;gap:8px;font-size:15.5px;white-space:nowrap}
.btn.soon svg,.btn.soon:hover svg{width:17px;height:17px;flex:none;transform:none}
.link{color:inherit;font-weight:700;text-underline-offset:4px;text-decoration-thickness:2px;text-decoration-color:currentColor}
@media (pointer:coarse){.btn{min-height:48px}.nav a,.link{min-height:44px;display:inline-flex;align-items:center}}

/* En-tête */
.top{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .5s var(--ease-out),box-shadow .5s var(--ease-out),transform .5s var(--ease-out)}
/* Bandeau blanc visible dès l'arrivée sur la page */
.top::before{content:"";position:absolute;inset:0;background:rgba(248,251,254,.94);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.top{box-shadow:0 1px 0 rgba(143,166,191,.3)}
.top .bar{position:relative;max-width:1320px;margin:0 auto;padding:12px var(--gutter);display:flex;align-items:center;gap:18px;min-height:70px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text-primary)}
.brand img{width:42px;height:42px;border-radius:11px;box-shadow:0 6px 16px rgba(47,120,181,.25)}
.brand b{font:800 21px/1 var(--display);letter-spacing:-.02em;white-space:nowrap}
.brand b span{color:var(--accent)}
.tagline-top{margin:0;padding-left:16px;border-left:1px solid rgba(143,166,191,.55);max-width:340px;flex:0 1 340px;font:800 14.5px/1.3 var(--display);color:var(--text-primary);letter-spacing:-.005em;text-shadow:0 0 6px rgba(47,120,181,.3),0 1px 2px rgba(47,120,181,.3)}
.tagline-top span{color:var(--accent)}
.nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav a{color:var(--text-primary);text-decoration:none;font:700 14.5px/1 var(--display);white-space:nowrap;padding:10px 10px;border-radius:10px;transition:background .3s var(--ease-out),color .3s var(--ease-out)}
.nav a:hover{background:rgba(47,120,181,.1);color:var(--accent)}
.nav .btn{padding:11px 18px;font-size:14.5px;color:#fff;margin-left:6px}
.nav .btn:hover{background:var(--accent-hover);color:#fff}
.burger{display:none;margin-left:auto;width:46px;height:46px;border-radius:12px;border:0;background:rgba(255,255,255,.7);cursor:pointer;position:relative}
.burger span,.burger span::before,.burger span::after{position:absolute;left:12px;right:12px;height:2px;background:var(--text-primary);border-radius:2px;transition:transform .35s var(--ease-out),opacity .25s}
.burger span{top:22px}.burger span::before{content:"";left:0;right:0;top:-7px}.burger span::after{content:"";left:0;right:0;top:7px}
.top.open .burger span{background:transparent}.top.open .burger span::before{transform:translateY(7px) rotate(45deg)}.top.open .burger span::after{transform:translateY(-7px) rotate(-45deg)}
@media (max-width:1300px){
  .burger{display:block}
  .nav{position:absolute;top:100%;left:var(--gutter);right:var(--gutter);flex-direction:column;align-items:stretch;gap:2px;padding:12px;margin:6px 0 0;background:var(--panel);border-radius:18px;box-shadow:0 22px 50px rgba(34,50,74,.18);opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .35s var(--ease-out),transform .35s var(--ease-out)}
  .top.open .nav{opacity:1;transform:none;pointer-events:auto}
  .nav a{padding:14px 12px;font-size:17px}
  .nav .btn{margin:8px 0 0}
}

/* ---------- Accueil vidéo (défilement) ---------- */
.hero{position:relative;height:430vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#20293A}
.poster,.still,#heroVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center}
.poster{background-color:#2A3446}
/* La vidéo décode, le canvas affiche : chaque image est peinte après chaque déplacement, dans tous les navigateurs */
#heroVideo{opacity:0;pointer-events:none}
.frame{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .8s var(--ease-out)}
.stage.video-ready .frame{opacity:1}
.stage.video-failed #heroVideo{display:none}
.still{opacity:0;pointer-events:none;will-change:opacity}
.shade{position:absolute;inset:0;pointer-events:none;background:
  linear-gradient(180deg,rgba(244,248,252,.38) 0%,rgba(244,248,252,0) 16%),
  radial-gradient(60% 70% at 88% 74%,rgba(8,13,24,.34),rgba(8,13,24,0) 72%),
  linear-gradient(0deg,rgba(8,13,24,.28) 0%,rgba(8,13,24,0) 26%)}
.bands{position:absolute;inset:0;pointer-events:none}
/* Panneau de texte : à droite, juste sous le pare-brise (position calculée en JS), fond sombre translucide */
.band{position:absolute;left:0;top:0;width:var(--bw,560px);padding:22px 28px 24px;border-radius:24px;text-align:center;color:#F7FAFD;background:rgba(9,14,26,.58);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);box-shadow:0 18px 50px rgba(5,9,18,.38),inset 0 0 0 1px rgba(255,255,255,.1);text-shadow:0 1px 2px rgba(5,9,18,.7);opacity:0;--k:0;transform:translate(var(--bx,62vw),var(--by,56vh))}
.band.b1{opacity:1}
.band .kick{display:inline-flex;align-items:center;gap:10px;font:500 12.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(160,180,210,.3);margin-bottom:14px}
.band .kick i{width:8px;height:8px;border-radius:50%;background:var(--blush);box-shadow:0 0 0 4px rgba(242,167,184,.25)}
.band .h{font:800 clamp(26px,min(2.9vw,5.4vh),46px)/1.08 var(--display);letter-spacing:-.026em}
.band .sub{margin:12px auto 0;font-size:clamp(15.5px,min(1.2vw,2.2vh),18.5px);line-height:1.5;color:#E9EFF7;max-width:44ch}
.band .cta{margin-top:20px;display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;justify-content:center;pointer-events:auto}
.band .cta .link{color:#fff}
/* Entrées : transform et opacité seulement, pilotées par --k */
.w,.c{display:inline-block;will-change:transform,opacity}
.b1 .h .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.4,1);opacity:var(--kc);transform:translateZ(0) scale(calc(.84 + .16*var(--kc)))}
.b1 .sub,.b1 .kick{opacity:clamp(0,(var(--k,0) - .45)*3,1)}
.b2 .h .c{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.6,1);opacity:var(--kc);transform:translateX(calc((1 - var(--kc))*var(--jx,0px)))}
.b2 .sub{opacity:clamp(0,(var(--k,0) - .55)*3,1);transform:translateX(calc((1 - clamp(0,(var(--k,0) - .55)*3,1))*28px))}
.b3 .h .w{--kc:clamp(0,(var(--k,0) - var(--th,0))*2.8,1);opacity:var(--kc);transform:translateY(calc((1 - var(--kc))*26px))}
.b3 .sub{--ks:clamp(0,(var(--k,0) - .62)*4,1);opacity:var(--ks);transform:translateY(calc((1 - var(--ks))*14px))}
.b3 .cta{--kb:clamp(0,(var(--k,0) - .76)*5,1);opacity:var(--kb);transform:translateY(calc((1 - var(--kb))*14px))}
.ring{position:absolute;right:22px;bottom:22px;width:44px;height:44px;color:#fff;opacity:.9;transition:opacity .6s var(--ease-out)}
.ring circle{transition:stroke-dashoffset .25s linear}
.stage.video-ready .ring{opacity:0}
/* Invitation à défiler, au centre de l'image : fond noir à 50 %, bien visible */
.center-cue{position:absolute;left:50%;top:42%;z-index:3;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:16px;max-width:min(560px,86vw);padding:16px 26px 16px 18px;border:0;border-radius:999px;background:rgba(0,0,0,.5);box-shadow:0 0 60px 18px rgba(0,0,0,.5);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font:800 clamp(17px,1.5vw,21px)/1.3 var(--display);letter-spacing:-.01em;text-align:left;text-shadow:0 2px 10px rgba(0,0,0,.5);cursor:pointer;transition:opacity .45s var(--ease-out),transform .45s var(--ease-out)}
.center-cue:hover{background:rgba(0,0,0,.6)}
.center-cue::after{content:"";position:absolute;inset:-6px;border-radius:inherit;border:2px solid rgba(242,167,184,.8);opacity:0;animation:ctaPulse 2.8s var(--ease-out) -0.4s infinite;pointer-events:none}
.center-cue.gone{opacity:0;transform:translate(-50%,-40%);pointer-events:none}
/* Invitation à défiler : bien visible, cliquable */
.scroll-cta{position:relative;display:inline-flex;align-items:center;gap:14px;margin-top:0;padding:12px 22px 12px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff;font:700 16.5px/1.3 var(--display);letter-spacing:-.005em;text-align:left;text-shadow:0 1px 3px rgba(5,9,18,.6);cursor:pointer;box-shadow:0 12px 34px rgba(5,9,18,.35);transition:background .35s var(--ease-out),transform .35s var(--ease-out)}
.scroll-cta:hover{background:rgba(255,255,255,.26);transform:translateY(-2px)}
.scroll-cta::after{content:"";position:absolute;inset:-5px;border-radius:inherit;border:2px solid rgba(242,167,184,.75);opacity:0;animation:ctaPulse 2.8s var(--ease-out) -0.4s infinite;pointer-events:none}
@keyframes ctaPulse{0%{opacity:.9;transform:scale(.97)}75%,100%{opacity:0;transform:scale(1.06)}}
.mouse{position:relative;flex:none;width:24px;height:36px;border:2px solid #fff;border-radius:13px}
.mouse i{position:absolute;left:50%;top:6px;width:4px;height:9px;margin-left:-2px;border-radius:2px;background:var(--blush);animation:wheel 1.9s var(--ease-io) infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(-2px)}25%{opacity:1}100%{opacity:0;transform:translateY(13px)}}
.scroll-hint{margin-top:22px;display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:14px;background:var(--blush-bg);color:var(--blush-text);font:700 16px/1.35 var(--display);text-decoration:none}
.scroll-hint svg{width:22px;height:22px;flex:none;animation:hint 2.2s var(--ease-io) -0.5s infinite}
@keyframes hint{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@media (max-height:560px){.ring{display:none}}

/* Accueil fixe : téléphones, tablettes en portrait, mouvement réduit */
.hero-static{display:none}
@media (max-width: 720px), (orientation: portrait) and (max-width: 1024px), (orientation: portrait) and (pointer: coarse), (orientation: landscape) and (pointer: coarse) and (max-height: 560px), (prefers-reduced-motion: reduce){
  .hero{display:none}
  .hero-static{display:block;position:relative;padding-top:70px}
  .hs-img{position:relative;height:min(62vh,560px);background:#2A3446 url("hero-ending-1920.webp") 44% 42%/cover no-repeat}
  .hs-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(244,248,252,0) 55%,var(--canvas) 100%)}
}
.hs-body{position:relative;margin-top:-64px;padding:0 var(--gutter) 28px}
.hs-body .kick{display:inline-block;font:500 13px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--blush-text);background:var(--blush-bg);padding:9px 13px;border-radius:999px;margin-bottom:16px}
.hs-body h1{font-size:clamp(34px,8.5vw,52px)}
.hs-body p{margin-top:14px;color:var(--text-secondary);max-width:40ch}
.hs-body .cta{margin-top:22px;display:flex;flex-wrap:wrap;gap:14px 20px;align-items:center}
.trust{list-style:none;padding:0;margin:22px 0 0;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:15px;color:var(--text-secondary)}
.trust li{display:flex;align-items:center;gap:8px}
.trust li::before{content:"";width:18px;height:18px;flex:none;border-radius:50%;background:var(--ok-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%232A7A4B' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

/* ---------- Le parcours : sections et fil de la tournée ---------- */
.journey{position:relative;z-index:1;padding-bottom:40px}
.fil{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:2}
.fil .track{fill:none;stroke:var(--line);stroke-width:2;stroke-dasharray:2 9;stroke-linecap:round}
.fil .drawn{fill:none;stroke:var(--blush);stroke-width:3;stroke-linecap:round}
.stopdot{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--panel);box-shadow:inset 0 0 0 3px var(--line-strong);z-index:3;pointer-events:none;transition:box-shadow .5s var(--ease-out),background .5s var(--ease-out)}
.stopdot::after{content:"";position:absolute;inset:-7px;border-radius:50%;border:2px solid var(--blush);opacity:0;transform:scale(.6)}
.stopdot.reached{background:var(--blush);box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--blush)}
.stopdot.reached::after{animation:stopPulse 4.8s var(--ease-out) infinite;animation-delay:var(--dl,-1s)}
@keyframes stopPulse{0%{opacity:.55;transform:scale(.6)}70%,100%{opacity:0;transform:scale(1.5)}}

.sec{position:relative;padding:clamp(88px,11vw,150px) 0}
.kicker{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:700 clamp(15px,1.25vw,17px)/1.4 var(--display);letter-spacing:-.005em;color:var(--accent);margin-bottom:18px;max-width:60ch}
.kicker time{font:500 13px/1 var(--mono);color:var(--blush-text);background:var(--blush-bg);padding:7px 11px;border-radius:999px;letter-spacing:.02em}
.sec h2{font-size:clamp(32px,4.2vw,56px);max-width:18ch}
.lede{margin-top:20px;font-size:clamp(18px,1.45vw,21px);color:var(--text-secondary);max-width:56ch}

/* Apparitions */
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);transition-delay:calc(var(--i,0)*110ms)}
[data-reveal].in{opacity:1;transform:none}
[data-reveal].in.done{transition-delay:0s}

/* Hier soir */
.soir{color:var(--night-text);background:linear-gradient(180deg,var(--night) 0%,#16263F 60%,var(--night) 100%);margin:0;isolation:isolate;overflow:hidden}
.soir::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(40% 50% at 78% 30%,rgba(242,167,184,.14),transparent 70%),radial-gradient(40% 50% at 10% 90%,rgba(127,182,230,.12),transparent 70%)}
.soir .kicker{color:var(--blush)}
.soir .kicker time{background:rgba(242,167,184,.16);color:#F7C6D2}
.soir .lede{color:var(--night-muted)}
.soir-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px);align-items:center}
.soir-img{position:relative;border-radius:26px;overflow:hidden;aspect-ratio:16/10;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.soir-img video{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.8s var(--ease-out)}
.soir-img.in video{transform:scale(1)}
.soir-img::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.lamp{position:absolute;left:-6%;top:12%;width:30%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,214,170,.35),transparent 65%);mix-blend-mode:screen;animation:lamp 6s var(--ease-io) -2s infinite alternate;pointer-events:none}
@keyframes lamp{from{opacity:.45;transform:scale(.95)}to{opacity:.9;transform:scale(1.05)}}
.pains{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0}
.pains li{padding:26px 24px;border-radius:20px;background:rgba(26,43,71,.72);border:1px solid var(--night-line)}
.pains b{display:block;font:800 21px/1.2 var(--display);margin-bottom:10px;color:#fff}
.pains p{color:var(--night-muted);font-size:17px}
.pains .n{font:500 13px/1 var(--mono);color:var(--blush);display:block;margin-bottom:16px}
.soir-close{margin-top:clamp(40px,5vw,64px);font:700 clamp(22px,2.3vw,30px)/1.3 var(--display);max-width:30ch;color:#fff}
.soir-close em{font-style:normal;color:var(--blush)}

/* Vérification */
.verif-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(32px,5vw,72px);align-items:start;margin-top:12px}
.rules{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}
.rules li{position:relative;padding-left:30px;font-size:16px;line-height:1.35;color:var(--text-secondary);transition:color .5s var(--ease-out)}
.rules svg{position:absolute;left:0;top:0;width:20px;height:20px}
.rules .ck-bg{fill:var(--sky);transition:fill .5s var(--ease-out)}
.rules .ck{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14;stroke-dashoffset:14;transition:stroke-dashoffset .6s var(--ease-out);transition-delay:calc(var(--i,0)*70ms)}
.rules.in .ck{stroke-dashoffset:0}
.rules li.hit{color:var(--text-primary);font-weight:700}
.rules li.hit .ck-bg{fill:var(--blush-bg)}
.rules li.hit .ck{stroke:var(--pen)}
.rules-note{margin-top:18px;font-size:14.5px;color:var(--text-secondary)}

.check{position:sticky;top:96px;background:var(--panel);border-radius:26px;box-shadow:0 30px 70px rgba(34,50,74,.14),0 0 0 1px rgba(214,227,240,.9);padding:clamp(18px,2.4vw,28px)}
.check-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}
.check-title h3{font-size:20px}
.check-title span{font:500 12.5px/1 var(--mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}
.tabs{display:flex;flex-wrap:wrap;gap:6px;padding:2px;margin:0 -2px 16px}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none;border:0;cursor:pointer;padding:10px 14px;border-radius:999px;background:var(--canvas);color:var(--text-secondary);font:700 14px/1.1 var(--display);transition:background .35s var(--ease-out),color .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.tabs button:hover{color:var(--text-primary)}
.tabs button[aria-selected="true"]{background:var(--text-primary);color:#fff}
.tabs button .real{color:var(--blush);margin-left:4px}
.sheet{position:relative;border-radius:16px;background:#FFFEFB;background-image:repeating-linear-gradient(180deg,transparent 0 43px,rgba(143,166,191,.14) 43px 44px);border:1px solid var(--line);overflow:hidden}
.sheet-head{display:flex;justify-content:space-between;gap:10px;padding:14px 18px;border-bottom:1px dashed var(--line-strong);font:500 13.5px/1.4 var(--mono);color:var(--text-secondary);background:#FBFCFE}
.rows{list-style:none;margin:0;padding:6px 0}
.row{display:grid;grid-template-rows:1fr;transition:grid-template-rows .6s var(--ease-out),opacity .5s var(--ease-out)}
.row>div{overflow:hidden;min-height:0}
.row .ln{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:10px 18px}
.row .lbl{font-size:16px;line-height:1.35}
.row .amt{font:500 16px/1.35 var(--mono);white-space:nowrap;text-align:right;display:grid;grid-template-columns:repeat(2,6.4ch);gap:10px;flex:none}
.row.cols .ln{padding-top:8px;padding-bottom:0}.row.cols .amt{font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary)}
.nw{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease-out)}.nw>span{overflow:hidden;min-height:0}.row.fixed .nw{grid-template-rows:1fr}
.row .old{position:relative;color:var(--text-primary);transition:color .4s var(--ease-out)}
.row .old::after{content:"";position:absolute;left:-3px;right:-3px;top:52%;height:2px;background:var(--pen);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-out)}
.row .new{color:var(--text-secondary);opacity:0;transform:translateX(-6px);transition:opacity .45s var(--ease-out) .15s,transform .45s var(--ease-out) .15s}
.row .note{display:block;font:600 21px/1.05 var(--hand);color:var(--pen);opacity:0;transform:translateY(-4px) rotate(-1deg);transition:opacity .45s var(--ease-out) .1s,transform .45s var(--ease-out) .1s;padding-top:3px}
.row.changed .new{color:var(--pen);font-weight:700}
.row.changed.fixed .old{color:var(--text-secondary)}
.row.changed.fixed .old::after{transform:scaleX(1)}
.row.fixed .new,.row.fixed .note{opacity:1;transform:none}
.row.added{grid-template-rows:0fr;opacity:0}
.row.added.fixed{grid-template-rows:1fr;opacity:1}
.row.added .lbl{color:var(--pen);font:600 22px/1.05 var(--hand)}
.row.added .amt{color:var(--pen);font-weight:700}
.row.total .ln{border-top:1px solid var(--line);margin-top:4px;padding-top:14px}
.row.total .lbl{font-weight:700;font-family:var(--display)}
.scan{position:absolute;left:0;right:0;top:0;height:46px;pointer-events:none;background:linear-gradient(180deg,rgba(47,120,181,0),rgba(47,120,181,.14) 60%,rgba(47,120,181,.32));border-bottom:2px solid var(--accent);opacity:0;transform:translateY(0)}
.sheet.scanning .scan{opacity:1}
.check-foot{display:flex;flex-wrap:wrap;align-items:center;gap:14px;justify-content:space-between;margin-top:18px}
.result{font:800 19px/1.25 var(--display);padding:12px 16px;border-radius:14px;opacity:0;transform:translateY(8px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.result.show{opacity:1;transform:none}
.result.plus{background:var(--ok-bg);color:var(--ok)}
.result.minus{background:var(--blush-bg);color:var(--blush-text)}
.check-note{margin-top:14px;font-size:14px;color:var(--text-secondary)}

/* Mon cabinet */
.cab-head{display:grid;grid-template-columns:1fr;gap:6px;align-items:end}
.cab-head .lede{margin-top:10px}
.sec h2.cab-title{max-width:22ch}
.cab-sub{margin-top:20px;font:italic 700 clamp(22px,2.3vw,32px)/1.25 var(--body);color:var(--text-primary)}
.soon-pill{margin-top:18px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--blush-bg);color:var(--blush-text);box-shadow:0 0 0 1px rgba(242,167,184,.7);font:700 14.5px/1.3 var(--display)}
.soon-pill svg{width:17px;height:17px;flex:none}
.sec h2.team-title{max-width:26ch}
.phones{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,40px);align-items:start;max-width:980px;margin-inline:auto}
.phone{position:relative;border-radius:40px;padding:10px;background:linear-gradient(160deg,#2C3B55,#18233A);box-shadow:0 30px 60px rgba(34,50,74,.22),inset 0 0 0 1.5px rgba(255,255,255,.12)}
.phone::before{content:"";position:absolute;top:18px;left:50%;width:30%;height:18px;margin-left:-15%;border-radius:999px;background:#0E1626;z-index:2}
.phone .scr{border-radius:31px;overflow:hidden;aspect-ratio:400/880;background:var(--canvas);padding-top:34px}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top;border-top:1px solid var(--line)}
.phone figcaption{position:absolute;left:0;right:0;bottom:-52px;text-align:center;font:700 16px/1.3 var(--display);color:var(--text-primary)}
.phone figcaption small{display:block;font:500 12.5px/1.4 var(--mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}
.phone.mid{margin-top:-28px;animation:floaty 7s var(--ease-io) -1.5s infinite alternate}
.phones.paused-anim .phone.mid{animation-play-state:paused}
@keyframes floaty{from{transform:translateY(0)}to{transform:translateY(-12px)}}
.tools{margin-top:clamp(96px,10vw,130px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0}
.tools li{background:var(--panel);border-radius:20px;padding:24px;box-shadow:0 0 0 1px var(--line);transition:box-shadow .4s var(--ease-out),transform .4s var(--ease-out)}
.tools li:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--accent-muted),0 20px 40px rgba(34,50,74,.1)}
.tools svg{width:40px;height:40px;margin-bottom:16px}
.tools b{display:block;font:800 19px/1.2 var(--display);margin-bottom:8px}
.tools p{font-size:16px;color:var(--text-secondary)}
.hds{margin-top:26px;display:flex;align-items:center;gap:10px;font-size:15px;color:var(--text-secondary)}
.hds svg{width:22px;height:22px;flex:none}

/* À plusieurs */
.team{background:linear-gradient(180deg,rgba(220,234,246,.55),rgba(220,234,246,0))}
.roles{position:relative;margin-top:clamp(56px,7vw,90px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,4vw,56px)}
.roles-line{position:absolute;left:8%;right:8%;top:38px;height:4px;pointer-events:none}
.roles-line path{fill:none;stroke:var(--accent-muted);stroke-width:3;stroke-linecap:round;stroke-dasharray:1000;stroke-dashoffset:1000;transition:stroke-dashoffset 1.8s var(--ease-out)}
.roles.in .roles-line path{stroke-dashoffset:0}
.role{position:relative;text-align:center;padding:0 6px}
.role .ico{position:relative;z-index:1;width:78px;height:78px;margin:0 auto 22px;border-radius:50%;background:var(--panel);box-shadow:0 0 0 6px var(--canvas),0 14px 30px rgba(34,50,74,.14);display:grid;place-items:center}
.role .ico svg{width:38px;height:38px}
.role h3{font-size:24px;margin-bottom:10px}
.role p{color:var(--text-secondary);font-size:17px;max-width:32ch;margin:0 auto}
.group{margin:clamp(40px,5vw,60px) auto 0;max-width:max-content;text-align:center;padding:14px 22px;border-radius:999px;background:var(--panel);box-shadow:0 0 0 1px var(--line);font-size:16px}
.group b{font-family:var(--display)}

/* Victor */
.victor-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,80px);align-items:center}
.victor-img{position:relative;border-radius:30px;overflow:hidden;aspect-ratio:1;box-shadow:0 30px 70px rgba(34,50,74,.2)}
.victor-img img{width:100%;height:100%;object-fit:cover}
.victor-img::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}
.halo{position:absolute;inset:-18px;border-radius:40px;background:radial-gradient(closest-side,rgba(127,182,230,.35),transparent);z-index:-1;animation:halo 5.5s var(--ease-io) -2s infinite alternate}
@keyframes halo{from{opacity:.4;transform:scale(.97)}to{opacity:1;transform:scale(1.02)}}
.chat{margin-top:32px;display:flex;flex-direction:column;gap:12px;max-width:560px}
.msg{padding:14px 18px;border-radius:20px;font-size:17px;line-height:1.5;max-width:88%}
.msg.q{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:6px}
.msg.a{background:var(--panel);box-shadow:0 0 0 1px var(--line);border-bottom-left-radius:6px}
.msg.a b{display:block;font:700 13px/1 var(--mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:8px}
.typing{display:inline-flex;gap:5px;padding:16px 18px;border-radius:20px;background:var(--panel);box-shadow:0 0 0 1px var(--line);width:max-content}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--line-strong);animation:dot 1.2s var(--ease-io) infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}
.chat .q,.chat .typing,.chat .a{opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.chat.s1 .q{opacity:1;transform:none}
.chat.s2 .typing{opacity:1;transform:none}
.chat.s3 .typing{display:none}
.chat.s3 .a{opacity:1;transform:none}
.small-note{margin-top:16px;font-size:14.5px;color:var(--text-secondary)}

/* Chiffres */
.stats{background:var(--night);color:var(--night-text);padding:clamp(64px,8vw,100px) 0;position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 80% at 90% 10%,rgba(242,167,184,.12),transparent 70%),radial-gradient(50% 80% at 0% 100%,rgba(127,182,230,.14),transparent 70%)}
.stat-grid{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px 18px;list-style:none;padding:0;margin:0}
.stat-grid li{border-top:1px solid rgba(242,167,184,.35);padding-top:18px}
.stat-grid b{display:flex;align-items:baseline;flex-wrap:nowrap;white-space:nowrap;font:800 clamp(30px,3.2vw,46px)/1 var(--display);letter-spacing:-.03em;color:var(--blush)}
.stat-grid b small{font-size:.5em;letter-spacing:0;margin-left:4px;color:#FBE3E9}
.stat-grid li>span{display:block;margin-top:10px;font-size:16px;line-height:1.45;color:#F1F6FC}
.stats-title{position:relative;font:800 clamp(24px,2.4vw,34px)/1.2 var(--display);letter-spacing:-.02em;color:#fff;margin-bottom:36px}

/* Tarifs */
.bill{margin-top:30px;display:inline-flex;padding:5px;border-radius:999px;background:var(--panel);box-shadow:0 0 0 1px var(--line)}
.bill button{border:0;cursor:pointer;padding:10px 18px;border-radius:999px;background:transparent;font:700 15px/1 var(--display);color:var(--text-secondary);transition:background .35s var(--ease-out),color .35s var(--ease-out)}
.bill button[aria-pressed="true"]{background:var(--text-primary);color:#fff}
.bill small{color:var(--blush);font-weight:700;margin-left:4px}
.bill button[aria-pressed="true"] small{color:var(--blush)}
.plans{margin-top:36px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;background:var(--panel);border-radius:26px;padding:30px 26px;box-shadow:0 0 0 1px var(--line);transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}
.plan:hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--accent-muted),0 24px 50px rgba(34,50,74,.1)}
.plan.best{box-shadow:0 0 0 2px var(--accent),0 30px 60px rgba(47,120,181,.16)}
.plan.life{background:linear-gradient(180deg,#FFFFFF 0%,#FFF8FA 100%);box-shadow:0 0 0 2px var(--blush),0 30px 60px rgba(242,167,184,.2)}
.plan.life .tag{background:var(--blush-bg);color:var(--blush-text);box-shadow:0 0 0 1px var(--blush)}
.plan.life li::before{background-color:var(--blush-bg)}
.plan .tag{position:absolute;top:-13px;left:26px;padding:7px 12px;border-radius:999px;background:var(--accent);color:#fff;font:700 12.5px/1 var(--mono);letter-spacing:.04em;text-transform:uppercase}
.plan h3{font-size:24px}
.plan .for{margin-top:6px;font-size:15.5px;color:var(--text-secondary)}
.excl{margin-top:12px;font:700 14.5px/1.4 var(--display);color:#B3261E}
.excl+.price{margin-top:14px}
.price{margin-top:22px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px;min-height:58px}
.price b{font:800 44px/1 var(--display);letter-spacing:-.03em;white-space:nowrap}
.price span{color:var(--text-secondary);font-size:15px}
.price-alt{font-size:14.5px;color:var(--text-secondary);min-height:22px}
.plan ul{list-style:none;padding:0;margin:22px 0 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.plan li{position:relative;padding-left:28px;font-size:16px;line-height:1.4}
.plan li::before{content:"";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--sky) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%232F78B5' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.plan .btn{width:100%}
/* Les rangées des cartes (titre, sous-titre, mention, prix, liste, bouton) s'alignent d'une carte à l'autre */
@supports (grid-template-rows:subgrid){
  .plans{grid-template-rows:repeat(7,auto);row-gap:0}
  .plan{display:grid;grid-row:span 7;grid-template-rows:subgrid;row-gap:0}
  .plan .excl:empty{margin:0}
}
.plans-note{margin-top:22px;font-size:15px;color:var(--text-secondary)}
.num-anim{display:inline-block;transition:opacity .25s var(--ease-out),transform .25s var(--ease-out)}
.num-anim.swap{opacity:0;transform:translateY(-6px)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,5vw,80px);align-items:start}
.faq-side{position:sticky;top:110px}
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{background:var(--panel);border-radius:18px;box-shadow:0 0 0 1px var(--line);transition:box-shadow .35s var(--ease-out)}
.faq details[open]{box-shadow:0 0 0 1px var(--accent-muted),0 16px 34px rgba(34,50,74,.08)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font:700 18px/1.35 var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{flex:none;width:30px;height:30px;border-radius:50%;background:var(--canvas);position:relative;transition:background .35s var(--ease-out),transform .45s var(--ease-out)}
.faq summary i::before,.faq summary i::after{content:"";position:absolute;left:9px;right:9px;top:14px;height:2px;border-radius:2px;background:var(--accent)}
.faq summary i::after{transform:rotate(90deg);transition:transform .45s var(--ease-out)}
.faq details[open] summary i{background:var(--sky)}
.faq details[open] summary i::after{transform:rotate(0)}
.faq .ans{padding:0 22px 20px;color:var(--text-secondary);font-size:17px}

/* Départ (appel final) */
.depart{position:relative;min-height:min(92vh,820px);display:flex;align-items:flex-end;color:#fff;overflow:hidden;isolation:isolate;margin-top:40px}
.depart .bg{position:absolute;inset:0;z-index:-2;background:#2A3446 center/cover no-repeat;transform:scale(1.08);transition:transform 2.4s var(--ease-out)}
.depart.in .bg{transform:scale(1)}
.depart::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--canvas) 0%,rgba(244,248,252,0) 16%),linear-gradient(0deg,rgba(8,13,24,.86) 0%,rgba(8,13,24,.5) 45%,rgba(8,13,24,0) 72%),linear-gradient(90deg,rgba(8,13,24,.62) 0%,rgba(8,13,24,.3) 48%,rgba(8,13,24,0) 72%)}
.depart .wrap{width:100%;padding-bottom:clamp(56px,8vw,96px)}
.depart .kicker{color:#E6EDF6}
.depart .kicker{display:inline-flex;padding:8px 14px 8px 8px;border-radius:999px;background:rgba(8,12,22,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.depart .kicker time{background:rgba(242,167,184,.25);color:#FBE3E9}
.depart h2{font-size:clamp(36px,5vw,68px);max-width:16ch;text-shadow:var(--tshadow)}
.depart p{margin-top:18px;font-size:clamp(18px,1.5vw,21px);max-width:48ch;color:#EEF3F9;text-shadow:var(--tshadow)}
.depart .cta{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.depart .cta .link{color:#fff}

/* Pied de page */
.foot{background:var(--night);color:var(--night-muted);padding:56px 0 40px;font-size:15.5px}
.foot .wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}
.foot .brand{color:#fff}
.foot .tagline{margin-top:14px;max-width:36ch}
.foot nav{display:flex;flex-wrap:wrap;gap:10px 22px;align-content:flex-start}
.foot nav a{color:#fff;text-decoration:none;font-weight:700}
.foot nav a:hover{text-decoration:underline}
.foot .legal{grid-column:1/-1;border-top:1px solid var(--night-line);padding-top:22px;display:flex;flex-direction:column;gap:6px;font-size:14px}
.foot .legal a,.doc-foot a{color:#fff;font-weight:700;text-underline-offset:3px}

/* Liste d'attente */
html.wl-open{overflow:hidden}
.wl{width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:0;border-radius:28px;background:var(--panel);color:var(--text-primary);box-shadow:0 40px 90px rgba(9,14,26,.35);overflow:auto;overscroll-behavior:contain}
.wl::backdrop{background:rgba(13,21,38,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.wl[open]{animation:wlIn .45s var(--ease-out)}
@keyframes wlIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.wl-card{position:relative;padding:clamp(26px,4vw,38px)}
.wl-x{position:absolute;top:12px;right:12px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:50%;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background .3s var(--ease-out)}
.wl-x:hover{background:var(--canvas);color:var(--text-primary)}
.wl-x svg{width:20px;height:20px}
.wl-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--blush-bg);color:var(--blush-text);font:700 13.5px/1 var(--display)}
.wl-badge svg{width:16px;height:16px;flex:none}
.wl h2{margin-top:16px;font-size:clamp(25px,3vw,31px);padding-right:34px}
.wl-lede{margin-top:10px;color:var(--text-secondary);font-size:17px;line-height:1.5}
.wl-form{margin-top:22px;display:flex;flex-direction:column;gap:10px}
.wl-label{padding:0;font:700 15px/1.3 var(--display);color:var(--text-primary)}
.wl-label small{font:400 14px/1 var(--body);color:var(--text-secondary)}
.wl-input{width:100%;min-height:52px;padding:12px 16px;border:0;border-radius:14px;background:var(--canvas);box-shadow:inset 0 0 0 1.5px var(--line-strong);font:400 17px/1.3 var(--body);color:var(--text-primary)}
.wl-input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--accent),0 0 0 4px rgba(47,120,181,.18)}
.wl-roles{border:0;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.wl-roles legend{margin-bottom:8px}
.wl-roles label{position:relative;display:inline-flex}
.wl-roles input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.wl-roles span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line);font:700 15px/1 var(--display);color:var(--text-secondary);transition:background .3s var(--ease-out),box-shadow .3s var(--ease-out),color .3s var(--ease-out)}
.wl-roles label:hover span{box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.wl-roles input:checked+span{background:var(--sky);color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}
.wl-roles input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.wl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wl-form .btn{margin-top:14px;width:100%}
.wl-form .btn[disabled]{opacity:.7;cursor:progress}
.wl-status{min-height:1.4em;font-size:15px;color:var(--text-secondary)}
.wl-status.err{color:var(--pen);font-weight:700}
.wl-legal{font-size:13.5px;line-height:1.45;color:var(--text-secondary)}
.wl-ok{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--ok-bg);color:var(--ok)}
.wl-ok svg{width:30px;height:30px}
#wlDone h2:focus{outline:none}
#wlDone .btn{margin-top:24px}

/* Pages légales */
.doc-wrap{max-width:820px;margin:0 auto;padding:0 var(--gutter)}
.doc-top{background:rgba(248,251,254,.94);border-bottom:1px solid var(--line)}
.doc-top .doc-wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;flex-wrap:wrap}
.doc-body{padding-top:clamp(36px,6vw,64px);padding-bottom:clamp(56px,8vw,96px)}
.doc-body h1{font-size:clamp(34px,4.5vw,48px)}
.doc-date{margin-top:10px;color:var(--text-secondary);font-size:15px}
.doc-body section{margin-top:26px;padding:clamp(20px,3vw,28px);border-radius:22px;background:var(--panel);box-shadow:0 0 0 1px var(--line)}
.doc-body h2{font-size:22px;margin-bottom:10px}
.doc-body p+p,.doc-body p+ul,.doc-body ul+p{margin-top:10px}
.doc-body ul{margin:10px 0 0;padding-left:22px}
.doc-body li+li{margin-top:4px}
.todo{background:#FFF1B8;color:#6B4E00;padding:1px 6px;border-radius:6px;font-weight:700}
.doc-foot{padding:32px 0}

/* Réactif */
@media (max-width:980px){
  .soir-grid,.verif-grid,.victor-grid,.faq-grid,.cab-head{grid-template-columns:1fr}
  .check,.faq-side{position:relative;top:0}
  .stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .plans{grid-template-columns:1fr;max-width:520px}
  .plan+.plan{margin-top:34px}
  .tools{grid-template-columns:1fr 1fr}
}
@media (max-width:720px){
  body{font-size:17px}
  .tagline-top{display:none}
  .pains,.roles{grid-template-columns:1fr}
  .roles-line{display:none}
  .role{text-align:left;display:grid;grid-template-columns:64px 1fr;gap:4px 18px;align-items:start}
  .role .ico{width:64px;height:64px;margin:0;grid-row:span 2}
  .role p{margin:0}
  .rules{grid-template-columns:1fr}
  .phones{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1*var(--gutter));padding:36px var(--gutter) 64px;scrollbar-width:none}
  .phones::-webkit-scrollbar{display:none}
  .phones .phone{flex:0 0 68vw;max-width:300px;scroll-snap-align:center}
  .row .ln{padding:9px 12px;gap:10px}.row .lbl{font-size:15px}.row .amt{font-size:14.5px;grid-template-columns:repeat(2,5.2ch);gap:6px}
  .sheet-head{padding:12px}.check{padding:16px;border-radius:22px}
  .phone{border-radius:34px;padding:8px}.phone .scr{border-radius:27px;padding-top:28px}.phone::before{top:15px;height:15px}
  .phone figcaption{font-size:15px;bottom:-44px}
  .phone.mid{margin-top:0;animation:none;order:-1}
  .tools{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot .wrap{grid-template-columns:1fr}
  .depart{min-height:78vh}
}

/* Onglet caché : tout se met en pause */
body.paused *,body.paused *::before,body.paused *::after{animation-play-state:paused!important}

/* Mouvement réduit : états finaux, rien ne bouge */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;transition-delay:0s!important}
  [data-reveal]{opacity:1;transform:none}
  .rules .ck{stroke-dashoffset:0}
  .roles-line path{stroke-dashoffset:0}
  .chat .q,.chat .a{opacity:1;transform:none}.chat .typing{display:none}
  .soir-img video,.depart .bg{transform:none}
}
