
body{margin:0;background:#111110}
a{color:#C6F135}a:hover{color:#DDFF7A}
.fl *{box-sizing:border-box}
.fl h1,.fl h2,.fl h3,.fl p,.fl ul{margin:0}
.fl-btn{transition:filter .15s,background .15s}
.fl-btn:hover{filter:brightness(1.07)}
.fl-ghost:hover{background:rgba(255,255,255,.07)}
.fl-ghost-l:hover{background:#F0F0EB}
.fl-nav{color:#D6D6CF;text-decoration:none}
.fl-nav:hover{color:#FFFFFF}
.fl-hl{display:inline-block;background:#C6F135;color:#141413;padding:.02em .14em 0 .11em;margin-left:.05em;border-radius:.09em;transform:rotate(-6deg)}
.fl-light a{color:#5A7A00}.fl-light a:hover{color:#3E5500}
.fl-faq summary{cursor:pointer;list-style:none}
.fl-faq summary::-webkit-details-marker{display:none}
.fl-faq details[open] .fl-plus{transform:rotate(45deg)}
.fl-foot a{color:#B4B4AC;text-decoration:none}
.fl-foot a:hover{color:#FFFFFF}
.fl-caret{display:inline-block;width:2px;height:15px;margin-left:2px;background:#C6F135;vertical-align:middle;animation:flblink 1.05s steps(1) infinite}
@keyframes flblink{50%{opacity:0}}
.fl-1line{white-space:nowrap}
.fl-a1 span,.fl-a1 div{animation-duration:5s}.fl-a2 span,.fl-a2 div{animation-duration:7.5s}.fl-a3 span,.fl-a3 div{animation-duration:6.5s}
.fl-anim span,.fl-anim div{animation-iteration-count:infinite;animation-timing-function:ease-in-out}
.fl-anim .fl-caret{animation-duration:1.05s;animation-timing-function:steps(1)}
.fl-cursor{position:absolute;width:20px;height:24px;pointer-events:none;z-index:3}
.fl-save-off,.fl-n1{animation-name:fl-off}.fl-save-on,.fl-n2{opacity:0;animation-name:fl-on}.fl-save{animation-name:fl-press}.fl-cur1{animation-name:fl-cur1}
.fl-pal{opacity:0;animation-name:fl-pal}.fl-icon-on,.fl-check{opacity:0;animation-name:fl-icon}.fl-cur2{animation-name:fl-cur2}
@keyframes fl-off{0%,29.9%{opacity:1}30%,88%{opacity:0}94%,100%{opacity:1}}
@keyframes fl-on{0%,29.9%{opacity:0}30%,88%{opacity:1}94%,100%{opacity:0}}
@keyframes fl-press{0%,28%{transform:scale(1)}30%{transform:scale(.92)}34%{transform:scale(1.06)}38%,100%{transform:scale(1)}}
@keyframes fl-cur1{0%{opacity:0;transform:translate(150px,64px)}3%{opacity:1}14%,28%{transform:translate(0,0) scale(1)}30%{transform:translate(0,0) scale(.78)}33%{transform:translate(0,0) scale(1)}50%{opacity:1;transform:translate(46px,36px)}58%,100%{opacity:0;transform:translate(150px,64px)}}
@keyframes fl-bump{0%,29.9%{transform:scale(1)}30%{transform:scale(1.35)}36%,100%{transform:scale(1)}}
.fl-bump{display:inline-block;animation-name:fl-bump}
@keyframes fl-pal{0%,16%{opacity:0;transform:translateY(6px)}20%,84%{opacity:1;transform:none}90%,100%{opacity:0;transform:translateY(6px)}}
@keyframes fl-icon{0%,35%{opacity:0}38%,88%{opacity:1}94%,100%{opacity:0}}
@keyframes fl-cur2{0%{opacity:0;transform:translate(110px,110px)}3%{opacity:1}12%,14%{transform:translate(0,0) scale(1)}16%{transform:translate(0,0) scale(.8)}18%{transform:translate(0,0) scale(1)}29%,32%{transform:translate(93px,64px) scale(1)}34%{transform:translate(93px,64px) scale(.8)}36%{transform:translate(93px,64px) scale(1)}52%{opacity:1;transform:translate(130px,130px)}60%,100%{opacity:0;transform:translate(110px,110px)}}
@keyframes fl-ty0{0%,7.99%{opacity:1}8%,91.99%{opacity:0}92%,100%{opacity:1}}
.fl-ty0{opacity:0;animation-name:fl-ty0}
@keyframes fl-ty1{0%,7.99%{opacity:0}8%,13.99%{opacity:1}14%,100%{opacity:0}}
.fl-ty1{opacity:0;animation-name:fl-ty1}
@keyframes fl-ty2{0%,13.99%{opacity:0}14%,18.99%{opacity:1}19%,100%{opacity:0}}
.fl-ty2{opacity:0;animation-name:fl-ty2}
@keyframes fl-ty3{0%,18.99%{opacity:0}19%,23.99%{opacity:1}24%,100%{opacity:0}}
.fl-ty3{opacity:0;animation-name:fl-ty3}
@keyframes fl-ty4{0%,23.99%{opacity:0}24%,28.99%{opacity:1}29%,100%{opacity:0}}
.fl-ty4{opacity:0;animation-name:fl-ty4}
@keyframes fl-ty5{0%,28.99%{opacity:0}29%,33.99%{opacity:1}34%,100%{opacity:0}}
.fl-ty5{opacity:0;animation-name:fl-ty5}
@keyframes fl-ty6{0%,33.99%{opacity:0}34%,38.99%{opacity:1}39%,100%{opacity:0}}
.fl-ty6{opacity:0;animation-name:fl-ty6}
@keyframes fl-ty7{0%,38.99%{opacity:0}39%,43.99%{opacity:1}44%,100%{opacity:0}}
.fl-ty7{opacity:0;animation-name:fl-ty7}
@keyframes fl-ty8{0%,43.99%{opacity:0}44%,48.99%{opacity:1}49%,100%{opacity:0}}
.fl-ty8{opacity:0;animation-name:fl-ty8}
@keyframes fl-ty9{0%,48.99%{opacity:0}49%,53.99%{opacity:1}54%,100%{opacity:0}}
.fl-ty9{opacity:0;animation-name:fl-ty9}
@keyframes fl-ty10{0%,53.99%{opacity:0}54%,87.99%{opacity:1}88%,100%{opacity:0}}
.fl-ty10{opacity:0;animation-name:fl-ty10}
.fl-ty0{opacity:1}
@keyframes fl-hide3{0%,13.99%{max-height:34px;opacity:1}14%,91.99%{max-height:0;opacity:0;padding-top:0;padding-bottom:0}92%,100%{max-height:34px;opacity:1}}
@keyframes fl-hide2{0%,53.99%{max-height:34px;opacity:1}54%,91.99%{max-height:0;opacity:0;padding-top:0;padding-bottom:0}92%,100%{max-height:34px;opacity:1}}
.fl-row{overflow:hidden;max-height:34px}.fl-h3{animation-name:fl-hide3}.fl-h2{animation-name:fl-hide2}
@media (prefers-reduced-motion: reduce){.fl-anim span,.fl-anim div{animation:none !important}.fl-save-off,.fl-n1{opacity:0}.fl-save-on,.fl-n2,.fl-pal,.fl-icon-on,.fl-check{opacity:1}.fl-cursor{display:none}.fl-ty0{opacity:0}.fl-ty10{opacity:1}.fl-h2,.fl-h3{display:none}}
@media (max-width:860px){
  .fl-navlinks{display:none !important}
  .fl-hero-visual{display:none !important}
  .fl-hero-mobile{display:flex !important}
  .fl-arrow{transform:rotate(90deg)}
  .fl-hide-sm{display:none !important}
  .fl-show-sm{display:flex !important}
  .fl-1line{white-space:normal}
}

/* respect du réglage « réduire les animations » du système */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}}

/* ---------- fenêtre « Ouverture le 1er décembre 2026 » (piste F : large, avec aperçu de la bibliothèque) ---------- */
.fl-launch{width:min(1040px,calc(100vw - 32px));max-height:calc(100vh - 32px);box-sizing:border-box;padding:0;border:1px solid #3C3C37;border-radius:28px;background:#1A1A18;color:#FFFFFF;font-family:Outfit,system-ui,sans-serif;box-shadow:0 30px 90px rgba(0,0,0,.6);overflow:hidden}
.fl-launch::backdrop{background:rgba(10,10,9,.72);backdrop-filter:blur(4px)}
.fl-launch[open]{display:flex;animation:fl-launch-in .28s ease-out}
@keyframes fl-launch-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.fl-launch-text{flex:0 0 440px;box-sizing:border-box;padding:40px 36px 36px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}
.fl-launch-logo{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;letter-spacing:-.025em}
.fl-launch-ia{color:#C6F135}
.fl-launch-date{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;margin:14px 0 0;padding:10px 18px 10px 14px;border-radius:999px;background:#C6F135;color:#141413;font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.2;box-shadow:0 8px 24px rgba(198,241,53,.25)}
.fl-launch-date time{white-space:nowrap}
.fl-launch-date sup{font-size:.6em;line-height:0}
.fl-launch h2{margin:0;font-size:clamp(32px,5vw,44px);line-height:1.02;letter-spacing:-.035em;font-weight:700}
.fl-launch-text p{margin:0;font-size:16px;line-height:1.55;color:#C9C9C1}
.fl-launch-text p strong{color:#FFFFFF}
.fl-launch-text .fl-launch-date{color:#141413}
.fl-launch-go{align-self:flex-start;margin-top:auto;min-height:52px;padding:0 24px;border:0;border-radius:14px;background:#C6F135;color:#141413;font-family:inherit;font-size:17px;font-weight:700;cursor:pointer}
.fl-launch-go:hover{filter:brightness(1.07)}
.fl-launch-pic{flex:1;position:relative;min-height:520px;background:#C6F135;overflow:hidden}
.fl-launch-shot{position:absolute;left:44px;top:70px;width:672px;height:378px;transform:rotate(-3deg)}
.fl-launch-scale{position:absolute;left:0;top:0;width:960px;height:540px;transform:scale(.7);transform-origin:0 0}
.fl-launch-x{position:absolute;top:14px;right:14px;width:44px;height:44px;border:0;border-radius:12px;background:rgba(255,255,255,.75);color:#141413;cursor:pointer;display:flex;align-items:center;justify-content:center}
.fl-launch-x:hover{background:#FFFFFF}
.fl-launch :focus-visible{outline:3px solid #141413;outline-offset:3px}
.fl-launch-text :focus-visible{outline-color:#C6F135}
/* téléphone et petites fenêtres : le texte seul, sans l'aperçu */
@media (max-width:900px){.fl-launch{width:min(520px,calc(100vw - 32px))}.fl-launch-text{flex:1 1 auto;padding:34px 26px 28px}.fl-launch-pic{display:none}.fl-launch-x{background:transparent;color:#B4B4AC}.fl-launch-x:hover{background:rgba(255,255,255,.07);color:#FFFFFF}.fl-launch-date{font-size:18px}}
/* fond animé de la capture : rien ne bouge dans la fenêtre */
.fl-launch-pic *{animation:none !important}

/* survol discret : cartes « Et tout ce qui va avec » et grille des tarifs */
.fl-card,.fl-price{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background-color .18s ease}
.fl-card:hover{transform:translateY(-3px);border-color:#3C3C37 !important;background-color:#20201D !important;box-shadow:0 14px 34px rgba(0,0,0,.45)}
.fl-card:hover svg{filter:drop-shadow(0 0 6px rgba(198,241,53,.45))}
.fl-price:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(0,0,0,.5),0 0 0 1px rgba(198,241,53,.25)}
@media (prefers-reduced-motion: reduce){.fl-card:hover,.fl-price:hover{transform:none}}

/* menu du haut : défilement doux jusqu'à la section (vitesse native du navigateur), qui s'arrête juste sous la barre collante */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:72px}

/* ---------- bouton flottant « Revenir en haut » (anneau = avancée dans la page) ---------- */
.fl-top{position:fixed;right:24px;bottom:24px;z-index:20;width:56px;height:56px;padding:3px;border:0;border-radius:50%;cursor:pointer;
  background:conic-gradient(#C6F135 calc(var(--p,0) * 1turn),#3C3C37 0);box-shadow:0 12px 30px rgba(0,0,0,.45);
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.9);transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}
.fl-top.is-on{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease,visibility 0s}
.fl-top span{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background:#1A1A18;color:#C6F135;transition:background-color .15s ease,color .15s ease}
.fl-top:hover span{background:#C6F135;color:#141413}
.fl-top:hover{transform:translateY(-2px)}
.fl-top:focus-visible{outline:3px solid #C6F135;outline-offset:3px}
@media (max-width:600px){.fl-top{right:16px;bottom:16px;width:52px;height:52px}}
@media (prefers-reduced-motion: reduce){.fl-top,.fl-top.is-on,.fl-top:hover{transform:none}}

/* « hidden » l’emporte toujours sur les styles écrits dans la page */
[hidden]{display:none !important}
.fl-launch h2:focus{outline:none}
