/* ═══ Pages secondaires : associés (façon PSG, identité Weluma), médias, contact, espace client ═══ */
.pg{padding-top:var(--hdr)}
.pg__head{padding-top:70px;padding-bottom:40px}
.pg__title{font:860 clamp(48px,7vw,112px)/.82 var(--font);letter-spacing:-.075em;margin:12px 0 22px}
.pg__title .blue{color:var(--blue)}
.filters{display:flex;gap:6px;flex-wrap:wrap;position:relative;margin:34px 0 0;padding:6px;border:1px solid var(--line);width:max-content;max-width:100%}
.filters__ind{position:absolute;top:6px;left:0;height:calc(100% - 12px);transition-property:transform,width,height;background:var(--ink);z-index:0;transition:transform .45s cubic-bezier(.16,1.2,.3,1),width .45s cubic-bezier(.16,1.2,.3,1);will-change:transform,width}
.filters button{position:relative;z-index:1;padding:12px 16px;font:800 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-58);transition:color .25s,transform .25s var(--back)}
.filters button:hover{color:var(--ink);transform:translateY(-1px)}.filters button.is-active{color:var(--white)}
.filters button b{margin-left:8px;font:700 9px/1 var(--mono);opacity:.6}
/* ── cartes associés façon PSG ── */
.pcs{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;padding:40px 0 60px;list-style:none;margin:0}
.pc{opacity:0;transform:translateY(90px) scale(.92)}
.pc.is-in{animation:pcIn .7s cubic-bezier(.16,1.3,.3,1) forwards}
@keyframes pcIn{0%{opacity:0;transform:translateY(90px) scale(.92)}100%{opacity:1;transform:none}}
.pc.is-in .pc__para{animation:paraIn .6s var(--ease-out) both .15s}
@keyframes paraIn{0%{transform:translateX(-100%)}100%{transform:none}}
.pc.is-in .pc__pose--a{animation:poseIn .6s cubic-bezier(.16,1.3,.3,1) both .25s}
@keyframes poseIn{0%{transform:translateY(60%);opacity:0}100%{transform:none;opacity:1}}
.pc__a:hover .pc__pose--a,.pc__a:focus-visible .pc__pose--a{animation:none}
.pc__init{opacity:.6}
.pc.is-hidden{display:none}
.pc__a{display:block;color:var(--ink)}
.pc__vis{display:block;position:relative;aspect-ratio:1;overflow:hidden}
.pc__para{position:absolute;left:0;bottom:0;width:100%;height:50%;background:var(--mist);clip-path:polygon(6.7% 0,100% 0,93.3% 100%,0 100%);transition:background-color .3s var(--ease)}
.pc__a:hover .pc__para,.pc__a:focus-visible .pc__para{background:var(--blue)}
.pc__pose{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding:0 6% 13%;font:860 clamp(38px,4.4vw,66px)/.85 var(--font);letter-spacing:-.07em;text-align:center;transition:opacity .3s var(--ease),transform .3s var(--ease);will-change:transform,opacity}
.pc__pose--a{color:var(--ink)}
.pc__pose--b{color:var(--white);opacity:0;transform:translateY(6%) skewX(-6deg)}
.pc__a:hover .pc__pose--a,.pc__a:focus-visible .pc__pose--a{opacity:0;transform:translateY(-6%) skewX(6deg)}
.pc__a:hover .pc__pose--b,.pc__a:focus-visible .pc__pose--b{opacity:1;transform:none}
.pc__init{position:absolute;left:4%;top:-4%;font:900 min(60cqw,220px)/1 var(--font);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(5,5,5,.12);transition:-webkit-text-stroke-color .3s,transform .5s var(--ease-out)}
.pc__vis{container-type:inline-size}
.pc__a:hover .pc__init{-webkit-text-stroke-color:rgba(18,86,246,.35);transform:translateX(4%)}
.pc__row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding-top:10px;position:relative;overflow:hidden}
.pc__inner{display:flex;align-items:center;gap:12px;transition:transform .3s var(--ease);will-change:transform}
.pc__a:hover .pc__inner,.pc__a:focus-visible .pc__inner{transform:translateX(-46px)}
.pc__num{width:34px;flex:none;font:860 36px/1 var(--font);letter-spacing:-.06em;color:var(--blue);transition:opacity .3s}
.pc__a:hover .pc__num,.pc__a:focus-visible .pc__num{opacity:0}
.pc__first{display:block;font:800 9px/1.3 var(--font);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-58)}
.pc__last{display:block;font:860 17px/1.1 var(--font);letter-spacing:-.02em;text-transform:uppercase}
.pc__role{font-size:12px;color:var(--ink-58);text-align:right;max-width:46%;line-height:1.2;justify-self:end}
.pc__arr{position:absolute;right:0;bottom:0;font:800 18px/1 var(--font);color:var(--blue);opacity:0;transform:translate(-6px,6px);transition:opacity .3s,transform .3s var(--ease-out)}
.pc__a:hover .pc__arr,.pc__a:focus-visible .pc__arr{opacity:1;transform:none}
.dark .pc__a{color:var(--white)}.dark .pc__pose--a{color:var(--white)}.dark .pc__para{background:rgba(255,255,255,.08)}.dark .pc__last{color:var(--white)}.dark .pc__first,.dark .pc__role{color:var(--w-58)}.dark .pc__init{-webkit-text-stroke-color:rgba(255,255,255,.14)}.dark .pc__a:hover .pc__init{-webkit-text-stroke-color:rgba(255,230,0,.45)}.dark .pc__a:hover .pc__pose--b{color:var(--white)}.dark .pc__num{color:#5B86FF}
/* ── page associé ── */
.ap__hero{position:relative;min-height:calc(100vh - var(--hdr));background:radial-gradient(120% 90% at 0% 100%,#0B2ECC 0%,rgba(11,46,204,0) 60%),linear-gradient(160deg,#03071f,var(--navy));color:var(--white);overflow:hidden;display:grid;grid-template-columns:1.1fr 1fr;align-items:end}
.ap__bignum{position:absolute;left:38%;top:-4%;font:860 min(56vw,720px)/.9 var(--font);letter-spacing:-.1em;color:var(--blue);opacity:.9;z-index:0;pointer-events:none}
.ap__id{position:relative;z-index:1;padding:80px var(--gutter) 70px}
.ap__first{font:860 clamp(22px,2.4vw,34px)/1 var(--font);letter-spacing:-.04em;margin-bottom:8px}
.ap__last{font:860 clamp(56px,8vw,128px)/.82 var(--font);letter-spacing:-.075em;text-transform:uppercase;margin:0 0 18px}
.ap__role{font:500 11px/1.5 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);margin-bottom:28px}
.ap__cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.ap__vid{position:relative;z-index:1;align-self:stretch;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 var(--gutter) 70px}
.ap__frame{position:relative;width:100%;max-width:640px;aspect-ratio:16/9;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,.4);border:1px solid var(--line-w);cursor:pointer}
.ap__frame img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}.ap__frame:hover img{transform:scale(1.04)}
.ap__frame .vid{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.ap__frame .vid span{width:76px;height:76px;border:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:center;background:rgba(5,5,5,.35);transition:background-color .3s}.ap__frame .vid span::after{content:"";border-left:20px solid #fff;border-top:12px solid transparent;border-bottom:12px solid transparent;margin-left:5px}.ap__frame:hover .vid span{background:var(--yellow)}.ap__frame:hover .vid span::after{border-left-color:var(--ink)}
.ap__frame .mono{position:absolute;left:14px;bottom:12px;color:var(--white)}.ap__frame .tag{position:absolute;left:14px;top:12px;background:var(--yellow);color:var(--ink);font:850 8px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;padding:6px 8px}
.ap__msg{position:absolute;inset:0;background:rgba(5,5,5,.86);color:var(--white);display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s}.ap__frame.is-msg .ap__msg{opacity:1}
.ap__data{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ap__data div{padding:22px 20px;border-right:1px solid var(--line)}.ap__data div:last-child{border-right:0}
.ap__data span{display:block;font:500 9px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-58);margin-bottom:8px}.ap__data b{font:700 15px/1.3 var(--font);letter-spacing:-.02em}
.ap__bio{padding:80px 0;display:grid;grid-template-columns:200px 1fr;gap:48px}
.ap__bio-t{font:860 clamp(30px,3.2vw,44px)/.9 var(--font);letter-spacing:-.06em}
.ap__lead{font:500 clamp(20px,2.1vw,28px)/1.3 var(--font);letter-spacing:-.03em;max-width:36ch;margin-bottom:22px}
.ap__more{position:relative;max-height:92px;overflow:hidden;transition:max-height .6s var(--ease)}
.ap__more p{font-size:17px;line-height:1.55;max-width:60ch;color:var(--ink-58)}
.ap__more::after{content:"";position:absolute;left:0;right:0;bottom:0;height:60px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff);transition:opacity .3s}
.ap__bio.is-open .ap__more{max-height:600px}.ap__bio.is-open .ap__more::after{opacity:0}
.ap__readmore{margin-top:14px;font:800 11px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;display:inline-flex;gap:8px;align-items:center;border-bottom:2px solid var(--ink);padding-bottom:5px}
.ap__topics{display:flex;flex-wrap:wrap;gap:6px;margin-top:24px}.ap__topics span{border:1px solid var(--line);padding:9px 12px;font:700 12px/1 var(--font)}
.ap__contents{padding:0 0 90px}
.ap__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px}
.ap__card{border:1px solid var(--line);display:block;background:var(--white);transition:transform .3s var(--ease-out),box-shadow .3s}.ap__card:hover{transform:translateY(-4px);box-shadow:0 20px 30px rgba(0,0,0,.08)}
.ap__card .th{aspect-ratio:16/9;overflow:hidden;background:var(--navy);position:relative}.ap__card .th img{width:100%;height:100%;object-fit:cover}.ap__card .th span{position:absolute;right:10px;bottom:10px;background:var(--yellow);color:var(--ink);font:500 10px/1 var(--mono);padding:5px 6px}
.ap__card .c{padding:14px 16px 16px}.ap__card h3{font:700 16px/1.2 var(--font);letter-spacing:-.03em;margin-bottom:6px}.ap__card p{font:500 9px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-58)}
.ap__nav{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;border-top:1px solid var(--line);padding:26px 0 60px}
.ap__nav a{font:800 11px/1.3 var(--font);letter-spacing:.1em;text-transform:uppercase}.ap__nav a:last-child{text-align:right}.ap__nav .mid{font:500 9px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-58)}
/* ── page médias ── */
.mh{background:var(--white);padding:70px 0 60px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.mh__vid{position:relative;background:var(--ink);aspect-ratio:16/10;overflow:hidden}
.mh__vid video{width:100%;height:100%;object-fit:cover;display:block}
.mh__vid .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;background:linear-gradient(to top,rgba(5,5,5,.8),transparent);color:var(--white);display:flex;justify-content:space-between;align-items:flex-end}
.prog{padding:90px 0}
.prog__grid{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:end;margin-bottom:40px}
.prog__list{border-top:1px solid var(--line)}
.prog__row{display:grid;grid-template-columns:90px 150px 1fr 48px;gap:24px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);transition:padding .2s var(--ease),background-color .2s}
.prog__row:hover{background:var(--mist);padding-left:12px}
.prog__row b{font:860 40px/1 var(--font);letter-spacing:-.06em;color:var(--blue)}.prog__row .k{font:700 15px/1.2 var(--font);letter-spacing:-.02em}.prog__row .k small{display:block;font:500 9px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-58);margin-top:4px}
.prog__row h3{font:400 clamp(20px,2vw,26px)/1.05 var(--font);letter-spacing:-.04em;margin-bottom:6px}.prog__row p{font-size:13px;color:var(--ink-58)}
.vt{background:var(--ink);color:var(--white);padding:90px 0}
.vt__head{display:grid;grid-template-columns:200px 1fr 1fr;gap:40px;align-items:end;margin-bottom:40px}
.vt__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.vt__card{position:relative;aspect-ratio:9/16;background:var(--navy);overflow:hidden}
.vt__card video{width:100%;height:100%;object-fit:cover;display:block;background:var(--navy)}
.vt__card .lab{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;color:var(--white);pointer-events:none}
.vt__card .lab .we{font:900 22px/1 var(--font);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8)}
.vt__cap{margin-top:10px}.vt__cap h3{font:700 15px/1.25 var(--font);letter-spacing:-.02em;margin-bottom:4px}.vt__cap p{font:500 9px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--w-58)}
.mc{padding:90px 0;background:var(--white)}
.mc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:40px}
.mc__it{border:1px solid var(--line);padding:22px;min-height:290px;display:flex;flex-direction:column;background:var(--white);transition:transform .3s var(--ease-out),box-shadow .3s}
.mc__it:hover{transform:translateY(-4px);box-shadow:0 20px 30px rgba(0,0,0,.08)}
.mc__it.blue{background:var(--blue);color:var(--white)}.mc__it.black{background:var(--ink);color:var(--white)}
.mc__top{display:flex;justify-content:space-between;font:500 9px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.75}
.mc__sig{font:860 clamp(60px,7vw,120px)/.85 var(--font);letter-spacing:-.08em;margin:18px 0 auto}
.mc__it h3{font:400 24px/1 var(--font);letter-spacing:-.045em;margin:18px 0 8px}.mc__it p{font-size:13px;line-height:1.4;opacity:.8}
.mc__man{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px;font:860 clamp(24px,3vw,44px)/1 var(--font);letter-spacing:-.06em}.mc__man span{background:var(--ink);color:var(--white);padding:8px 14px}.mc__man strong{background:var(--yellow);padding:8px 14px}
.press{background:var(--ink);color:var(--white);padding:90px 0;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.press .lead{color:var(--w-58)}
.press__board{background:var(--blue);padding:28px;min-height:360px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.press__board .mark{position:absolute;right:20px;top:20px;font:900 200px/1 var(--font);color:var(--white);opacity:.9;transform:rotate(-8deg)}
.press__board h3{font:860 clamp(28px,3vw,44px)/.9 var(--font);letter-spacing:-.06em;max-width:16ch}.press__board .tag{background:var(--yellow);color:var(--ink);font:850 8px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;padding:6px 8px;display:inline-block;margin-bottom:12px}
.alert{background:var(--blue-light);padding:90px 0;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.alert form{background:var(--white);padding:26px;display:grid;gap:14px;border:1px solid var(--line)}
.f label{display:block}.f label span{display:block;font:850 9px/1.5 var(--font);letter-spacing:.14em;text-transform:uppercase;margin-bottom:6px}
.f input,.f select,.f textarea{width:100%;border:1px solid var(--line);padding:12px 14px;font:500 14px/1.4 var(--font);color:var(--ink);background:var(--white)}
.f input:focus,.f select:focus,.f textarea:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,86,246,.2)}
.f .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.f .status{font:500 10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
/* ── contact page ── */
.ct{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-top:70px;padding-bottom:80px;align-items:start}
.ct__form{background:var(--mist);padding:30px;border-top:2px solid var(--ink)}
.ct__mail{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.ct__mail a{font:860 clamp(22px,2.4vw,34px)/1 var(--font);letter-spacing:-.05em;border-bottom:2px solid var(--ink)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:34px}.steps div{border:1px solid var(--line);padding:22px}.steps b{display:block;font:860 40px/1 var(--font);letter-spacing:-.06em;color:var(--blue);margin-bottom:12px}.steps h3{font:700 16px/1.2 var(--font);letter-spacing:-.02em;margin-bottom:6px}.steps p{font-size:13px;color:var(--ink-58)}
.pre-note{background:#FFF9B8;border:1px solid var(--yellow);padding:10px 12px;font-size:12px;margin-bottom:10px}
/* ── espace client ── */
.ec{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding-top:70px;padding-bottom:90px;align-items:center}
.ec__box{background:var(--ink);color:var(--white);padding:30px}
.ec__box h2{font:860 clamp(26px,2.6vw,36px)/.95 var(--font);letter-spacing:-.05em;margin:16px 0 22px}
.ec__box .f label span{color:var(--w-58)}.ec__box input{background:rgba(255,255,255,.06);border-color:var(--line-w);color:var(--white)}
.ec__list{display:grid;gap:8px;margin-top:30px}.ec__list div{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:16px;border:1px solid var(--line)}.ec__list b{font:860 30px/1 var(--font);letter-spacing:-.06em;color:var(--blue)}.ec__list strong{display:block;font:700 15px/1.2 var(--font)}.ec__list span{font-size:13px;color:var(--ink-58)}
@media (max-width:1023px){.pcs{grid-template-columns:repeat(2,1fr)}.ap__hero{grid-template-columns:1fr}.ap__vid{padding-top:0}.ap__data{grid-template-columns:1fr 1fr}.ap__bio{grid-template-columns:1fr;gap:20px}.ap__grid,.vt__grid,.mc__grid,.steps{grid-template-columns:1fr 1fr}.mh,.prog__grid,.press,.alert,.ct,.ec{grid-template-columns:1fr}.vt__head{grid-template-columns:1fr}.prog__row{grid-template-columns:60px 1fr;gap:12px}.prog__row h3{grid-column:1/-1}.prog__row p{grid-column:1/-1}.ap__bignum{left:auto;right:-4%}}
@media (max-width:640px){.pcs{grid-template-columns:1fr 1fr;gap:8px}.pc__pose{font-size:30px}.pc__num{font-size:26px;width:28px}.pc__last{font-size:14px}.ap__grid,.vt__grid,.mc__grid,.steps,.ap__data,.f .row{grid-template-columns:1fr}.ap__data div{border-right:0;border-bottom:1px solid var(--line)}}

/* ── Médias : hero façon maquette et reels ── */
.mh2{background:var(--ink);color:var(--white);padding:calc(var(--hdr) + 40px) 0 90px;min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden}
.mh2__grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;width:100%}
.mh2__t{font:860 clamp(52px,6.6vw,110px)/.84 var(--font);letter-spacing:-.075em;margin:12px 0 26px;overflow:hidden;padding-bottom:.2em;margin-bottom:calc(26px - .2em)}
.mh2__w{display:inline-block;transform:translateY(110%);animation:mh2in 1s var(--ease-out) forwards}.mh2__w:nth-child(3){animation-delay:.1s}.mh2__w:nth-child(5){animation-delay:.2s}
@keyframes mh2in{to{transform:none}}
.mh2__stats{display:flex;gap:0;margin-top:44px;border-top:1px solid var(--line-w);list-style:none;padding:0}
.mh2__stats li{flex:1;padding:18px 0;border-right:1px solid var(--line-w);padding-right:16px}.mh2__stats li:last-child{border-right:0}.mh2__stats li+li{padding-left:16px}
.mh2__stats b{display:block;font:860 40px/1 var(--font);letter-spacing:-.06em;color:var(--yellow);font-variant-numeric:tabular-nums}.mh2__stats span{font:500 9px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--w-58)}
.mh2__frame{margin:0;display:grid;grid-template-columns:92px 1fr 92px;height:min(78vh,700px);box-shadow:0 30px 80px rgba(0,0,0,.5);animation:mh2frame 1.1s var(--ease-out) both .2s}
@keyframes mh2frame{from{opacity:0;transform:translateY(40px) scale(.96)}to{opacity:1;transform:none}}
.mh2__side{background:var(--blue);display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:22px 0}
.mh2__side .mono{writing-mode:vertical-rl;transform:rotate(180deg);letter-spacing:.2em}
.mh2__circle{width:72px;height:72px;border:1px solid var(--white);border-radius:50%;color:var(--white);font-size:22px;display:flex;align-items:center;justify-content:center;transition:background-color .3s,color .3s,transform .3s var(--back)}.mh2__circle:hover{background:var(--white);color:var(--blue);transform:scale(1.06)}
.mh2__video{position:relative;background:var(--navy);overflow:hidden}.mh2__video video{width:100%;height:100%;object-fit:cover;display:block}
.mh2__bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.25)}.mh2__bar i{display:block;height:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left}
.mh2__sound{position:absolute;right:14px;bottom:16px;border:1px solid rgba(255,255,255,.6);color:var(--white);background:rgba(5,5,5,.35);font:850 9px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;padding:9px 11px}.mh2__sound[aria-pressed="true"],.mh2__sound:hover{background:var(--yellow);color:var(--ink);border-color:var(--yellow)}
.mh2__quote{background:#0B2ECC;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:22px 0}
.mh2__q{font:900 120px/.5 var(--font);color:var(--blue-l,#5B86FF);color:#5B86FF}
.mh2__quote figcaption{writing-mode:vertical-rl;transform:rotate(180deg);font:700 12px/1.3 var(--font);letter-spacing:-.01em;color:var(--white)}.mh2__quote figcaption small{display:block;font:500 8px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.reels{overflow:hidden;padding:20px 0 24px;cursor:grab;user-select:none;outline:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.reels:active{cursor:grabbing}.chain{display:flex;gap:14px;width:max-content;will-change:transform}
.reel{flex:none;width:340px;aspect-ratio:9/16;position:relative;background:var(--navy);overflow:hidden;will-change:transform,opacity;cursor:pointer;transform-origin:50% 50%}
.reel.is-active{box-shadow:0 30px 60px rgba(0,0,0,.6)}
.reel{outline:0 solid rgba(255,255,255,0);outline-offset:-4px;transition:outline-width .3s var(--back),outline-color .3s,box-shadow .3s}
.reel.is-hover{outline:7px solid #fff;outline-offset:-7px;box-shadow:0 0 0 2px #fff,0 0 40px rgba(255,255,255,.75),0 0 120px rgba(255,255,255,.35),0 40px 90px rgba(0,0,0,.7);z-index:2}
.reel.is-hover::before{content:"";position:absolute;inset:0;border:7px solid #fff;pointer-events:none;z-index:3;animation:flashWhite .6s var(--ease-out)}@keyframes flashWhite{0%{box-shadow:inset 0 0 0 40px rgba(255,255,255,.9)}100%{box-shadow:inset 0 0 0 0 rgba(255,255,255,0)}}
.reel video{width:100%;height:100%;object-fit:cover;display:block}
.reel__bar{position:absolute;left:0;right:0;top:0;height:4px;background:rgba(255,255,255,.25)}.reel__bar i{display:block;height:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left}
.reel__top{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;color:var(--white);pointer-events:none}.reel__top .we{font:900 22px/1 var(--font);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.85)}
.reel__cap{position:absolute;left:0;right:0;bottom:0;padding:70px 16px 18px;background:linear-gradient(to top,rgba(5,5,5,.85),transparent);color:var(--white);transform:translateY(12px);opacity:0;transition:transform .5s var(--ease-out),opacity .4s}.reel.is-active .reel__cap{transform:none;opacity:1}
.reel__cap .tag{display:inline-block;background:var(--yellow);color:var(--ink);font:850 8px/1 var(--font);letter-spacing:.12em;text-transform:uppercase;padding:6px 8px;margin-bottom:10px}
.reel__cap h3{font:700 17px/1.2 var(--font);letter-spacing:-.03em;margin-bottom:6px}.reel__cap .mono{color:rgba(255,255,255,.7)}
.reel__sound{position:absolute;right:12px;bottom:12px;width:40px;height:40px;border:1px solid rgba(255,255,255,.6);color:var(--white);background:rgba(5,5,5,.4);font-size:16px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.reel.is-active .reel__sound{opacity:1}
.reels__ctl{display:flex;justify-content:space-between;align-items:center;margin-top:10px}
.reels__ctl .dots{border-color:var(--line-w)}.reels__ctl .dots button{background:rgba(255,255,255,.3)}.reels__ctl .dots button.is-active{background:var(--yellow)}
.prog__row[data-stagger]{opacity:0;transform:translateX(-24px);transition:opacity .6s var(--ease),transform .8s var(--ease-out),background-color .2s,padding .2s}.prog__row.is-in{opacity:1;transform:none}
.mc__it{opacity:0;transform:translateY(30px)}.mc__it.is-in{opacity:1;transform:none;transition:opacity .6s var(--ease),transform .8s var(--ease-out),box-shadow .3s}.mc__it.is-in:hover{transform:translateY(-6px)}
.mc__sig{transition:transform .5s var(--ease-out)}.mc__it:hover .mc__sig{transform:translateX(6px) skewX(-4deg)}
@media (max-width:1023px){.mh2{min-height:0}.mh2__grid{grid-template-columns:1fr}.mh2__frame{grid-template-columns:56px 1fr 56px;height:70vh}.mh2__q{font-size:80px}.reels{padding:10px var(--gutter) 20px}.reel{width:min(320px,78vw)}.mh2__stats{flex-wrap:wrap}.mh2__stats li{flex:1 1 40%}}

/* ── page associé : entrées et bandeau chiffres ── */
.ap__anim{animation:slamUp .7s cubic-bezier(.16,1.28,.3,1) both}
.ap__ch{display:inline-block;animation:apCh .7s cubic-bezier(.16,1.3,.3,1) both}@keyframes apCh{0%{opacity:0;transform:translateY(60%) skewX(-8deg)}100%{opacity:1;transform:none}}
.ap__bignum{animation:slamUp 1s var(--ease-out) both;will-change:transform}
.ap__strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--white)}
.ap__strip div{padding:26px 22px;border-right:1px solid var(--line-w)}.ap__strip div:last-child{border-right:0}
.ap__strip b{display:block;font:860 44px/1 var(--font);letter-spacing:-.06em;color:var(--yellow)}.ap__strip span{font:500 9px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--w-58)}
.ap__frame{transition:transform .5s var(--ease-out),box-shadow .5s}.ap__frame:hover{transform:translateY(-6px) rotate(-.5deg);box-shadow:0 40px 80px rgba(0,0,0,.5)}
@media (max-width:1023px){.ap__strip{grid-template-columns:1fr 1fr}.ap__strip div{border-bottom:1px solid var(--line-w)}}

/* ── Médiathèque : bento dynamique ── */
.mx{padding:90px 0 70px;background:var(--ink);color:var(--white)}
.mx__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:250px;gap:10px;margin-top:44px}
.mx__it{position:relative;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;padding:20px;background:var(--white);color:var(--ink);text-decoration:none;border:1px solid transparent;opacity:0;transform:translateY(60px) rotate(1deg);transform-origin:50% 100%}
.mx__it.is-in{animation:mxIn .75s cubic-bezier(.16,1.28,.3,1) forwards}@keyframes mxIn{0%{opacity:0;transform:translateY(60px) rotate(1deg)}55%{opacity:1}100%{opacity:1;transform:none}}
.mx__it--big{grid-column:span 2;grid-row:span 2}.mx__it--wide{grid-column:span 2}
.mx__it--blue{background:var(--blue);color:var(--white)}.mx__it--black{background:var(--navy);color:var(--white);border-color:var(--line-w)}.mx__it--yellow{background:var(--yellow);color:var(--ink)}
.mx__it--big,.mx__it--wide[data-video]{color:var(--white);background:var(--navy)}
.mx__it img,.mx__it video:not([controls]){position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease-out),opacity .4s}
.mx__it video:not([controls]){opacity:0}.mx__it:hover video:not([controls]){opacity:1}.mx__it:hover img{transform:scale(1.06)}
.mx__grad{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,5,.9) 0%,rgba(5,5,5,.3) 50%,rgba(5,5,5,.15));pointer-events:none}
.mx__it--wide[data-video] .mx__grad{background:linear-gradient(to top,rgba(18,86,246,.95) 0%,rgba(18,86,246,.55) 55%,rgba(18,86,246,.3))}
.mx__it::before{content:"";position:absolute;inset:0;background:var(--blue);transform:scaleY(0);transform-origin:50% 100%;transition:transform .45s var(--ease-out);z-index:0}
.mx__it:not([data-video]):hover::before{transform:scaleY(1)}.mx__it--blue::before{background:var(--ink)}.mx__it--black::before{background:var(--blue)}.mx__it--yellow::before{background:var(--ink)}
.mx__it:not([data-video]):hover{color:var(--white)}
.mx__top,.mx__sig,.mx__c{position:relative;z-index:1}
.mx__top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.mx__sig{position:absolute;left:16px;top:38px;font:860 clamp(70px,8vw,140px)/.85 var(--font);letter-spacing:-.09em;opacity:.16;transition:transform .6s var(--back),opacity .4s;pointer-events:none}.mx__it--big .mx__sig{font-size:clamp(120px,15vw,260px);top:30px;opacity:.22}
.mx__it:hover .mx__sig{transform:translate(8px,-6px) skewX(-6deg) scale(1.06);opacity:.3}
.mx__c h3{font:860 clamp(20px,1.7vw,26px)/1 var(--font);letter-spacing:-.05em;margin-bottom:8px}.mx__it--big .mx__c h3{font-size:clamp(28px,2.6vw,40px)}
.mx__c p{font-size:13px;line-height:1.4;opacity:.85;max-width:38ch}
.mx__go{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;transform:translateY(8px);opacity:0;transition:.4s var(--back)}.mx__go i{font-style:normal;transition:transform .3s}.mx__it:hover .mx__go{transform:none;opacity:1}.mx__it:hover .mx__go i{transform:translate(3px,-3px)}
.mx__it--film{padding:0;background:var(--navy)}.mx__it--film .mx__top{position:absolute;left:16px;right:16px;top:14px;color:var(--white)}.mx__it--film .media__player{margin:0;aspect-ratio:auto}
.mx__it--film video{width:100%;height:100%;object-fit:cover;display:block}
.mx__man{overflow:hidden;margin-top:40px;padding:10px 0;border-top:1px solid var(--line-w);border-bottom:1px solid var(--line-w)}
.mx__track{display:flex;gap:26px;white-space:nowrap;font:860 clamp(40px,6vw,96px)/1 var(--font);letter-spacing:-.07em;will-change:transform}.mx__track span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.7)}.mx__track strong{color:var(--yellow)}
@media (max-width:1023px){.mx__grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.mx__it--big{grid-column:span 2}}@media (max-width:640px){.mx__grid{grid-template-columns:1fr;grid-auto-rows:auto}.mx__it{min-height:200px}.mx__it--big,.mx__it--wide{grid-column:span 1}.mx__it--film{min-height:220px}}
@media (prefers-reduced-motion:reduce){.mx__it{opacity:1;transform:none;animation:none !important}.mx__track{transform:none !important;flex-wrap:wrap;white-space:normal}}

/* ── page expertise ── */
.xp__hero{background:var(--ink);color:var(--white);padding:calc(var(--hdr) + 30px) 0 0;position:relative;overflow:hidden}
.xp__hero .wrap{position:relative}
.xp__num{position:absolute;right:-.05em;top:-40px;font:860 clamp(220px,32vw,520px)/.8 var(--font);letter-spacing:-.1em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.35);pointer-events:none;animation:slamUp 1s cubic-bezier(.16,1.28,.3,1) both}
.xp__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:end;padding:30px 0 0;position:relative;z-index:1}
.xp__title{font:860 clamp(48px,6.5vw,104px)/.84 var(--font);letter-spacing:-.075em;margin:12px 0 22px;overflow:hidden;padding-bottom:.18em;margin-bottom:calc(0px - .1em)}
.xp__title>span{display:inline-block;animation:slam .7s cubic-bezier(.16,1.28,.3,1) both}.xp__title>span:nth-of-type(2){animation-delay:.1s}.xp__title>span:nth-of-type(3){animation-delay:.2s}
.xp__desc{font:400 clamp(20px,1.7vw,26px)/1.25 var(--font);letter-spacing:-.025em;max-width:30ch;margin:18px 0 26px;animation:slamUp .7s cubic-bezier(.16,1.28,.3,1) both .3s}
.xp__cta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:60px;animation:slamUp .7s cubic-bezier(.16,1.28,.3,1) both .4s}.xp__cta .link-ul{color:var(--white)}
.xp__faces{display:flex;align-items:flex-end;gap:10px;margin-bottom:60px;animation:slamUp .8s cubic-bezier(.16,1.28,.3,1) both .35s}
.xp__face{position:relative;width:clamp(120px,12vw,190px);aspect-ratio:3/4;overflow:hidden;background:var(--navy);clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);transition:clip-path .4s var(--ease-out),transform .4s var(--ease-out)}.xp__face:hover{clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:translateY(-6px)}
.xp__face img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05);transition:filter .4s}.xp__face:hover img{filter:none}
.xp__face span{position:absolute;left:12px;bottom:10px;right:8px;font:860 13px/1 var(--font);letter-spacing:-.03em;color:var(--white);text-shadow:0 2px 12px rgba(0,0,0,.6)}
.xp__strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-w);position:relative;z-index:1}
.xp__strip div{padding:26px 22px 26px 0;border-right:1px solid var(--line-w)}.xp__strip div:last-child{border-right:0}.xp__strip div+div{padding-left:22px}
.xp__strip b{display:block;font:860 clamp(30px,3vw,48px)/1 var(--font);letter-spacing:-.06em;color:var(--yellow);margin-bottom:8px}.xp__strip span{font:500 10px/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--w-58)}
.xp__body{padding-top:80px}
.xp__two{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start;margin-bottom:80px}
.xp__long{font:400 clamp(22px,2.2vw,34px)/1.15 var(--font);letter-spacing:-.04em}
.xp__list{display:grid;gap:0;border-top:1px solid var(--line)}.xp__list li{display:grid;grid-template-columns:44px 1fr auto;gap:16px;align-items:center;padding:20px 0;border-bottom:1px solid var(--line);opacity:0;transform:translateX(40px)}.xp__list li.is-in{animation:slamR .6s cubic-bezier(.16,1.28,.3,1) forwards}
.xp__list b{font:860 20px/1 var(--font);letter-spacing:-.05em;color:var(--blue)}.xp__list span{font:600 17px/1.2 var(--font);letter-spacing:-.03em}.xp__list i{font-style:normal;color:var(--ink-58);transition:transform .3s}.xp__list li:hover i{transform:translate(4px,-4px);color:var(--blue)}
.xp__sec{padding:0 0 70px}.xp__sec .eyebrow{margin-bottom:20px}
.xp__band{background:var(--blue);color:var(--white);padding:90px 0}.xp__band .h2{color:var(--white)}
.xp__band-grid{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
@media (max-width:1023px){.xp__grid,.xp__two,.xp__band-grid{grid-template-columns:1fr;gap:30px}.xp__num{font-size:clamp(160px,40vw,300px);top:0}.xp__strip{grid-template-columns:1fr 1fr}.xp__strip div{border-right:0;padding-left:0 !important}.xp__faces{margin-top:10px}}
@keyframes slamR{0%{opacity:0;transform:translateX(40px)}55%{opacity:1}100%{opacity:1;transform:none}}
