
@font-face{font-family:'Bebas Neue';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/f-d001f20f.woff2) format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/f-2b5e053b.woff2) format('woff2')}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/f-c0f8c879.woff2) format('woff2')}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/f-136b54dc.woff2) format('woff2')}
@font-face{font-family:'Libre Franklin';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/f-72adaf18.woff2) format('woff2')}

:root{--ink:#1C1F2E;--base:#2A2E42;--mid:#3A3E5A;--slate:#4E526E;--strip:#6A6F92;--mist:#B4B8D0;--light:#D7D9E6;--pale:#E4E5EE;--paper:#F1F2F7;--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--base);color:#fff;font-family:'Libre Franklin',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--mist);color:var(--ink)}
:focus-visible{outline:2px solid var(--mist);outline-offset:3px}
a{color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,p,ul,ol{margin:0}
h1,h2,h3,.pin .t2{text-wrap:balance}
p,li{text-wrap:pretty}
ul,ol{padding:0;list-style:none}
.bb{font-family:'Bebas Neue',sans-serif;font-weight:400;line-height:.92;letter-spacing:.01em}
.wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.sec{position:relative;padding:120px 0}
.light{background:var(--paper);color:var(--base)}
.tag{display:inline-block;text-wrap:balance;border:1px solid currentColor;padding:7px 14px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.2}
.kick{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.light .kick{color:var(--slate)}
.h2{font-size:clamp(48px,6vw,86px);margin-top:24px}
.lead{font-size:clamp(17px,1.5vw,20px);line-height:1.65;color:var(--light)}
.light .lead{color:var(--mid)}
.split2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:28px 72px;align-items:end}

/* fond quadrillé façon plan technique */
.bp{background-image:linear-gradient(rgba(180,184,208,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(180,184,208,.08) 1px,transparent 1px),linear-gradient(rgba(180,184,208,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(180,184,208,.035) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px}
.light.bp{background-image:linear-gradient(rgba(42,46,66,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(42,46,66,.07) 1px,transparent 1px),linear-gradient(rgba(42,46,66,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(42,46,66,.03) 1px,transparent 1px)}

/* en-tête */
.hdr{position:fixed;top:0;left:0;right:0;z-index:50;border-bottom:1px solid transparent;transition:background-color .45s,border-color .45s,backdrop-filter .45s}
.hdr.scrolled{background:rgba(28,31,46,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:rgba(180,184,208,.16)}
.hdr .in{max-width:1240px;margin:0 auto;padding:16px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px;transition:padding .45s}
.hdr .nav{margin-left:auto}
.hdr.scrolled .in{padding-top:10px;padding-bottom:10px}
.logo{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.logo img{width:40px;height:auto}
.logo span{font-family:'Syne',sans-serif;font-weight:700;font-size:28px;letter-spacing:.01em}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.nl{position:relative;color:var(--light);text-decoration:none;padding:6px 0;transition:color .3s}
.nl::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:#fff;transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nl:hover,.nl.on{color:#fff}
.nl:hover::after,.nl.on::after{transform:scaleX(1);transform-origin:left}
.prog{position:fixed;top:0;left:0;width:100%;height:2px;z-index:60;background:linear-gradient(90deg,var(--strip),#fff);transform-origin:left;transform:scaleX(var(--p,0))}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:0 26px;font:inherit;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;position:relative;overflow:hidden;isolation:isolate;border:1px solid transparent;cursor:pointer;transition:color .4s,border-color .4s,transform .35s var(--ease)}
.btn::before{content:"";position:absolute;top:0;bottom:0;left:-15%;width:130%;z-index:-1;transform:translateX(-102%) skewX(-14deg);transition:transform .55s var(--ease)}
.btn:hover::before,.btn:focus-visible::before{transform:translateX(0) skewX(-14deg)}
.btn .ar{display:inline-block;transition:transform .4s var(--ease)}
.btn:hover .ar{transform:translateX(6px)}
.btn-w{background:#fff;color:var(--ink)}.btn-w::before{background:var(--mist)}
.btn-o{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}.btn-o::before{background:#fff}.btn-o:hover,.btn-o:focus-visible{color:var(--ink);border-color:#fff}
.btn-d{background:var(--base);color:#fff}.btn-d::before{background:var(--slate)}
.btn-sm{min-height:42px;padding:0 18px}
.hbtn.on{background:#fff;color:var(--ink);border-color:#fff}
.lnk{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:5px}
.lnk .ar{transition:transform .4s var(--ease)}.lnk:hover .ar{transform:translateX(6px)}

/* traits et illustrations */
svg.art{overflow:visible}
.art{fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.art text{fill:currentColor;stroke:none;font-family:'Libre Franklin',sans-serif;font-size:11px;font-weight:600;letter-spacing:.08em}

/* apparition au défilement (le texte reste lisible sans JS) */
.js .rv{opacity:0;transform:translateY(42px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}
.js .draw{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s var(--ease);transition-delay:var(--dd,0s)}
.js .in .draw,.js .draw.in{stroke-dashoffset:0}
.js [data-split] .ch{display:inline-block;opacity:0;transform:translateY(.45em) rotate(4deg);transition:opacity .7s var(--ease),transform .9s var(--ease)}
.js [data-split].in .ch{opacity:1;transform:none}
[data-split] .w{display:inline-block;white-space:nowrap}

/* transition de page : trois bandes obliques */
.wipe{position:fixed;inset:0;z-index:150;pointer-events:none;display:flex;margin:0 -12%}
.wipe i{flex:1;transform:skewX(-9deg) scaleX(0);transform-origin:left;transition:transform .55s var(--ease)}
.wipe i:nth-child(1){background:var(--ink)}
.wipe i:nth-child(2){background:var(--slate);transition-delay:.07s}
.wipe i:nth-child(3){background:var(--strip);transition-delay:.14s}
.wipe.on{pointer-events:all}
.wipe.on i{transform:skewX(-9deg) scaleX(1.03)}
.wipe.out i{transform-origin:right;transform:skewX(-9deg) scaleX(0)}
.wipe img{position:absolute;left:50%;top:50%;width:auto;height:min(438px,58vh,77vw);transform:translate(-50%,-50%) scale(.94);opacity:0;transition:opacity .35s,transform .7s var(--ease)}
.wipe.on img{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.32s}
.wipe.out img{opacity:0;transform:translate(-50%,-50%) scale(1.02);transition-delay:0s;transition-duration:.25s}

.page{display:none}
.page.active{display:block}

/* héros */
.hero{position:relative;overflow:hidden;padding:150px 0 70px;min-height:820px;background-color:#22263A}
.hero .bp-layer{position:absolute;inset:-40px;pointer-events:none;z-index:0;transform:translate(calc(var(--mx,0)*-26px),calc(var(--my,0)*-18px));transition:transform .6s ease-out}
.hero>.wrap{position:relative;z-index:1}
.hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:40px;align-items:center}
.hero-grid.hg-wide{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.hero h1{font-size:clamp(72px,10.4vw,150px);margin-top:28px}
.hero h1 .ln{display:block}
.hero .lead{margin-top:26px;max-width:560px}
.specs{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:40px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.specs li{display:flex;align-items:center;gap:18px}
.specs li+li::before{content:"";width:9px;height:13px;background:var(--strip);clip-path:polygon(40% 0,100% 0,60% 100%,0 100%)}
.hero-art{position:relative;color:#fff}
.sk{display:block;width:100%;height:100%;color:inherit}
.art3d{position:relative}
.art3d .sk{-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent),linear-gradient(transparent,#000 5%,#000 95%,transparent);mask-composite:intersect}
.hero-art.art3d{width:100%;aspect-ratio:10/9}
.hero-art.sk-board{aspect-ratio:8/7;max-width:560px;justify-self:end}
.hero-art.bulbw{aspect-ratio:1/1;max-width:440px;justify-self:center}
.art3d.hs{width:100%;max-width:480px;aspect-ratio:1/1;justify-self:center;color:#fff}
.art3d.eu{width:100%;aspect-ratio:7/5;color:#fff;-webkit-mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 62%,transparent 100%);mask-image:radial-gradient(ellipse 72% 70% at 50% 50%,#000 62%,transparent 100%)}
/* défilement de mots */
.mqw{overflow:hidden;background:var(--slate);border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.mq{display:flex;width:max-content;animation:mq 46s linear infinite;padding:16px 0}
.mqw:hover .mq{animation-play-state:paused}
.mq span{font-family:'Bebas Neue',sans-serif;font-size:32px;letter-spacing:.06em;padding:0 26px;white-space:nowrap}
.mq span.o{color:transparent;-webkit-text-stroke:1px #fff}
.mq b{font-weight:400;color:var(--mist);font-family:'Bebas Neue',sans-serif;font-size:32px}
@keyframes mq{to{transform:translateX(-50%)}}

/* cartes qui s'agrandissent : texte toujours lisible */
.xrow{display:flex;gap:14px;margin-top:22px}
.xcard{flex:1 1 0;min-width:0;position:relative;display:flex;flex-direction:column;padding:26px 26px 28px;min-height:480px;background:#2F3349;border:1px solid rgba(180,184,208,.2);color:#fff;text-decoration:none;transition:flex-grow .8s var(--ease),background-color .45s,border-color .45s}
.xcard .num{font-family:'Bebas Neue',sans-serif;font-size:22px;color:var(--mist);display:flex;justify-content:space-between;align-items:center}
.xcard .num small{font-family:'Libre Franklin',sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em}
.xcard .ill-box{height:168px;margin:14px 0 18px;display:flex;align-items:center;justify-content:center;color:#fff}
.xcard .ill-box .sk{width:100%;height:100%}
.xcard h3{font-size:19px;font-weight:700;line-height:1.3;min-height:2.6em}
.xcard .sum{margin-top:10px;font-size:15px;line-height:1.6;color:var(--light)}
.xcard .more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .7s var(--ease),opacity .5s,margin .5s}
.xcard .more>div{overflow:hidden}
.measuring,.measuring *{transition:none!important}
.xcard.mopen .more{grid-template-rows:1fr;opacity:1;margin-top:16px;transition:none}
.xcard .more ul{display:flex;flex-direction:column;gap:8px;padding-top:4px}
.xcard .more li{position:relative;padding-left:20px;font-size:14px;line-height:1.5;color:var(--pale)}
.xcard .more li::before{content:"";position:absolute;left:0;top:5px;width:8px;height:11px;background:var(--mist);clip-path:polygon(40% 0,100% 0,60% 100%,0 100%)}
.xcard .go{margin-top:auto;padding-top:16px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:10px}
.xcard .go .ar{transition:transform .4s var(--ease)}
@media (hover:hover) and (min-width:981px){
.xrow:hover .xcard{flex-grow:.85}
.xrow .xcard:hover,.xrow .xcard:focus-visible{flex-grow:1.75;background:var(--mid);border-color:var(--mist)}
.xcard:hover .more,.xcard:focus-visible .more{grid-template-rows:1fr;opacity:1;margin-top:16px}
.xcard:hover .go .ar{transform:translateX(6px)}
.xcard:hover .ill-box .boost{animation-duration:2.5s}
}

/* mécanisme (méthode) */
.mech{position:relative;background-color:var(--base);padding:120px 0 140px}
.mgrid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:40px 72px;align-items:stretch}
.mfig{position:relative;color:#fff}
.mstick{position:relative;top:0;width:100%;aspect-ratio:13/10;max-height:420px}
.msteps{display:flex;flex-direction:column;margin-top:44px;border-bottom:1px solid rgba(180,184,208,.22)}
.mstep{display:grid;grid-template-columns:68px minmax(0,1fr);gap:8px 18px;align-items:baseline;padding:40px 0 44px;border-top:1px solid rgba(180,184,208,.22);transition:opacity .6s var(--ease)}
.mstep .mn{font-size:46px;line-height:.9;color:var(--strip);transition:color .6s}
.mstep h3{font-size:clamp(30px,2.6vw,36px);line-height:1}
.mstep p{margin-top:12px;font-size:16px;line-height:1.65;color:var(--light);max-width:460px}
.js .mstep{opacity:.5}
.js .mstep.now{opacity:1}
.mstep.now .mn{color:#fff}

/* chiffres */
.stat{font-family:'Bebas Neue',sans-serif;font-size:clamp(64px,7vw,96px);line-height:.9}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:2px;background:rgba(255,255,255,.18);margin-top:56px}
.figs>div{background:var(--slate);padding:32px 28px 36px}
.figs .lab{margin-top:8px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.figs .txt{margin-top:12px;font-size:15px;line-height:1.6;color:var(--pale)}

/* carte du monde */
.map{position:relative;margin-top:56px}
.map svg{width:100%;height:auto;display:block}
.map .land{fill:url(#dots)}
.map .arc{fill:none;stroke:var(--mist);stroke-width:1.2}
.map .flow{fill:none;stroke:#fff;stroke-width:1.6;stroke-dasharray:3 9;animation:flow 1.6s linear infinite;opacity:.9}
@keyframes flow{to{stroke-dashoffset:-24}}
.map .dot{fill:#fff}
.map .city{fill:var(--mist)}
.pin{position:absolute;transform:translate(16px,-50%);background:rgba(28,31,46,.88);border:1px solid rgba(180,184,208,.45);padding:12px 16px;min-width:150px;backdrop-filter:blur(6px)}
.pin.l{transform:translate(calc(-100% - 16px),-50%)}
.pin.t{transform:translate(-50%,calc(-100% - 18px))}
.pin .n{font-family:'Bebas Neue',sans-serif;font-size:44px;line-height:.9}
.pin .t2{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--light);margin-top:4px}
/* blocs de service (page Services) */
.svc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px 72px;align-items:center;padding:70px 0;border-top:1px solid currentColor}
.svc.rev .figbox{order:2}
.figbox{position:relative;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;padding:34px;border:1px solid rgba(180,184,208,.35)}
.light .figbox{border-color:rgba(42,46,66,.3)}
.figbox::before,.figbox::after{content:"";position:absolute;width:18px;height:18px;border:2px solid currentColor}
.figbox::before{top:-1px;left:-1px;border-right:0;border-bottom:0}
.figbox::after{bottom:-1px;right:-1px;border-left:0;border-top:0}
.figbox .sk{width:100%;height:100%}
.svc .big-num{font-family:'Bebas Neue',sans-serif;font-size:110px;line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--strip)}
.svc h3{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:clamp(38px,4vw,54px);line-height:.95;margin-top:18px}
.svc .prom{margin-top:16px;font-size:19px;line-height:1.55}
.bl{display:flex;flex-direction:column;gap:11px}
.bl li{position:relative;padding-left:26px;font-size:16px;line-height:1.6}
.bl li::before{content:"";position:absolute;left:0;top:6px;width:10px;height:14px;background:var(--mist);clip-path:polygon(40% 0,100% 0,60% 100%,0 100%)}
.light .bl li::before{background:var(--slate)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span{border:1px solid currentColor;padding:8px 12px;font-size:13px;font-weight:600;opacity:.9}
.note{padding:16px 18px;font-size:15px;line-height:1.6;background:rgba(255,255,255,.07)}
.light .note{background:#E4E5EE}
.pole-h{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px 64px;align-items:end;padding-bottom:40px}
.pole-h .pn{font-family:'Bebas Neue',sans-serif;font-size:26px;color:var(--mist)}
.light .pole-h .pn{color:var(--slate)}
.pole-h h2{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:clamp(64px,8vw,120px);line-height:.9;margin-top:6px}

/* cartes simples */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:20px;margin-top:56px}
.card{position:relative;display:flex;flex-direction:column;gap:14px;padding:34px 30px;border:1px solid rgba(180,184,208,.25);background:#2F3349;color:inherit;text-decoration:none;transition:transform .55s var(--ease),background-color .4s,border-color .4s,box-shadow .55s}
.card:hover{transform:translateY(-6px);border-color:var(--mist);background:var(--mid)}
.light .card{background:#fff;border-color:#D7D9E6}
.light .card:hover{background:#fff;border-color:var(--slate);box-shadow:0 24px 46px -24px rgba(42,46,66,.5)}
.card .ico{width:56px;height:56px;color:currentColor}
.card h3{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:38px;line-height:.95}
.card p{font-size:15px;line-height:1.65;color:var(--light)}
.light .card p{color:var(--slate)}
.card .go{margin-top:auto;padding-top:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}

/* bandeaux obliques */
.slant-top{clip-path:polygon(0 70px,100% 0,100% 100%,0 100%);margin-top:-70px;padding-top:150px}
.chev{display:flex;gap:8px;margin:56px 0 0}
.chev>div{position:relative;flex:1 1 0;min-width:0;padding:30px 28px 34px;transition:flex-grow .7s var(--ease),background-color .4s}
.chev>div::after{content:"";position:absolute;left:28px;right:28px;bottom:18px;height:2px;background:var(--mist);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.chev>div:hover::after{transform:scaleX(1)}
@media (hover:hover) and (min-width:981px){.chev>div:hover{flex-grow:1.45}}

/* pied de page */
.foot{background:var(--ink);color:var(--light);padding:80px 0 34px}
.foot .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:40px}
.foot .brand{display:inline-flex;flex-direction:column;align-items:center;width:180px}
.foot img.full{width:180px}
.foot .tagl{margin-top:16px;font-size:24px;letter-spacing:.07em;margin-right:-.07em;color:#fff;white-space:nowrap;line-height:1}
.foot .h{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--mist)}
.foot ul{display:flex;flex-direction:column;gap:10px;margin-top:16px;font-size:14px}
.foot .bot{margin-top:60px;padding-top:22px;border-top:1px solid rgba(180,184,208,.2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--mist)}

@media (hover:none),(max-width:980px){.hov-only{display:none}}
/* pages légales */
.legal{max-width:860px}
.legal h2{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:clamp(30px,3vw,38px);line-height:1;margin:52px 0 16px;color:var(--base)}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{font-size:16px;line-height:1.7;color:var(--mid)}
.legal p+p,.legal ul+p,.legal dl+p{margin-top:14px}
.legal ul{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.legal li{position:relative;padding-left:24px}
.legal li::before{content:"";position:absolute;left:0;top:7px;width:9px;height:13px;background:var(--slate);clip-path:polygon(40% 0,100% 0,60% 100%,0 100%)}
.legal a{color:var(--base);text-decoration:underline;text-underline-offset:3px}
.legal dl{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);margin:16px 0 0;border-top:1px solid #D7D9E6}
.legal dt,.legal dd{margin:0;padding:12px 0;border-bottom:1px solid #D7D9E6;font-size:15px;line-height:1.55}
.legal dt{font-weight:700;color:var(--base);padding-right:20px}
.legal dd{color:var(--mid)}
.legal .upd{margin-top:52px;font-size:13px;color:var(--slate)}
.foot .bot a.nl{color:var(--mist);padding:0}
/* formulaire */
.span2{grid-column:span 2}
.fld{width:100%;min-height:50px;padding:12px 14px;background:rgba(255,255,255,.04);border:1px solid rgba(180,184,208,.5);border-radius:0;color:#fff;font:inherit;font-size:16px;transition:border-color .3s,background-color .3s}
.fld:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.08)}
.fld::placeholder{color:#9A9EB8}
select.fld{-webkit-appearance:none;appearance:none;cursor:pointer;color-scheme:dark;background-color:#2F3349;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px,6px 6px;background-repeat:no-repeat}
select.fld:focus{background-color:#353A52}
select.fld option{background-color:#2A2E42;color:#fff}
label.lb{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pale)}
.faq{border-bottom:1px solid var(--base)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:26px 0;font-size:19px;font-weight:700;line-height:1.4;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq .pl{font-family:'Bebas Neue',sans-serif;font-size:38px;line-height:1;color:var(--slate);transition:transform .45s var(--ease)}
.faq[open] .pl{transform:rotate(45deg)}
.faq p{padding:0 0 26px;font-size:16px;line-height:1.7;color:var(--mid)}

/* adaptation tablette et mobile */
@media (max-width:980px){
.span2{grid-column:auto}
#cform,#cform-ok,#iform,#iform-ok{padding:32px 24px!important}
.hero{padding-top:170px}
.hero-grid,.hero-grid.hg-wide{grid-template-columns:1fr}
.hero-art{max-width:620px}
.hero-art.sk-board,.hero-art.bulbw{justify-self:start}
.xrow{flex-direction:column}
.xcard{flex:none;min-height:0}
.xcard h3{min-height:0}
.xcard .more{grid-template-rows:1fr;opacity:1;margin-top:16px}
.mgrid{grid-template-columns:1fr}
.mstick{max-width:560px;margin:0 auto}
.js .mstep{opacity:1}
.mstep .mn{color:var(--mist)}
.svc{grid-template-columns:1fr}
.svc.rev .figbox{order:0}
.chev{flex-direction:column}
.pin{min-width:0;padding:8px 10px}
.pin .n{font-size:30px}
.pin .t2{font-size:10px}
}
@media (max-width:860px){
.hdr .in{gap:8px 12px;padding-top:12px;padding-bottom:10px}
.hdr.scrolled .in{padding-top:8px;padding-bottom:6px}
.logo img{width:32px}
.logo span{font-size:23px}
.hbtn{margin-left:auto;min-height:36px;padding:0 12px;font-size:11px;gap:8px}
.hdr .nav{order:3;width:100%;margin-left:0;justify-content:flex-start;gap:4px 28px;font-size:11px;letter-spacing:.08em}
.hdr .nav .nl{padding:4px 0}
}
@media (max-width:640px){
.legal dl{grid-template-columns:1fr}
.legal dt{border-bottom:0;padding-bottom:0}
.hdr .nav{justify-content:space-between;gap:4px 12px}
.sec{padding:90px 0}
.pin{display:none}
.specs{gap:8px 16px}
.specs li{gap:0}
.specs li+li::before{display:none}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
.js .rv{opacity:1;transform:none}
}

.hp{position:absolute!important;top:0;left:0;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;opacity:0;pointer-events:none}
#cform{position:relative}
.btn[disabled]{cursor:progress;opacity:.7}
.btn[disabled]::before{transform:translateX(-102%) skewX(-14deg)!important}
.cerr{margin-top:18px;padding:14px 16px;border-left:3px solid #F2B8B5;background:rgba(242,184,181,.08);font-size:15px;line-height:1.55;color:#fff}
.cerr a{color:#fff}
.cok:focus{outline:none}
.chk{display:flex;align-items:flex-start;gap:14px}
.chk input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:#B4B8D0;cursor:pointer}
.chk label{font-size:14px;line-height:1.55;color:var(--pale);cursor:pointer}


/* --- pages séparées --- */
.page{display:block}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:84px}
.svc h2{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:clamp(38px,4vw,54px);line-height:.95;margin-top:18px}
.crumb{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mist)}
.crumb a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;margin-top:48px}
.rel .card h3{font-family:'Bebas Neue',sans-serif;font-weight:400;font-size:30px;line-height:1}
.chev>div p{overflow-wrap:break-word}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (max-width:480px){.hdr .nav{gap:4px 8px;letter-spacing:.02em;justify-content:space-between}}
@media (max-width:380px){.hdr .nav{letter-spacing:0;gap:4px 6px;font-size:10.5px}}
