/* Polices auto-hébergées (sous-ensemble latin, suffisant pour l'espagnol). Licence SIL Open Font License 1.1, voir fonts/LICENCES.txt */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/dm-sans-variable-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/sora-variable-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-mono-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
body{margin:0;background:#FFFFFF;font-family:'DM Sans',system-ui,sans-serif;color:#070D1F;-webkit-font-smoothing:antialiased}
a{color:#2350E0}a:hover{color:#070D1F}
.wrap{box-sizing:border-box;width:100%;max-width:1280px;margin:0 auto;padding-inline:20px}
@media (min-width:768px){.wrap{padding-inline:40px}}
.sec{padding-block:48px;border-top:1px solid #DCE3EE;overflow:clip}
@media (min-width:768px){.sec{padding-block:104px}}
.alt{background:#F1F5FA}
.kick{display:inline-flex;align-items:center;gap:10px;font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#2350E0}
.kick .n{display:inline-flex;align-items:center;justify-content:center;height:26px;min-width:34px;padding:0 8px;box-sizing:border-box;border-radius:999px;background:#EAF0FF}
.alt .kick .n{background:#FFFFFF}
.h2{margin:0;font-family:'Sora','DM Sans',system-ui,sans-serif;font-weight:600;font-size:32px;letter-spacing:-.045em;line-height:1.1;color:#070D1F;text-wrap:balance}
@media (min-width:768px){.h2{font-size:44px}}
@media (min-width:1280px){.h2{font-size:48px}}
.lead{margin:0;font-size:18px;line-height:1.55;color:#45526F;max-width:38em}
@media (min-width:768px){.lead{font-size:20px}}
.shead{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:28px}
@media (min-width:768px){.shead{margin-bottom:56px}}
.h3{margin:0;font-family:'Sora','DM Sans',system-ui,sans-serif;font-weight:600;font-size:21px;letter-spacing:-.03em;line-height:1.2}
@media (min-width:768px){.h3{font-size:23px}}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#45526F}

.lock{display:inline-flex;align-items:flex-end;gap:.3em;line-height:1;text-decoration:none}
.lock svg{flex:none;width:5.162em;height:1em}
.tagia{flex:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;font-family:'Sora','DM Sans',system-ui,sans-serif;font-size:.42em;font-weight:600;height:1.6em;padding:0 .45em;border-radius:.34em;background:#3266FC;color:#FFFFFF}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:56px;padding:0 28px;box-sizing:border-box;border-radius:999px;font-family:'DM Sans',system-ui,sans-serif;font-size:17px;font-weight:600;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .2s,transform .2s,box-shadow .2s}
.btn:focus-visible,.nl:focus-visible,.mlink:focus-visible{outline:3px solid #070D1F;outline-offset:3px}
.bp{background:#3266FC;color:#FFFFFF;border:0;box-shadow:0 10px 24px -12px rgba(50,102,252,.6)}
.bp:hover{background:#2350E0;color:#FFFFFF;transform:translateY(-1px)}
.bs{background:#FFFFFF;color:#070D1F;border:1.5px solid #070D1F}
.bs:hover{background:#F1F5FA;color:#070D1F}
.bwa{background:#25D366;color:#070D1F;border:0;box-shadow:0 10px 24px -12px rgba(37,211,102,.7)}
.bwa:hover{background:#1FBE5A;color:#070D1F;transform:translateY(-1px)}
.btn-sm{height:44px;padding:0 20px;font-size:15px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:599px){.ctas{align-self:stretch}.ctas .btn{flex:1 1 100%}}

.hdr{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid #DCE3EE}
.nl{color:#070D1F;text-decoration:none;font-size:16px;font-weight:500;padding:10px 2px;border-bottom:2px solid transparent;transition:border-color .2s}
.nl:hover{color:#070D1F;border-bottom-color:#3266FC}
.navd{display:none}
@media (min-width:1024px){.navd{display:flex}}
.hdr-cta{display:none}
@media (min-width:600px){.hdr-cta{display:inline-flex}}
.menu{position:static}
@media (min-width:1024px){.menu{display:none}}
.menu>summary{list-style:none;cursor:pointer}
.menu>summary::-webkit-details-marker{display:none}
.menu .i-close{display:none}
.menu[open] .i-open{display:none}
.menu[open] .i-close{display:block}
.mlink{display:flex;align-items:center;min-height:52px;border-bottom:1px solid #DCE3EE;color:#070D1F;text-decoration:none;font-size:18px;font-weight:500}

.hero{padding-block:28px 48px;overflow:clip}
@media (min-width:768px){.hero{padding-block:48px 72px}}
.hide-sm{}
@media (max-width:599px){.hide-sm{display:none!important}}
.hgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
@media (min-width:1100px){.hgrid{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:56px}}
.h1{margin:0;font-family:'Sora','DM Sans',system-ui,sans-serif;font-size:38px;font-weight:600;letter-spacing:-.05em;line-height:1.05;color:#070D1F}
@media (min-width:768px){.h1{font-size:60px}}
@media (min-width:1280px){.h1{font-size:66px}}
.sub{margin:0;font-size:17px;line-height:1.55;color:#45526F;max-width:34em}
@media (min-width:768px){.sub{font-size:20px}}
.panel{position:relative;box-sizing:border-box;border-radius:24px;border:1px solid #DCE3EE;background-color:#F1F5FA;background-image:linear-gradient(#E4EAF3 1px,transparent 1px),linear-gradient(90deg,#E4EAF3 1px,transparent 1px);background-size:32px 32px;background-position:-1px -1px;padding:20px}
@media (min-width:640px){.panel{padding:24px}}
.flowg{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;align-items:center}
@media (min-width:640px){.flowg{grid-template-columns:minmax(0,1fr) 36px 116px 36px minmax(0,1fr);gap:0}}
.hcol{display:flex;flex-direction:column;gap:12px}
.hcard{position:relative;box-sizing:border-box;background:#FFFFFF;border:1.5px solid #DCE3EE;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}
.ch{display:flex;align-items:center;gap:8px}
.ico{flex:none;width:30px;height:30px;border-radius:8px;background:#EAF0FF;display:flex;align-items:center;justify-content:center;color:#2350E0}
.ct{font-size:15px;line-height:1.35;color:#070D1F}
.att{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 8px;border-radius:6px;background:#F1F5FA;font-size:13px}
.ok{flex:none;width:22px;height:22px;border-radius:50%;background:#3266FC;color:#FFFFFF;display:flex;align-items:center;justify-content:center;margin-left:auto}
.links{display:none}
@media (min-width:640px){.links{display:block;align-self:stretch}}
.down{display:flex;justify-content:center;color:#3266FC}
@media (min-width:640px){.down{display:none}}
.core{box-sizing:border-box;background:#FFFFFF;border:2px solid #3266FC;border-radius:18px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;box-shadow:0 12px 28px -16px rgba(50,102,252,.55)}
@media (max-width:639px){
  .hcol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .hcard{align-items:center;text-align:center;padding:12px 4px 10px;gap:6px}
  .hcard .ch{flex-direction:column;gap:6px}
  .hcard .ct,.hcard .att{display:none}
  .hcard .ok{position:absolute;top:-8px;right:-6px;margin:0}
  .hcard .mono{font-size:11px;letter-spacing:.02em}
  .core{flex-direction:row;justify-content:center;gap:12px;padding:12px}
}
.flow{stroke-dasharray:4 7;animation:flow 1.1s linear infinite}
@keyframes flow{to{stroke-dashoffset:-22}}
.lit{animation:lit 9s ease-in-out infinite}
.lit.d2{animation-delay:.9s}.lit.d3{animation-delay:1.8s}
@keyframes lit{0%,100%{border-color:#DCE3EE;box-shadow:0 0 0 0 rgba(50,102,252,0)}5%,20%{border-color:#3266FC;box-shadow:0 0 0 4px #DCE6FF}30%{border-color:#DCE3EE;box-shadow:0 0 0 0 rgba(50,102,252,0)}}
.beat{animation:beat 9s ease-in-out infinite}
@keyframes beat{0%,32%,100%{transform:scale(1)}40%{transform:scale(1.05)}48%{transform:scale(1)}}
.out{animation:out 9s ease-in-out infinite}
.out.d2{animation-delay:.5s}.out.d3{animation-delay:1s}
@keyframes out{0%,44%{opacity:.4;transform:translateX(-6px)}54%,90%{opacity:1;transform:none}100%{opacity:.4;transform:translateX(-6px)}}

.pgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;align-items:center}
@media (min-width:1100px){.pgrid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px}}
.plist{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.plist li{display:flex;align-items:center;gap:14px;font-size:17px;line-height:1.4}
.plist .pi{flex:none;width:40px;height:40px;border-radius:12px;background:#FFFFFF;border:1px solid #DCE3EE;display:flex;align-items:center;justify-content:center;color:#2350E0}
.scene{position:relative;box-sizing:border-box;background:#FFFFFF;border:1px solid #DCE3EE;border-radius:24px;padding:44px 16px 12px}
.scene svg{display:block;width:100%;height:auto}
.zl{position:absolute;top:16px;display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;background:#F1F5FA;font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#070D1F}
.minh{transform-origin:64px 64px;transform-box:view-box;animation:spin 5s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.ty{stroke-dasharray:1;stroke-dashoffset:0;animation:ty 6s ease-out infinite}
.ty.t2{animation-delay:.8s}.ty.t3{animation-delay:1.6s}
@keyframes ty{0%{stroke-dashoffset:1}25%,85%{stroke-dashoffset:0}100%{stroke-dashoffset:0;opacity:0}}
.sh{animation-duration:10s;animation-timing-function:ease-out;animation-iteration-count:infinite}
.s0{animation-name:s0}.s1{animation-name:s1}.s2{animation-name:s2}.s3{animation-name:s3}.s4{animation-name:s4}.s5{animation-name:s5}.s6{animation-name:s6}.s7{animation-name:s7}
@keyframes s0{0%{opacity:0;transform:translateY(-90px)}5%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes s1{0%,9%{opacity:0;transform:translateY(-90px)}14%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes s2{0%,18%{opacity:0;transform:translateY(-90px)}23%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes s3{0%,27%{opacity:0;transform:translateY(-90px)}32%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes s4{0%,36%{opacity:0;transform:translateY(-90px)}41%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes s5{0%,45%{opacity:0;transform:translateY(-90px)}50%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes s6{0%,54%{opacity:0;transform:translateY(-90px)}59%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes s7{0%,63%{opacity:0;transform:translateY(-90px)}68%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
.bb{transform-box:fill-box;transform-origin:50% 100%;animation-duration:10s;animation-iteration-count:infinite;animation-timing-function:ease-out}
.b1{animation-name:b1}.b2{animation-name:b2}.b3{animation-name:b3}
@keyframes b1{0%,6%{opacity:0;transform:scale(.4)}11%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes b2{0%,30%{opacity:0;transform:scale(.4)}35%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
@keyframes b3{0%,55%{opacity:0;transform:scale(.4)}60%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:none}}
.flip{transform-origin:560px 96px;transform-box:view-box;animation:flip 5s ease-in-out infinite}
@keyframes flip{0%,80%{transform:rotate(0)}95%,100%{transform:rotate(180deg)}}
.stuck{animation:bob 2.4s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

.atabs{display:flex;gap:8px;margin:0 -20px 16px;padding:2px 20px;overflow-x:auto;scrollbar-width:none}
.atabs::-webkit-scrollbar{display:none}
@media (min-width:1024px){.atabs{display:none}}
.atab{flex:none;height:46px;padding:0 18px;box-sizing:border-box;border-radius:999px;font-family:'DM Sans',system-ui,sans-serif;font-size:16px;font-weight:600;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.atab:focus-visible{outline:3px solid #070D1F;outline-offset:2px}
.agrid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.amore{box-sizing:border-box;margin-top:20px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:24px 20px;border-radius:24px;background:#F1F5FA}
@media (min-width:768px){.amore{flex-direction:row;align-items:center;justify-content:space-between;gap:32px;padding:28px 32px}}
@media (min-width:1024px){.agrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media (max-width:1023px){.acard.off{display:none}}
.acard{box-sizing:border-box;background:#FFFFFF;border:1px solid #DCE3EE;border-radius:24px;padding:12px 12px 24px;display:flex;flex-direction:column;gap:20px}
.abody{display:flex;flex-direction:column;gap:12px;padding:0 12px}
.stage{position:relative;box-sizing:border-box;border-radius:16px;background-color:#F1F5FA;background-image:linear-gradient(#E4EAF3 1px,transparent 1px),linear-gradient(90deg,#E4EAF3 1px,transparent 1px);background-size:28px 28px;background-position:-1px -1px;padding:20px 16px;display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;min-height:236px}
@media (max-width:519px){.stage{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 52px auto;min-height:0}}
.slink{position:relative;height:2px;margin:0 4px;background-image:linear-gradient(90deg,#3266FC 50%,transparent 0);background-size:8px 2px}
@media (max-width:519px){.slink{height:100%;width:2px;margin:0 auto;background-image:linear-gradient(#3266FC 50%,transparent 0);background-size:2px 8px}}
.schip{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:34px;height:34px;box-sizing:border-box;border-radius:50%;background:#FFFFFF;border:1.5px solid #3266FC;display:flex;align-items:center;justify-content:center}
.sdot{position:absolute;z-index:1;top:-4px;left:0;width:10px;height:10px;border-radius:50%;background:#3266FC;box-shadow:0 0 0 4px #DCE6FF;animation:trav 8s ease-in-out infinite;animation-delay:var(--d)}
@media (max-width:519px){.sdot{top:0;left:-4px;animation-name:travy}}
@keyframes trav{0%,16%{left:0;opacity:0}19%{left:0;opacity:1}34%{left:calc(100% - 10px);opacity:1}37%,100%{left:calc(100% - 10px);opacity:0}}
@keyframes travy{0%,16%{top:0;opacity:0}19%{top:0;opacity:1}34%{top:calc(100% - 10px);opacity:1}37%,100%{top:calc(100% - 10px);opacity:0}}
.doc{box-sizing:border-box;background:#FFFFFF;border:1.5px solid #DCE3EE;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.35;min-width:0}
.sin{animation:hl 8s ease-in-out infinite;animation-delay:var(--d)}
@keyframes hl{0%,3%{border-color:#DCE3EE;box-shadow:0 0 0 0 rgba(50,102,252,0)}7%,17%{border-color:#3266FC;box-shadow:0 0 0 4px #DCE6FF}24%,100%{border-color:#DCE3EE;box-shadow:0 0 0 0 rgba(50,102,252,0)}}
.dt{font-family:'Sora','DM Sans',system-ui,sans-serif;font-weight:600;font-size:14px;letter-spacing:-.02em}
.drow{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;background:#F1F5FA;font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:11.5px;line-height:1.3;transform-origin:left center;animation-duration:8s;animation-timing-function:ease-out;animation-iteration-count:infinite;animation-delay:var(--d)}
.drow span:last-child{white-space:nowrap}
.l1{animation-name:l1}.l2{animation-name:l2}.l3{animation-name:l3}
@keyframes l1{0%,36%{opacity:0;transform:scaleX(.3)}42%,92%{opacity:1;transform:none}98%,100%{opacity:0;transform:scaleX(.3)}}
@keyframes l2{0%,42%{opacity:0;transform:scaleX(.3)}48%,92%{opacity:1;transform:none}98%,100%{opacity:0;transform:scaleX(.3)}}
@keyframes l3{0%,48%{opacity:0;transform:scaleX(.3)}54%,92%{opacity:1;transform:none}98%,100%{opacity:0;transform:scaleX(.3)}}
.okb{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:999px;background:#3266FC;color:#FFFFFF;font-size:12px;font-weight:600;white-space:nowrap;animation:okp 8s ease-out infinite;animation-delay:var(--d)}
@keyframes okp{0%,56%{opacity:0;transform:scale(.5)}62%,92%{opacity:1;transform:none}98%,100%{opacity:0;transform:scale(.5)}}
.bubble{align-self:flex-start;box-sizing:border-box;max-width:100%;padding:9px 11px;border-radius:12px 12px 12px 4px;background:#EAF0FF;font-size:14px;line-height:1.35}
.photo{position:relative;height:118px;border-radius:8px;background:#E7ECF4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.scanl{position:absolute;left:8%;right:8%;top:12%;height:2px;background:#3266FC;box-shadow:0 0 8px #3266FC;opacity:0;animation:scan 8s ease-in-out infinite;animation-delay:var(--d)}
@keyframes scan{0%,4%{top:12%;opacity:0}6%{opacity:1}20%{top:86%;opacity:1}23%,100%{top:86%;opacity:0}}
.wave{display:flex;align-items:center;gap:3px;height:30px}
.wave i{display:block;width:3px;border-radius:2px;background:#3266FC;animation:wv 1.1s ease-in-out infinite}
.wave i:nth-child(2n){animation-delay:-.3s}.wave i:nth-child(3n){animation-delay:-.6s}.wave i:nth-child(5n){animation-delay:-.85s}
@keyframes wv{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1)}}
.ba{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.45}
.pill{flex:none;display:inline-flex;align-items:center;justify-content:center;width:86px;height:26px;box-sizing:border-box;border-radius:999px;font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;transform:translateY(-1px)}

.tools-d{display:none}
@media (min-width:1100px){.tools-d{display:block}.tools-m{display:none}}
.tcaps{display:grid;grid-template-columns:240px minmax(0,1fr) 240px;width:1000px;margin:0 auto 14px}
.tdiag{position:relative;width:1000px;height:300px;margin:0 auto}
.tnode{position:absolute;box-sizing:border-box;width:240px;height:68px;background:#FFFFFF;border:1px solid #DCE3EE;border-radius:16px;display:flex;align-items:center;gap:12px;padding:0 14px}
.ti{flex:none;width:40px;height:40px;border-radius:10px;background:#EAF0FF;color:#2350E0;display:flex;align-items:center;justify-content:center}
.tname{font-family:'Sora','DM Sans',system-ui,sans-serif;font-weight:600;font-size:17px;letter-spacing:-.025em;line-height:1.2}
.tsub{font-size:13.5px;color:#45526F;line-height:1.3}
.tcore{position:absolute;left:400px;top:40px;width:200px;height:220px;box-sizing:border-box;border-radius:24px;background:#FFFFFF;border:2px solid #3266FC;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:16px;text-align:center;animation:ring 3s ease-out infinite}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(50,102,252,.35)}70%,100%{box-shadow:0 0 0 18px rgba(50,102,252,0)}}
.tlinks{position:absolute;top:0;width:160px;height:300px}
@keyframes travel{from{offset-distance:0%}to{offset-distance:100%}}
.pk{position:absolute;left:0;top:0;width:10px;height:10px;border-radius:50%;background:#3266FC;box-shadow:0 0 0 4px rgba(50,102,252,.18);offset-anchor:50% 50%;offset-rotate:0deg;animation:travel 2.7s linear infinite}
.tm3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ttile{box-sizing:border-box;background:#FFFFFF;border:1px solid #DCE3EE;border-radius:14px;padding:12px 4px;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:'Sora','DM Sans',system-ui,sans-serif;font-weight:600;font-size:15px;letter-spacing:-.02em;text-align:center}
.vlink{position:relative;width:2px;height:40px;margin:8px auto;background-image:linear-gradient(#3266FC 50%,transparent 0);background-size:2px 8px}
.vlink .pk2{position:absolute;left:-4px;top:0;width:10px;height:10px;border-radius:50%;background:#3266FC;box-shadow:0 0 0 4px #DCE6FF;animation:mvy 1.4s linear infinite}
@keyframes mvy{from{top:0}to{top:calc(100% - 10px)}}

.acard{--d:0s}.dl1{--d:-2s}.dl2{--d:-4s}.dl3{--d:-6s}
.qgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;align-items:center}
@media (min-width:1024px){.qgrid{grid-template-columns:400px minmax(0,1fr);gap:72px}}
.qph{display:none}
@media (min-width:1024px){.qph{display:block;width:100%;height:480px;object-fit:cover;border-radius:28px;background:#EAF0FF}}
.qav{flex:none;display:block;width:72px;height:72px;border-radius:50%;overflow:hidden;background:#EAF0FF}
.qav img{display:block;width:100%;height:100%;object-fit:cover}
@media (min-width:1024px){.qav{display:none}}
.certs{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-self:stretch}
@media (min-width:640px){.certs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.cert{box-sizing:border-box;display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;background:#FFFFFF;border:1px solid #DCE3EE}
.cic{flex:none;width:44px;height:44px;border-radius:12px;background:#3266FC;color:#FFFFFF;display:flex;align-items:center;justify-content:center}
.cic-logo{background:#FFFFFF;border:1px solid #DCE3EE;box-sizing:border-box}
.fgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
@media (min-width:1024px){.fgrid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}}
.faq{border-bottom:1px solid #DCE3EE}
.faq:first-child{border-top:1px solid #DCE3EE}
.faq>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:12px 0;box-sizing:border-box;cursor:pointer;list-style:none;font-family:'Sora','DM Sans',system-ui,sans-serif;font-size:18px;font-weight:600;letter-spacing:-.025em;line-height:1.3}
@media (min-width:768px){.faq>summary{font-size:20px}}
.faq>summary::-webkit-details-marker{display:none}
.faq>summary:focus-visible{outline:3px solid #070D1F;outline-offset:4px;border-radius:6px}
.pm{flex:none;width:40px;height:40px;box-sizing:border-box;border-radius:50%;border:1.5px solid #070D1F;display:flex;align-items:center;justify-content:center;transition:transform .25s,background-color .25s,border-color .25s}
.faq[open] .pm{transform:rotate(45deg);background:#3266FC;border-color:#3266FC}
.faq[open] .pm svg{stroke:#FFFFFF}
.fa{margin:0 0 24px;max-width:36em;font-size:17px;line-height:1.55;color:#45526F}
.cgrid{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
@media (min-width:1024px){.cgrid{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:24px;align-items:start}}
.ccard{box-sizing:border-box;display:flex;flex-direction:column;padding:24px 20px;border-radius:24px;background:#FFFFFF;border:1px solid #DCE3EE}
@media (min-width:768px){.ccard{padding:28px}}
.cform{display:flex;flex-direction:column;gap:14px}
@media (min-width:768px){.cform{gap:18px}}
.f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fld{display:flex;flex-direction:column;gap:8px;min-width:0}
.fld label,.flab{font-size:16px;font-weight:600;color:#070D1F}
.in{box-sizing:border-box;width:100%;height:54px;padding:0 14px;border:1.5px solid #6E7A93;border-radius:12px;background:#FFFFFF;font-family:'DM Sans',system-ui,sans-serif;font-size:17px;color:#070D1F;outline:none;transition:border-color .2s,box-shadow .2s}
.in::placeholder{color:#6E7A93;opacity:1}
.in:focus{border:2px solid #070D1F;box-shadow:0 0 0 4px #DCE6FF}
.ta{height:84px;padding:12px 14px;line-height:1.45;resize:vertical}
.chip{display:inline-flex;align-items:center;height:42px;padding:0 16px;box-sizing:border-box;border-radius:999px;font-family:'DM Sans',system-ui,sans-serif;font-size:15.5px;font-weight:500;color:#070D1F;cursor:pointer;transition:background-color .2s,border-color .2s}
.chip:focus-visible{outline:3px solid #070D1F;outline-offset:2px}

.tl{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:24px;view-timeline-name:--tl}
@media (min-width:1024px){.tl{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
.tl-track{display:none}
@media (min-width:1024px){.tl-track{display:block;position:absolute;top:39px;left:calc((100% - 64px) / 6);right:calc((100% - 64px) / 6);height:3px;border-radius:2px;background:#DCE3EE}}
.tl-fill{position:absolute;inset:0;border-radius:2px;background:#3266FC;transform-origin:left center}
.tl-cta{margin-top:28px}
@media (min-width:768px){.tl-cta{margin-top:48px}}
.tl-step{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:18px;align-items:start}
@media (min-width:1024px){.tl-step{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px}}
.tl-con{position:absolute;left:30px;top:70px;bottom:-22px;width:3px;border-radius:2px;background:#DCE3EE;overflow:hidden}
@media (min-width:1024px){.tl-con{display:none}}
.tl-con i{display:block;height:100%;background:#3266FC;transform-origin:top center}
.tl-ic{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:64px;height:64px;box-sizing:border-box;border-radius:50%;background:#3266FC;color:#FFFFFF;border:2px solid #3266FC}
@media (min-width:1024px){.tl-ic{width:80px;height:80px}}
.tl-t{display:flex;flex-direction:column;gap:8px;padding-top:6px}
@media (min-width:1024px){.tl-t{align-items:center;max-width:22em;padding-top:0}}
@keyframes growx{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes growy{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes lightup{from{background-color:#FFFFFF;color:#3266FC}to{background-color:#3266FC;color:#FFFFFF}}
@supports (animation-timeline: view()){
  .tl-fill{animation:growx linear both;animation-timeline:--tl;animation-range:entry 100% contain 35%}
  .tl-con i{animation:growy linear both;animation-timeline:view();animation-range:entry 100% contain 30%}
  .tl-ic{animation:lightup linear both;animation-timeline:view();animation-range:entry 70% entry 100%}
  @media (min-width:1024px){
    .tl-ic{animation-timeline:--tl}
    .st1 .tl-ic{animation-range:entry 100% contain 4%}
    .st2 .tl-ic{animation-range:contain 14% contain 19%}
    .st3 .tl-ic{animation-range:contain 30% contain 35%}
  }
}

@keyframes rise{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
@supports (animation-timeline: view()){
  .reveal{animation:rise linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* --- Ajouts du site statique --- */
html{scroll-behavior:smooth}
[id]{scroll-margin-top:84px}
[hidden]{display:none!important}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.atab{background:#FFFFFF;border:1.5px solid #6E7A93;color:#070D1F}
.atab[aria-pressed="true"]{background:#3266FC;border-color:#3266FC;color:#FFFFFF}
.chip{background:#FFFFFF;border:1.5px solid #6E7A93}
.chip[aria-pressed="true"]{background:#EAF0FF;border-color:#3266FC}
.in[aria-invalid="true"]{border:2px solid #C62828}
.ferr{margin:0;font-size:15px;font-weight:500;color:#C62828}
/* Formulaire : champs obligatoires et bouton pendant l'envoi */
.req{color:#2350E0;font-weight:600}
.btn:disabled{opacity:.6;cursor:progress;transform:none}
/* Zones tactiles agrandies sans changer l'apparence (minimum 44 px) */
.chip,.lock{position:relative}
.chip::after{content:'';position:absolute;inset:-2px}
.lock::after{content:'';position:absolute;inset:-10px -4px}
nav[aria-label="Legal"] a{display:inline-block;padding-block:13px;margin-block:-13px}
label.consent{padding-block:11px;margin-block:-11px}
label.consent a{padding-block:13px}
/* Pages services */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;color:#45526F}
.crumbs a{color:#2350E0;text-underline-offset:3px;padding-block:13px;margin-block:-13px}
.hcard{min-width:0}
.alink{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:16px;color:#2350E0;text-decoration:none}
.alink:hover{text-decoration:underline;text-underline-offset:4px}
.alink svg{width:18px;height:18px}
.ogrid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
@media (min-width:768px){.ogrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.olink{box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:22px 20px;border-radius:20px;background:#FFFFFF;border:1px solid #DCE3EE;color:#070D1F;text-decoration:none;transition:border-color .2s,transform .2s}
.olink:hover{border-color:#3266FC;transform:translateY(-2px)}
.olink:focus-visible,.alink:focus-visible{outline:3px solid #070D1F;outline-offset:3px}
.olink-more{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:#2350E0}
.olink-more svg{width:18px;height:18px}
.fsvc{display:flex;flex-direction:column;align-items:flex-start}
.fsvc a{display:flex;align-items:center;min-height:44px;font-size:15px}
@media (min-width:768px){.fsvc{flex-direction:row;flex-wrap:wrap;align-items:center;gap:0 28px}.fsvc .mono{margin-right:4px}}
/* Lien d'évitement clavier (visible seulement au focus) */
.skip{position:fixed;top:12px;left:16px;z-index:100;display:inline-flex;align-items:center;height:44px;padding:0 20px;border-radius:999px;background:#3266FC;color:#FFFFFF;font-weight:600;font-size:15px;text-decoration:none;transform:translateY(-200%)}
.skip:focus{transform:none;outline:3px solid #070D1F;outline-offset:3px}
main:focus{outline:none}
/* Pages légales */
.legal-body{max-width:46em;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.legal-body h2{margin-top:22px}
.legal-body p,.legal-body ul,.legal-body ol{margin:0;font-size:17px;line-height:1.6;color:#45526F}
.legal-body ul,.legal-body ol{padding-left:1.2em;display:flex;flex-direction:column;gap:6px}
.legal-body a{color:#2350E0;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-body .legal-date{font-size:15px}
.legal-body a.btn{color:#070D1F;overflow-wrap:normal;white-space:normal;text-align:center;line-height:1.3;height:auto;min-height:44px;padding-block:10px}
.legal-body a.btn:hover{color:#070D1F}
.gfig{margin:8px 0 0;align-self:stretch}
.gfig img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #DCE3EE}
.gfig figcaption{margin-top:8px;font-size:14px;color:#45526F}
.tablewrap{align-self:stretch;overflow-x:auto}
.legal-body table{width:100%;border-collapse:collapse;font-size:16px;color:#070D1F;background:#FFFFFF;border:1px solid #DCE3EE;border-radius:12px}
.legal-body th,.legal-body td{padding:10px 14px;text-align:left;border-bottom:1px solid #DCE3EE}
.legal-body th{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#45526F;background:#F1F5FA}
.legal-body tr:last-child td{border-bottom:0}
