html{scroll-behavior:smooth}
body{margin:0;background:#F8F7F5;color:#2B2B2B;font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{color:#1B2A4A;text-decoration:none;transition:color .2s,background .2s,border-color .2s}
a:hover{color:#B8973A}
p{text-wrap:pretty}
h1,h2,h3{text-wrap:balance}
input,select,textarea,button{font-family:inherit}
[hidden]{display:none!important}
.x1:hover{color:#D4AF5A!important}
.x2:hover{background:#B8973A!important;color:#111D33!important}
.x3:hover{background:#D4AF5A!important}
.x4:hover{border-color:#B8973A!important;color:#D4AF5A!important}
.x5{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .2s}
.x5:hover{border-color:#B8973A!important;border-top-color:#1B2A4A!important;transform:translateY(-4px);box-shadow:0 18px 36px rgba(27,42,74,.10)}
.x5 .arr{display:inline-block;transition:transform .3s}
.x5:hover .arr{transform:translateX(6px)}
.x6{transition:border-color .2s,transform .35s}
.x6:hover{border-color:#B8973A!important;transform:translateY(-3px)}
.x7:focus{outline:none!important;border-color:#B8973A!important}
.hd{transition:box-shadow .3s}
.hd.scrolled{box-shadow:0 10px 30px rgba(10,18,36,.35)}
.dd{display:none;position:absolute;top:calc(100% + 16px);left:-20px;width:min(340px,calc(100vw - 24px));background:#FFFFFF;border-top:3px solid #B8973A;box-shadow:0 22px 50px rgba(10,18,36,.30);z-index:60}
.dd[data-open]{display:block;animation:ddIn .22s ease}
.ddl{position:relative;transition:background .2s}
.ddl::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#B8973A;transform:scaleY(0);transition:transform .25s ease}
.ddl:hover,.ddl:focus-visible{background:#F8F7F5;outline:none}
.ddl:hover::before,.ddl:focus-visible::before{transform:scaleY(1)}
.ddl:last-child{border-bottom:0!important}
.dda{opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s}
.ddl:hover .dda,.ddl:focus-visible .dda{opacity:1;transform:none}
.ddl:hover .ddt{color:#B8973A!important}
.ddt{transition:color .2s}
.dd[data-open] .ddl{animation:ddIn .3s ease both}
.dd[data-open] .ddl:nth-child(2){animation-delay:.04s}.dd[data-open] .ddl:nth-child(3){animation-delay:.08s}.dd[data-open] .ddl:nth-child(4){animation-delay:.12s}.dd[data-open] .ddl:nth-child(5){animation-delay:.16s}
.qo{transition:border-color .2s,background .2s,transform .2s}
.qo:hover,.qo:focus-visible{border-color:#B8973A!important;background:rgba(184,151,58,.10)!important;outline:none}
.qo:hover span:last-child{transform:translateX(4px)}
.qo span:last-child{transition:transform .2s}
[data-step]:not([hidden]){animation:ddIn .35s ease}
@keyframes ddIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes riseIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.js .hi{animation:riseIn .8s cubic-bezier(.2,.7,.2,1) both}
.js .hi2{animation-delay:.12s}
.js .hi3{animation-delay:.26s}
.js .grow{transform-origin:left;animation:grow .9s .35s cubic-bezier(.2,.7,.2,1) both}
.js [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.js [data-reveal].in{opacity:1;transform:none}
[data-d="1"]{transition-delay:.08s!important}
[data-d="2"]{transition-delay:.16s!important}
[data-d="3"]{transition-delay:.24s!important}
[data-d="4"]{transition-delay:.32s!important}
@media (max-width:700px){.cf{grid-column:auto!important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.js [data-reveal]{opacity:1;transform:none}}

/* Réseau partenaires */
@keyframes netPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(1.6);opacity:0}}
@keyframes netFlowL{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
@keyframes netFlowR{0%{right:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{right:100%;opacity:0}}
@keyframes netFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.net-node{opacity:0;transform:translateX(var(--nx,-18px));transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1),border-color .25s,box-shadow .25s;transition-delay:calc(var(--i,0)*120ms)}
.net-col.in .net-node{opacity:1;transform:none}
.net-box{transition:border-color .25s,box-shadow .25s,transform .25s}
.net-node:hover .net-box{border-color:#B8973A;box-shadow:0 8px 24px -12px rgba(27,42,74,.35);transform:translateY(-2px)}
.net-line{position:relative;transform:scaleX(0);transition:transform .7s ease;transition-delay:calc(var(--i,0)*120ms + .35s)}
.net-l .net-line{transform-origin:left}.net-r .net-line{transform-origin:right}
.net-col.in .net-line{transform:scaleX(1)}
.net-line i{position:absolute;top:-2.5px;width:6px;height:6px;border-radius:50%;background:#D4AF5A;opacity:0}
.net-col.in.net-l .net-line i{animation:netFlowL 2.4s ease-in-out infinite;animation-delay:calc(var(--i,0)*.45s + 1.2s)}
.net-col.in.net-r .net-line i{animation:netFlowR 2.4s ease-in-out infinite;animation-delay:calc(var(--i,0)*.45s + 1.4s)}
.net-hub{position:relative;animation:netFloat 6s ease-in-out infinite}
.net-hub b{position:absolute;inset:0;border-radius:50%;border:1px solid #B8973A;animation:netPulse 3s ease-out infinite}
.net-hub b+b{animation-delay:1.5s}
.net-count{font-family:'Inter',system-ui,sans-serif;letter-spacing:-0.02em;font-size:44px;line-height:1;color:#D4AF5A;font-weight:500}
@media (max-width:860px){.net-line{display:none}.net-col .net-head,.net-box{text-align:center!important}.net-col .net-head{padding:0 0 4px!important}}
@media (prefers-reduced-motion:reduce){.net-node,.net-line{opacity:1;transform:none;transition:none}.net-line i,.net-hub,.net-hub b{animation:none}}
