/* Libaxio, site public. Valeurs reprises de la maquette validée (reference/maquette/VF.dc.html). */

@font-face{font-family:Geist;src:url(fonts/geist.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

/* Tokens */
:root{color-scheme:light;--page:#FBFBFA;--surface:#FFFFFF;--surface-2:#F5F3F2;--filet:#E7E4E2;--control:#8E9092;--text:#16181B;--text-2:#4E5356;--text-3:#65686B;--action:#16181B;--action-hover:#2B2E33;--on-action:#FFFFFF;--brand:#F28322;--brand-ink:#A8530A;--brand-soft:#FEF1E3;--on-brand:#16181B;--ok-soft:#E2F7EC;--ok-ink:#177A44;--ok-fill:#177A44;--on-ok:#FFFFFF;--warn-soft:#FFF7C7;--warn-ink:#685600;--err:#FF5757;--err-soft:#FFEAEA;--err-ink:#C9352E;--soft-line:#F4D9BD;--img:#ECE9E7;--band-text2:#D9DBDC;--scrim:rgba(22,24,27,.45);--shadow-modal:0 30px 70px rgba(0,0,0,.24);--shadow-float:0 0 18px 0 rgba(22,24,27,.12);--shadow-hover:0 0 0 1px var(--filet),0 2px 12px rgba(22,24,27,.08)}
:root[data-mode="dark"]{color-scheme:dark;--page:#131211;--surface:#1E1C1B;--surface-2:#252422;--filet:#2E2D2B;--control:#6E7376;--text:#F3F4F2;--text-2:#BFC3C1;--text-3:#8C918F;--action:#F3F4F2;--action-hover:#FFFFFF;--on-action:#101214;--brand:#F7931A;--brand-ink:#FFB066;--brand-soft:#33230F;--on-brand:#16181B;--ok-soft:#16301F;--ok-ink:#7CE0AD;--ok-fill:#3FD183;--on-ok:#101214;--warn-soft:#2F2C0A;--warn-ink:#FFE45C;--err:#FF6B6B;--err-soft:#33191A;--err-ink:#FF9D9D;--soft-line:#4A3418;--img:#2A2826;--band-text2:#4E5356;--scrim:rgba(0,0,0,.55);--shadow-modal:0 30px 70px rgba(0,0,0,.5);--shadow-float:0 0 24px 0 rgba(0,0,0,.6);--shadow-hover:0 0 0 1px var(--filet),0 2px 12px rgba(0,0,0,.5)}
.hero[data-hero="gris"]{--h-bg:#302E2B;--h-text:#FFFFFF;--h-text2:#CFCAC4;--h-line:#423F3B;--h-line2:#5E5A55;--h-img:#3C3935;--h-imgtext:#ADA79F;--h-eyebrow:#FFB066;--h-nav:#383532;--h-segon:#F3F4F2;--h-segontext:#16181B;--h-cta:#F28322;--h-ctatext:#16181B}
.hero[data-hero="clair"]{--h-bg:#FBFBFA;--h-text:#16181B;--h-text2:#4E5356;--h-line:#E7E4E2;--h-line2:#E7E4E2;--h-img:#ECE9E7;--h-imgtext:#65686B;--h-eyebrow:#A8530A;--h-nav:#FFFFFF;--h-segon:#16181B;--h-segontext:#FFFFFF;--h-cta:#16181B;--h-ctatext:#FFFFFF}
[data-mode="dark"] .hero[data-hero="gris"]{--h-bg:#252422;--h-text:#F3F4F2;--h-text2:#BFC3C1;--h-line:#36342F;--h-line2:#4A4846;--h-img:#2E2D2B;--h-imgtext:#8C918F;--h-eyebrow:#FFB066;--h-nav:#1E1C1B;--h-segon:#F3F4F2;--h-segontext:#101214;--h-cta:#F7931A;--h-ctatext:#16181B}
[data-mode="dark"] .hero[data-hero="clair"]{--h-bg:#131211;--h-text:#F3F4F2;--h-text2:#BFC3C1;--h-line:#2E2D2B;--h-line2:#2E2D2B;--h-img:#2A2826;--h-imgtext:#8C918F;--h-eyebrow:#FFB066;--h-nav:#1E1C1B;--h-segon:#F3F4F2;--h-segontext:#101214;--h-cta:#F3F4F2;--h-ctatext:#101214}

/* Base */
html{scroll-behavior:smooth;background:var(--page);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0}
[hidden]{display:none!important}
.lx{position:relative;background:var(--page);color:var(--text);font-family:Geist,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
.lx *,.lx *::before,.lx *::after{box-sizing:border-box}
.lx a{color:inherit}
.lx p{margin:0}.lx h1,.lx h2,.lx h3{margin:0;text-wrap:balance}
.lx button{font-family:inherit;cursor:pointer}
.lx :focus-visible{outline:2px solid var(--action);outline-offset:2px}
.lx em{font-style:italic}
.lx img{display:block;max-width:100%}
.lx picture{display:contents}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.m-only{display:none}
.mono{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.h1{font-size:100px;line-height:.98;letter-spacing:-.04em;font-weight:700}
.h2{font-size:56px;line-height:1.05;letter-spacing:-.03em;font-weight:700;color:var(--text)}
.hq{font-size:96px;line-height:.95;letter-spacing:-.045em;font-weight:700}
.h3b{font-size:32px;line-height:1.1;letter-spacing:-.02em;font-weight:700}
.big{font-size:36px;line-height:1.15;letter-spacing:-.02em;font-weight:700}
.acc{color:var(--brand)}
.lead{font-size:19px;line-height:1.55;color:var(--text-2);max-width:62ch}
.small{font-size:15px;line-height:1.6;color:var(--text-2)}
.small b{color:var(--text)}
.t2{color:var(--text-2)}.t3{color:var(--text-3)}.bink{color:var(--brand-ink)}.brand{color:var(--brand)}
.grow{flex:1}.grow0{flex:1;min-width:0}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:999px;font-size:15px;font-weight:700;text-decoration:none;line-height:1.3;white-space:nowrap;border:1px solid transparent;transition:background .15s ease}
.btn:active{transform:translateY(1px)}
.btn-p{background:var(--action);color:var(--on-action)}
.btn-p:hover{background:var(--action-hover)}
.btn-s{background:var(--surface);color:var(--text);border-color:var(--filet)}
.btn-s:hover{background:var(--surface-2)}
.btn-brand{background:var(--brand);color:var(--on-brand)}
.card{background:var(--surface);border:1px solid var(--filet);border-radius:20px;padding:28px;display:flex;flex-direction:column;gap:14px;min-width:0;transition:box-shadow .2s ease,border-color .2s ease}
.card.hov:hover{box-shadow:var(--shadow-hover);border-color:transparent}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;line-height:1.4}
.b-ok{background:var(--ok-soft);color:var(--ok-ink)}.b-warn{background:var(--warn-soft);color:var(--warn-ink)}.b-err{background:var(--err-soft);color:var(--err-ink)}.b-neu{background:var(--surface-2);color:var(--text-2)}
.i{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.i.sw3{stroke-width:3}.i.sw25{stroke-width:2.5}
.logo{display:block;fill-rule:evenodd}
.logo-x{fill:var(--brand)}
.img{background:var(--img);border-radius:24px;overflow:hidden}
.cover{width:100%;height:100%;object-fit:cover}
.row{display:flex;align-items:center;gap:14px;padding:14px 4px;border-bottom:1px solid var(--filet)}
.row:last-child{border-bottom:none}
.row-label{flex:1;min-width:0;font-size:15px;font-weight:500}
.done{color:var(--text-3);text-decoration:line-through}
.check{width:20px;height:20px;border-radius:999px;border:1.75px solid var(--control);flex-shrink:0}
.check-ok{width:20px;height:20px;border-radius:999px;background:var(--ok-fill);color:var(--on-ok);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dot{width:8px;height:8px;border-radius:999px;background:var(--brand);flex-shrink:0;display:inline-block}
.dot-lg{width:10px;height:10px}
.tgl{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0;border:none;background:transparent;font-size:14px;font-weight:700;color:var(--text)}
.tgl svg,.rot{transition:transform .2s ease}
[aria-expanded="true"]>.rot{transform:rotate(180deg)}
.detail{display:flex;flex-direction:column;gap:10px;font-size:14px;line-height:1.55;color:var(--text-2);padding-top:12px;border-top:1px solid var(--filet);animation:up .25s ease both}
.flink{display:flex;align-items:center;min-height:44px;padding:0 8px;border:none;background:transparent;font-size:13px;color:var(--text-3);text-decoration:underline;text-underline-offset:3px}
.flink:hover{color:var(--text)}
.preview-pill{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;background:var(--brand);color:var(--on-brand);font-size:13px;font-weight:700;padding:8px 16px;border-radius:999px;box-shadow:var(--shadow-float);pointer-events:none}

/* En-tête */
.hdr{position:sticky;top:0;z-index:30;background:var(--h-bg);color:var(--h-text);border-bottom:1px solid var(--h-line);transition:background .25s ease,color .25s ease}
.hdr-in{height:76px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.hdr-logo{color:var(--h-text);display:block}
.hdr-act{display:flex;align-items:center;gap:8px}
.navpill{display:flex;gap:2px;padding:4px;background:var(--h-nav);border:1px solid var(--h-line);border-radius:999px}
.navpill a{padding:8px 16px;border-radius:999px;font-size:14px;font-weight:500;text-decoration:none;color:var(--h-text2)}
.navpill a:hover{color:var(--h-text)}
.seg{display:flex;gap:2px;padding:3px;background:var(--h-nav);border:1px solid var(--h-line);border-radius:999px}
.seg button{width:36px;height:32px;border:none;border-radius:999px;background:transparent;color:var(--h-text2);display:flex;align-items:center;justify-content:center;transition:background .15s ease}
:root:not([data-mode="dark"]) .seg [data-theme-set="light"],:root[data-mode="dark"] .seg [data-theme-set="dark"]{background:var(--h-segon);color:var(--h-segontext)}
.hdr-cta{min-height:44px;padding:10px 18px;font-size:14px;background:var(--h-cta);color:var(--h-ctatext)}
.burger{width:44px;height:44px;border-radius:999px;border:1px solid var(--h-line);background:var(--h-nav);color:var(--h-text);align-items:center;justify-content:center}
.burger-open{display:flex}
.burger-close{display:none}
.burger[aria-expanded="true"] .burger-open{display:none}
.burger[aria-expanded="true"] .burger-close{display:flex}
.drawer{position:absolute;left:0;right:0;top:100%;background:var(--h-bg);border-bottom:1px solid var(--h-line);box-shadow:var(--shadow-float);padding:8px 16px 20px;flex-direction:column;animation:drop .25s ease both}
.drawer a{display:flex;align-items:center;justify-content:space-between;min-height:56px;font-size:19px;font-weight:700;text-decoration:none;color:var(--h-text);border-bottom:1px solid var(--h-line)}
.drawer-theme{display:flex;align-items:center;justify-content:space-between;padding-top:16px}
.drawer-theme>span{font-size:14px;color:var(--h-text2)}
.drawer-theme .seg button{width:52px;height:44px}

/* Accroche */
.hero-band{background:var(--h-bg);color:var(--h-text)}
.hero-top{padding-top:96px;padding-bottom:72px;display:flex;flex-direction:column;gap:40px}
.hero-eyebrow{color:var(--h-eyebrow)}
.hero-band .h1{color:var(--h-text)}
.hero-row{align-items:end}
.hero-text{grid-column:span 7;font-size:19px;line-height:1.55;color:var(--h-text2);max-width:60ch}
.hero-cta{grid-column:9/span 4;display:flex;justify-content:flex-end}
.hero-btn{background:transparent;color:var(--h-text);border-color:var(--h-line2)}
.hv{position:relative;margin-top:8px;height:420px}
.hv-img{position:absolute;left:0;top:0;width:66%;height:420px;background:var(--h-img);border-radius:24px;overflow:hidden}
.hv-card{position:absolute;right:0;top:96px;width:480px;background:var(--surface);color:var(--text);border:1px solid var(--filet);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-float)}
.hv.no-img{height:auto}
.hv.no-img .hv-card{position:relative;top:auto;margin-left:auto}
.hv-card-top{display:flex;align-items:center;justify-content:space-between}
.hv-card-title{font-size:20px;line-height:1.3;font-weight:700;letter-spacing:-.01em}
.rows{border-top:1px solid var(--filet)}

/* Le fil */
.fil-top{padding-top:72px}
.fil{position:relative;padding-left:88px}
.fil-line{position:absolute;left:31px;top:-72px;bottom:150px;width:2px;background:var(--brand);transform-origin:top}
.fil-end{position:absolute;left:20px;bottom:138px;width:24px;height:24px;border-radius:999px;background:var(--brand);box-shadow:0 0 0 6px var(--page)}
.sec{padding-top:120px;display:flex;flex-direction:column;gap:48px;scroll-margin-top:76px}
.tag{position:relative;display:flex;align-items:center;gap:12px;color:var(--brand-ink)}
.tag::before{content:"";position:absolute;left:-65px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:999px;background:var(--brand);box-shadow:0 0 0 6px var(--page)}
.sys-head{display:flex;flex-direction:column;gap:20px;max-width:900px}
.head-row{align-items:end}
.head-l8,.head-l7{display:flex;flex-direction:column;gap:20px}
.head-l8{grid-column:span 8}.head-l7{grid-column:span 7}
.head-r4{grid-column:span 4;font-size:17px}
.head-r5{grid-column:8/span 5;font-size:17px}

/* Schéma */
.dia{border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:20px;min-width:0}
.dia-avant{background:var(--surface-2)}
.dia-apres{background:var(--surface);border:1px solid var(--filet)}
.dia-d{position:relative;width:460px;height:290px;align-self:center}
.dia-svg{position:absolute;left:0;top:0}
.dash{stroke:var(--control);stroke-width:1.75;fill:none;stroke-dasharray:4 5}
.dash-m{stroke-dasharray:3 4}
.dash-fill{fill:var(--control)}
.link{stroke:var(--brand);stroke-width:2;fill:none}
.up{stroke:var(--action);stroke-width:2;fill:none}
.up-fill{fill:var(--action)}
.dia-cap{font-size:20px;line-height:1.35;font-weight:700}
.dia-cap2{color:var(--text-2);font-weight:500}
.node{position:absolute;height:44px;border:1px solid var(--filet);background:var(--surface);border-radius:12px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;color:var(--text)}
.toi{position:absolute;width:96px;height:44px;border-radius:999px;background:var(--action);color:var(--on-action);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
.dgm{position:relative;width:278px;align-self:center}
.dgm .node{height:36px;font-size:13px;border-radius:10px}
.dgm .toi{width:72px;height:36px;font-size:13px}
.n-a1{left:170px;top:10px;width:120px}.n-a2{left:330px;top:123px;width:130px}.n-a3{left:170px;top:236px;width:120px}.n-a4{left:0;top:123px;width:130px}.t-a{left:182px;top:123px}
.t-b{left:182px;top:20px}.n-b1{left:8px;top:200px;width:92px}.n-b2{left:125px;top:200px;width:92px}.n-b3{left:242px;top:200px;width:92px}.n-b4{left:360px;top:200px;width:92px}
.dgm-a{height:230px}.dgm-b{height:186px}
.m-a1{left:97px;top:0;width:84px}.m-a2{left:194px;top:97px;width:84px}.m-a3{left:97px;top:194px;width:84px}.m-a4{left:0;top:97px;width:84px}.mt-a{left:103px;top:97px}
.mt-b{left:103px;top:0}.m-b1{left:0;top:96px;width:130px}.m-b2{left:148px;top:96px;width:130px}.m-b3{left:0;top:150px;width:130px}.m-b4{left:148px;top:150px;width:130px}

/* Piliers */
.pil-title{font-size:28px;line-height:1.2;letter-spacing:-.02em;font-weight:700;margin-bottom:-16px!important}
.pils{display:flex;flex-direction:column;border-top:2px solid var(--text)}
.pil{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding:28px 0;border-bottom:1px solid var(--filet);align-items:baseline}
.pil .n{grid-column:span 1;font-size:40px;font-weight:500;line-height:1;color:var(--brand-ink);font-variant-numeric:tabular-nums}
.pil .t{grid-column:span 3}
.pil .c{grid-column:span 4;font-size:15px;line-height:1.55;color:var(--text-3);text-decoration:line-through;text-decoration-color:var(--brand);text-decoration-thickness:2px}
.pil .x{grid-column:span 4}
.nom{background:var(--brand-soft);border-radius:24px;padding:28px}
.nom-t{grid-column:span 4}
.nom-l{grid-column:span 8;display:flex;flex-direction:column}
.nom-p{display:flex;gap:12px;font-size:16px;padding:10px 0;border-bottom:1px solid var(--soft-line)}
.nom-p:last-child{border-bottom:none}
.nom-i{margin-top:3px;color:var(--brand-ink)}

/* Exemples */
.case{gap:18px}
.case-q{font-size:64px;line-height:.6;font-weight:700;color:var(--brand);height:28px}
.case-t{font-size:22px;line-height:1.3;letter-spacing:-.01em;font-weight:700;flex:1}
.case-l{padding-top:8px;border-top:1px solid var(--filet);justify-content:space-between;width:100%}
.ask{align-items:center;gap:32px}
.ask-img{grid-column:span 5;height:260px}
.ask-r{grid-column:7/span 6;display:flex;flex-direction:column;gap:24px;align-items:flex-start}
.ask.no-img .ask-r{grid-column:1/span 8}

/* Chemin */
.tl{position:relative}
.tl-track{position:absolute;left:0;right:0;top:11px;height:2px;background:var(--filet)}
.tl-done{position:absolute;left:0;width:25%;top:11px;height:2px;background:var(--brand)}
.tl ol{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;align-items:start}
.tl li{display:flex;flex-direction:column;gap:10px}
.tl-head{display:flex;flex-direction:column;gap:16px}
.tl-node{width:24px;height:24px;border-radius:999px;background:var(--page);border:2px solid var(--control);box-shadow:0 0 0 6px var(--page)}
.tl-node.on{background:var(--brand);border-color:var(--brand)}
.tl-node.next{border-style:dashed}
.tl-num{font-size:40px;font-weight:500;line-height:1;color:var(--brand-ink);font-variant-numeric:tabular-nums}
.tl-t{font-size:22px;font-weight:700}
.nosuivi{background:var(--surface-2);border:1px solid var(--filet);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;margin-bottom:4px}
.nosuivi-t{font-size:14px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px}
.nosuivi p{font-size:14px;line-height:1.55;color:var(--text-2)}

/* Tarifs */
.plan{gap:16px}
.plan-main{border-color:transparent;box-shadow:0 0 0 2px var(--brand)}
.plan-k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.plan-n{font-size:22px;font-weight:700}
.prices{display:flex;gap:24px;align-items:flex-end}
.prices-unit{gap:8px}
.pr{display:flex;flex-direction:column;gap:2px}
.pr-l{font-size:12px;color:var(--text-3)}
.pr-lp{font-weight:700}
.pr-lp.t2{color:var(--text-2)}
.pr-lp.bink{color:var(--brand-ink)}
.pr-old{font-size:20px;color:var(--text-3);text-decoration:line-through;font-variant-numeric:tabular-nums}
.pr-unit{font-size:15px;color:var(--text-3)}
.price{font-size:44px;font-weight:700;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums}
.pdet{background:var(--surface);border:1px solid var(--filet);border-radius:24px;padding:4px 24px}
.pdet-b{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:64px;padding:0;border:none;background:transparent;font-size:17px;font-weight:700;color:var(--text);text-align:left}
.pdet-body{gap:28px;border-top:1px solid var(--filet);padding:24px 0}
.pdet-l{grid-column:span 5;display:flex;flex-direction:column;gap:12px}
.pdet-r{grid-column:span 7;display:flex;flex-direction:column;gap:8px}
.ptab{background:var(--surface-2);border-radius:16px;padding:0 18px;font-size:15px}
.prow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 4px;border-bottom:1px solid var(--filet)}
.prow:last-child{border-bottom:none}
.pv{font-weight:700;font-variant-numeric:tabular-nums}
.pv-n{font-weight:400;color:var(--text-3)}
.fine{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-3)}

/* Qui je suis */
.me{gap:40px;align-items:stretch}
.me-l{grid-column:span 7;display:flex;flex-direction:column;gap:24px}
.me.no-img .me-l{grid-column:span 9}
.me-parcours{display:flex;flex-direction:column;gap:12px}
.me-phrase{font-size:22px;line-height:1.4;letter-spacing:-.01em;font-weight:500}
.proof{border:1px solid var(--filet);background:var(--surface);border-radius:16px;padding:16px;font-size:14px;line-height:1.55;color:var(--text-2);display:flex;flex-direction:column;gap:8px}
.me-img{grid-column:span 5;min-height:380px;border-radius:24px;overflow:hidden;background:var(--img)}

/* Questions */
.faq-d{align-items:start}
.faq-ans{background:var(--action);color:var(--on-action);border-radius:24px;padding:28px 32px 32px;display:flex;flex-direction:column;gap:14px;min-height:324px}
.faq-a{display:flex;flex-direction:column;gap:14px}
.faq-aq{font-size:24px;line-height:1.25;letter-spacing:-.01em;font-weight:700}
.faq-ar{font-size:17px;line-height:1.6;color:var(--band-text2)}
.faq-list{display:flex;flex-direction:column;gap:8px}
.qrow{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:64px;padding:14px 24px;background:var(--surface);border:1px solid var(--filet);border-radius:20px;font-size:17px;font-weight:700;line-height:1.35;color:var(--text);text-align:left;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}
.qrow:hover{box-shadow:var(--shadow-hover);border-color:transparent}
.qrow[aria-expanded="true"]{background:var(--surface-2);border-color:transparent}
.qrow span{display:flex}
.qrow .ic-minus,.qrow[aria-expanded="true"] .ic-plus{display:none}
.qrow[aria-expanded="true"] .ic-minus{display:flex}
.faq-m{flex-direction:column;gap:8px}
.faq-mi.open{background:var(--action);color:var(--on-action);border-radius:20px;overflow:hidden;animation:up .25s ease both}
.faq-mi.open .qrow{background:transparent;border:none;color:var(--on-action);padding:16px 20px 8px;box-shadow:none}
.faq-mr{padding:0 20px 20px;font-size:16px;line-height:1.6;color:var(--band-text2);display:flex;flex-direction:column;gap:10px}

/* Bandeau final */
.band-sec{padding-top:96px;padding-bottom:32px}
.band{background:var(--action);color:var(--on-action);border-radius:24px;padding:56px;display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;min-height:236px}
.band-l{display:flex;flex-direction:column;gap:12px}
.band-t{color:var(--on-action)}
.band-p{font-size:19px;color:var(--band-text2)}

/* Pied de page */
.foot{padding-top:40px;padding-bottom:40px}
.foot-in{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--filet);padding-top:28px}
.foot-brand{display:flex;flex-direction:column;gap:8px;color:var(--text)}
.foot-s{font-size:13px;color:var(--text-3)}
.foot-nav{display:flex;gap:4px;flex-wrap:wrap;margin-left:-8px}

/* Pop-ups */
html.pop-open,html.pop-open body{overflow:hidden}
dialog.ov{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:var(--scrim);color:var(--text);overflow-y:auto;overscroll-behavior:contain;animation:fade .18s ease both}
dialog.ov::backdrop{background:transparent}
.mwrap{display:flex;justify-content:center;align-items:flex-start;min-height:100%;padding:40px 24px}
.modal{width:100%;max-width:560px;background:var(--surface);color:var(--text);border-radius:24px;box-shadow:var(--shadow-modal);overflow:clip;animation:pop .2s cubic-bezier(.2,.7,.2,1) both}
.modal.wide{max-width:880px}
.mh{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 28px;border-bottom:1px solid var(--filet);background:var(--surface)}
.mh-l{display:flex;flex-direction:column;gap:8px}
.mt{font-size:26px;line-height:1.25;letter-spacing:-.02em;font-weight:700}
.mt.s{font-size:22px;letter-spacing:0}
.mb{padding:28px;display:flex;flex-direction:column;gap:24px}
.mf{padding:18px 28px;border-top:1px solid var(--filet);display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap;background:var(--surface)}
.mf-end{justify-content:flex-end}
.mf-center{justify-content:center}
.close{width:36px;height:36px;flex-shrink:0;border-radius:999px;border:none;background:var(--surface-2);color:var(--text-2);display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease}
.close:hover{background:var(--filet);color:var(--text)}
.tabs{display:inline-flex;gap:2px;padding:4px;background:var(--surface-2);border-radius:999px;align-self:flex-start}
.tabs button{padding:8px 22px;border:none;border-radius:999px;background:transparent;color:var(--text-2);font-size:14px;font-weight:700;min-height:40px;transition:background .15s ease,color .15s ease}
.tabs button[aria-selected="true"]{background:var(--action);color:var(--on-action)}
.panel{display:flex;flex-direction:column;gap:16px}
.screen{border:1px solid var(--filet);border-radius:16px;background:var(--page);overflow:hidden}
.sbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--filet);font-size:14px;font-weight:700}
.sbar-wrap{flex-wrap:wrap}
.sbar-t{display:flex;align-items:center;gap:8px}
.sbar-s{font-size:12px;font-weight:400;color:var(--text-3)}
.sbar-b{display:flex;gap:6px}
.scr-body{padding:14px;display:flex;flex-direction:column;gap:12px}
.scr-surface{background:var(--surface)}
.decide{background:var(--surface);border:1px solid var(--filet);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.decide-t{font-size:13px;font-weight:700}
.decide-r{display:flex;align-items:center;gap:10px;font-size:14px}
.late{display:flex;align-items:center;gap:10px;background:var(--err-soft);color:var(--err-ink);border-radius:12px;padding:10px 14px;font-size:14px;font-weight:500}
.tbl{background:var(--surface);border:1px solid var(--filet);border-radius:12px;overflow:hidden}
.note{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-3)}
.av{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0}
.av.s{width:24px;height:24px}
.av1{background:#EAE3FB;color:#6B4FBF}.av2{background:#DCEAFC;color:#2A66BB}.av3{background:#DCF8F9;color:#1F777A}.av5{background:#FBE1EC;color:#B2386D}
.th{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.trow{display:grid;gap:12px;padding:11px 14px;border-bottom:1px solid var(--filet);align-items:center;font-size:14px}
.trow:last-child{border-bottom:none}
.tA{grid-template-columns:2fr 1.2fr 1fr 1fr}
.tB{grid-template-columns:2.2fr 1fr 1.2fr 1fr}
.tc{font-weight:500}
.tc-late{color:var(--err-ink);font-weight:500}
.who{display:flex;align-items:center;gap:8px}
.ex{font-size:12px;color:var(--text-3)}
.cqc{background:var(--brand-soft);border-radius:20px;padding:28px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:28px}
.cqc-l{grid-column:span 8;display:flex;flex-direction:column;gap:10px}
.cqc-r{grid-column:span 4;display:flex;flex-direction:column;gap:10px;padding-left:28px;border-left:1px solid var(--soft-line)}
.cqc-p{font-size:17px;line-height:1.6;color:var(--text)}
.cqc-p2{font-size:15px;line-height:1.6;color:var(--text-2)}
.cqc-k{display:flex;align-items:center;gap:8px}
.pile{position:relative;height:430px;background:var(--surface-2);border-radius:16px;overflow:hidden}
.pile>div{position:absolute}
.nt{width:280px;background:var(--surface);border:1px solid var(--filet);border-radius:16px;padding:12px 14px;box-shadow:var(--shadow-float);display:flex;flex-direction:column;gap:6px;animation:drop .45s cubic-bezier(.2,.7,.2,1) both}
.nt-h{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-3)}
.nt-h b{color:var(--text);font-size:13px}
.nt-h .t{margin-left:auto;font-variant-numeric:tabular-nums}
.nt-p{font-size:14px;font-weight:700;line-height:1.4}
.nt-s{font-size:12px;color:var(--text-3);font-weight:500}
.nt-s.nt-err{color:var(--err-ink)}
.nt.ghost{gap:10px;padding:16px 14px}
.sk{display:block;height:8px;border-radius:999px;background:var(--surface-2)}
.sk1{width:110px}.sk2{width:200px}.sk3{width:150px}
.dl0{animation-delay:0s}.dl1{animation-delay:.04s}.dl2{animation-delay:.08s}.dl3{animation-delay:.12s}.dl5{animation-delay:.2s}.dl55{animation-delay:.22s}.dl7{animation-delay:.28s}.dl8{animation-delay:.32s}.dl9{animation-delay:.36s}.dl105{animation-delay:.42s}.dl11{animation-delay:.44s}
.ctr{right:16px;top:16px;z-index:5}
.ctr-b{background:var(--action);color:var(--on-action);font-size:13px;padding:6px 14px;gap:8px;box-shadow:var(--shadow-float);animation:dotin .3s .6s ease both}
.a1{left:40px;top:30px;transform:rotate(-7deg)}.a2{left:540px;top:290px;transform:rotate(6deg)}.a3{left:250px;top:300px;transform:rotate(-2deg)}.a4{left:24px;top:74px;transform:rotate(-3deg)}.a5{left:300px;top:26px;transform:rotate(2.5deg)}.a6{left:524px;top:118px;transform:rotate(-2deg)}.a7{left:70px;top:236px;transform:rotate(3.5deg)}.a8{left:356px;top:200px;transform:rotate(-4.5deg)}
.b1{left:500px;top:24px;transform:rotate(7deg)}.b2{left:20px;top:300px;transform:rotate(-5deg)}.b3{left:300px;top:310px;transform:rotate(3deg)}.b4{left:30px;top:40px;transform:rotate(-4deg)}.b5{left:320px;top:62px;transform:rotate(3deg)}.b6{left:528px;top:188px;transform:rotate(-3.5deg)}.b7{left:120px;top:206px;transform:rotate(4.5deg)}
.chat{padding:16px;display:flex;flex-direction:column;gap:10px}
.msg{display:flex;gap:10px;align-items:flex-end}
.bub{background:var(--surface);border:1px solid var(--filet);border-radius:16px;padding:10px 14px;font-size:14px}
.bub b{display:block;font-size:12px;color:var(--text-3)}
.ml4{margin-left:4px}
.split3{display:grid;grid-template-columns:1.5fr 1fr}
.split3>div:first-child{border-right:1px solid var(--filet)}
.col{display:flex;flex-direction:column}
.col-s{background:var(--surface)}
.asst{padding:16px;display:flex;flex-direction:column;gap:12px}
.ask-b{align-self:flex-end;background:var(--action);color:var(--on-action);border-radius:16px;padding:10px 14px;font-size:14px;font-weight:500}
.ans{background:var(--surface);border:1px solid var(--filet);border-radius:16px;padding:14px 16px;font-size:14px;display:flex;flex-direction:column;gap:8px}
.step{display:flex;gap:10px}
.step b{color:var(--brand-ink);font-variant-numeric:tabular-nums}
.src{display:flex;align-items:center;gap:6px;padding-top:8px;border-top:1px solid var(--filet);font-size:12px;color:var(--text-3)}
.docs{padding:8px 16px;display:flex;flex-direction:column}
.doc{padding:10px 0;border-bottom:1px solid var(--filet);display:flex;flex-direction:column;gap:4px}
.doc:last-child{border-bottom:none}
.doc-t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700}
.doc-d{font-size:13px;color:var(--text-2);padding-left:24px}
.doc-b{padding-left:24px}

/* Formulaire */
.mb-form{gap:18px}
.g-form{gap:14px}
.alert{display:flex;gap:10px;background:var(--err-soft);color:var(--err-ink);border-radius:12px;padding:12px 14px;font-size:14px;animation:up .25s ease both}
.alert-i{margin-top:3px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld label{font-size:14px;font-weight:500;color:var(--text)}
.fld .opt{font-weight:400;color:var(--text-3)}
.inp{width:100%;background:var(--surface-2);border:1px solid var(--filet);border-radius:12px;padding:12px 14px;font-size:16px;line-height:1.4;color:var(--text);font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease;appearance:none;min-height:48px}
.inp::placeholder{color:var(--text-3)}
.inp:focus{border-color:var(--action);box-shadow:0 0 0 3px var(--filet)}
.inp.err{border-color:var(--err)}
.inp-sel{padding-right:40px}
.inp-ta{resize:vertical}
.emsg{font-size:12px;color:var(--err-ink);animation:fade .2s ease both}
.help{font-size:12px;color:var(--text-3)}
.sel{position:relative}
.sel svg{position:absolute;right:14px;top:50%;margin-top:-8px;pointer-events:none;color:var(--text-3)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.consent{font-size:13px;color:var(--text-3)}
.ilink{border:none;background:transparent;padding:0;font-size:13px;color:var(--text);text-decoration:underline;text-underline-offset:3px}
.btn-send{min-width:220px}
.send-on{display:none;align-items:center;gap:8px}
.form.sending .send-on{display:inline-flex}
.form.sending .send-off{display:none}
.mb-sent{align-items:center;justify-content:center;text-align:center;padding:48px 28px;gap:16px}
.sent-ic{width:64px;height:64px;border-radius:999px;background:var(--ok-soft);color:var(--ok-ink);display:flex;align-items:center;justify-content:center}
.sent-t{font-size:22px;font-weight:700;line-height:1.3}
.sent-p{max-width:40ch}
.dl{display:flex;flex-direction:column;margin:0}
.dl>div{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;padding:14px 0;border-bottom:1px solid var(--filet);font-size:15px}
.dl>div:last-child{border-bottom:none}
.dl dt{font-weight:700;color:var(--text)}
.dl dd{margin:0;color:var(--text-2);overflow-wrap:anywhere}

/* Animations */
@keyframes up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:scale(.96) translateY(8px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes dotin{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes draw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}
@keyframes drop{from{opacity:0;transform:translateY(-22px) scale(.96)}to{opacity:1;transform:none}}
.in{animation:up .7s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.26s}.d4{animation-delay:.38s}
.stag>*{animation:up .35s ease both}
.stag>*:nth-child(2){animation-delay:.07s}.stag>*:nth-child(3){animation-delay:.14s}.stag>*:nth-child(4){animation-delay:.21s}.stag>*:nth-child(5){animation-delay:.28s}.stag>*:nth-child(6){animation-delay:.35s}
.tab-in{animation:up .25s ease both}
.spin{animation:spin .8s linear infinite}
.drawn path{stroke-dasharray:30;animation:draw .5s .15s ease both}
@supports (animation-timeline: view()){
.reveal{animation:up linear both;animation-timeline:view();animation-range:entry 5% entry 45%}
.fil-line{animation:grow linear both;animation-timeline:scroll(root block)}
.tag::before{animation:dotin linear both;animation-timeline:view();animation-range:entry 30% entry 70%}
}

/* Smartphone */
@media (max-width:780px){
.wrap{padding:0 16px}
.d-only{display:none!important}
.m-only{display:block}
.m-only.fx{display:flex}
.h1{font-size:clamp(40px,12.4vw,48px);letter-spacing:-.035em}
.h2{font-size:35px}
.hq{font-size:48px;letter-spacing:-.035em}
.h3b{font-size:26px}
.big{font-size:26px}
.lead{font-size:18px}
.small{font-size:15px}
.g12,.g2,.g3{grid-template-columns:minmax(0,1fr);gap:16px}
.g12>*{grid-column:auto!important}
.card{padding:22px}
.hdr-in{height:64px;gap:8px}
.hdr-logo .logo{width:124px;height:26px}
.btn{width:100%}
.btn.auto{width:auto}
.hero-top{padding-top:40px;padding-bottom:48px;gap:24px}
.hero-text{font-size:19px}
.hv{height:auto;display:flex;flex-direction:column}
.hv-img{position:relative;width:100%;height:220px}
.hv-card{position:relative;top:auto;right:auto;width:auto;margin:-56px 12px 0;padding:20px}
.hv.no-img .hv-card{margin:0}
.fil{padding-left:40px}
.fil-line{left:11px;top:-48px;bottom:118px}
.fil-end{left:2px;bottom:108px;width:20px;height:20px;box-shadow:0 0 0 5px var(--page)}
.fil-top{padding-top:48px}
.sec{padding-top:64px;gap:32px;scroll-margin-top:64px}
.tag::before{left:-36px;width:14px;height:14px;margin-top:-7px;box-shadow:0 0 0 5px var(--page)}
.pil{grid-template-columns:36px minmax(0,1fr);gap:6px 12px;padding:22px 0}
.pil .n{grid-column:1;grid-row:span 3;font-size:28px}
.pil .t,.pil .c,.pil .x{grid-column:2}
.ask-img{height:260px}
.tl-track,.tl-done{display:none}
.tl ol{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--filet)}
.tl li{padding:20px 0;border-bottom:1px solid var(--filet)}
.tl-head{flex-direction:row;align-items:center;gap:14px}
.tl-node{width:20px;height:20px;box-shadow:none}
.tl-num{font-size:32px}
.price{font-size:36px}
.prow{flex-direction:column;align-items:flex-start;gap:2px}
.me-img{min-height:0;aspect-ratio:3/4}
.band{padding:32px 24px;min-height:0}
.qrow{padding:14px 18px;font-size:16px}
.mwrap{padding:0}
.modal,.modal.wide{max-width:none;border-radius:0;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;box-shadow:none}
.modal>.form,.modal>.sent{display:flex;flex-direction:column;flex:1}
.mh{position:sticky;top:0;z-index:3;padding:14px 16px;gap:12px}
.mt{font-size:21px}
.mt.s{font-size:20px}
.mb{padding:20px 16px;gap:20px;flex:1}
.mf{position:sticky;bottom:0;z-index:3;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))}
.mf .ex{width:100%;text-align:center;order:2}
.close{width:44px;height:44px}
.tabs{align-self:stretch}
.tabs button{flex:1}
.thead{display:none!important}
.trow{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"a d" "b c";row-gap:6px;padding:12px 14px}
.trow>:nth-child(1){grid-area:a}.trow>:nth-child(2){grid-area:b}.trow>:nth-child(3){grid-area:c;justify-self:end}.trow>:nth-child(4){grid-area:d;justify-self:end}
.cqc{padding:20px;gap:20px}
.cqc-l,.cqc-r{grid-column:1/-1}
.cqc-r{padding-left:0;border-left:none;padding-top:20px;border-top:1px solid var(--soft-line)}
.pile{height:480px}
.nt{width:230px}
.a1{left:60px;top:10px}.a2{left:100px;top:420px}.a3{left:0;top:260px}.a4{left:4px;top:52px}.a5{left:90px;top:128px}.a6{left:8px;top:210px}.a7{left:84px;top:290px}.a8{left:20px;top:368px}
.b1{left:60px;top:8px}.b2{left:0;top:380px}.b3{left:110px;top:400px}.b4{left:6px;top:44px}.b5{left:90px;top:128px}.b6{left:10px;top:216px}.b7{left:80px;top:300px}
.ctr{right:10px;top:10px}
.split3{grid-template-columns:minmax(0,1fr)}
.split3>div:first-child{border-right:none;border-bottom:1px solid var(--filet)}
.dl>div{grid-template-columns:minmax(0,1fr);gap:4px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lx *,.lx *::before{animation:none!important;transition:none!important}}
