@font-face{font-family:'Syne';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/syne-400.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/syne-600.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/syne-700.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/syne-800.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/archivo-400.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/archivo-500.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/archivo-600.woff2') format('woff2')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/space-mono-400.woff2') format('woff2')}
@font-face{font-family:'Space Mono';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/space-mono-700.woff2') format('woff2')}

:root{
--bg:#05070e;--bg2:#070a14;--panel:rgba(150,175,235,.045);--panel-2:rgba(150,175,235,.07);
--white:#EAF0FF;--silver:#9fb0d4;--mute:#5c6889;--line:rgba(150,175,235,.14);--line-2:rgba(150,175,235,.26);
--acc:#2F6BFF;--acc2:#6f9bff;--glow:rgba(47,107,255,.6);--glow-soft:rgba(47,107,255,.16);
--d:"Syne",sans-serif;--b:"Archivo",sans-serif;--m:"Space Mono",monospace;
--gap:clamp(18px,4vw,80px);--maxw:1440px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--white);font-family:var(--b);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;position:relative;padding-bottom:46px;padding-top:42px}
@media(pointer:fine){body{cursor:none}body a,body button{cursor:none}}
#bg{position:fixed;inset:0;z-index:-3;display:block}
.scan{position:fixed;inset:0;z-index:-2;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,0) 0 2px,rgba(0,0,0,.22) 2px 4px);mix-blend-mode:multiply;opacity:.5}
.grain{position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.vig{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(120% 90% at 50% 0%,transparent 55%,rgba(2,3,8,.85) 100%)}
::selection{background:var(--acc);color:#fff}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gap)}





.prog{position:fixed;top:42px;left:0;right:0;height:2px;z-index:300;background:transparent}
.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));box-shadow:0 0 12px var(--glow)}
.fab{position:fixed;right:18px;bottom:62px;z-index:260;display:flex;flex-direction:column;gap:10px}
.fab button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line-2);background:rgba(8,11,22,.7);backdrop-filter:blur(8px);color:var(--silver);display:flex;align-items:center;justify-content:center;transition:.3s;font-family:var(--m);font-size:15px}
.fab button:hover{border-color:var(--acc);color:#fff;box-shadow:0 0 18px var(--glow-soft)}
.fab #music.on{color:var(--acc2);box-shadow:0 0 18px var(--glow-soft)}
.fab #top{opacity:0;transform:translateY(14px) scale(.7);pointer-events:none}
.fab #top.show{opacity:1;transform:none;pointer-events:auto}
.fab #top svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.curtain{position:fixed;inset:0;z-index:9995;background:linear-gradient(180deg,#070a14,#0b1020);transform:translateY(100%);pointer-events:none;display:flex;align-items:center;justify-content:center;border-top:2px solid var(--acc);box-shadow:0 0 40px var(--glow)}
.curtain svg{width:74px;height:74px;filter:drop-shadow(0 0 18px var(--glow));opacity:.9}
.curtain.run{animation:wipe .8s cubic-bezier(.7,0,.3,1) forwards}
@keyframes wipe{0%{transform:translateY(100%)}45%{transform:translateY(0)}55%{transform:translateY(0)}100%{transform:translateY(-100%)}}
#intro{position:fixed;inset:0;z-index:9998;background:var(--bg);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;transition:opacity .7s ease,visibility .7s}
#intro.gone{opacity:0;visibility:hidden}
#intro svg{width:96px;height:96px;filter:drop-shadow(0 0 18px var(--glow))}
#intro path{fill:#EAF0FF;fill-opacity:0;stroke:#EAF0FF;stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.25s cubic-bezier(.7,0,.3,1) forwards,fillin .5s ease 1.1s forwards}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fillin{to{fill-opacity:1}}
#intro .iw{font-family:var(--m);font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--mute);opacity:0;animation:fadein .6s ease 1.2s forwards}
@keyframes fadein{to{opacity:1}}
header{position:fixed;top:42px;left:0;right:0;z-index:200;transition:transform .5s ease,background .4s,border-color .4s;border-bottom:1px solid transparent}
header.scrolled{background:rgba(5,7,14,.7);backdrop-filter:blur(12px);border-color:var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:74px}
.brand{display:flex;align-items:center;gap:12px}
.brand svg{width:30px;height:30px;filter:drop-shadow(0 0 8px var(--glow-soft))}
.brand .nm{font-family:var(--d);font-weight:800;font-size:20px;letter-spacing:.04em}
nav{display:flex;gap:26px;align-items:center}
nav a{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);position:relative;padding:4px 0;transition:color .3s}
nav a::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:0;background:var(--acc);box-shadow:0 0 8px var(--glow);transition:width .35s}
nav a:hover{color:#fff}nav a:hover::after,nav a.active::after{width:100%}nav a.active{color:#fff}
.hcta{border:1px solid var(--acc);background:var(--acc);color:#fff!important;padding:11px 20px;border-radius:40px;box-shadow:0 0 22px var(--glow-soft)}
.hcta::after{display:none!important}.hcta:hover{background:transparent;color:var(--acc2)!important}
.menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;padding:8px}
.menu-btn span{width:24px;height:2px;background:#fff;transition:.3s}
.mob{position:fixed;inset:0;z-index:199;background:rgba(5,7,14,.97);backdrop-filter:blur(8px);display:flex;flex-direction:column;justify-content:safe center;gap:6px;padding:calc(90px + env(safe-area-inset-top)) var(--gap) calc(48px + env(safe-area-inset-bottom));overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateY(-100%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
.mob.open{transform:none}
.mob a{flex-shrink:0;font-family:var(--d);font-weight:700;font-size:clamp(24px,6.5vw,36px);color:var(--silver);padding:9px 0;border-bottom:1px solid var(--line);transition:.3s}
.mob a:hover{color:var(--acc2);padding-left:10px}
.eye{font-family:var(--m);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--acc2);display:inline-flex;align-items:center;gap:12px}
.eye::before{content:"";width:30px;height:1px;background:var(--acc);box-shadow:0 0 8px var(--glow)}
.disp{font-family:var(--d);font-weight:800;line-height:.96;letter-spacing:-.02em}
h2.disp{font-size:clamp(34px,5.6vw,80px)}
.muted{color:var(--silver)}
.ac{color:var(--acc2);text-shadow:0 0 26px var(--glow)}
.rv{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}.rv.d4{transition-delay:.32s}
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--m);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:16px 26px;border-radius:44px;border:1px solid var(--line-2);transition:border-color .35s,background .35s,color .35s,box-shadow .35s;background:transparent;color:#fff;will-change:transform}
.btn .ar{transition:transform .35s}.btn:hover .ar{transform:translate(4px,-4px)}
.btn.fill{background:var(--acc);border-color:var(--acc);box-shadow:0 0 30px var(--glow-soft)}
.btn.fill:hover{background:transparent;color:var(--acc2)}
.btn.ghost:hover{border-color:var(--acc);color:var(--acc2);box-shadow:0 0 24px var(--glow-soft)}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.cta-row.center{justify-content:center}
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 0 80px;position:relative}
.hero .eye{margin-bottom:30px}
.hero h1{font-family:var(--d);font-weight:800;line-height:.92;letter-spacing:-.03em;font-size:clamp(52px,11vw,168px)}
.line{display:block;overflow:hidden}
.line span{display:block;transform:translateY(110%);transition:transform 1s cubic-bezier(.16,1,.3,1)}
body.loaded .line span{transform:none}
body.loaded .line:nth-child(2) span{transition-delay:.08s}
body.loaded .line:nth-child(3) span{transition-delay:.16s}
.hero .sub{margin-top:34px;max-width:54ch;color:var(--silver);font-size:clamp(15px,1.6vw,18px);opacity:0;transform:translateY(20px);transition:.9s ease .5s}
body.loaded .hero .sub{opacity:1;transform:none}
.hero .cta-row{opacity:0;transform:translateY(20px);transition:.9s ease .65s}
body.loaded .hero .cta-row{opacity:1;transform:none}
.scrollcue{position:absolute;bottom:30px;left:var(--gap);font-family:var(--m);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:12px;opacity:0;transition:.9s ease 1s}
body.loaded .scrollcue{opacity:1}
.scrollcue .l{width:1px;height:46px;background:linear-gradient(var(--acc),transparent);position:relative;overflow:hidden}
.scrollcue .l::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--acc2);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{to{top:120%}}
section{padding:clamp(80px,10vw,150px) 0;position:relative}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:60px}
.sec-head h2{max-width:15ch}
.sec-head .eye{margin-bottom:18px}
.phero{padding:160px 0 40px}
.phero .eye{margin-bottom:24px}
.phero h1{font-family:var(--d);font-weight:800;font-size:clamp(44px,8.5vw,120px);line-height:.94;letter-spacing:-.03em}
.phero .sub{margin-top:26px;max-width:60ch;color:var(--silver);font-size:17px}
.crumb{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:22px}
.crumb a:hover{color:var(--acc2)}
.stats{border-block:1px solid var(--line);background:linear-gradient(90deg,transparent,var(--glow-soft),transparent)}
.stats .grid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:clamp(34px,4vw,64px) 26px;border-right:1px solid var(--line)}
.stat:last-child{border-right:none}
.stat .n{font-family:var(--d);font-weight:800;font-size:clamp(40px,5.5vw,76px);line-height:1;letter-spacing:-.03em;white-space:nowrap}
.stat .n .u{color:var(--acc2)}
.stat .t{margin-top:14px;font-family:var(--m);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tile{position:relative;border:1px solid var(--line);border-radius:18px;padding:30px 28px 32px;background:var(--panel);overflow:hidden;transition:border-color .4s,transform .5s;display:flex;flex-direction:column;gap:22px;min-height:300px;height:100%}
.tile::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 0% 0%,var(--glow-soft),transparent 55%);opacity:0;transition:opacity .5s}
.tile:hover{border-color:var(--acc);transform:translateY(-6px)}
.tile:hover::before{opacity:1}
.tile .tn{font-family:var(--m);font-size:12px;color:var(--acc2);letter-spacing:.2em}
.frame{border:1.6px solid var(--line-2);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.3);width:104px}
.frame .fb{display:flex;gap:7px;padding:9px 11px;border-bottom:1.6px solid var(--line-2)}
.frame .fb i{width:7px;height:7px;border-radius:50%;background:var(--silver);display:block}
.frame .fs{padding:18px;display:flex;align-items:center;justify-content:center;min-height:64px}
.frame .fs svg{width:100%;max-width:64px}
.ic{fill:none;stroke:var(--acc2);stroke-width:6.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px var(--glow))}
.tile h3{font-family:var(--d);font-weight:700;font-size:clamp(20px,2.1vw,26px);line-height:1.04}
.tile p{font-size:14px;color:var(--silver)}
.tile .more{margin-top:auto;font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--silver);display:inline-flex;gap:8px;transition:.3s}
.tile:hover .more{color:var(--acc2)}
.hpin{height:360vh;position:relative}
.hsticky{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.hbar{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:0 var(--gap);margin-bottom:30px}
.hbar h2{max-width:14ch}
.htrack{display:flex;gap:24px;padding:0 var(--gap);will-change:transform}
.wcard{flex:0 0 auto;width:clamp(280px,42vw,560px);border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);transition:border-color .4s}
.wcard:hover{border-color:var(--acc)}
.work-grid2 .wcard{width:auto}
.wframe{margin:20px 20px 0;border:1.4px solid var(--line-2);border-radius:12px;overflow:hidden;background:#070a14}
.wdots{display:flex;gap:6px;padding:10px 12px;border-bottom:1.4px solid var(--line-2)}
.wdots i{width:7px;height:7px;border-radius:50%;background:var(--silver);display:block}
.wscreen{padding:22px;display:flex;flex-direction:column;gap:9px;aspect-ratio:16/10;justify-content:center}
.wscreen b{height:14px;border-radius:4px;background:rgba(150,175,235,.5);width:55%;display:block}
.wscreen u{height:7px;border-radius:4px;background:rgba(150,175,235,.22);display:block}
.wscreen .row{display:flex;gap:9px;margin-top:6px}
.wscreen .row em{flex:1;height:46px;border-radius:6px;background:rgba(150,175,235,.13)}
.wscreen .acc{height:26px;width:96px;border-radius:6px;background:var(--acc);box-shadow:0 0 18px var(--glow-soft);margin-top:4px}
.wmeta{display:flex;justify-content:space-between;align-items:center;padding:18px 22px 22px}
.wmeta h3{font-family:var(--d);font-weight:800;font-size:clamp(20px,2.4vw,32px);line-height:1}
.wmeta span{display:block;font-family:var(--m);font-size:11px;letter-spacing:.1em;color:var(--mute);text-transform:uppercase;margin-top:8px}
.wmeta .arr{font-size:22px;color:var(--silver);transition:.4s}
.wcard:hover .arr{color:var(--acc2);transform:translate(5px,-5px)}
.wpill{display:inline-block;font-family:var(--m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2);border:1px solid var(--line-2);border-radius:30px;padding:5px 11px;margin:18px 0 -4px 22px}
.hprog{margin:26px var(--gap) 0;height:2px;background:var(--line);position:relative}
.hprog i{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));box-shadow:0 0 10px var(--glow)}
.work-grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.offres{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.offre{position:relative;border:1px solid var(--line);border-radius:18px;padding:clamp(26px,2.6vw,38px);background:var(--panel);display:flex;flex-direction:column;min-height:300px;transition:.4s}
.offre:hover{border-color:var(--line-2);transform:translateY(-6px)}
.offre.feat{border-color:var(--acc);background:radial-gradient(80% 50% at 50% 0%,var(--glow-soft),transparent 60%),var(--panel-2)}
.offre .badge{align-self:flex-start;font-family:var(--m);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--silver);border:1px solid var(--line-2);border-radius:30px;padding:6px 13px}
.offre.feat .badge{background:var(--acc);border-color:var(--acc);color:#fff}
.offre .on{font-family:var(--d);font-weight:700;font-size:22px;margin:18px 0 4px}
.offre .op{font-family:var(--d);font-weight:800;font-size:48px;line-height:1;margin:12px 0}
.offre .op small{display:block;font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:400;margin-bottom:6px}
.offre ul{list-style:none;margin:14px 0 24px;flex:1}
.offre li{padding:10px 0;border-top:1px solid var(--line);font-size:14px;color:var(--silver);display:flex;gap:12px}
.offre li::before{content:"\2713";color:var(--acc2)}
.more2{margin-top:auto;font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc2)}
.cmp{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}
.cmp-top{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid var(--line)}
.cmp-tabs{display:flex;gap:8px;flex-wrap:wrap}
.cmp-tab{font-family:var(--m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);border:1px solid var(--line-2);background:transparent;border-radius:30px;padding:9px 16px;transition:.3s}
.cmp-tab:hover{color:#fff;border-color:var(--acc)}
.cmp-tab.on{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 0 20px var(--glow-soft)}
.cmp-scroll{overflow-x:auto}
table.tbl{width:100%;border-collapse:collapse;min-width:560px}
.tbl th,.tbl td{padding:16px 18px;text-align:center;border-bottom:1px solid var(--line);font-size:14px}
.tbl th:first-child,.tbl td:first-child{text-align:left;color:var(--silver);font-family:var(--m);font-size:12px;letter-spacing:.04em;text-transform:uppercase}
.tbl thead th{font-family:var(--d);font-weight:700;font-size:16px;color:#fff;text-transform:none}
.tbl thead th small{display:block;font-family:var(--m);font-size:11px;color:var(--mute);letter-spacing:.04em;margin-top:4px;font-weight:400}
.tbl .yes{color:var(--acc2);font-size:16px;text-shadow:0 0 10px var(--glow)}
.tbl .no{color:var(--mute)}
.tbl td.col{transition:background .3s,box-shadow .3s}
.cmp[data-on="ess"] .col-ess,.cmp[data-on="pro"] .col-pro,.cmp[data-on="sur"] .col-sur{background:var(--glow-soft);box-shadow:inset 0 0 0 1px rgba(47,107,255,.35)}
.tbl tfoot td{padding:20px 18px}
.tbl .pr{font-family:var(--d);font-weight:800;font-size:26px}
.tbl .pr small{display:block;font-family:var(--m);font-size:10px;color:var(--mute);letter-spacing:.1em;font-weight:400}
.svc-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center}
.svc-hero .frame{width:auto;max-width:300px;margin-left:auto}
.svc-hero .frame .fs{min-height:160px}.svc-hero .frame .fs svg{max-width:120px}
.incl{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;border-top:1px solid var(--line)}
.incl div{padding:16px 4px;border-bottom:1px solid var(--line);display:flex;gap:14px;color:var(--silver);font-size:15px}
.incl div::before{content:"\2713";color:var(--acc2);text-shadow:0 0 8px var(--glow)}
.vals{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.val{border:1px solid var(--line);border-radius:18px;padding:30px 26px;background:var(--panel)}
.val .vn{font-family:var(--m);font-size:12px;color:var(--acc2);letter-spacing:.2em}
.val h3{font-family:var(--d);font-weight:700;font-size:19px;margin:14px 0 10px}
.val p{color:var(--silver);font-size:14px}
.svc-nav{display:flex;flex-wrap:wrap;gap:10px}
.svc-nav a{font-family:var(--m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);border:1px solid var(--line);border-radius:30px;padding:9px 15px;transition:.3s}
.svc-nav a:hover,.svc-nav a.on{border-color:var(--acc);color:#fff;box-shadow:0 0 18px var(--glow-soft)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.step{padding:30px 22px 36px 0;border-right:1px solid var(--line)}.step:last-child{border-right:none}
.step .n{font-family:var(--d);font-weight:800;font-size:42px;color:var(--acc2);border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:16px;text-shadow:0 0 18px var(--glow)}
.step h3{font-family:var(--d);font-weight:700;font-size:17px;margin-bottom:10px}
.step p{font-size:13.5px;color:var(--silver)}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.mem{border:1px solid var(--line);border-radius:18px;padding:30px 26px;background:var(--panel);text-align:center;transition:border-color .4s,transform .5s}
.mem:hover{border-color:var(--acc);transform:translateY(-5px)}
.av{width:84px;height:84px;border-radius:50%;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;font-family:var(--d);font-weight:800;font-size:26px;color:var(--acc2);border:1.5px solid var(--acc);box-shadow:0 0 26px var(--glow-soft),inset 0 0 22px var(--glow-soft)}
.mem h3{font-family:var(--d);font-weight:700;font-size:20px}
.mem .role{font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc2);margin:6px 0 12px}
.mem p{color:var(--silver);font-size:14px}
.manifesto p{font-family:var(--d);font-weight:600;font-size:clamp(26px,4.2vw,52px);line-height:1.18;max-width:20ch}
.manifesto em{color:var(--acc2);font-style:normal;text-shadow:0 0 24px var(--glow)}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,70px);align-items:center}
.about-grid p{color:var(--silver);margin-bottom:16px}
.about-vis{border:1px solid var(--line);border-radius:18px;aspect-ratio:1;position:relative;overflow:hidden;background:radial-gradient(70% 70% at 50% 40%,var(--glow-soft),transparent 60%),var(--panel)}
.about-vis .ring{position:absolute;border:1px solid var(--line-2);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}
.tmarq{overflow:hidden;border-block:1px solid var(--line);padding:34px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.tmarq-track{display:flex;gap:20px;width:max-content;animation:marq 40s linear infinite}
.tmarq:hover .tmarq-track{animation-play-state:paused}
.tq{flex:0 0 auto;width:380px;border:1px solid var(--line);border-radius:16px;padding:26px;background:var(--panel)}
.tq .st{letter-spacing:.3em;color:var(--acc2);text-shadow:0 0 8px var(--glow);margin-bottom:14px}
.tq p{font-family:var(--d);font-weight:600;font-size:18px;line-height:1.4;color:#fff}
.tq .who{margin-top:16px;font-family:var(--m);font-size:11px;letter-spacing:.06em;color:var(--mute);text-transform:uppercase}
@keyframes marq{to{transform:translateX(-50%)}}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.post{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);display:flex;flex-direction:column;transition:.4s}
.post:hover{border-color:var(--acc);transform:translateY(-5px)}
.post .ph{aspect-ratio:16/10;background:radial-gradient(70% 70% at 30% 20%,var(--glow-soft),transparent 60%),var(--panel-2);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}
.post .ph svg{width:34%}.post .ph .ic{stroke-width:5}
.post .pb{padding:24px}
.post .date{font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--acc2)}
.post h3{font-family:var(--d);font-weight:700;font-size:19px;margin:12px 0 10px;line-height:1.1}
.post p{font-size:14px;color:var(--silver)}
.article{max-width:760px}
.article p{color:var(--silver);font-size:16.5px;line-height:1.8;margin-bottom:20px}
.article h2{font-family:var(--d);font-weight:700;font-size:24px;margin:40px 0 16px}
.article blockquote{border-left:2px solid var(--acc);padding-left:20px;font-family:var(--d);font-weight:600;font-size:22px;color:#fff;margin:28px 0}
.rdv-box{border:1px solid var(--line-2);border-radius:18px;background:radial-gradient(70% 100% at 50% 0%,var(--glow-soft),transparent 60%),var(--panel);padding:clamp(30px,4vw,56px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.rdv-box .big{font-family:var(--d);font-weight:800;font-size:clamp(26px,4vw,44px);line-height:1}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(34px,5vw,70px);align-items:start}
.info{margin-top:30px;border-top:1px solid var(--line)}
.info div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.info div span:first-child{font-family:var(--m);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.info a:hover{color:var(--acc2)}
.form{border:1px solid var(--line-2);border-radius:18px;overflow:hidden;background:var(--panel)}
.form input,.form select,.form textarea{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);padding:17px 20px;color:#fff;font-family:var(--b);font-size:15px;outline:none}
.form textarea{min-height:120px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:var(--mute)}
.form input:focus,.form select:focus,.form textarea:focus{background:var(--panel-2);box-shadow:inset 0 -2px 0 var(--acc)}
.form select{color:var(--silver)}
.form .send{width:100%;background:var(--acc);color:#fff;border:none;padding:19px;font-family:var(--m);font-size:12px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.3s;box-shadow:0 0 26px var(--glow-soft)}
.form .send:hover{filter:brightness(1.12)}
.legal{max-width:780px}
.legal h2{font-family:var(--d);font-weight:700;font-size:22px;margin:36px 0 14px}
.legal h2:first-child{margin-top:0}
.legal p,.legal li{color:var(--silver);font-size:15px;margin-bottom:12px}
.legal ul{padding-left:20px}.legal a{color:var(--acc2)}
.legal .note{border:1px solid var(--line);border-radius:12px;padding:16px 18px;font-family:var(--m);font-size:12px;color:var(--mute);background:var(--panel)}
.notfound{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:24px}
.notfound .code{font-family:var(--d);font-weight:800;font-size:clamp(120px,26vw,360px);line-height:.8;background:linear-gradient(180deg,var(--white),var(--acc));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 60px var(--glow-soft)}
.cta-band{position:relative;text-align:center;border-block:1px solid var(--line);background:radial-gradient(60% 120% at 50% 0%,var(--glow-soft),transparent 60%)}
.cta-band .eye{justify-content:center}
.cta-band h2{font-family:var(--d);font-weight:800;font-size:clamp(38px,7vw,108px);line-height:.96;letter-spacing:-.02em;margin:22px auto 4px;max-width:16ch}
footer{border-top:1px solid var(--line);padding:70px 0 40px}
.ftop{display:flex;justify-content:space-between;gap:36px;flex-wrap:wrap;padding-bottom:40px;border-bottom:1px solid var(--line)}
.fbig{font-family:var(--d);font-weight:800;font-size:clamp(34px,5vw,62px);line-height:.92;letter-spacing:-.02em;margin-bottom:20px}
.fbig span{color:var(--acc2)}
.fcols{display:flex;gap:60px;flex-wrap:wrap}
.fcol h4{font-family:var(--m);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:14px}
.fcol a{display:block;padding:6px 0;color:var(--silver);font-size:14px;transition:.3s}
.fcol a:hover{color:var(--acc2)}
.social{display:flex;gap:10px;margin-top:16px}
.social a{width:40px;height:40px;border:1px solid var(--line-2);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.3s}
.social a svg{width:17px;height:17px;fill:var(--silver);transition:.3s}
.social a:hover{border-color:var(--acc);background:var(--acc);box-shadow:0 0 18px var(--glow-soft)}
.social a:hover svg{fill:#fff}
.fbot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:26px;font-family:var(--m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.fbot a:hover{color:var(--acc2)}
.dock{position:fixed;bottom:0;left:0;right:0;z-index:250;height:46px;display:flex;align-items:center;overflow:hidden;background:rgba(5,7,14,.82);backdrop-filter:blur(10px);border-top:1px solid var(--acc);box-shadow:0 0 26px var(--glow-soft),0 -1px 0 var(--glow) inset}
.dock-track{display:flex;align-items:center;white-space:nowrap;width:max-content;animation:dock 28s linear infinite}
.dock:hover .dock-track{animation-play-state:paused}
.dock-track span,.dock-track a{font-family:var(--m);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);padding:0 26px;display:inline-flex;align-items:center;gap:26px}
.dock-track span b,.dock-track a b{color:var(--acc2);font-weight:400}
.dock-track span::before,.dock-track a::before{content:"\25C7";color:var(--acc);font-size:9px;text-shadow:0 0 8px var(--glow)}
@keyframes dock{to{transform:translateX(-50%)}}
.page{display:none}.page.active{display:block}
@media(max-width:1024px){.tiles,.team,.blog-grid,.vals,.offres,.work-grid2{grid-template-columns:1fr 1fr}.stats .grid{grid-template-columns:1fr 1fr}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat:nth-child(2n){border-right:none}.steps{grid-template-columns:1fr 1fr}.step:nth-child(2n){border-right:none}.about-grid,.svc-hero{grid-template-columns:1fr}.svc-hero .frame{margin:0 auto}.fcols{gap:40px}}
@media(max-width:760px){nav{display:none}.menu-btn{display:flex}.tiles,.team,.blog-grid,.vals,.offres,.work-grid2{grid-template-columns:1fr}.stats .grid{grid-template-columns:1fr}.stat{border-right:none;border-bottom:1px solid var(--line)}.incl,.contact-grid{grid-template-columns:1fr}.steps{grid-template-columns:1fr}.step{border-right:none;border-bottom:1px solid var(--line)}.ftop{flex-direction:column}.hpin{height:300vh}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.15s!important}.dock-track,.tmarq-track{animation:none}.hpin{height:auto}.hsticky{position:static;height:auto;overflow:visible;padding:40px 0}.htrack{flex-wrap:wrap;transform:none!important}.line span{transform:none}}
.faq{max-width:900px;margin:0 auto;border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;background:none;border:none;color:#fff;text-align:left;font-family:var(--d);font-weight:700;font-size:clamp(17px,2vw,22px);padding:24px 48px 24px 0;cursor:pointer;position:relative;display:block;transition:color .3s}
.faq-q:hover{color:var(--acc2)}
.faq-q::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-family:var(--m);font-size:26px;color:var(--acc2);transition:transform .35s}
.faq-item.open .faq-q{color:var(--acc2)}
.faq-item.open .faq-q::after{transform:translateY(-50%) rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s ease}
.faq-a p{color:var(--silver);font-size:15px;line-height:1.7;padding:0 48px 26px 0;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.sim{border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden}
.sim-grid{display:grid;grid-template-columns:1.4fr .9fr}
.sim-col{padding:clamp(24px,3vw,40px);border-right:1px solid var(--line)}
.sim-block{margin-bottom:30px}
.sim-block:last-child{margin-bottom:0}
.sim-lbl{display:block;font-family:var(--m);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--acc2);margin-bottom:14px}
.sim-opts{display:flex;flex-wrap:wrap;gap:10px}
.sim-opt{font-family:var(--b);font-size:14px;color:var(--silver);background:transparent;border:1px solid var(--line-2);border-radius:40px;padding:11px 18px;cursor:pointer;transition:.25s}
.sim-opt:hover{border-color:var(--acc);color:#fff}
.sim-opt.on{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 0 20px var(--glow-soft)}
.sim-side{padding:clamp(24px,3vw,40px);display:flex;align-items:center;background:radial-gradient(80% 60% at 50% 0%,var(--glow-soft),transparent 60%)}
.sim-card{width:100%;text-align:center}
.sim-side-lbl{font-family:var(--m);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute)}
.sim-total{font-family:var(--d);font-weight:800;font-size:clamp(46px,7vw,82px);line-height:1;margin:10px 0 4px;letter-spacing:-.02em}
.sim-total .cur{color:var(--acc2);margin-left:6px}
.sim-note{font-family:var(--m);font-size:12px;color:var(--acc2);min-height:18px;margin-bottom:14px}
.sim-recap{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:22px;min-height:10px}
.sim-recap span{font-family:var(--m);font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--silver);border:1px solid var(--line);border-radius:30px;padding:5px 10px}
.sim-card .btn{width:100%;justify-content:center}
.sim-disclaimer{font-size:12px;color:var(--mute);margin-top:16px;line-height:1.5}
.gfilters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:26px}
.gfil{font-family:var(--m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);background:transparent;border:1px solid var(--line-2);border-radius:40px;padding:10px 18px;cursor:pointer;transition:.25s}
.gfil:hover{border-color:var(--acc);color:#fff}
.gfil.on{background:var(--acc);border-color:var(--acc);color:#fff;box-shadow:0 0 18px var(--glow-soft)}
.wcard{cursor:pointer}
.lightbox{position:fixed;inset:0;z-index:9994;display:none;align-items:center;justify-content:center;padding:24px}
.lightbox.open{display:flex}
.lb-back{position:absolute;inset:0;background:rgba(3,5,12,.82);backdrop-filter:blur(8px)}
.lb-card{position:relative;z-index:1;width:min(900px,100%);max-height:88vh;overflow:auto;border:1px solid var(--line-2);border-radius:18px;background:var(--bg2);box-shadow:0 0 60px var(--glow-soft);animation:lbin .4s cubic-bezier(.2,.7,.2,1)}
@keyframes lbin{from{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:none}}
.lb-close{position:absolute;top:14px;right:16px;z-index:2;width:38px;height:38px;border-radius:50%;border:1px solid var(--line-2);background:rgba(8,11,22,.7);color:#fff;font-size:20px;cursor:pointer;transition:.25s}
.lb-close:hover{border-color:var(--acc);box-shadow:0 0 16px var(--glow-soft)}
.lb-body{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding:24px}
.lb-mock .wframe{margin:0}
.lb-info{display:flex;flex-direction:column;justify-content:center;gap:10px}
.lb-info .wpill{align-self:flex-start;margin:0}
.lb-info h3{font-family:var(--d);font-weight:800;font-size:clamp(24px,3vw,36px);line-height:1}
.lb-sub{font-family:var(--m);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.lb-info p{color:var(--silver);font-size:15px;line-height:1.6}
.lb-info .btn{align-self:flex-start;margin-top:8px}
@media(max-width:760px){.lb-body{grid-template-columns:1fr}}
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:6px}
.pstep{background:var(--bg);padding:30px 24px;position:relative;transition:.35s}
.pstep::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--acc),var(--acc2));transform:scaleX(0);transform-origin:left;transition:.45s}
.pstep:hover{background:var(--bg2)}
.pstep:hover::before{transform:scaleX(1)}
.pstep .pn{font-family:var(--d);font-weight:800;font-size:30px;color:var(--acc2);display:block;margin-bottom:14px;text-shadow:0 0 18px var(--glow-soft)}
.pstep h3{font-family:var(--d);font-weight:700;font-size:18px;margin-bottom:8px;color:#fff;letter-spacing:-.01em}
.pstep p{color:var(--silver);font-size:13.5px;line-height:1.55}
@media(max-width:900px){.proc{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.proc{grid-template-columns:1fr}}
.guars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:6px}
@media(max-width:860px){.guars{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.guars{grid-template-columns:1fr}}
.garantie{border:1px solid var(--line);border-radius:16px;padding:28px 26px;background:var(--panel);transition:.35s}
.garantie:hover{border-color:rgba(47,107,255,.4);transform:translateY(-4px);box-shadow:0 20px 50px -30px var(--glow-soft)}
.garantie .gi{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--acc);color:var(--acc2);font-size:18px;margin-bottom:18px;box-shadow:0 0 18px var(--glow-soft)}
.garantie h3{font-family:var(--d);font-weight:700;font-size:19px;color:#fff;margin-bottom:8px;letter-spacing:-.01em}
.garantie p{color:var(--silver);font-size:14px;line-height:1.6}
.paymode{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
@media(max-width:760px){.paymode{grid-template-columns:1fr}}
.pm{border:1px solid var(--line);border-radius:16px;padding:26px 24px;background:var(--panel);position:relative}
.pm.feat{border-color:rgba(47,107,255,.45);box-shadow:0 0 34px -16px var(--glow-soft)}
.pm-tag{position:absolute;top:-11px;left:24px;background:var(--acc);color:#fff;font-family:var(--m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:30px}
.pm-h{display:block;font-family:var(--d);font-weight:700;font-size:19px;color:#fff;margin-bottom:8px;letter-spacing:-.01em}
.pm p{color:var(--silver);font-size:14px;line-height:1.6}
.pm strong{color:var(--acc2);font-weight:600}
.alc{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
@media(max-width:860px){.alc{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.alc{grid-template-columns:1fr}}
.alc-i{border:1px solid var(--line);border-radius:14px;padding:24px 22px;background:var(--bg2);transition:.35s;display:flex;flex-direction:column}
.alc-i:hover{border-color:rgba(47,107,255,.4);transform:translateY(-4px)}
.alc-i h3{font-family:var(--d);font-weight:700;font-size:18px;color:#fff;margin-bottom:8px;letter-spacing:-.01em}
.alc-i p{color:var(--silver);font-size:13.5px;line-height:1.55;flex:1;margin-bottom:14px}
.alc-p{font-family:var(--m);font-size:12.5px;letter-spacing:.03em;color:var(--acc2);border-top:1px solid var(--line);padding-top:12px}
.about-photo{position:relative;max-width:380px;width:100%;justify-self:center}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 22%;border-radius:18px;border:1px solid var(--line-2);box-shadow:0 30px 70px -30px var(--glow-soft)}
.about-photo::after{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(180deg,transparent 52%,rgba(5,7,14,.6));pointer-events:none}
.ap-tag{position:absolute;left:16px;bottom:16px;z-index:2;font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(8,11,22,.55);backdrop-filter:blur(6px);border:1px solid var(--line-2);border-radius:30px;padding:7px 14px}
.wscreen.pv{justify-content:flex-start;gap:7px;padding:18px}
.pv-head{height:11px;width:42%;border-radius:3px;display:block}
.pv-line{height:7px;border-radius:3px;display:block}
.pv-cta{height:15px;width:34%;border-radius:5px;display:block;margin-top:5px}
.pv-tiles{margin-top:auto;display:flex;gap:7px}
.pv-tiles i{flex:1;height:30px;border-radius:6px 6px 0 0;opacity:.28;display:block}
.wshot{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden}
.wshot .pvph{position:absolute;inset:0;aspect-ratio:auto}
.wshot-f{position:absolute;top:0;left:0;width:1280px;height:800px;border:0;transform-origin:0 0;transform:scale(.34);pointer-events:none;background:#fff}
.rdv-embed{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel)}

/* --- conteneur du filtre SVG (sans impact sur la mise en page) --- */
.eb-defs{position:absolute;width:0;height:0;overflow:hidden}

/* --- Bordure électrique : carte d'offre recommandée --- */
.offre.feat{border-color:transparent;isolation:isolate;box-shadow:0 0 55px -14px rgba(47,107,255,.6)}
.offre.feat::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--acc);filter:url(#eb-distort);pointer-events:none;z-index:5}
.offre.feat::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--acc2);filter:url(#eb-distort) blur(6px);opacity:.6;pointer-events:none;z-index:4}

/* --- Effet 3D + reflet lumineux sur les cartes (ordinateur uniquement) --- */
@media (hover:hover) and (pointer:fine){
  .tile,.wcard{transform-style:preserve-3d;will-change:transform;transition:transform .18s ease-out}
  .tile .glare,.wcard .glare{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(240px circle at var(--gx,50%) var(--gy,50%),rgba(130,165,255,.2),transparent 62%);z-index:3}
  .tile:hover .glare,.wcard:hover .glare{opacity:1}
}

/* --- Titres héros : dégradé animé / brillance --- */
.shine{background:linear-gradient(100deg,#eef2f8 0%,#9fc0ff 24%,#2F6BFF 44%,#eef2f8 68%,#9fc0ff 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shineMove 7s linear infinite}
@keyframes shineMove{to{background-position:200% center}}

/* --- Halos parallax dans le héros --- */
.phero{position:relative}
.par-orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;z-index:-1;will-change:transform}
.par-orb.o1{width:340px;height:340px;background:radial-gradient(circle,rgba(47,107,255,.45),transparent 70%);top:-70px;left:-90px}
.par-orb.o2{width:260px;height:260px;background:radial-gradient(circle,rgba(111,155,255,.38),transparent 70%);top:30px;right:-70px}

/* --- Bordure électrique aussi sur l'abonnement et le bloc RDV --- */
.pm.feat,.rdv-box{position:relative;isolation:isolate;border-color:transparent;box-shadow:0 0 55px -14px rgba(47,107,255,.55)}
.pm.feat::before,.rdv-box::before{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--acc);filter:url(#eb-distort);pointer-events:none;z-index:5}
.pm.feat::after,.rdv-box::after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid var(--acc2);filter:url(#eb-distort) blur(6px);opacity:.55;pointer-events:none;z-index:4}
.pm.feat .pm-tag{z-index:6}

@media (prefers-reduced-motion:reduce){.shine{animation:none}.par-orb{display:none}}

/* ===== Nouveaux effets & sections ===== */
/* Machine à écrire (héros) */
.typed-line{font-family:var(--m);font-size:clamp(13px,1.7vw,16px);letter-spacing:.02em;color:var(--acc2);margin:-4px 0 20px;min-height:1.4em}
.typed-pre{color:var(--silver)}
.caret{display:inline-block;width:2px;height:1em;background:var(--acc2);margin-left:3px;vertical-align:-2px;animation:caretBlink 1s steps(2) infinite}
@keyframes caretBlink{50%{opacity:0}}

/* Halo qui suit le curseur */
@property --ax{syntax:'<length-percentage>';inherits:false;initial-value:50vw}
@property --ay{syntax:'<length-percentage>';inherits:false;initial-value:30vh}
.aura{position:fixed;inset:0;z-index:-1;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(360px circle at var(--ax) var(--ay),rgba(47,107,255,.12),transparent 70%);transition:background .1s linear}
@media (hover:none){.aura{animation:auraDrift 16s ease-in-out infinite alternate}}
@keyframes auraDrift{from{--ax:28vw;--ay:26vh}to{--ax:72vw;--ay:56vh}}

/* Confettis + succès formulaire */
.confetti-cv{position:fixed;inset:0;z-index:9999;pointer-events:none}
.form-ok{text-align:center;padding:30px 10px}
.form-ok .ok-check{font-size:54px;color:var(--acc2);text-shadow:0 0 30px var(--glow);line-height:1}
.form-ok h3{font-family:var(--d);font-weight:700;font-size:24px;margin:10px 0 6px}
.form-ok p{color:var(--silver);max-width:42ch;margin:0 auto}

/* Badges de confiance */
.badges-sec{padding:8px 0 0}
.badges-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;border:1px solid var(--line);border-radius:18px;padding:22px;background:var(--panel)}
@media(max-width:780px){.badges-row{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.badges-row{grid-template-columns:1fr}}
.badge-i{display:flex;gap:12px;align-items:flex-start}
.bi-check{flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:rgba(47,107,255,.14);color:var(--acc2);font-size:13px;border:1px solid rgba(47,107,255,.3)}
.badge-i strong{display:block;font-family:var(--d);font-weight:700;font-size:15px}
.badge-i span{color:var(--mute);font-size:12.5px}

/* Avant / après */
.ba-lead{text-align:center;max-width:60ch;margin:0 auto 26px;color:var(--silver)}
.ba{position:relative;max-width:900px;margin:0 auto;aspect-ratio:16/10;border-radius:18px;overflow:hidden;border:1px solid var(--line-2);--pos:50%;user-select:none;touch-action:none}
.ba .ba-site{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:clamp(18px,4vw,42px)}
.ba-after{position:absolute;inset:0}
.ba-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.ba-handle{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--acc);transform:translateX(-1px);box-shadow:0 0 16px var(--acc);pointer-events:none;z-index:4}
.ba-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--acc);color:#fff;display:grid;place-items:center;font-size:15px;box-shadow:0 0 22px var(--glow)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.ba-tag{position:absolute;top:14px;z-index:3;font-family:var(--m);font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:5px 11px;border-radius:30px;background:rgba(0,0,0,.45);color:#fff;backdrop-filter:blur(4px)}
.ba-tagL{left:14px}.ba-tagR{right:14px}
.ba-old{background:#e8e8df;color:#1f1f1f;font-family:"Times New Roman",Times,serif;text-align:center;align-items:center;gap:6px}
.ba-old .old-top{background:#b5352a;color:#fff;font-weight:bold;width:140%;padding:5px;font-size:13px}
.ba-old .old-h{font-size:clamp(20px,4vw,34px);color:#00c;text-decoration:underline;font-weight:bold}
.ba-old .old-sub{color:#0f7a0f;font-size:14px}
.ba-old .old-blink{color:#b5352a;font-weight:bold;font-size:13px;animation:blink 1.1s steps(2) infinite}
@keyframes blink{50%{opacity:0}}
.ba-old .old-txt{font-size:12px;color:#444;line-height:1.5}
.ba-old .old-btn{background:linear-gradient(#eee,#bbb);border:2px outset #ccc;padding:5px 12px;font-size:12px;color:#111}
.ba-new{background:radial-gradient(80% 60% at 50% 0%,rgba(47,107,255,.22),transparent),#070a14;color:#fff;font-family:var(--d)}
.ba-new .bn-pill{align-self:flex-start;font-family:var(--m);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:#ff5d1a;padding:5px 11px;border-radius:30px}
.ba-new .bn-h{font-weight:800;font-size:clamp(22px,4.6vw,42px);line-height:1.04;letter-spacing:-.02em}
.ba-new .bn-sub{color:var(--silver);font-family:var(--b);font-size:13px}
.ba-new .bn-cta{align-self:flex-start;font-family:var(--m);font-size:12px;color:#0a0a0a;background:#fff;padding:9px 16px;border-radius:30px}
.ba-new .bn-tiles{display:flex;gap:8px;margin-top:6px}.ba-new .bn-tiles i{flex:1;height:32px;border-radius:8px;background:rgba(255,255,255,.08)}

/* Pourquoi Digini (comparatif) */
.why-scroll{overflow-x:auto;border-radius:16px;border:1px solid var(--line)}
.why{width:100%;border-collapse:collapse;min-width:560px}
.why th,.why td{padding:14px 16px;text-align:center;border-bottom:1px solid var(--line);font-size:14px}
.why thead th{font-family:var(--d);font-weight:700;color:#fff;background:var(--panel)}
.why .wd-crit{text-align:left;color:var(--silver);font-weight:500;font-family:var(--b)}
.why .wd-feat{background:rgba(47,107,255,.1);color:#fff}
.why thead .wd-feat{background:var(--acc);color:#fff}
.why tbody tr:last-child td,.why tbody tr:last-child th{border-bottom:0}
.why .yes{color:var(--acc2);font-weight:700}
.why .no{color:#7a8294}
.why .mid{color:var(--mute)}
.why-note{margin-top:14px;color:var(--mute);font-size:12.5px;text-align:center;font-family:var(--m)}

/* Barre d'action mobile (remplace le bandeau défilant sur petit écran) */
.mobilebar{display:none}
@media(max-width:760px){
  .dock{display:none}
  .mobilebar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:300;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(5,7,14,.88);backdrop-filter:blur(12px);border-top:1px solid var(--line-2)}
  .mb-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border-radius:12px;font-family:var(--d);font-weight:700;font-size:15px;text-decoration:none}
  .mb-call{background:transparent;border:1px solid var(--line-2);color:#fff}
  .mb-quote{background:var(--acc);color:#fff;box-shadow:0 0 22px -6px var(--acc)}
  body{padding-bottom:74px}
  .fab{bottom:84px}
}

/* Pop-up audit gratuit */
.modal{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(3,5,12,.7);backdrop-filter:blur(6px);opacity:0;visibility:hidden;transition:opacity .35s}
.modal.open{opacity:1;visibility:visible}
.modal-card{position:relative;max-width:440px;width:100%;background:var(--panel-2,#0e1526);border:1px solid var(--line-2);border-radius:20px;padding:34px 30px;box-shadow:0 40px 90px -30px #000,0 0 60px -22px var(--glow-soft);transform:translateY(16px) scale(.98);transition:transform .35s}
.modal.open .modal-card{transform:none}
.modal-x{position:absolute;top:12px;right:14px;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--silver);font-size:20px;line-height:1;cursor:pointer;transition:.3s}
.modal-x:hover{border-color:var(--acc);color:#fff}
.modal-h{font-family:var(--d);font-weight:800;font-size:25px;margin:10px 0 8px;line-height:1.12}
.modal-p{color:var(--silver);font-size:14px;line-height:1.6;margin-bottom:18px}
.modal-form{display:flex;flex-direction:column;gap:10px}
.modal-form input:not(.hp){width:100%;padding:13px 15px;border-radius:11px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:#fff;font-family:var(--b);font-size:15px}
.modal-form input:not(.hp):focus{outline:none;border-color:var(--acc)}
.modal-form .btn{margin-top:4px;justify-content:center}
.modal-note{display:block;text-align:center;margin-top:12px;font-family:var(--m);font-size:11px;color:var(--mute)}

/* Avis Google */
.rev-overall{margin-top:12px;font-family:var(--m);font-size:13px;color:var(--acc2);letter-spacing:.06em}
.rev-overall strong{color:#fff}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
@media(max-width:820px){.rev-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.rev-grid{grid-template-columns:1fr}}
.rev-card{border:1px solid var(--line);border-radius:14px;padding:22px;background:var(--panel)}
.rev-stars{color:#ffb400;letter-spacing:2px;font-size:14px;margin-bottom:8px}
.rev-card p{color:var(--silver);font-size:14px;line-height:1.6;margin-bottom:12px}
.rev-author{font-family:var(--d);font-weight:700;font-size:14px;color:#fff}

/* Pages locales / zones d'intervention */
.zones-sec{padding:46px 0 30px}
.zone-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.zone-chip{display:inline-block;padding:9px 16px;border:1px solid var(--line-2);border-radius:999px;color:var(--silver);font-family:var(--m);font-size:13px;background:rgba(255,255,255,.02);transition:.25s}
.zone-chip:hover{border-color:var(--acc);color:#fff;transform:translateY(-2px);box-shadow:0 8px 22px -12px var(--glow-soft)}
.loc-body{padding:14px 0 24px}
.loc-grid{display:grid;grid-template-columns:1.6fr .95fr;gap:36px;align-items:start}
@media(max-width:860px){.loc-grid{grid-template-columns:1fr;gap:24px}}
.loc-body h2{font-family:var(--d);font-weight:800;font-size:clamp(20px,3vw,26px);margin:26px 0 10px;line-height:1.15}
.loc-body>div>p,.loc-body p{color:var(--silver);line-height:1.7;font-size:15.5px}
.loc-aside{position:sticky;top:100px}
@media(max-width:860px){.loc-aside{position:static}}
.loc-card{border:1px solid var(--line-2);border-radius:18px;padding:26px;background:var(--panel-2,#0e1526);box-shadow:0 24px 60px -34px #000}
.loc-card h3{font-family:var(--d);font-weight:700;font-size:20px;margin:6px 0 14px}
.loc-list{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-direction:column;gap:9px}
.loc-list li{position:relative;padding-left:22px;color:var(--silver);font-size:14px}
.loc-list li:before{content:"✓";position:absolute;left:0;color:var(--acc2);font-weight:700}
.loc-near{margin-top:24px;color:var(--mute);font-size:14px}
.loc-near a{color:var(--silver)}
.loc-near a:hover{color:#fff}
.fzones{border-top:1px solid var(--line);padding:22px 0 6px;margin-top:6px}
.fzones h4{font-family:var(--m);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.fz-links{display:flex;flex-wrap:wrap;gap:8px 18px}
.fz-links a{color:var(--silver);font-size:14px}
.fz-links a:hover{color:#fff}

/* ===== Finitions accueil (juin 2026) ===== */
/* Avant/après : "après" plus premium */
.ba-new{background:radial-gradient(90% 70% at 50% -10%,rgba(47,107,255,.34),transparent),radial-gradient(60% 50% at 92% 112%,rgba(123,93,255,.20),transparent),#060912;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.ba-new .bn-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.ba-new .bn-logo{font-family:var(--m);font-size:11px;letter-spacing:.22em;font-weight:700;color:#fff}
.ba-new .bn-menu{display:flex;gap:5px}
.ba-new .bn-menu i{width:16px;height:2px;border-radius:2px;background:rgba(255,255,255,.45)}
.ba-new .bn-h{background:linear-gradient(180deg,#ffffff,#bcd0ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ba-new .bn-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ba-new .bn-rate{font-size:13px;letter-spacing:2px;color:#ffce3a}
.ba-new .bn-tiles i{background:linear-gradient(135deg,rgba(47,107,255,.6),rgba(123,93,255,.28));box-shadow:0 8px 20px -10px rgba(47,107,255,.7)}
/* Bloc "badges" un peu plus bas */
.badges-sec{margin-top:22px}
/* Comparatif : colonne Digini + critères fixes en responsive */
@media(max-width:720px){
  .badges-sec{margin-top:36px}
  .why th:first-child{position:sticky;left:0;z-index:3;background:var(--panel);min-width:118px;width:118px;max-width:118px}
  .why thead .wd-feat,.why tbody td.wd-feat{position:sticky;left:118px;z-index:2}
  .why tbody td.wd-feat{background:#0e1626}
  .why .wd-feat{box-shadow:10px 0 14px -10px rgba(0,0,0,.55)}
}

.paymode.tri{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.paymode.tri{grid-template-columns:1fr}}

a.tile{color:inherit;text-decoration:none}
.badge.hot{background:linear-gradient(90deg,#2F6BFF,#5B8CFF);color:#fff;border-color:transparent;box-shadow:0 0 16px rgba(47,107,255,.6);animation:hotpulse 1.8s ease-in-out infinite}
@keyframes hotpulse{0%,100%{box-shadow:0 0 8px rgba(47,107,255,.4)}50%{box-shadow:0 0 22px rgba(47,107,255,.8)}}

/* ===== Promo de lancement ===== */
.promo-bar{position:fixed;top:0;left:0;right:0;z-index:201;height:42px;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 14px;font-family:var(--m);font-size:13px;letter-spacing:.02em;color:#eaf0ff;background:linear-gradient(90deg,#16224f,#2F6BFF 42%,#5B8CFF 66%,#2F6BFF);background-size:200% 100%;animation:pbshine 7s linear infinite;border-bottom:1px solid rgba(255,255,255,.14);box-shadow:0 2px 18px rgba(47,107,255,.3);overflow:hidden;white-space:nowrap}
@keyframes pbshine{to{background-position:200% 0}}
.promo-bar b{font-weight:800;color:#fff}
.promo-bar s{opacity:.6;font-weight:500}
.pb-dot{width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 10px #fff,0 0 4px #fff;animation:pbpulse 1.6s ease-in-out infinite;flex:none}
@keyframes pbpulse{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
.pb-cta{flex:none;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-weight:700;font-size:12px;text-decoration:none;border:1px solid rgba(255,255,255,.3);transition:.2s ease}
.pb-cta:hover{background:#fff;color:#2F6BFF;box-shadow:0 0 14px rgba(255,255,255,.5)}
.pb-short{display:none}
.oldp{text-decoration:line-through;opacity:.5;color:var(--mute);font-weight:600;font-size:clamp(12px,1.5vw,17px);margin-right:.4em;vertical-align:middle}
@media (max-width:760px){.promo-bar{font-size:11.5px;gap:8px}.pb-full{display:none}.pb-short{display:inline}.pb-cta{display:none}}

.dk-link{color:inherit;text-decoration:none;transition:color .2s ease}
.dk-link:hover{color:var(--acc2)}

.svc-prose{max-width:64ch;margin-top:6px}
.svc-prose p{color:var(--silver);line-height:1.85;margin:0 0 16px;font-size:16px}
.svc-prose p:last-child{margin:0}
.svc-prose strong{color:#eaf0ff;font-weight:600}

/* === Aurora ambient + magnetic (wow v1) === */
.aurora{position:fixed;inset:-25vmax;z-index:-1;pointer-events:none;overflow:hidden;filter:blur(70px);opacity:.55}
.aurora::before,.aurora::after{content:"";position:absolute;width:60vmax;height:60vmax;border-radius:50%;mix-blend-mode:screen}
.aurora::before{background:radial-gradient(circle,rgba(47,107,255,.32),transparent 62%);top:-12vmax;left:-6vmax;animation:aur1 28s ease-in-out infinite alternate}
.aurora::after{background:radial-gradient(circle,rgba(54,200,255,.20),transparent 62%);bottom:-14vmax;right:-8vmax;animation:aur2 34s ease-in-out infinite alternate}
@keyframes aur1{0%{transform:translate(0,0) scale(1)}100%{transform:translate(20vmax,13vmax) scale(1.28)}}
@keyframes aur2{0%{transform:translate(0,0) scale(1.12)}100%{transform:translate(-18vmax,-11vmax) scale(1)}}
@media (max-width:640px){.aurora{opacity:.42;filter:blur(50px)}}
@media (prefers-reduced-motion:reduce){.aurora::before,.aurora::after{animation:none}}
.mag{transition:transform .18s cubic-bezier(.2,.8,.2,1);will-change:transform}

/* === Lenis smooth scroll === */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* === Cartes 3D (desktop) === */


.wcard{position:relative}
.tile,.wcard,.offre{will-change:transform}
.tile::after,.wcard::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .35s ease;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(47,107,255,.18),transparent 58%);mix-blend-mode:screen}
@media (pointer:fine){.tile:hover::after,.wcard:hover::after{opacity:1}}

/* === Avant/Après — version wow === */
.ba{cursor:ew-resize}
.ba-handle{background:linear-gradient(180deg,transparent,var(--acc) 12%,var(--acc) 88%,transparent);width:3px;transform:translateX(-1.5px);box-shadow:0 0 22px 2px var(--acc),0 0 60px var(--glow)}
.ba-grip{width:54px;height:54px;background:radial-gradient(circle at 30% 30%,#5b8bff,var(--acc));box-shadow:0 0 0 6px rgba(47,107,255,.16),0 10px 30px -6px rgba(47,107,255,.8);font-size:17px;animation:ba-bob 3.4s ease-in-out infinite}
.ba-grip::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--acc);opacity:.5;animation:ba-pulse 2.2s ease-out infinite}
@keyframes ba-pulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.5);opacity:0}100%{opacity:0}}
@keyframes ba-bob{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,-54%)}}
.ba-hint{position:absolute;left:50%;bottom:16px;transform:translate(-50%,0);z-index:5;font-family:var(--m);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(47,107,255,.9);padding:7px 14px;border-radius:30px;box-shadow:0 8px 24px -8px rgba(47,107,255,.9);white-space:nowrap;animation:ba-bob2 2.4s ease-in-out infinite;transition:opacity .4s ease}
@keyframes ba-bob2{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,-5px)}}
.ba-dragged .ba-hint{opacity:0;pointer-events:none}
.ba-dragged .ba-grip::before{display:none}
.ba-dragged .ba-grip{animation:none;transform:translate(-50%,-50%)}
@media (prefers-reduced-motion:reduce){.ba-grip,.ba-grip::before,.ba-hint{animation:none}}

/* === Curseur : point + anneau lumineux (sans entourage d'objets) === */
.cur-dot2,.cur-ring2{position:fixed;top:0;left:0;pointer-events:none;border-radius:50%;will-change:transform;z-index:10000}
.cur-dot2{width:7px;height:7px;margin:-3.5px 0 0 -3.5px;background:var(--acc2);box-shadow:0 0 10px var(--glow);mix-blend-mode:screen}
.cur-ring2{width:38px;height:38px;margin:-19px 0 0 -19px;border:1.5px solid rgba(122,162,255,.6);box-shadow:0 0 14px rgba(47,107,255,.2);transition:width .2s,height .2s,margin .2s,border-color .2s}
@media (pointer:fine){.has-dot,.has-dot a,.has-dot button,.has-dot .btn,.has-dot [data-hover],.has-dot input,.has-dot textarea,.has-dot label,.has-dot .faq-q,.has-dot .tile,.has-dot .wcard,.has-dot .offre{cursor:none}}
@media (pointer:coarse){.cur-dot2,.cur-ring2{display:none!important}}

/* === Footer refondu === */
.fmain{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;padding-bottom:38px;border-bottom:1px solid var(--line)}
.fnav{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.fcontact{min-width:220px}
.fbrand{font-family:var(--d);font-weight:800;font-size:26px;letter-spacing:-.02em;line-height:1}
.fsub{font-family:var(--m);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin:6px 0 22px}
.fcontact h4{font-family:var(--m);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.fcontact h4::before{content:"";width:24px;height:1px;background:var(--line-2)}
.finfo{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:11px}
.finfo li{display:flex;align-items:center;gap:11px;color:var(--silver);font-size:14px}
.finfo li svg{width:16px;height:16px;flex:none;fill:var(--acc2)}
.finfo a{color:var(--silver);transition:.25s}
.finfo a:hover{color:#fff}
.social svg{width:17px;height:17px;fill:var(--silver);transition:.3s}
.social a:hover{border-color:var(--acc);background:var(--glow-soft);transform:translateY(-2px)}
.social a:hover svg{fill:#fff}
.fhelp{display:inline-flex;align-items:center;gap:9px;padding:13px 26px;border-radius:40px;background:linear-gradient(135deg,var(--acc),var(--acc2));color:#fff;font-weight:600;font-size:15px;box-shadow:0 12px 30px -10px var(--glow);transition:.3s}
.fhelp:hover{transform:translateY(-2px);box-shadow:0 18px 42px -10px var(--glow)}
.fhelp svg{width:17px;height:17px;fill:#fff}
.fbot a:hover{color:#fff}
.fheart{color:#ff4d6d;text-transform:none;font-size:13px}
@media (max-width:900px){.fmain{grid-template-columns:1fr;gap:40px}}
@media (max-width:560px){.fnav{grid-template-columns:1fr 1fr;gap:24px}}

/* === Studio + Contact === */
.sstats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sstat{border:1px solid var(--line);border-radius:16px;padding:26px 22px;background:var(--panel);text-align:center}
.sstat b{display:block;font-family:var(--d);font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1;background:linear-gradient(135deg,#fff,var(--acc2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.sstat span{display:block;margin-top:8px;font-family:var(--m);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.why-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}
.why-visual{position:sticky;top:100px}
.mock{width:100%;height:auto;display:block;filter:drop-shadow(0 30px 60px rgba(0,0,0,.5))}
.ct-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.ct-chip{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line-2);border-radius:30px;font-family:var(--m);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--silver)}
.ct-chip svg{width:13px;height:13px;fill:var(--acc2)}
.ct-hl{border:1px solid var(--acc);border-radius:18px;padding:22px 24px;background:linear-gradient(135deg,var(--glow-soft),transparent);margin-bottom:26px}
.ct-hl b{display:block;font-family:var(--d);font-weight:700;font-size:20px;margin-bottom:6px}
.ct-hl b span{color:var(--acc2)}
.ct-hl p{color:var(--silver);font-size:14.5px;line-height:1.6;margin:0}
.ct-steps{display:grid;gap:16px;margin:14px 0 30px}
.ct-step{display:flex;gap:14px;align-items:flex-start}
.ct-step i{flex:none;width:32px;height:32px;border-radius:50%;background:var(--glow-soft);border:1px solid var(--acc);display:flex;align-items:center;justify-content:center;font-family:var(--d);font-weight:700;font-style:normal;font-size:15px;color:var(--acc2)}
.ct-step b{display:block;font-size:15px;margin-bottom:2px}
.ct-step span{color:var(--silver);font-size:13.5px;line-height:1.5}
.ct-note{margin-top:16px;font-size:12.5px;color:var(--mute);text-align:center}
@media (max-width:820px){.why-grid{grid-template-columns:1fr;gap:28px}.why-visual{position:static;order:-1}}
@media (max-width:640px){.sstats{grid-template-columns:1fr 1fr}}

/* === Réalisations — fiches === */
.rc-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--m);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--silver);margin-bottom:22px;transition:.25s}
.rc-back:hover{color:#fff;transform:translateX(-3px)}
.rc-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.rc-preview{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--panel);box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.rc-bar{display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel-2)}
.rc-bar i{width:11px;height:11px;border-radius:50%;margin-right:8px;background:rgba(150,175,235,.3)}
.rc-bar i:nth-child(1){background:#ff5f57}.rc-bar i:nth-child(2){background:#febc2e}.rc-bar i:nth-child(3){background:#28c840}
.rc-url{margin-left:8px;font-family:var(--m);font-size:12px;color:var(--mute);letter-spacing:.05em}
.rc-frame{position:relative}
.rc-frame iframe{width:100%;height:560px;border:0;display:block;pointer-events:none;background:#05070e}
.rc-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(5,7,14,0);transition:.3s;text-decoration:none}
.rc-overlay span{padding:14px 28px;border-radius:40px;background:var(--acc);color:#fff;font-weight:600;box-shadow:0 12px 30px -8px var(--glow);opacity:0;transform:translateY(8px);transition:.3s}
.rc-overlay:hover{background:rgba(5,7,14,.4)}
.rc-overlay:hover span{opacity:1;transform:none}
.rc-tech{border-top:1px solid var(--line);padding-top:26px}
.rc-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.rc-chips span{padding:8px 14px;border:1px solid var(--line-2);border-radius:30px;font-family:var(--m);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--silver)}
@media (max-width:640px){.rc-frame iframe{height:380px}}

/* === Expertise (accueil) === */
.exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
.exp-card{border:1px solid var(--line);border-radius:18px;padding:28px 26px;background:var(--panel);transition:.3s}
.exp-card:hover{border-color:var(--line-2);transform:translateY(-4px);background:var(--panel-2)}
.exp-ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--glow-soft);border:1px solid rgba(47,107,255,.35);margin-bottom:18px}
.exp-ic svg{width:24px;height:24px;stroke:var(--acc2);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.exp-card h3{font-family:var(--d);font-weight:700;font-size:19px;margin-bottom:8px}
.exp-card p{color:var(--silver);font-size:14.5px;line-height:1.6}
@media (max-width:900px){.exp-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.exp-grid{grid-template-columns:1fr}}
