/* ════════════════════════════════════════════════════════════════
   FLF Corporate · Landing pages Google Ads · feuille partagée
   DA reprise de la page d'accueil flfcorporate.com : papier clair,
   encre, bleu électrique, accent citron, Bricolage / Instrument.
   ════════════════════════════════════════════════════════════════ */
@font-face{font-family:'FLF America';src:url('/fonts/FLFAmerica.woff2') format('woff2');font-weight:400 900;font-display:swap}
@font-face{font-family:'Bricolage';src:url('/fonts/BricolageGrotesque-VF.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:'Grotesk';src:url('/fonts/SpaceGrotesk-VF.woff2') format('woff2');font-weight:300 700;font-display:swap}
@font-face{font-family:'Instrument';src:url('/fonts/InstrumentSerif-Italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --paper:#FCFCFC; --ink:#10100E; --blue:#2430E8; --c2:#D9FF3F;
  --t2:rgba(16,16,14,.64); --t3:rgba(16,16,14,.56); --rule:rgba(16,16,14,.13);
  --dk:#F2F0EB; --dk2:rgba(242,240,235,.66); --dk3:rgba(242,240,235,.5);
  --exp:cubic-bezier(.16,1,.3,1);
  --pad:30px; --max:1560px;
  --err:#D92D20;
}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
section[id]{scroll-margin-top:76px}
body{background:var(--paper);color:var(--ink);font-family:'Grotesk',Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
::selection{background:var(--blue);color:var(--paper)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
img,video{display:block;max-width:100%}
ul,ol{list-style:none}
[hidden]{display:none!important}
:focus{outline:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.skip{position:fixed;top:10px;left:10px;z-index:10001;background:var(--blue);color:#fff;padding:10px 16px;border-radius:100px;font-size:13px;opacity:0;pointer-events:none}
.skip:focus{opacity:1;pointer-events:auto}
.k{display:block;font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--t3)}
.disp{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-optical-sizing:none;font-weight:800;text-transform:uppercase;letter-spacing:-.025em;line-height:.92}
.disp em,.h1 em{font-family:'Instrument',Georgia,serif;font-style:italic;font-weight:400;text-transform:none;letter-spacing:-.01em;color:var(--blue);font-variation-settings:normal}

/* ── Boutons ─────────────────────────────────────────────────── */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;overflow:hidden;isolation:isolate;transition:transform .45s var(--exp),color .3s,border-color .3s,box-shadow .45s var(--exp)}
.btn .ar{display:inline-block;transition:transform .45s var(--exp)}
.btn:hover .ar{transform:translateX(4px)}
.btn:active{transform:scale(.98)}
.btn-b{background:var(--blue);color:#fff;box-shadow:0 14px 34px -14px rgba(36,48,232,.65)}
.btn-b::before,.btn-i::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--ink);transform:translateY(101%);transition:transform .5s var(--exp)}
.btn-b:hover::before{transform:none}
.btn-i{background:var(--ink);color:var(--paper)}
.btn-i::before{background:var(--blue)}
.btn-i:hover::before{transform:none}
.btn-o{border:1.5px solid var(--ink);color:var(--ink);background:transparent}
.btn-o::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--ink);transform:translateY(101%);transition:transform .5s var(--exp)}
.btn-o:hover{color:var(--paper)}
.btn-o:hover::before{transform:none}
.btn-l{background:var(--c2);color:var(--ink)}
.btn-l::before{content:'';position:absolute;inset:0;z-index:-1;background:#fff;transform:translateY(101%);transition:transform .5s var(--exp)}
.btn-l:hover::before{transform:none}
.btn .pl{width:9px;height:10px;fill:currentColor}
.btn[disabled]{opacity:.55;pointer-events:none}

/* ── Header ──────────────────────────────────────────────────── */
#hd{position:fixed;inset:0 0 auto 0;z-index:900;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px var(--pad);background:rgba(252,252,252,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color .4s var(--exp)}
#hd.on{border-color:var(--rule)}
.brand{display:flex;align-items:center;gap:9px;min-height:44px;font-family:'FLF America','Bricolage',sans-serif;font-weight:800;font-size:13.5px;letter-spacing:.03em;text-transform:uppercase}
.brand .lgm{width:27px;height:27px;border-radius:9px;background:var(--blue);color:#FCFCFC;display:flex;align-items:center;justify-content:center}
.brand .lgm svg{width:68%;height:auto;display:block}
.hd-r{display:flex;align-items:center;gap:22px}
.hd-r .tel{font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--t2)}
.hd-cta{min-height:44px;padding:0 22px;font-size:11.5px}

/* ── Hero ────────────────────────────────────────────────────── */
.hero{position:relative;overflow:clip;max-width:var(--max);margin:0 auto;padding:118px var(--pad) 56px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(30px,4vw,70px);align-items:center;min-height:100svh}
.hero::before{content:'';position:absolute;right:-12vw;top:-10vh;width:56vw;height:56vw;border-radius:50%;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(36,48,232,.14),rgba(36,48,232,.04) 55%,transparent 72%);animation:drift 12s ease-in-out infinite alternate}
@keyframes drift{from{transform:translate(0,0) scale(1)}to{transform:translate(-6vw,7vh) scale(1.12)}}
.hero-t{position:relative;z-index:2}
.hero-t .k{margin-bottom:22px}
.h1{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:800;text-transform:uppercase;letter-spacing:-.03em;line-height:.9;font-size:var(--h1,clamp(44px,6.2vw,104px))}
.h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.h1 .ln>span{display:block}
.h1 em{display:block;font-size:.56em;line-height:1.02;margin-top:.14em;letter-spacing:-.015em}
.hero-sub{margin-top:26px;max-width:470px;font-size:clamp(15px,1.3vw,17.5px);line-height:1.62;color:var(--t2)}
.hero-sub b{color:var(--ink);font-weight:600}
.hero-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.hero-meta{display:flex;gap:30px;flex-wrap:wrap;margin-top:38px;padding-top:22px;border-top:1px solid var(--rule)}
.hero-meta div .k{margin-bottom:6px}
.hero-meta b{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:17px;letter-spacing:-.015em}
.hero-meta .st{color:var(--blue);letter-spacing:2px;font-size:13px;margin-left:4px}

/* Cadre vidéo */
.hero-v{position:relative;z-index:1;align-self:stretch;display:flex;align-items:center}
.vframe{position:relative;width:100%;aspect-ratio:4/5;max-height:calc(100svh - 170px);border-radius:26px;overflow:hidden;background:#0B0B0D;box-shadow:0 40px 80px -40px rgba(16,16,14,.55),0 0 0 1px rgba(16,16,14,.06);transform:perspective(1400px) rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg));transition:transform .8s var(--exp)}
.vframe video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.vframe::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(11,11,13,.55),rgba(11,11,13,0) 38%);pointer-events:none}
.vchip{position:absolute;z-index:2;top:18px;left:18px;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:100px;background:rgba(252,252,252,.92);font-size:10.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink)}
.vchip i{width:8px;height:8px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 0 rgba(36,48,232,.5);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 8px rgba(36,48,232,0)}}
.vplay{position:absolute;z-index:2;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 12px 12px 20px;border-radius:18px;background:rgba(252,252,252,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--ink);transition:transform .45s var(--exp)}
.vplay:hover{transform:translateY(-3px)}
.vplay b{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:15px;letter-spacing:-.01em;display:block}
.vplay small{display:block;margin-top:2px;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--t3)}
.vplay i{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;transition:transform .45s var(--exp)}
.vplay:hover i{transform:scale(1.08)}
.vplay i::after{content:'';margin-left:4px;border-left:13px solid #fff;border-top:8px solid transparent;border-bottom:8px solid transparent}
.vtog{position:absolute;z-index:3;top:14px;right:14px;width:40px;height:40px;border-radius:50%;background:rgba(252,252,252,.92);display:flex;align-items:center;justify-content:center}
.vtog::before,.vtog::after{content:'';width:3px;height:12px;background:var(--ink);margin:0 2px;border-radius:1px}
.vtog.paused::before{width:0;height:0;margin:0 0 0 3px;border-left:11px solid var(--ink);border-top:7px solid transparent;border-bottom:7px solid transparent;background:none}
.vtog.paused::after{display:none}
.vbadge{position:absolute;z-index:3;left:-26px;top:22%;display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:16px;background:#fff;border:1px solid var(--rule);box-shadow:0 22px 44px -24px rgba(16,16,14,.35);animation:float 7s ease-in-out infinite}
.vbadge b{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:800;font-size:22px;letter-spacing:-.02em;line-height:1}
.vbadge span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-top:3px}
.vbadge .st{color:var(--blue);font-size:12px;letter-spacing:2px}
.vbadge.lime{left:auto;right:-18px;top:auto;bottom:118px;background:var(--c2);border-color:transparent;animation-delay:-3s}
.vbadge.lime span{color:rgba(16,16,14,.6)}
@keyframes float{50%{transform:translateY(-9px)}}

/* Entrée */
.js .h1 .ln>span{transform:translateY(106%);animation:up 1.1s var(--exp) forwards}
.js .h1 .ln:nth-child(2)>span{animation-delay:.12s}
.js .h1 .ln:nth-child(3)>span{animation-delay:.22s}
.js .hero-t .k,.js .hero-sub,.js .hero-ctas,.js .hero-meta{opacity:0;animation:fade 1s var(--exp) .4s forwards}
.js .hero-ctas{animation-delay:.5s}.js .hero-meta{animation-delay:.6s}
.js .vframe{opacity:0;animation:vin 1.3s var(--exp) .2s forwards}
@keyframes up{to{transform:none}}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes vin{from{opacity:0;clip-path:inset(12% 8% 12% 8% round 26px)}to{opacity:1;clip-path:inset(0 0 0 0 round 26px)}}

/* ── Bande de confiance ──────────────────────────────────────── */
.trust{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);overflow:hidden;padding:16px 0;background:rgba(16,16,14,.025)}
.trust-in{display:flex;width:max-content;animation:tk 38s linear infinite}
.trust-set{display:flex;gap:54px;padding-right:54px;white-space:nowrap}
.trust-set span{font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--t2)}
.trust-set span i{font-style:normal;margin-right:10px;color:var(--blue)}
@keyframes tk{to{transform:translateX(-50%)}}
.rbn{height:3px;background:linear-gradient(90deg,#D9FF3F,#B9E32C,#D9FF3F);background-size:220% 100%;animation:rbn 5s linear infinite}
@keyframes rbn{to{background-position:220% 0}}

/* ── Sections ────────────────────────────────────────────────── */
.sec{max-width:var(--max);margin:0 auto;padding:clamp(80px,12vh,140px) var(--pad)}
.sec-h{display:flex;justify-content:space-between;align-items:flex-end;gap:26px;flex-wrap:wrap;margin-bottom:44px}
.sec-h h2{font-size:clamp(32px,5vw,76px)}

/* Réalisations (fond encre) */
.reals{position:relative;background:var(--ink);color:var(--dk);overflow:clip}
.reals::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(46% 58% at 84% 14%,rgba(217,255,63,.08),transparent),radial-gradient(40% 55% at 10% 88%,rgba(36,48,232,.18),transparent)}
.reals .sec{position:relative;z-index:1}
.reals .k{color:var(--dk3)}
.swipe{display:none}
.reals .disp em{color:#8AA0FF}
.rgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rcard{display:flex;flex-direction:column;width:100%;text-align:left;color:inherit;background:#1B1B1E;border-radius:14px;overflow:hidden;border:1px solid rgba(242,240,235,.09);transition:transform .55s var(--exp),border-color .4s}
.rcard:hover,.rcard:focus-visible{transform:translateY(-6px);border-color:rgba(217,255,63,.55)}
.rcard.big{grid-column:span 2;grid-row:span 2}
.rvis{position:relative;display:block;aspect-ratio:16/9;background:#0B0B0D;overflow:hidden;flex:1}
.rcard.big .rvis{aspect-ratio:auto;min-height:0}
.rvis img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.92;transform:scale(var(--z,1));transition:transform .8s var(--exp),opacity .5s}
.rcard:hover .rvis img{transform:scale(calc(var(--z,1) * 1.06));opacity:1}
.rplay{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:rgba(252,252,252,.94);transition:transform .45s var(--exp),background .3s}
.rplay::after{content:'';position:absolute;left:20px;top:17px;border-left:15px solid #10100E;border-top:9px solid transparent;border-bottom:9px solid transparent}
.rcard:hover .rplay{transform:scale(1.13);background:var(--c2)}
.rcard.big .rplay{width:72px;height:72px;margin:-36px 0 0 -36px}
.rcard.big .rplay::after{left:28px;top:23px;border-left-width:20px;border-top-width:13px;border-bottom-width:13px}
.rmeta{display:block;padding:14px 16px 17px;border-top:1px solid rgba(242,240,235,.08)}
.rmeta i{display:block;font-style:normal;font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--c2);margin-bottom:7px}
.rmeta b{display:block;font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:16px;letter-spacing:-.01em;line-height:1.25}
.rcard.big .rmeta b{font-size:clamp(18px,1.8vw,26px)}
.reals-cta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-top:40px;padding-top:30px;border-top:1px solid rgba(242,240,235,.1)}
.reals-cta p{font-family:'Instrument',Georgia,serif;font-style:italic;font-size:clamp(22px,2.4vw,32px);color:var(--dk)}

/* Arguments (lignes numérotées) */
.li{display:grid;grid-template-columns:60px minmax(0,1.05fr) minmax(0,1.3fr) 30px;gap:24px;align-items:baseline;padding:30px 6px;border-top:1px solid var(--rule);transition:padding-left .55s var(--exp),background .4s}
.li:last-child{border-bottom:1px solid var(--rule)}
.li:hover{padding-left:22px;background:rgba(36,48,232,.05)}
.li .n{font-family:'Bricolage';font-weight:700;font-size:11px;color:#fff;background:var(--blue);align-self:center;display:flex;align-items:center;justify-content:center;width:38px;height:24px;border-radius:100px}
.li h3{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:clamp(20px,2.4vw,32px);letter-spacing:-.024em;line-height:1.05}
.li p{font-size:15px;line-height:1.6;color:var(--t2)}
.li .ar{opacity:.3;transition:opacity .3s,transform .4s var(--exp),color .3s}
.li:hover .ar{opacity:1;transform:translateX(4px);color:var(--blue)}

/* Preuves */
.proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:56px}
.tile{border-radius:20px;padding:26px 24px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;gap:18px;border:1px solid var(--rule);background:#fff;transition:transform .45s var(--exp)}
.tile:hover{transform:translateY(-4px)}
.tile b{font-family:'FLF America','Bricolage',sans-serif;font-weight:800;font-size:clamp(34px,3.6vw,56px);letter-spacing:-.01em;line-height:1}
.tile b small{font-size:.45em;letter-spacing:0;margin-left:4px}
.tile span{font-size:11px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;opacity:.8}
.tile.t-blue{background:var(--blue);color:#fff;border-color:transparent}
.tile.t-lime{background:var(--c2);border-color:transparent}
.tile.t-ink{background:var(--ink);color:var(--dk);border-color:transparent}
.quote{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:start;margin-top:14px;padding:clamp(26px,3vw,44px);border:1px solid var(--rule);border-radius:22px;background:#fff}
.quote .st{color:var(--blue);letter-spacing:3.5px;font-size:14px;white-space:nowrap;padding-top:.4em}
.quote blockquote{font-family:'Instrument',Georgia,serif;font-style:italic;font-size:clamp(19px,2vw,28px);line-height:1.4;color:var(--ink)}
.quote figcaption{margin-top:16px;display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}
.quote figcaption b{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:14px}
.quote figcaption span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}

/* Prix */
.price{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px;padding:clamp(30px,4vw,64px);border-radius:26px;background:var(--blue);color:#fff}
.price::before{content:'';position:absolute;right:-10%;top:-60%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(217,255,63,.28),transparent 65%);pointer-events:none;animation:drift 12s ease-in-out infinite alternate}
.price>*{position:relative}
.price .k{color:rgba(255,255,255,.7);margin-bottom:14px}
.price-v{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:800;text-transform:uppercase;font-size:clamp(38px,6vw,96px);line-height:.9;letter-spacing:-.03em}
.price-v em{font-family:'Instrument',Georgia,serif;font-style:italic;font-weight:400;text-transform:none;color:var(--c2);font-size:.55em;letter-spacing:0}
.price-note{margin-top:18px;font-size:15px;line-height:1.6;color:rgba(255,255,255,.8);max-width:520px}

/* Méthode */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.step{border-top:2px solid var(--blue);padding-top:18px;transition:transform .4s var(--exp)}
.step:hover{transform:translateY(-4px)}
.step .n{font-family:'Bricolage';font-weight:800;font-size:12px;color:var(--blue);letter-spacing:.06em}
.step h3{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:20px;letter-spacing:-.015em;margin:10px 0 6px}
.step p{font-size:14px;line-height:1.6;color:var(--t2)}

/* FAQ */
.faq-in{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.4fr);gap:clamp(30px,5vw,80px);align-items:start}
.faq-h{font-size:clamp(32px,4.6vw,66px);position:sticky;top:110px}
.fq{border-top:1px solid var(--rule)}
.fq:last-child{border-bottom:1px solid var(--rule)}
.fq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:22px 4px;font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:clamp(17px,1.7vw,21px);letter-spacing:-.015em;transition:color .3s}
.fq summary::-webkit-details-marker{display:none}
.fq summary:hover{color:var(--blue)}
.fq .fx{color:var(--blue);font-weight:800;font-size:22px;line-height:1;transition:transform .4s var(--exp)}
.fq[open] .fx{transform:rotate(45deg)}
.fq p{padding:0 4px 24px;font-size:15px;line-height:1.68;color:var(--t2);max-width:60ch}

/* ── Formulaire (bloc encre, repris du tunnel de la home) ────── */
.cta-sec{border-top:1px solid var(--rule)}
.fn{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);background:var(--ink);border-radius:26px;padding:clamp(28px,4vw,60px);color:#F4F2ED;overflow:hidden;position:relative}
.fn::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(40% 60% at 0% 100%,rgba(36,48,232,.28),transparent),radial-gradient(30% 40% at 100% 0%,rgba(217,255,63,.08),transparent)}
.fn>*{position:relative}
.fn-side .k{color:rgba(244,242,237,.55)}
.fn-h{font-size:clamp(34px,4.2vw,64px);margin:16px 0 16px;line-height:.95}
.fn-h em{color:#8AA0FF}
.fn-p{font-size:15px;line-height:1.6;color:rgba(244,242,237,.66);max-width:340px}
.fn-prog{height:3px;background:rgba(244,242,237,.16);border-radius:3px;margin:30px 0 10px;overflow:hidden}
.fn-prog span{display:block;height:100%;width:33.34%;background:var(--c2);border-radius:3px;transition:width .6s var(--exp)}
.fn-step{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,242,237,.55)}
.fn-reas{margin-top:26px;display:grid;gap:10px}
.fn-reas li{display:flex;gap:10px;align-items:baseline;font-size:13.5px;color:rgba(244,242,237,.7)}
.fn-reas li::before{content:'';flex-shrink:0;width:7px;height:7px;border-radius:50%;background:var(--c2);transform:translateY(-1px)}
.fn-main{min-width:0}
.devis-form{display:flex;flex-direction:column;min-height:300px}
.fs{border:0;min-width:0}
.fs legend{float:left;width:100%;font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:clamp(21px,2.4vw,30px);letter-spacing:-.02em;line-height:1.15;margin-bottom:22px}
.fs legend+*{clear:both}
.fs legend small,.q small{display:block;margin-top:8px;font-family:'Grotesk',sans-serif;font-weight:400;font-size:13px;letter-spacing:0;color:rgba(244,242,237,.55)}
.q{display:block;font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:clamp(18px,1.9vw,24px);letter-spacing:-.02em;margin:34px 0 16px}
.js .fs.enter{animation:stepIn .6s var(--exp)}
@keyframes stepIn{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.chip label{display:flex;align-items:center;gap:10px;min-height:50px;padding:0 22px;border-radius:100px;font-size:14.5px;font-weight:500;color:#F4F2ED;background:rgba(244,242,237,.07);border:1px solid rgba(244,242,237,.18);cursor:pointer;transition:background .3s var(--exp),border-color .3s,color .3s,transform .3s var(--exp)}
.chip label:hover{background:rgba(36,48,232,.55);border-color:var(--blue);transform:translateY(-2px)}
.chip input:checked+label{background:var(--c2);border-color:var(--c2);color:var(--ink)}
.chip input:focus-visible+label{outline:2px solid var(--c2);outline-offset:3px}
.chips.big .chip label{min-height:56px;font-size:15px}
.fields{display:grid;gap:12px}
.fn-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fl{position:relative}
.fl input,.fl textarea{display:block;width:100%;font-family:inherit;font-size:16px;color:#F4F2ED;background:rgba(244,242,237,.07);border:1px solid rgba(244,242,237,.18);border-radius:12px;padding:24px 18px 9px;transition:border-color .3s,background .3s;-webkit-appearance:none;appearance:none}
.fl textarea{resize:vertical;min-height:96px;padding-top:28px}
.fl label{position:absolute;left:19px;top:50%;transform:translateY(-50%);font-size:14px;color:rgba(244,242,237,.55);pointer-events:none;transition:top .3s var(--exp),font-size .3s,color .3s,letter-spacing .3s}
.fl textarea~label{top:22px;transform:none}
.fl input:focus~label,.fl input:not(:placeholder-shown)~label,.fl textarea:focus~label,.fl textarea:not(:placeholder-shown)~label{top:11px;transform:none;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,242,237,.7)}
.fl input:focus,.fl textarea:focus{outline:none;border-color:var(--c2);background:rgba(244,242,237,.1)}
.fl .opt{color:rgba(244,242,237,.4)}
.fl.bad input,.fl.bad textarea{border-color:#FF8A7A}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.err{min-height:22px;margin-top:12px;font-size:13.5px;color:#FF9E8F}
.nav-row{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:26px}
.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(244,242,237,.66);transition:color .3s}
.back:hover{color:#fff}
.nav-row .btn{margin-left:auto}
.fn-send{font-family:'Bricolage';font-weight:700;letter-spacing:.06em;border-radius:12px}
.send-err{margin-top:12px;font-size:13.5px;color:#FF9E8F}
.send-err a{text-decoration:underline}
.reassure{margin-top:14px;font-size:12.5px;color:rgba(244,242,237,.5)}
.done{text-align:center;padding:30px 0}
.done-k{width:64px;height:64px;border-radius:50%;background:var(--c2);color:var(--ink);font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.done-t{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:800;font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;text-transform:uppercase;line-height:1}
.done-p{margin:12px auto 0;color:rgba(244,242,237,.66);max-width:380px;line-height:1.6}
.book{margin:30px auto 0;max-width:460px;padding:26px;border-radius:18px;background:rgba(244,242,237,.06);border:1px solid rgba(244,242,237,.14)}
.book-t{font-family:'Bricolage';font-variation-settings:'opsz' 96;font-weight:700;font-size:19px;letter-spacing:-.015em;line-height:1.2;margin-bottom:8px}
.book-p{font-size:14px;color:rgba(244,242,237,.66);margin-bottom:18px}

/* ── Footer ──────────────────────────────────────────────────── */
.foot{border-top:1px solid var(--rule);padding:34px var(--pad) 40px}
.foot-in{max-width:var(--max);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.foot-l{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.foot-r{display:flex;gap:20px;flex-wrap:wrap}
.foot-r a{transition:color .3s}
.foot-r a:hover{color:var(--blue)}

/* ── « Une question ? » (assistant de la home) ──────────────── */
#ai-btn{position:fixed;right:24px;bottom:24px;z-index:950;display:flex;align-items:center;gap:10px;background:var(--blue);color:#fff;border-radius:100px;min-height:48px;padding:0 20px 0 16px;font-family:'Bricolage';font-weight:700;font-size:13px;letter-spacing:.02em;box-shadow:0 14px 34px -12px rgba(36,48,232,.6);transition:transform .3s var(--exp),opacity .3s}
#ai-btn:hover{transform:translateY(-3px)}
#ai-btn .dot{width:8px;height:8px;border-radius:50%;background:var(--c2);box-shadow:0 0 0 0 rgba(217,255,63,.6);animation:aip 2s infinite}
@keyframes aip{70%{box-shadow:0 0 0 8px rgba(217,255,63,0)}}
#ai-panel{position:fixed;right:24px;bottom:84px;z-index:951;width:min(380px,calc(100vw - 48px));height:min(540px,70vh);background:#fff;border:1px solid var(--rule);border-radius:22px;box-shadow:0 30px 80px -30px rgba(16,16,14,.5);display:none;flex-direction:column;overflow:hidden}
#ai-panel.on{display:flex}
.ai-head{background:var(--ink);color:#F4F2ED;padding:14px 12px 14px 18px;display:flex;align-items:center;gap:10px}
.ai-head b{font-family:'Bricolage';font-weight:700;font-size:14px}
.ai-head .s{font-size:11px;color:rgba(244,242,237,.55);margin-left:auto}
.ai-x{width:36px;height:36px;border-radius:50%;color:#F4F2ED;font-size:18px;line-height:1}
.ai-x:hover{background:rgba(244,242,237,.12)}
.ai-body{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}
.ai-msg{max-width:84%;font-size:14px;line-height:1.5;padding:11px 14px;border-radius:14px}
.ai-msg.bot{background:#F1F1F4;color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px}
.ai-msg.user{background:var(--blue);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.ai-sugg{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px}
.ai-sugg button{font-size:12.5px;color:var(--blue);background:rgba(36,48,232,.07);border:1px solid rgba(36,48,232,.2);border-radius:100px;padding:8px 13px;transition:all .25s}
.ai-sugg button:hover{background:var(--blue);color:#fff}
.ai-go{display:block;margin:0 18px 12px;text-align:center;padding:12px;border-radius:12px;background:var(--c2);color:var(--ink);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.ai-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--rule)}
.ai-in input{flex:1;min-width:0;font-family:inherit;font-size:16px;border:1px solid var(--rule);border-radius:100px;padding:10px 15px}
.ai-in input:focus{outline:none;border-color:var(--blue)}
.ai-in button{background:var(--blue);color:#fff;border-radius:50%;width:42px;height:42px;font-size:16px;flex-shrink:0}

/* ── CTA collant mobile ──────────────────────────────────────── */
.sticky{display:none}

/* ── Lightbox ────────────────────────────────────────────────── */
.lb{position:fixed;inset:0;z-index:9999;background:rgba(8,8,7,.93);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:70px 24px 40px;opacity:0;visibility:hidden;transition:opacity .35s var(--exp),visibility 0s linear .35s}
.lb.on{opacity:1;visibility:visible;transition:opacity .35s var(--exp)}
.lb-box{position:relative;width:min(1100px,100%,calc((100vh - 150px) * 16 / 9))}
.lb-r{position:relative;width:100%;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.lb-r iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.lb-t{margin-top:14px;font-size:13px;letter-spacing:.02em;color:rgba(242,240,235,.75);text-align:center}
.lb-x{position:absolute;top:-52px;right:0;width:44px;height:44px;border-radius:50%;background:rgba(242,240,235,.12);color:#F2F0EB;font-size:22px;line-height:1;transition:background .3s,color .3s}
.lb-x:hover{background:var(--c2);color:var(--ink)}

/* ── Révélations ─────────────────────────────────────────────── */
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .9s var(--exp),transform 1.1s var(--exp)}
.js .rv.in{opacity:1;transform:none}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}

/* ════════ Responsive ════════ */
@media (max-width:1100px){
  .hero{grid-template-columns:1fr;min-height:0;padding-top:104px;gap:34px}
  .vframe{aspect-ratio:16/10;max-height:none}
  .vbadge{left:14px;top:auto;bottom:96px;display:none}
  .proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rcard.big{grid-column:1/-1;grid-row:auto}
  .rcard.big .rvis{aspect-ratio:16/9}
}
@media (max-width:820px){
  .fn{grid-template-columns:1fr;gap:26px}
  .faq-in{grid-template-columns:1fr}
  .faq-h{position:static}
  .li{grid-template-columns:48px minmax(0,1fr) 20px;gap:4px 14px;padding:24px 2px}
  .li .n{grid-row:1/3;align-self:start;margin-top:4px}
  .li h3{grid-column:2}
  .li p{grid-column:2;font-size:14.5px}
  .li .ar{grid-column:3;grid-row:1}
  .price{grid-template-columns:1fr;gap:26px}
  .price .btn{width:100%}
}
@media (max-width:640px){
  :root{--pad:20px}
  #hd{padding-top:10px;padding-bottom:10px}
  .hd-r .tel{display:none}
  .hd-cta{padding:0 16px;font-size:10.5px}
  .hd-cta .hm{display:none}
  .hero{display:flex;flex-direction:column;align-items:stretch;padding-top:84px;padding-bottom:36px;gap:0}
  .hero-t{display:contents}
  .hero-t .k{order:1}.h1{order:2}.hero-v{order:3;margin-top:22px}.hero-sub{order:4}.hero-ctas{order:5}.hero-meta{order:6}
  .h1{font-size:var(--h1m,11vw)}
  .hero-t .k{margin-bottom:16px;font-size:10px}
  .hero-sub{margin-top:18px;font-size:15px}
  .hero-ctas{display:grid;grid-template-columns:1fr;margin-top:22px}
  .hero-ctas .btn{width:100%}
  .hero-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;padding-top:16px}
  .hero-meta .k{font-size:9.5px;letter-spacing:.12em}
  .hero-meta b{font-size:13.5px;line-height:1.25;display:block}
  .hero-meta .st{display:block;margin:2px 0 0;font-size:11px}
  .vframe{aspect-ratio:16/10;border-radius:20px}
  .vchip{top:12px;left:12px;font-size:9.5px;padding:7px 12px}
  .vplay{left:auto;right:10px;bottom:10px;padding:6px 6px 6px 14px;border-radius:100px;gap:10px}
  .vplay b{font-size:12.5px}
  .hero-ctas .btn-o{display:none}
  .vplay small{display:none}
  .vplay i{width:38px;height:38px}
  .vtog{top:10px;right:10px}
  .sec{padding-top:72px;padding-bottom:72px}
  .sec-h{margin-bottom:30px}
  .rgrid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--pad) * -1);padding:0 var(--pad) 6px;scroll-padding:0 var(--pad);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .rgrid::-webkit-scrollbar{display:none}
  .swipe{display:inline}
  .rcard,.rcard.big{flex:0 0 84%;scroll-snap-align:start}
  .rcard.big .rvis{aspect-ratio:16/9}
  .rcard.big .rplay{width:52px;height:52px;margin:-26px 0 0 -26px}
  .rcard.big .rplay::after{left:20px;top:17px;border-left-width:15px;border-top-width:9px;border-bottom-width:9px}
  .rcard.big .rmeta b{font-size:16px}
  .js .rgrid .rv{opacity:1;transform:none}
  .reals-cta{flex-direction:column;align-items:stretch}
  .reals-cta .btn{width:100%}
  .proof{gap:10px;margin-top:40px}
  .tile{min-height:130px;padding:18px 16px;border-radius:16px}
  .tile b{font-size:clamp(28px,9vw,40px)}
  .tile span{font-size:9.5px}
  .quote{grid-template-columns:1fr;gap:10px;padding:24px 20px}
  .quote blockquote{font-size:19px}
  .steps{grid-template-columns:1fr;gap:18px}
  .fn{border-radius:22px;padding:26px 18px;margin:0 -8px}
  .fn-reas{display:none}
  .fn-prog{margin-top:22px}
  .chips{gap:8px}
  .chip label{min-height:46px;padding:0 16px;font-size:14px}
  .chips.big .chip{flex:1 1 calc(50% - 4px)}
  .chips.big .chip label{justify-content:center;text-align:center;line-height:1.2;padding:8px 12px}
  .fn-row{grid-template-columns:1fr}
  .nav-row{position:sticky;bottom:0;margin:0 -18px -26px;padding:12px 18px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--ink) 72%,rgba(16,16,14,0));z-index:4}
  .nav-row .btn{flex:1}
  .foot{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
  .foot-in{flex-direction:column;align-items:flex-start}
  #ai-btn{display:none}
  #ai-panel{left:10px;right:10px;width:auto;bottom:calc(84px + env(safe-area-inset-bottom));height:min(520px,72vh)}
  .sticky{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:850;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(252,252,252,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--rule);transform:translateY(110%);transition:transform .55s var(--exp)}
  .sticky.on{transform:none}
  .sticky .btn{flex:1;min-height:52px}
  .sticky .ask{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Bricolage';font-weight:800;font-size:18px;position:relative}
  .sticky .ask::after{content:'';position:absolute;top:8px;right:8px;width:8px;height:8px;border-radius:50%;background:var(--c2)}
  .lb{padding:70px 0 40px}
  .lb-r{border-radius:0}
  .lb-x{right:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}
  .trust-in{animation:none!important;width:auto}
  .trust-set[aria-hidden]{display:none}
  .trust-set{flex-wrap:wrap;white-space:normal;gap:10px 30px;padding:0 20px}
  .js .rv{opacity:1;transform:none}
}
