
@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:swap;src:url("/refonte/shared/fonts/inter-200.woff2") format("woff2")}
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/refonte/shared/fonts/inter-400.woff2") format("woff2")}
:root{--marin:#010C30;--creme:#FEF9F3;--corail:#D43829;
--milA:linear-gradient(120deg,#3713D0 0%,#3713D0 20%,#86267A 55%,#B0304F 82%,#D43829 100%);
--milC:radial-gradient(130% 150% at 100% 100%,#D43829 0%,#B0304F 16%,#86267A 40%,#3713D0 72%,#3713D0 100%);
--dot:linear-gradient(140deg,#3100FF 33%,#F83624 78%);
--ln:rgba(1,12,48,.14);--mu:rgba(1,12,48,.6);--lnd:rgba(254,249,243,.18);--mud:rgba(254,249,243,.7);
--d-xs:250ms;--d-s:400ms;--d-m:800ms;--d-l:1200ms;--e-out:cubic-bezier(.16,1,.3,1);--e-io:cubic-bezier(.65,0,.35,1);
--m:clamp(20px,5vw,72px);
--fs-body:clamp(16px,.2vw + 15.4px,18px);
--fs-lead:clamp(17px,.45vw + 15.5px,22px);
--fs-h1:clamp(36px,min(5.59vw + 18.1px,13.5cqi),112px);
--fs-h2xl:clamp(34px,min(5vw + 18px,13cqi),104px);
--fs-h2:clamp(30px,min(3.4vw + 19.1px,13cqi),64px);
--fs-h3:clamp(22px,min(2.8vw + 13px,12cqi),56px);
--fs-h3s:clamp(20px,min(.8vw + 17px,11cqi),32px);
--fs-stat:clamp(48px,min(4.4vw + 34px,40cqi),104px);
--fs-statm:clamp(32px,min(2vw + 26px,26cqi),60px);
--grain:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font:400 17px/1.55 Inter,system-ui,sans-serif;background:var(--creme);color:var(--marin);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}
h1,h2,h3,h4{font-weight:200;line-height:1.05;letter-spacing:-.02em}
.wrap{max-width:1360px;margin:0 auto;padding:0 var(--m)}
.lab{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mu)}
.dk{background:var(--marin);color:var(--creme)}.dk .lab,.ml .lab{color:var(--mud)}
.ml{color:var(--creme)}
.gr{position:relative;isolation:isolate}.gr::after{content:"";position:absolute;inset:0;background:var(--grain);opacity:var(--g,.08);mix-blend-mode:overlay;pointer-events:none;z-index:0}
.gr>*{position:relative;z-index:1}
.fic{font-size:12px;letter-spacing:.06em;border:1px solid currentColor;padding:3px 8px;opacity:.7;white-space:nowrap}
/* banner */
.demo{background:var(--creme);border-bottom:1px solid var(--ln);font-size:12px;text-align:center;padding:6px;color:var(--mu)}
/* cursor dot */
.cur{position:fixed;left:0;top:0;width:10px;height:10px;border-radius:50%;background:var(--dot);pointer-events:none;z-index:100;transform:translate(-50%,-50%);transition:width var(--d-xs) var(--e-out),height var(--d-xs) var(--e-out),opacity var(--d-xs);opacity:0}
.cur.big{width:44px;height:44px;background:none;border:1px solid var(--corail)}
@media (hover:none){.cur{display:none}}
/* header */
.hd{position:sticky;top:0;z-index:50;transition:background var(--d-s),color var(--d-s),border-color var(--d-s);border-bottom:1px solid transparent}
.hd .wrap{display:flex;align-items:center;gap:40px;height:72px}
.hd .lg{height:22px;width:auto}.hd .lg-w{display:none}
.hd.on-dk .lg{display:none}.hd.on-dk .lg-w{display:block}
.hd.sc{background:rgba(254,249,243,.92);backdrop-filter:blur(10px);border-color:var(--ln);color:var(--marin)}.hd.sc .lg{display:block}.hd.sc .lg-w{display:none}
.hd nav{display:flex;gap:30px;margin-left:auto;font-size:15px}
.hd.on-dk{color:var(--creme)}
.ln{position:relative;padding-right:10px}
.ln::after{content:"";position:absolute;left:0;bottom:-5px;height:1px;width:calc(100% - 8px);background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-s) var(--e-out)}
.ln::before{content:"";position:absolute;right:0;bottom:-7px;width:5px;height:5px;border-radius:50%;background:var(--dot);opacity:0;transition:opacity var(--d-xs)}
.ln:hover::after,.ln:focus-visible::after{transform:none}.ln:hover::before,.ln:focus-visible::before{opacity:1;transition-delay:var(--d-s)}
.btn{display:inline-flex;align-items:center;gap:12px;padding:15px 28px;border-radius:999px;border:1px solid currentColor;font-size:15px;cursor:pointer;background:none;color:inherit;font-family:inherit;transition:background var(--d-xs),color var(--d-xs);will-change:transform}
.btn .ar{display:inline-block;transition:transform var(--d-s) var(--e-out)}.btn:hover .ar{transform:translateX(4px)}
.btn-p{background:var(--marin);color:var(--creme);border-color:var(--marin)}.btn-p:hover{background:transparent;color:var(--marin)}
.btn-c{background:var(--creme);color:var(--marin);border-color:var(--creme)}.btn-c:hover{background:transparent;color:var(--creme)}
:focus-visible{outline:1px solid var(--corail);outline-offset:4px}
.mb{display:none;background:none;border:0;color:inherit;font:inherit;cursor:pointer}
/* hero */
.hero{background:var(--marin);color:var(--creme);min-height:100vh;margin-top:-72px;padding-top:72px;display:flex;align-items:flex-end;overflow:hidden;--g:.12}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(58% 62% at 100% 100%,rgba(212,56,41,.9) 0%,rgba(176,48,79,.72) 18%,rgba(134,38,122,.5) 38%,rgba(55,19,208,.28) 62%,rgba(55,19,208,0) 100%)}
.hero .wrap{width:100%;padding-bottom:9vh}
.hero h1{font-size:var(--fs-h1);max-width:11ch;line-height:.98}
.hero h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom}.hero h1 .w>span{display:inline-block;transform:translateY(105%);animation:up 1.1s var(--e-out) forwards;animation-delay:calc(var(--i)*90ms + 200ms)}
@keyframes up{to{transform:none}}
.hero-b{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-top:48px;flex-wrap:wrap}
.hero p{max-width:40ch;font-size:19px;opacity:.9}
.circ{position:absolute;right:-10vw;top:50%;width:min(82vw,980px);aspect-ratio:1;transform:translateY(-55%);pointer-events:none;z-index:1}
.circ circle{fill:none;stroke:rgba(254,249,243,.32);stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.4s var(--e-out) forwards;animation-delay:calc(var(--i)*160ms)}
.circ .dt{fill:url(#gd);stroke:none;opacity:0;animation:fi .8s 1.6s forwards;stroke-dasharray:none}
@keyframes draw{to{stroke-dashoffset:0}}@keyframes fi{to{opacity:1}}
.hero-ln{position:absolute;left:var(--m);right:var(--m);bottom:calc(9vh - 28px);height:1px;z-index:2}
.hero-ln i{position:absolute;inset:0;background:rgba(254,249,243,.5);transform:scaleX(0);transform-origin:left;animation:sx 1.6s 1s var(--e-out) forwards}
.hero-ln b{position:absolute;right:-4px;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--dot);opacity:0;animation:fi .5s 2.5s forwards}
@keyframes sx{to{transform:none}}
.scr{font-size:12px;letter-spacing:.09em;text-transform:uppercase;display:flex;gap:10px;align-items:center}
.scr i{width:1px;height:40px;background:rgba(254,249,243,.5);position:relative;overflow:hidden}.scr i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:var(--creme);animation:sd 2s infinite var(--e-io)}
@keyframes sd{to{top:100%}}
/* reveals */
.rv{opacity:0;transform:translateY(28px);transition:opacity var(--d-m) var(--e-out),transform var(--d-m) var(--e-out);transition-delay:calc(var(--i,0)*90ms)}
.rv.in{opacity:1;transform:none}
.dl{height:1px;background:currentColor;opacity:.9;transform:scaleX(0);transform-origin:left;transition:transform var(--d-l) var(--e-out)}.in .dl,.dl.in{transform:none}
/* statement */
.stm{background:var(--creme);color:var(--marin);padding:16vh 0}
.stm .acc{display:block;position:relative;width:min(320px,40vw);height:1px;background:var(--milA);margin-top:44px;transform:scaleX(0);transform-origin:left;transition:transform var(--d-l) var(--e-out)}.stm .acc.in{transform:none}.stm .acc::after{content:"";position:absolute;right:-4px;top:-4px;width:9px;height:9px;border-radius:50%;background:var(--dot)}
.stm h2{font-size:var(--fs-h2);max-width:20ch}
.stm h2 .wd{opacity:.5;transition:opacity .4s}.stm h2 .wd.on{opacity:1}
/* figures */
.fig{padding:14vh 0;border-top:1px solid var(--ln)}
.fig-g{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--marin)}
.fig-g>div{padding:28px 24px 0 0;border-right:1px solid var(--ln)}.fig-g>div:last-child{border:0}
.fig-g>div+div{padding-left:24px}
.fig b{display:block;font-weight:200;font-size:clamp(56px,7vw,112px);line-height:1;letter-spacing:-.03em;margin:14px 0 10px;font-variant-numeric:tabular-nums}
.fig p{font-size:15px;color:var(--mu);max-width:22ch}
.fig .ttl{display:flex;justify-content:space-between;align-items:end;margin-bottom:56px;gap:24px;flex-wrap:wrap}
.fig h2{font-size:var(--fs-h2);max-width:14ch}
/* services */
.svc{padding:14vh 0 16vh}
.svc-l{border-top:1px solid var(--creme)}
.svc-i{display:grid;grid-template-columns:80px 1fr 1.1fr 60px;align-items:center;gap:24px;padding:34px 0;border-bottom:1px solid var(--lnd);position:relative;cursor:pointer}
.svc-i h3{font-size:var(--fs-h3);overflow-wrap:normal;transition:transform var(--d-s) var(--e-out)}
.svc-i p{color:var(--mud);font-size:15px;max-width:40ch;opacity:.0;transform:translateY(8px);transition:opacity var(--d-s),transform var(--d-s) var(--e-out)}
.svc-i .n{font-size:12px;color:var(--mud)}
.svc-i .o{width:44px;height:44px;border:1px solid var(--lnd);border-radius:50%;display:grid;place-items:center;transition:border-color var(--d-s),transform var(--d-s) var(--e-out)}
.svc-i::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-m) var(--e-out)}
.svc-i:hover::after{transform:none}.svc-i:hover h3{transform:translateX(16px)}.svc-i:hover p{opacity:1;transform:none}.svc-i:hover .o{border-color:var(--creme);transform:rotate(-45deg)}
.svc-im{position:fixed;left:0;top:0;width:260px;aspect-ratio:4/5;pointer-events:none;z-index:40;opacity:0;transform:translate(-50%,-50%) scale(.85);transition:opacity var(--d-s),transform var(--d-s) var(--e-out);overflow:hidden}
.svc-im.on{opacity:1;transform:translate(-50%,-50%) scale(1)}.svc-im img{width:100%;height:100%;object-fit:cover}
.svc .ttl{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:64px;align-items:end}
.svc h2{font-size:var(--fs-h2)}
/* projects horizontal */
.prj{height:340vh;position:relative}
.prj-s{position:sticky;top:0;height:100vh;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.prj-s .wrap{width:100%}.prj .ttl{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}
.prj h2{font-size:var(--fs-h2)}
.prj-t{display:flex;gap:32px;padding-left:var(--m);will-change:transform}
.pc{flex:0 0 auto;width:min(42vw,560px)}.pc:nth-child(even){margin-top:80px;width:min(32vw,420px)}
.pc .im{overflow:hidden;aspect-ratio:4/3;position:relative}.pc:nth-child(even) .im{aspect-ratio:4/5}
.pc img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--e-out),filter var(--d-m)}
.pc:hover img{transform:scale(1.05)}
.pc .im .co{position:absolute;inset:0;opacity:0;transition:opacity var(--d-m)}.pc:hover .im .co{opacity:1}
.pc h3{font-size:28px;margin-top:18px}.pc .meta{display:flex;justify-content:space-between;margin-top:10px}
.prog{height:1px;background:var(--ln);margin:48px var(--m) 0;position:relative}.prog i{position:absolute;left:0;top:0;height:1px;background:var(--marin);width:var(--p,0%)}.prog b{position:absolute;top:-4px;left:var(--p,0%);width:9px;height:9px;border-radius:50%;background:var(--dot);transform:translateX(-50%)}
/* split */
.spl{padding:16vh 0;background:var(--creme)}
.spl .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,8vw,140px);align-items:center}
.rnd{position:relative;aspect-ratio:1;max-width:520px;width:100%}
.rnd img{width:100%;height:100%;object-fit:cover;border-radius:50%;clip-path:circle(0% at 50% 50%);transition:clip-path 1.4s var(--e-out)}
.rnd.in img{clip-path:circle(50% at 50% 50%)}
.rnd svg{position:absolute;inset:-6%;width:112%;height:112%;overflow:visible}
.rnd svg circle{fill:none;stroke:var(--corail);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2s .4s var(--e-out)}.rnd.in svg circle{stroke-dashoffset:.25}
.spl h2{font-size:var(--fs-h2);margin:18px 0 24px}
.spl p{color:var(--mu);max-width:44ch;margin-bottom:28px}
/* quote */
.qt{padding:20vh 0;--g:.08}
.qt blockquote{font-size:clamp(36px,5.6vw,92px);font-weight:200;line-height:1.05;letter-spacing:-.02em;max-width:18ch}
.qt .who{display:flex;gap:18px;align-items:center;margin-top:48px}.qt .who img{width:64px;height:64px;border-radius:50%;object-fit:cover}
.qt .mk{width:64px;height:1px;background:var(--creme);margin-bottom:40px}
/* process */
.pro{padding:16vh 0}
.pro .wrap{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(40px,7vw,120px)}
.pro-l{position:sticky;top:120px;align-self:start}
.pro h2{font-size:var(--fs-h2);margin:18px 0 20px}
.pro-r{position:relative;padding-left:56px}
.pro-r .tr{position:absolute;left:8px;top:8px;bottom:8px;width:1px;background:var(--ln)}
.pro-r .tr i{position:absolute;left:0;top:0;width:1px;background:var(--marin);height:var(--p,0%)}
.pro-r .tr b{position:absolute;left:-4px;top:var(--p,0%);width:9px;height:9px;border-radius:50%;background:var(--dot);transform:translateY(-50%)}
.st{padding:0 0 22vh;position:relative}.st:last-child{padding-bottom:0}
.st::before{content:"";position:absolute;left:-52px;top:12px;width:9px;height:9px;border-radius:50%;border:1px solid var(--marin);background:var(--creme)}
.st .n{font-size:12px;color:var(--mu)}.st h3{font-size:var(--fs-h3);margin:10px 0 14px}.st p{color:var(--mu);max-width:42ch}
.st{opacity:.25;transition:opacity var(--d-m)}.st.on{opacity:1}
/* matrix */
.mx{padding:6vh 0}
.mx svg{width:100%;height:auto;display:block}
.mx circle{fill:var(--marin);transform-box:fill-box;transform-origin:center;transform:scale(.4);opacity:.25;transition:transform .6s var(--e-out),opacity .6s}
.mx.in circle{transform:scale(1);opacity:var(--o);transition-delay:calc(var(--d)*1ms)}
/* team strip */
.tm{padding:14vh 0;overflow:hidden}
#equipe.tm{padding-bottom:0}
.tm .ttl{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;gap:24px}
.tm h2{font-size:var(--fs-h2)}
.tm-g{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.tm-g figure .im{overflow:hidden;aspect-ratio:3/4;position:relative}
.tm-g img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e-out)}
.tm-g .co{position:absolute;inset:0;opacity:0;transition:opacity var(--d-m) var(--e-out)}
.tm-g figure:hover .co{opacity:1}.tm-g figure:hover img{transform:scale(1.04)}
.tm-g figcaption{margin-top:12px;font-size:15px}.tm-g figcaption span{display:block;font-size:12px;color:var(--mud)}
.tm-g figure:nth-child(even){margin-top:56px}
/* clients marquee */
.cl{padding:9vh 0;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);overflow:hidden}
.cl .lab{text-align:center;margin-bottom:36px}
.mq{display:flex;width:max-content;animation:mq 40s linear infinite}.cl:hover .mq{animation-play-state:paused}
.mq span{display:flex;align-items:center;gap:14px;margin:0 48px;font-size:26px;font-weight:200;letter-spacing:.02em;opacity:.55;white-space:nowrap}
.mq span i{width:28px;height:28px;border:1px solid currentColor;border-radius:50%}.mq span:nth-child(3n) i{border-radius:0}.mq span:nth-child(3n+1) i{width:40px;height:1px;border:0;border-top:1px solid currentColor;border-radius:0}
@keyframes mq{to{transform:translateX(-50%)}}
/* editorial */
.ed{padding:14vh 0}
.ed .ttl{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}
.ed h2{font-size:var(--fs-h2)}
.ed-g{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.ec{border-top:1px solid var(--marin);padding-top:18px;display:flex;flex-direction:column;gap:14px}
.ec .im{overflow:hidden;aspect-ratio:16/10}.ec img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e-out)}.ec:hover img{transform:scale(1.04)}
.ec h3{font-size:clamp(22px,2vw,30px);line-height:1.15}.ec:first-child h3{font-size:clamp(28px,2.8vw,40px)}
.ec .ln{align-self:flex-start;font-size:15px}
.ec:hover .ln::after{transform:none}.ec:hover .ln::before{opacity:1;transition-delay:var(--d-s)}
/* CTA + form */
.cta{padding:18vh 0;text-align:left;position:relative;overflow:hidden}
.cta .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.cta h2{font-size:var(--fs-h2xl);line-height:.98}
.cta .arc{position:absolute;left:-12vw;bottom:-60vw;width:90vw;aspect-ratio:1;pointer-events:none}
.cta .arc circle{fill:none;stroke:rgba(254,249,243,.18);vector-effect:non-scaling-stroke}
.mag{background:transparent!important;color:var(--creme)!important;border-color:rgba(254,249,243,.6)!important;transition:border-color var(--d-s)!important}.mag:hover{border-color:var(--corail)!important}.mag{margin-top:48px;width:168px;height:168px;border-radius:50%;justify-content:center;padding:0;font-size:16px}
.fm{display:flex;flex-direction:column;gap:30px;padding-top:12px}
.fd{position:relative;display:block;padding-top:18px}
.fd span{position:absolute;top:0;left:0;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mud)}
.fd input,.fd textarea,.fd select{all:unset;box-sizing:border-box;width:100%;padding:12px 0;font:400 18px/1.4 Inter,sans-serif;color:var(--creme);border-bottom:1px solid var(--lnd)}
.fd select option{color:var(--marin)}
.fd ::placeholder{color:rgba(254,249,243,.4)}
.fd i{position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--creme);transform:scaleX(0);transform-origin:left;transition:transform var(--d-s) var(--e-out)}
.fd b{position:absolute;right:-3px;bottom:-3px;width:7px;height:7px;border-radius:50%;background:var(--dot);transform:scale(0);transition:transform var(--d-xs) var(--e-out)}
.fd:focus-within i,.fd:focus-within b{transform:none}.fd:focus-within b{transition-delay:var(--d-s)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{cursor:pointer}.chips input{position:absolute;opacity:0}
.chips span{display:inline-block;padding:8px 16px;border:1px solid var(--lnd);border-radius:999px;font-size:14px;transition:border-color var(--d-xs),background var(--d-xs),color var(--d-xs)}
.chips input:checked+span{border-color:var(--creme);background:var(--creme);color:var(--marin)}.chips input:focus-visible+span{outline:1px solid var(--corail);outline-offset:3px}
.sent{display:none;font-size:15px;align-items:center;gap:10px}.sent::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--dot)}
.fm.ok .sent{display:flex}
.fm-err{margin-top:14px;font-size:14px;color:var(--corail)}
/* footer */
.ft{padding:12vh 0 40px;border-top:1px solid var(--lnd)}
.ft-g{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.ft-c{display:flex;flex-direction:column;gap:12px;font-size:15px}.ft-c a{align-self:flex-start}
.ft .big{font-size:clamp(64px,15vw,240px);font-weight:200;letter-spacing:-.04em;line-height:.85;margin-top:12vh;display:flex;align-items:flex-end;gap:.04em}
.ft .big i{width:.14em;height:.14em;border-radius:50%;background:var(--dot);margin-bottom:.1em}
.ft-b{display:flex;justify-content:space-between;margin-top:40px;font-size:12px;color:var(--mud);flex-wrap:wrap;gap:12px}
/* responsive */
@media (max-width:900px){
 .hd nav{display:none}.mb{display:block;margin-left:auto}.hd .btn{display:none}
 .hd.open nav{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--creme);color:var(--marin);padding:24px var(--m);gap:18px;border-bottom:1px solid var(--ln)}
 .fig-g{grid-template-columns:1fr 1fr}.fig-g>div{padding:24px 12px 24px 0!important;border-right:0;border-bottom:1px solid var(--ln)}
 .svc .ttl,.spl .wrap,.pro .wrap{grid-template-columns:1fr}
 .cta .wrap{grid-template-columns:minmax(0,1fr)}
 .svc-i{grid-template-columns:40px 1fr 44px}.svc-i p{display:none}
 .prj{height:auto}.prj-s{position:static;height:auto;padding:12vh 0}.prj-t{overflow-x:auto;scroll-snap-type:x mandatory;padding-right:var(--m);transform:none!important}.pc,.pc:nth-child(even){width:78vw;margin-top:0;scroll-snap-align:start}.prog{display:none}
 .pro-l{position:static}
 .tm-g{grid-template-columns:repeat(3,1fr)}.tm-g figure:nth-child(even){margin-top:0}
 .ed-g{grid-template-columns:1fr}.ft-g{grid-template-columns:1fr 1fr}
 .svc-im{display:none}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
 .rv{opacity:1;transform:none}.hero h1 .w>span{transform:none}.mq{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
 .stm h2 .wd{opacity:1}.st{opacity:1}.cur{display:none}
 .prj{height:auto}.prj-s{position:static;height:auto;padding:12vh 0}.prj-t{overflow-x:auto;transform:none!important}.prog{display:none}
}
.hero{background:var(--marin)!important}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(58% 62% at 100% 100%,rgba(212,56,41,.9) 0%,rgba(176,48,79,.72) 18%,rgba(134,38,122,.5) 38%,rgba(55,19,208,.28) 62%,rgba(55,19,208,0) 100%)}
.hero .wrap{padding-bottom:calc(9vh + 64px)}
.hero-ln{bottom:calc(9vh + 36px)}
.h1s{font-size:var(--fs-h1);max-width:14ch!important;line-height:1!important;animation:h1in 1.2s .25s var(--e-out) both}
@keyframes h1in{from{transform:translateY(30px)}to{transform:none}}
.xp{position:absolute;left:0;right:0;bottom:0;border-top:1px solid rgba(254,249,243,.16);overflow:hidden;z-index:2;padding:16px 0}
.xpt{display:flex;width:max-content;animation:mq 50s linear infinite}
.xpt span{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mud);margin:0 28px;display:flex;align-items:center;gap:28px;white-space:nowrap}
.xpt span::after{content:"";width:4px;height:4px;border-radius:50%;border:1px solid var(--corail)}
.skip{position:absolute;left:-999px;top:8px;z-index:200;background:var(--creme);padding:8px 14px}.skip:focus{left:8px}
.lng{display:flex;gap:6px;align-items:center;font-size:13px;margin-left:8px}.lng button{all:unset;cursor:pointer;opacity:.55;padding:4px 2px;position:relative}.lng button[aria-pressed=true]{opacity:1}.lng button[aria-pressed=true]::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--corail)}.lng button:focus-visible{outline:1px solid var(--corail);outline-offset:3px}.lng span{opacity:.4}
.hd nav{margin-left:auto}
.stm-g{display:grid;grid-template-columns:220px 1fr;gap:40px}
.stm h2{font-size:var(--fs-h2);max-width:16ch!important}
.stm-p{color:var(--mu);font-size:19px;max-width:48ch;margin-top:32px}
.fig{padding-bottom:0!important}
.src,.fig p.src{font-size:12px;color:var(--mu);margin-top:28px;max-width:none!important}.fig b{white-space:nowrap;font-size:clamp(52px,6vw,100px)!important}
.cl{margin-top:12vh;padding:7vh 0!important}
.mq span{font-size:24px!important;opacity:.6;transition:opacity var(--d-xs)}.mq span:hover{opacity:1}
.mq span::before{content:"";width:5px;height:5px;border-radius:50%;border:1px solid var(--corail);margin-right:14px}
.svc-i p{opacity:.85!important;transform:none!important}
.svc .ttl{display:flex!important;justify-content:space-between;align-items:end}
.oc{background:var(--creme);border-top:1px solid var(--marin);padding:22px 0 0;display:flex;flex-direction:column;gap:10px;width:min(40vw,520px)!important;margin-top:0!important}
.pc.oc:nth-child(even){margin-top:64px!important}
.ocv{width:100%;height:auto;margin-bottom:10px;color:var(--marin)}
.oca{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--e-out)}.oc:hover .oca,.ec:hover .oca{stroke-dashoffset:0}
.oc b{font-weight:200;font-size:clamp(44px,4.6vw,72px);letter-spacing:-.03em;line-height:1}
.ocm{font-size:13px;color:var(--mu);max-width:32ch}
.oc h3{font-size:22px!important;margin-top:8px;max-width:26ch}
.oc .ln{align-self:flex-start;font-size:15px;margin-top:6px}.oc:hover .ln::after{transform:none}.oc:hover .ln::before{opacity:1;transition-delay:var(--d-s)}
.pil{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.pil li{border:1px solid var(--ln);border-radius:999px;padding:7px 16px;font-size:14px}
.qt .mk{background:var(--creme)!important}
.qt blockquote{max-width:20ch!important}
.br{padding:14vh 0}
.br-h{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:start;margin-bottom:56px}.br-h h2{font-size:var(--fs-h2)}.br-h p{color:var(--mud)}
.br-g{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--creme)}
.br-g>div{padding:24px 18px 0 0;border-right:1px solid var(--lnd);position:relative}.br-g>div+div{padding-left:18px}.br-g>div:last-child{border:0}
.br-g h3{font-weight:400;font-size:17px;margin:14px 0 8px}.br-g p{font-size:14px;color:var(--mud)}
.br-g>div::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--corail);transition:width var(--d-m) var(--e-out)}.br-g>div+div::before{left:0}.br-g>div:hover::before{width:100%}
.tm{background:var(--creme)}.tm .lab{color:var(--mu)}.tm-g figcaption span{color:var(--mu)!important}
.grp{padding:14vh 0;border-top:1px solid var(--ln)}
.grp-g{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(40px,7vw,120px)}
.grp h2{font-size:var(--fs-h2)}.grp-g>div:first-child p{color:var(--mu);max-width:40ch;margin:20px 0 26px}
.grp-l{border-top:1px solid var(--marin)}
.gi{display:grid;grid-template-columns:1fr auto 30px;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid var(--ln);position:relative}
.gi b{font-weight:200;font-size:clamp(26px,2.6vw,38px);transition:transform var(--d-s) var(--e-out)}.gi span{font-size:13px;color:var(--mu)}.gi i{font-style:normal;transition:transform var(--d-s) var(--e-out)}
.gi::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-m) var(--e-out)}
.gi:hover::after{transform:none}.gi:hover b{transform:translateX(12px)}.gi:hover i{transform:translate(3px,-3px)}
.ag{grid-column:2;border:1px solid var(--ln);padding:32px;margin-top:8px}.ag h3{font-size:28px;margin:12px 0 18px}.ag ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin-bottom:20px;font-size:15px}.ag li{display:flex;flex-direction:column;padding-left:20px;position:relative}.ag li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:1px;background:var(--corail)}.ag li b{font-weight:400}.ag li span{color:var(--mu);font-size:14px}
.ed{border-top:1px solid var(--ln)}
.ev{aspect-ratio:16/10;border:1px solid var(--ln);display:flex;align-items:flex-end;color:var(--marin)}.ev svg{width:100%}
.ec:not(:first-child){justify-content:flex-end;min-height:100%}
.ct{margin-top:40px}
.mag{background:transparent!important;color:var(--creme)!important;border-color:rgba(254,249,243,.6)!important;width:168px;height:168px;border-radius:50%;justify-content:center;padding:0;margin-top:48px}.mag:hover{border-color:var(--corail)!important}
.ft-c p{font-size:14px}
@media (max-width:1100px){.hd nav{display:none}.mb{display:block;margin-left:auto}.hd .btn.mg:not(.btn-c){display:none}
 .hd.open nav{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--creme);color:var(--marin);padding:24px var(--m);gap:18px;border-bottom:1px solid var(--ln)}}
@media (max-width:900px){.stm-g,.br-h,.grp-g{grid-template-columns:1fr}.ag{grid-column:1}.br-g{grid-template-columns:1fr 1fr}.br-g>div{padding:20px 12px 20px 0!important;border-right:0;border-bottom:1px solid var(--lnd)}
 .oc,.pc.oc:nth-child(even){width:80vw!important;margin-top:0!important}.svc .ttl{flex-direction:column;align-items:flex-start}.mag{width:128px;height:128px}.lng{margin-left:auto}.mb{margin-left:12px}}
@media (prefers-reduced-motion:reduce){.h1s{opacity:1;transform:none;animation:none}.xpt{animation:none;flex-wrap:wrap;width:auto}.oca{stroke-dashoffset:0}}
/* ==== composants pages internes ==== */
.mx svg{width:100%;height:auto;display:block}
.hero.sm{min-height:82vh}
.hero.sm h1{font-size:var(--fs-h1);max-width:13ch;line-height:1}
.hero .kick{display:flex;gap:14px;align-items:center}.hero .kick::before{content:"";width:28px;height:1px;background:var(--corail)}
.chero{padding:calc(72px + 14vh) 0 12vh;position:relative;overflow:hidden;border-bottom:1px solid var(--ln)}
.chero h1{font-size:var(--fs-h1);max-width:13ch;line-height:1;animation:h1in 1.2s .2s var(--e-out) both}
.chero .circ circle{stroke:rgba(1,12,48,.16)}.chero .lead2{max-width:46ch;font-size:19px;color:var(--mu);margin-top:36px}
.chero .wrap{position:relative;z-index:2}
.lead2{font-size:19px;max-width:46ch}
.ttl2{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:56px;flex-wrap:wrap}
.ttl2 h2,.h2{font-size:var(--fs-h2)}
.ttl2 h2.lab{font-size:12px}
.sec{padding:14vh 0}.sec.bt{border-top:1px solid var(--ln)}
.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font-size:12px;letter-spacing:.04em;padding:5px 12px;border:1px solid var(--ln);border-radius:999px;color:var(--mu)}
.dk .tags span{border-color:var(--lnd);color:var(--mud)}
/* domaines (services) */
.dom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(32px,6vw,96px);align-items:start}
.dom-l{border-top:1px solid var(--creme)}
.dom-l button{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:44px 1fr 20px;align-items:center;padding:20px 0;border-bottom:1px solid var(--lnd);font-size:clamp(22px,2.2vw,32px);font-weight:200;position:relative;color:var(--mud);transition:color var(--d-xs)}
.dom-l button .n{font-size:12px;font-weight:400}
.dom-l button::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-m) var(--e-out)}
.dom-l button i{width:7px;height:7px;border-radius:50%;background:var(--dot);opacity:0;transition:opacity var(--d-xs)}
.dom-l button[aria-selected=true]{color:var(--creme)}.dom-l button[aria-selected=true]::after{transform:none}.dom-l button[aria-selected=true] i{opacity:1}
.dom-l button:focus-visible{outline:1px solid var(--corail);outline-offset:4px}
.dom-p{position:sticky;top:120px;min-height:360px}
.dom-p [role=tabpanel]{animation:pin var(--d-m) var(--e-out)}
@keyframes pin{from{opacity:0;transform:translateY(14px)}}
.dom-p h3{font-size:var(--fs-h3);margin:16px 0 22px;max-width:14ch}.dom-p p{color:var(--mud);font-size:18px;max-width:44ch;margin-bottom:28px}
.dom-p svg{width:100%;max-width:420px;height:auto;margin-bottom:24px;color:var(--creme)}
.dom-p .oca{stroke-dashoffset:0;animation:drw 1.6s var(--e-out)}@keyframes drw{from{stroke-dashoffset:1}}
/* étapes détaillées */
.stp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--marin)}
.stp>div{padding:28px 22px 0 0;border-right:1px solid var(--ln);display:flex;flex-direction:column;gap:14px;position:relative}.stp>div+div{padding-left:22px}.stp>div:last-child{border-right:0}
.stp>div::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--corail);transition:width var(--d-l) var(--e-out);transition-delay:calc(var(--i)*200ms)}.stp.in>div::before{width:100%}
.stp b{font-weight:200;font-size:44px;line-height:1}.stp h3{font-size:30px}.stp p{color:var(--mu);font-size:15px}
.loop{display:flex;align-items:center;gap:10px;margin-top:36px;font-size:13px;color:var(--mu)}.loop svg{width:42px;height:42px}
/* modes */
.mod{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mo{border:1px solid var(--ln);padding:32px 28px;display:flex;flex-direction:column;gap:14px;min-height:380px;position:relative;transition:border-color var(--d-s),transform var(--d-s) var(--e-out),box-shadow var(--d-s)}
.mo:hover{border-color:var(--marin);transform:translateY(-3px);box-shadow:0 8px 24px -16px rgba(1,12,48,.3)}
.mo .n{font-size:12px;color:var(--mu)}.mo h3{font-size:var(--fs-h3)}.mo p{color:var(--mu);font-size:15px;flex:1}
.mo svg{width:64px;height:64px;color:var(--marin)}
.mo .ln{align-self:flex-start}
/* agences mini */
.agb{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center}
.ck{list-style:none;display:flex;flex-direction:column;border-top:1px solid var(--lnd)}.ck li{padding:18px 0 18px 30px;border-bottom:1px solid var(--lnd);position:relative}.ck li::before{content:"";position:absolute;left:0;top:50%;width:14px;height:1px;background:var(--corail)}
.cr .ck{border-color:var(--ln)}.cr .ck li{border-color:var(--ln)}
/* FAQ */
.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(40px,7vw,120px)}
.qa details{border-top:1px solid var(--ln)}.qa details:last-child{border-bottom:1px solid var(--ln)}
.qa summary{list-style:none;cursor:pointer;padding:22px 40px 22px 0;position:relative;font-size:clamp(18px,1.6vw,22px)}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{position:absolute;right:6px;top:50%;width:14px;height:1px;background:var(--marin)}.qa summary i::after{content:"";position:absolute;inset:0;background:inherit;transform:rotate(90deg);transition:transform var(--d-s) var(--e-out)}
.qa details[open] summary i::after{transform:rotate(0)}.qa details[open] summary i{background:var(--corail)}
.qa summary:focus-visible{outline:1px solid var(--corail);outline-offset:4px}
.qa .ans{padding:0 0 24px;color:var(--mu);max-width:60ch;animation:pin var(--d-s) var(--e-out)}.qa .ans a{display:inline-block;margin-top:12px;color:var(--marin)}
/* résultats (projets) */
.og{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--marin)}
.oi{padding:28px 24px 32px 0;border-bottom:1px solid var(--ln);display:flex;flex-direction:column;gap:10px;position:relative}
.oi:not(:nth-child(4n)){border-right:1px solid var(--ln)}.oi:not(:nth-child(4n+1)){padding-left:24px}
.oi b{font-weight:200;font-size:clamp(36px,3.4vw,54px);letter-spacing:-.02em;line-height:1;margin:6px 0 2px}
.oi .m{font-size:13px;color:var(--mu)}.oi h3{font-size:19px;font-weight:400;line-height:1.3;margin-top:8px}.oi p{font-size:14px;color:var(--mu)}
.oi .est{font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ln);padding:2px 7px;align-self:flex-start}
.oi .tech{font-size:12px;color:var(--mu)}
.oi a.ln{align-self:flex-start;font-size:14px;margin-top:auto}
.oi::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-m) var(--e-out)}.oi:hover::after{transform:none}
/* études de cas */
.flt{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.flt button{all:unset;cursor:pointer;font-size:13px;padding:8px 16px;border:1px solid var(--lnd);border-radius:999px;color:var(--mud);transition:border-color var(--d-xs),color var(--d-xs)}
.flt button[aria-pressed=true]{border-color:var(--creme);color:var(--creme)}.flt button:focus-visible{outline:1px solid var(--corail);outline-offset:3px}
.csg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cs{all:unset;box-sizing:border-box;cursor:pointer;border-top:1px solid var(--creme);padding:24px 0 8px;display:flex;flex-direction:column;gap:12px;position:relative}
.cs[hidden]{display:none}
.cs .top{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mud)}
.cs b{font-weight:200;font-size:clamp(48px,4.6vw,76px);letter-spacing:-.03em;line-height:1}
.cs .m{font-size:13px;color:var(--mud)}.cs h3{font-size:24px;line-height:1.15;margin-top:6px}.cs p{font-size:14px;color:var(--mud)}
.cs .cl2{font-size:13px}.cs .ln{align-self:flex-start;font-size:14px}
.cs:hover .ln::after,.cs:focus-visible .ln::after{transform:none}.cs:hover .ln::before{opacity:1;transition-delay:var(--d-s)}
.cs:focus-visible{outline:1px solid var(--corail);outline-offset:6px}
.cs .arcv{position:absolute;right:0;top:24px;width:90px;height:90px;color:var(--creme)}
.cs .arcv path{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s var(--e-out)}.cs:hover .arcv path{stroke-dashoffset:0}
dialog.dlg{border:0;padding:0;height:auto;max-height:90vh;transform:none;opacity:1;width:min(980px,94vw);background:var(--creme);color:var(--marin);box-shadow:0 24px 64px -24px rgba(1,12,48,.45);margin:auto}
dialog.dlg::backdrop{background:rgba(1,12,48,.55)}dialog.dlg[open]{animation:pin var(--d-s) var(--e-out)}
.dl-in{padding:48px clamp(24px,5vw,56px);overflow:auto;max-height:90vh}
.dl-x{all:unset;cursor:pointer;position:sticky;top:0;float:right;width:44px;height:44px;border:1px solid var(--ln);border-radius:50%;display:grid;place-items:center;background:var(--creme)}.dl-x:focus-visible{outline:1px solid var(--corail);outline-offset:3px}
.dlg h2{font-size:var(--fs-h2);max-width:18ch;margin:14px 0 18px}
.dlg .res{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--marin);margin:32px 0}
.dlg .res div{padding:18px 16px 0 0}.dlg .res b{display:block;font-weight:200;font-size:40px;line-height:1;margin-bottom:6px}.dlg .res span{font-size:13px;color:var(--mu)}
.dlg h3{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:400;color:var(--mu);margin:28px 0 12px}
.dlg ol{list-style:none;counter-reset:a;display:flex;flex-direction:column;gap:18px}.dlg ol li{counter-increment:a;padding-left:48px;position:relative}.dlg ol li::before{content:"0" counter(a);position:absolute;left:0;top:2px;font-size:12px;color:var(--mu)}.dlg ol b{font-weight:400;display:block;margin-bottom:4px}.dlg ol p,.dlg .ch{color:var(--mu);font-size:15px;max-width:64ch}
/* à propos */
.story{display:grid;grid-template-columns:1.4fr 1fr;gap:clamp(40px,8vw,140px);align-items:start}
.story p{font-size:clamp(20px,1.8vw,26px);font-weight:200;line-height:1.4;margin-bottom:24px;max-width:36ch}
.story .yr{font-size:clamp(96px,13vw,200px);font-weight:200;letter-spacing:-.04em;line-height:.9;display:block}
.story .yr+span{display:block;margin-top:12px}
.vals{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--creme)}
.vals li{padding:28px 22px 0 0;border-right:1px solid var(--lnd);display:flex;flex-direction:column;gap:12px;position:relative}.vals li+li{padding-left:22px}.vals li:last-child{border:0}
.vals .n{font-size:12px;color:var(--mud)}.vals h3{font-size:var(--fs-h3s)}.vals p{font-size:15px;color:var(--mud)}
.vals li::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--corail);transition:width var(--d-m) var(--e-out)}.vals li:hover::before{width:100%}
.tgp{margin-top:56px}.tgp>h3{font-size:12px;letter-spacing:.09em;text-transform:uppercase;font-weight:400;color:var(--mu);padding-bottom:14px;border-bottom:1px solid var(--marin);margin-bottom:28px;display:flex;justify-content:space-between}
.tg{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.tg.lead{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.pm{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:6px}
.pm .im{position:relative;overflow:hidden;aspect-ratio:4/5;background:#e9e1d6}
.tg.lead .pm .im{aspect-ratio:1/1}
.pm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e-out),opacity var(--d-m) var(--e-out)}
.pm img.co{opacity:0}.pm:hover img.co,.pm:focus-visible img.co{opacity:1}.pm:hover img{transform:scale(1.03)}
.pm .nm{font-size:16px;margin-top:10px}.pm .tt{font-size:13px;color:var(--mu)}.pm .tg2{font-size:12px;color:var(--mu)}
.pm .vp{position:absolute;left:12px;bottom:12px;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--creme);opacity:0;transform:translateY(6px);transition:opacity var(--d-s),transform var(--d-s) var(--e-out);display:flex;gap:8px;align-items:center}
.pm .vp::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--dot)}
.pm:hover .vp,.pm:focus-visible .vp{opacity:1;transform:none}
.pm:focus-visible{outline:1px solid var(--corail);outline-offset:6px}
.pm .gb{position:absolute;top:10px;right:10px;font-size:12px;letter-spacing:.06em;color:var(--creme);border:1px solid rgba(254,249,243,.6);padding:2px 7px;border-radius:999px;backdrop-filter:blur(4px)}
dialog.pf .dl-in{display:grid;grid-template-columns:300px 1fr;gap:40px}
dialog.pf img{width:100%;aspect-ratio:4/5;object-fit:cover}
dialog.pf h2{margin-top:0}dialog.pf .ttl3{color:var(--mu);margin-bottom:18px}dialog.pf .bio{color:var(--mu);font-size:15px;max-width:56ch;margin:18px 0}
@media (max-width:900px){.dom,.faq,.agb,.story{grid-template-columns:1fr}.dom-p{position:static;min-height:0}.stp,.vals{grid-template-columns:1fr 1fr}.stp>div,.vals li{padding:22px 12px 22px 0!important;border-right:0;border-bottom:1px solid var(--ln)}.dk .vals li{border-color:var(--lnd)}
 .mod,.csg{grid-template-columns:1fr}.og{grid-template-columns:1fr 1fr}.oi{padding:22px 12px 26px 0!important;border-right:0!important}.oi:nth-child(odd){border-right:1px solid var(--ln)!important}.oi:nth-child(even){padding-left:12px!important}
 .tg{grid-template-columns:repeat(2,minmax(0,1fr))}.tg.lead{grid-template-columns:repeat(2,minmax(0,1fr))}dialog.pf .dl-in{grid-template-columns:1fr}dialog.pf img{max-width:260px}.dlg .res{grid-template-columns:1fr}}
@media (max-width:520px){.og{grid-template-columns:1fr}.oi{border-right:0!important;padding-left:0!important}}
@media (prefers-reduced-motion:reduce){.chero h1{opacity:1;transform:none;animation:none}.stp>div::before{width:100%}}
.ln[aria-current]::after{transform:none}.ln[aria-current]::before{opacity:1}
.hero.sm{min-height:88vh}.hero.sm .h1s{font-size:var(--fs-h1)}
.stm h2.long{font-size:var(--fs-h2);max-width:20ch!important}
.cr-btn{background:transparent!important;color:var(--marin)!important;border-color:rgba(1,12,48,.5)!important}.cr-btn:hover{border-color:var(--corail)!important}
.band{padding:12vh 0}.band .wrap{display:grid;grid-template-columns:auto 1fr;gap:clamp(40px,7vw,120px);align-items:end}
.band .big8{font-weight:200;font-size:clamp(140px,20vw,320px);line-height:.8;letter-spacing:-.05em}
.band h2{font-size:var(--fs-h2);max-width:16ch;margin:16px 0 18px}.band p{max-width:46ch}
@media (max-width:900px){.band .wrap{grid-template-columns:1fr}}
.fig-ml{border-top-color:var(--creme)!important}.fig-ml>div{border-right-color:var(--lnd)!important}.fig-ml p{color:var(--mud)!important}
.cr-btn{display:inline-flex!important;align-items:center;justify-content:center;text-align:center}
.agb{align-items:end}
/* ---- contact ---- */
.hero.cth{align-items:center;min-height:100vh}
.ct-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:end;padding-top:12vh}
.cth h1{font-size:var(--fs-h1);max-width:12ch;line-height:1;margin:22px 0 30px;overflow-wrap:normal;word-break:normal;hyphens:manual}
.ct-m{display:flex;flex-direction:column;gap:8px;margin-top:44px;font-size:17px!important}
.ct-f{position:relative;z-index:2}
.fm2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.fm-b{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.fm-n{font-size:13px!important;color:var(--mud);opacity:1!important}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fm.ok .fd,.fm.ok .fm2,.fm.ok .fm-b{opacity:.35;pointer-events:none;transition:opacity var(--d-s)}
.ct-ml{color:var(--creme);padding:16vh 0}.ct-ml .lab{color:var(--creme)!important;opacity:.8}
.ct-big{display:inline-flex;align-items:baseline;flex-wrap:wrap;font-size:clamp(44px,9vw,150px);font-weight:200;line-height:1.05;margin:26px 0 22px;position:relative;letter-spacing:-.02em}
.ct-big::after{content:"";position:absolute;left:0;bottom:-6px;height:1px;width:100%;background:var(--creme);transform:scaleX(0);transform-origin:left;transition:transform var(--d-l) var(--e-out)}
.ct-big:hover::after,.ct-big:focus-visible::after{transform:none}
.ct-big span{opacity:.6}.ct-big i{font-style:normal;margin-left:.3em;font-size:.4em;transition:transform var(--d-s) var(--e-out)}
.ct-big:hover i{transform:translate(6px,-6px)}
.ct-ml p{font-size:19px;max-width:40ch}
.ofc{display:grid;grid-template-columns:1fr 1fr .8fr;border-top:1px solid var(--marin)}
.ofc>*{padding:30px 28px 10px 0;display:flex;flex-direction:column;gap:14px}
.ofc>*+*{padding-left:28px;border-left:1px solid var(--ln)}
.ofc h3{font-size:var(--fs-h3)}
.ofc p{color:var(--mu)}
.clk b{font-weight:200;font-size:28px;color:var(--marin);font-variant-numeric:tabular-nums;margin-right:6px}
.ofc-a{justify-content:flex-end}
@media(max-width:900px){.ct-g{grid-template-columns:1fr;padding-top:6vh;padding-bottom:4vh}.fm2{grid-template-columns:1fr}.ofc{grid-template-columns:1fr}.ofc>*+*{padding-left:0;border-left:0;border-top:1px solid var(--ln)}}
/* ---- agences ---- */
.ag-h .ag-c{position:absolute;right:-4vw;top:50%;width:min(58vw,820px);transform:translateY(-46%);z-index:0}
.ag-h .ag-c circle{fill:none;stroke-width:.35}
.ag-t{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:36px 0 40px}
.ag-t li{font-size:12px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--ln);border-radius:999px;padding:8px 14px}
.ag-a{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.inv{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin-top:72px;border-top:1px solid var(--lnd)}
.inv li{padding:28px 28px 0 0;display:flex;flex-direction:column;gap:14px;position:relative}
.inv li+li{padding-left:28px;border-left:1px solid var(--lnd)}
.inv li::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--corail);transition:width var(--d-l) var(--e-out);transition-delay:calc(var(--i)*180ms)}
.inv li.in::before{width:100%}
.inv .n{font-size:12px;color:var(--mud)}.inv h3{font-size:28px}.inv p{color:var(--mud)}
.ag-f{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--marin)}
.ag-f>div{padding:30px 28px 0 0;display:flex;flex-direction:column;gap:16px}
.ag-f>div+div{padding-left:28px;border-left:1px solid var(--ln)}
.ag-f b{font-weight:200;font-size:clamp(64px,8vw,128px);line-height:1;letter-spacing:-.03em}
.ag-f p{color:var(--mu);max-width:34ch}
.svl{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--marin)}
.svl>div{padding:26px 22px 0 0}.svl>div+div{padding-left:22px;border-left:1px solid var(--ln)}
.svl h3{font-size:24px;display:flex;flex-direction:column;gap:10px;margin-bottom:22px}.svl .n{font-size:12px;color:var(--mu)}
.svl ul{list-style:none}
.svl li{padding:11px 0;border-bottom:1px solid var(--ln);color:var(--mu);transition:color var(--d-xs),padding var(--d-s) var(--e-out);position:relative}
.svl li::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-s) var(--e-out)}
.svl li:hover{color:var(--marin);padding-left:8px}.svl li:hover::after{transform:none}
.cmp-w{overflow-x:auto;outline-offset:4px}
.cmp{width:100%;border-collapse:collapse;min-width:720px;font-size:16px}
.cmp th,.cmp td{text-align:left;padding:18px 16px;border-bottom:1px solid var(--lnd);font-weight:400}
.cmp thead th{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mud);border-bottom-color:var(--creme)}
.cmp tbody th{color:var(--creme)}.cmp td{color:var(--mud)}
.cmp .y{position:relative;color:var(--creme)}
.cmp thead .y{color:var(--creme)}
.cmp thead .y::before{content:"";position:absolute;left:16px;right:16px;top:0;height:1px;background:var(--corail)}
.cmp tbody tr{transition:background var(--d-xs)}.cmp tbody tr:hover{background:rgba(254,249,243,.04)}
.ck2{display:inline-flex;width:26px;height:26px;border:1px solid var(--creme);border-radius:50%;align-items:center;justify-content:center;font-size:13px}
.stp.st3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ag-ml{color:var(--creme)}.ag-ml .lab{color:var(--creme)!important;opacity:.8}.ag-ml .lead2{color:var(--creme)!important;opacity:.9}
.ag-ml .fd span,.ag-ml .fm-n{color:var(--creme)!important;opacity:.8}.ag-ml .fd input,.ag-ml .fd textarea{border-bottom-color:rgba(254,249,243,.45)}
@media(max-width:900px){.inv,.ag-f,.svl,.stp.st3{grid-template-columns:1fr}.inv li+li,.ag-f>div+div,.svl>div+div{padding-left:0;border-left:0}.inv li+li{border-top:1px solid var(--lnd)}.ag-f>div+div,.svl>div+div{border-top:1px solid var(--ln);margin-top:24px}.ag-h .ag-c{opacity:.5;width:120vw;right:-40vw}}
@media(prefers-reduced-motion:reduce){.inv li::before{width:100%;transition:none}.svl li{transition:none}}
.ag-ml .lead2{margin-top:24px}
@media(max-width:600px){.ct-big{font-size:8.4vw;flex-wrap:nowrap}.stp h3{font-size:22px}.stp>div+div{padding-left:0}}
/* ---- études de cas ---- */
.cons{font-size:12px!important;margin-top:26px;opacity:.75!important;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cs-h{align-items:center}
.cs-hg{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(40px,6vw,100px);align-items:center;padding-top:10vh;position:relative}
.cs-h h1{font-size:clamp(44px,5.6vw,92px);line-height:1;margin:24px 0 28px;max-width:14ch}
.cs-cl{display:flex;gap:14px;margin-top:30px;font-size:15px}.cs-cl dt{font-size:12px;letter-spacing:.09em;text-transform:uppercase;opacity:.6;padding-top:3px}
.cs-ring{grid-column:2;grid-row:1;justify-self:center;width:min(34vw,440px);aspect-ratio:1}
.cs-ring svg{width:100%;height:100%}.cs-ring circle{fill:none;stroke:rgba(254,249,243,.35);stroke-width:.6;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2s .3s var(--e-out) forwards}
.cs-ring circle+circle{stroke:var(--corail);stroke-width:.5;animation-delay:.7s}
.cs-hm{grid-column:2;grid-row:1;justify-self:center;text-align:center;display:flex;flex-direction:column;gap:10px;max-width:16ch;opacity:0;animation:fi .8s 1.2s forwards}
.cs-hm b{font-weight:200;font-size:clamp(56px,6.4vw,104px);line-height:1;letter-spacing:-.03em;white-space:nowrap}.cs-hm span{font-size:13px;opacity:.8}
.cs-hc h1{font-size:clamp(44px,6vw,100px);line-height:1;max-width:13ch}
.cs-hcg{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:end;margin-top:28px;padding-bottom:40px;border-bottom:1px solid var(--marin)}
.cs-hcm{display:flex;flex-direction:column;gap:12px;align-items:flex-end;text-align:right}
.cs-hcm b{font-weight:200;font-size:clamp(80px,11vw,190px);line-height:.9;letter-spacing:-.04em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px var(--marin)}
.cs-hcb{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;margin-top:32px;align-items:start}.cs-hcb .cs-cl{margin-top:0;justify-content:flex-end}
.cs-hc .cons{color:var(--mu)}
.cs-st{font-size:clamp(28px,3.4vw,50px);font-weight:200;line-height:1.18;max-width:28ch;margin-top:30px}
.cs-at{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(40px,7vw,120px);align-items:start}
.cs-ath{position:sticky;top:120px}
.cs-tl{list-style:none;position:relative;border-left:1px solid var(--ln);padding-left:0}
.cs-tl::before{content:"";position:absolute;left:-1px;top:0;width:1px;height:calc(var(--sp,0)*100%);background:var(--corail)}
.cs-tl li{display:grid;grid-template-columns:70px 1fr;gap:10px;padding:0 0 64px 34px;position:relative}
.cs-tl li::before{content:"";position:absolute;left:-4px;top:12px;width:7px;height:7px;border-radius:50%;background:var(--creme);border:1px solid var(--marin)}
.cs-tl .n{font-size:40px;font-weight:200;line-height:1}.cs-tl h3{font-size:clamp(24px,2.4vw,34px);margin-bottom:14px}.cs-tl p{color:var(--mu);max-width:52ch}
.cs-rm{color:var(--creme);padding:14vh 0}.cs-rm .lab{color:var(--creme)!important;opacity:.85}
.cs-rmg{display:grid;grid-template-columns:repeat(3,1fr);margin-top:30px;border-top:1px solid var(--creme)}
.cs-rmg>div{padding:30px 24px 0 0}.cs-rmg>div+div{padding-left:24px;border-left:1px solid rgba(254,249,243,.3)}
.cs-rmg b{font-weight:200;font-size:clamp(56px,7.4vw,124px);line-height:1;letter-spacing:-.03em;white-space:nowrap}.cs-rmg p{margin-top:14px;max-width:24ch}
.cs-rc{list-style:none;margin-top:30px;border-top:1px solid var(--marin)}
.cs-rc li{display:grid;grid-template-columns:1fr 1fr;align-items:baseline;padding:26px 0;border-bottom:1px solid var(--ln);position:relative}
.cs-rc li::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-l) var(--e-out);transition-delay:calc(var(--i)*160ms + 200ms)}
.cs-rc li.in::after{transform:scaleX(.18)}
.cs-rc b{font-weight:200;font-size:clamp(54px,7vw,116px);line-height:1;letter-spacing:-.03em}.cs-rc span{font-size:19px;color:var(--mu)}
.cs-rc.dk2{border-top-color:var(--creme)}.cs-rc.dk2 li{border-bottom-color:var(--lnd)}.cs-rc.dk2 span{color:var(--mud)}
.cs-rc.dk2{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:0}.cs-rc.dk2 li{grid-template-columns:1fr;gap:16px;padding:30px 24px 0 0;border-bottom:0}.cs-rc.dk2 li+li{padding-left:24px;border-left:1px solid var(--lnd)}
.cs-tc{margin-top:56px}.cs-tc .tags{list-style:none;margin-top:16px}.cs-tc .tags li{display:inline-block}
.cs-tc .tags span{transition:border-color var(--d-xs),color var(--d-xs)}.cs-tc .tags li:hover span{border-color:var(--marin);color:var(--marin)}
.cs-tcw{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(40px,6vw,100px);align-items:end}.cs-tcw .cs-tc{margin-top:0}
.cs-fx{display:flex;flex-direction:column;border-top:1px solid var(--marin)}.cs-fx>div{display:grid;grid-template-columns:110px 1fr;padding:14px 0;border-bottom:1px solid var(--ln)}
.cs-fx dt{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mu);padding-top:3px}
.cs-nxa{display:flex;flex-direction:column;gap:22px;padding:34px 0;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative}
.cs-nxt{font-size:clamp(36px,5vw,84px);font-weight:200;line-height:1.02;max-width:20ch;transition:transform var(--d-m) var(--e-out)}
.cs-nxa:hover .cs-nxt{transform:translateX(14px)}.cs-nxr{font-size:15px}.cs-nxa:hover .ar{transform:translateX(6px)}
.cs-nxa::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-l) var(--e-out)}.cs-nxa:hover::after{transform:none}
.cs-cta.ml{color:var(--creme)}
@media(max-width:900px){.cs-hg,.cs-hcg,.cs-hcb,.cs-at,.cs-tcw{grid-template-columns:1fr}.cs-ring,.cs-hm{grid-column:1;grid-row:auto}.cs-ring{display:none}.cs-hm{justify-self:start;text-align:left;opacity:1;animation:none;border-top:1px solid rgba(254,249,243,.4);padding-top:18px;margin-bottom:6vh}.cs-hcm{align-items:flex-start;text-align:left}.cs-hcb .cs-cl{justify-content:flex-start}.cs-ath{position:static}.cs-rmg,.cs-rc.dk2{grid-template-columns:1fr}.cs-rmg>div+div,.cs-rc.dk2 li+li{padding-left:0;border-left:0;border-top:1px solid rgba(254,249,243,.3);margin-top:24px}.cs-rc li{grid-template-columns:1fr;gap:8px}.cs-tl li{grid-template-columns:1fr;padding-left:24px}}
@media(prefers-reduced-motion:reduce){.cs-ring circle{animation:none;stroke-dashoffset:0}.cs-hm{animation:none;opacity:1}.cs-rc li::after{transition:none}}
/* ---- groupe ---- */
.gp-h .gp-o{position:absolute;right:4vw;top:52%;width:min(40vw,560px);transform:translateY(-50%);z-index:0}
.gp-o circle{fill:none;stroke:rgba(1,12,48,.22);stroke-width:.5;stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.8s var(--e-out) forwards;animation-delay:calc(var(--i)*180ms + 200ms)}
.gp-o .dt{stroke:none;fill:url(#gpd);opacity:0;animation:fi .6s 1.4s both;stroke-dasharray:none}
.gp-ix{list-style:none;display:flex;gap:10px 28px;flex-wrap:wrap;margin-top:44px;font-size:14px}
.gp-ix a{position:relative;padding-bottom:4px}.gp-ix a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-s) var(--e-out)}.gp-ix a:hover::after{transform:none}
.gp-sl{margin-bottom:22px}
.gp-l{list-style:none;border-top:1px solid var(--creme)}
.gp-l>li{display:grid;grid-template-columns:70px 1fr 1.3fr;gap:clamp(20px,4vw,60px);padding:44px 0;border-bottom:1px solid var(--lnd);position:relative;scroll-margin-top:100px}
.gp-l>li::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-l) var(--e-out)}
.gp-l>li:hover::after{transform:none}
.gp-l .n{font-size:13px;color:var(--mud);padding-top:12px}
.gp-n h3{font-size:var(--fs-h3);line-height:1;margin-top:14px;transition:transform var(--d-m) var(--e-out)}.gp-l>li:hover h3{transform:translateX(10px)}
.gp-d p{color:var(--mud);max-width:48ch;font-size:17px}
.gp-s{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:22px 0 24px}
.gp-s li{padding:10px 0 10px 22px;border-bottom:1px solid var(--lnd);position:relative;font-size:15px}.gp-s li::before{content:"";position:absolute;left:0;top:50%;width:12px;height:1px;background:var(--corail)}
.gp-b{display:inline-block;margin-left:8px;border:1px solid var(--lnd);border-radius:999px;padding:3px 10px;color:var(--creme)}
.gp-soon h3{color:transparent;-webkit-text-stroke:1px var(--creme)}
.gp-w{list-style:none;border-top:1px solid var(--marin)}
.gp-w li{display:grid;grid-template-columns:60px 1fr 1.2fr;gap:24px;padding:34px 0;border-bottom:1px solid var(--ln);align-items:baseline}
.gp-w .n{font-size:13px;color:var(--mu)}.gp-w h3{font-size:var(--fs-h3s)}.gp-w p{color:var(--mu)}
.gp-cta{color:var(--creme)}.gp-cta .lab{color:var(--creme)!important;opacity:.85}.gp-cta .lead2{color:var(--creme)!important}
/* ---- blogue ---- */
.bl-h{min-height:72vh!important}
.flt.lt button{border-color:var(--ln);color:var(--mu)}.flt.lt button[aria-pressed=true]{border-color:var(--marin);color:var(--marin)}
.bll{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 32px}
.bl a{display:flex;flex-direction:column;gap:22px;height:100%}
.bl-v{width:100%;aspect-ratio:5/3;border:1px solid var(--ln);padding:8%;color:rgba(1,12,48,.35);background:rgba(1,12,48,.02);transition:background var(--d-s),color var(--d-s)}
.bl-v .oc{stroke:var(--corail);stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset var(--d-l) var(--e-out)}
.bl a:hover .bl-v{color:rgba(1,12,48,.6)}.bl a:hover .bl-v .oc,.bl.in .bl-v .oc{stroke-dashoffset:0}
.bl-t{display:flex;flex-direction:column;gap:14px;flex:1}
.bl h3{font-size:24px;line-height:1.2;transition:color var(--d-xs)}.bl p{color:var(--mu);font-size:15px}
.bl-m{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;border-top:1px solid var(--ln);font-size:13px;color:var(--mu);position:relative}
.bl-m::after{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-m) var(--e-out)}.bl a:hover .bl-m::after{transform:none}
.bl-r{color:var(--marin)}.bl a:hover .ar{transform:translateX(5px)}
.bl.ft2 a{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:stretch}
.bl.ft2 h2{font-size:var(--fs-h2);line-height:1.05}.bl.ft2 p{font-size:18px;max-width:46ch}
@media(max-width:1000px){.bll{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.gp-l>li,.gp-w li{grid-template-columns:1fr;gap:14px}.gp-h .gp-o{opacity:.4;width:90vw;right:-30vw}.gp-s{grid-template-columns:1fr}.bl.ft2 a{grid-template-columns:1fr}}
@media(max-width:640px){.bll{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.gp-o circle{animation:none;stroke-dashoffset:0}.bl-v .oc{stroke-dashoffset:0;transition:none}}
/* ---- lecture (articles, légal) ---- */
.rp{position:fixed;left:0;right:0;top:72px;height:1px;z-index:40;pointer-events:none;opacity:0;transition:opacity var(--d-s)}
.rp.on{opacity:1}
.rp i{position:absolute;left:0;top:0;height:1px;width:100%;background:var(--corail);transform:scaleX(var(--p,0));transform-origin:left}
.rp b{position:absolute;top:-3px;left:calc(var(--p,0)*100% - 3.5px);width:7px;height:7px;border-radius:50%;background:var(--dot)}
.ar-h{padding:calc(72px + 12vh) 0 8vh;border-bottom:1px solid var(--ln)}
.ar-bk{font-size:14px;display:inline-block;margin-bottom:9vh}
.ar-h h1{font-size:var(--fs-h1);line-height:1.02;max-width:17ch;letter-spacing:-.02em;margin:24px 0 0;animation:h1in 1.1s .15s var(--e-out) both}
.ar-hg{display:grid;grid-template-columns:1fr auto;gap:40px;align-items:end}
.ar-by{display:grid;grid-template-columns:auto auto;gap:6px 28px;font-size:15px;border-top:1px solid var(--marin);padding-top:16px;min-width:260px}
.ar-by dt{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mu)}
.ar-by dd{grid-row:2}
.ar-b{display:grid;grid-template-columns:220px minmax(0,680px) 1fr;gap:clamp(30px,5vw,80px);padding:10vh 0 6vh}
.toc{position:sticky;top:110px;align-self:start;font-size:13px}
.toc .lab{display:block;margin-bottom:14px}
.toc ol{list-style:none;border-left:1px solid var(--ln)}
.toc a{display:block;padding:7px 0 7px 16px;color:var(--mu);position:relative;line-height:1.35;transition:color var(--d-xs)}
.toc a::before{content:"";position:absolute;left:-1px;top:0;bottom:0;width:1px;background:var(--corail);transform:scaleY(0);transition:transform var(--d-s) var(--e-out)}
.toc a:hover,.toc a.toc-on{color:var(--marin);opacity:1}.toc a.toc-on::before{transform:none}
.prose{font-size:19px;line-height:1.72;color:var(--marin)}
.prose>*+*{margin-top:1.15em}
.prose p{max-width:66ch}
.prose .lede{font-size:clamp(26px,2.6vw,36px);line-height:1.25;font-weight:200;letter-spacing:-.01em;padding-left:22px;border-left:1px solid var(--corail);margin-bottom:1.6em}
.prose>p.first::first-line{font-weight:400}
.prose h2{font-size:var(--fs-h3s);line-height:1.12;font-weight:200;margin-top:2.4em;scroll-margin-top:110px;display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:baseline}
.prose h2 .n{font-size:13px;font-weight:400;color:var(--mu);letter-spacing:.06em}
.prose ul{list-style:none}.prose ul li{position:relative;padding:8px 0 8px 30px;border-bottom:1px solid var(--ln)}
.prose ul li::before{content:"";position:absolute;left:0;top:1.3em;width:16px;height:1px;background:var(--corail)}
.prose ol{list-style:none;counter-reset:o}.prose ol li{counter-increment:o;display:grid;grid-template-columns:56px 1fr;gap:8px;padding:18px 0;border-top:1px solid var(--ln)}
.prose ol li::before{content:counter(o,decimal-leading-zero);font-size:30px;font-weight:200;line-height:1.1;color:var(--marin)}
.prose ol.cm li{grid-template-columns:90px 1fr}.prose ol.cm li::before{font-size:54px;line-height:.95}
.prose strong{font-weight:400;background:linear-gradient(transparent 62%,rgba(212,56,41,.14) 62%)}
.prose a{border-bottom:1px solid var(--corail);transition:color var(--d-xs)}.prose a:hover{color:var(--corail)}
.prose .emph{font-size:24px;font-weight:200;line-height:1.35}
.afaq{margin-top:4em;border-top:1px solid var(--marin);padding-top:28px}
.afaq h2{margin-top:0!important;display:block}
.afaq details{border-bottom:1px solid var(--ln)}
.afaq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-size:20px;position:relative}
.afaq summary::-webkit-details-marker{display:none}
.afaq summary::after{content:"";position:absolute;right:6px;top:50%;width:14px;height:1px;background:var(--marin);box-shadow:none}
.afaq summary::before{content:"";position:absolute;right:12.5px;top:calc(50% - 6.5px);width:1px;height:14px;background:var(--marin);transition:transform var(--d-s) var(--e-out)}
.afaq details[open] summary::before{transform:scaleY(0)}
.afaq details p{padding:0 0 22px;color:var(--mu);font-size:17px}
.afaq summary:focus-visible{outline:1px solid var(--corail);outline-offset:4px}
.ar-rel .bll{grid-template-columns:1fr 1fr}
.dk .bl-v{border-color:var(--lnd);color:rgba(254,249,243,.35);background:rgba(254,249,243,.02)}.dk .bl p,.dk .bl-m{color:var(--mud)}.dk .bl-m{border-top-color:var(--lnd)}.dk .bl-r{color:var(--creme)}.dk .bl a:hover .bl-v{color:rgba(254,249,243,.6)}
.ml-c{color:var(--creme)}.ml-c .lab,.ml-c .lead2{color:var(--creme)!important;opacity:.9}
/* ---- légal ---- */
.lg-h{padding:calc(72px + 10vh) 0 6vh;border-bottom:1px solid var(--ln)}
.lg-h h1{font-size:var(--fs-h1);line-height:1.02;margin:22px 0 18px;max-width:16ch}
.lg-h .dt2{font-size:13px;color:var(--mu);letter-spacing:.04em}
.legal{font-size:17px;line-height:1.7}
.legal section{padding-top:8px;scroll-margin-top:110px}.legal section+section{margin-top:44px;border-top:1px solid var(--ln);padding-top:36px}
.legal h2{font-size:var(--fs-h3s);font-weight:200;line-height:1.2;margin-bottom:16px}
.legal p+p,.legal ul{margin-top:.9em}.legal p{max-width:70ch;color:#1c2647}
.legal ul{list-style:none}.legal li{position:relative;padding:6px 0 6px 26px}.legal li::before{content:"";position:absolute;left:0;top:1.15em;width:14px;height:1px;background:var(--corail)}
.legal a{border-bottom:1px solid var(--corail)}.legal strong{font-weight:400}
.legal .intro,.legal>p:first-child{font-size:21px;font-weight:200;color:var(--marin)}
.toc.lgt{font-size:12.5px}.toc.lgt ol{max-height:calc(100vh - 170px);overflow:auto}
@media(max-width:1100px){.ar-b{grid-template-columns:200px minmax(0,1fr)}}
@media(max-width:900px){.ar-b{grid-template-columns:1fr;padding-top:6vh}.toc{position:static;display:none}.ar-hg{grid-template-columns:1fr}.prose{font-size:18px}.ar-rel .bll{grid-template-columns:1fr}.ar-bk{margin-bottom:6vh}}
@media(prefers-reduced-motion:reduce){.ar-h h1{animation:none;opacity:1;transform:none}.rp i,.rp b{transition:none}}
.ftl{width:140px;height:auto;align-self:flex-start}.ft-b{margin-top:10vh}@media(max-width:700px){.ftl{width:110px}}
/* ---- carrières ---- */
.cr-w summary{display:grid;grid-template-columns:50px 1fr;font-size:clamp(22px,2.2vw,30px);font-weight:200;padding:24px 40px 24px 0}
.cr-w summary .n{font-size:12px;font-weight:400;color:var(--mu);padding-top:.6em}
.cr-w details p{padding-left:50px;max-width:56ch}
.job{border-top:1px solid var(--creme);padding-top:34px;position:relative}
.job::before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:var(--corail);transition:width var(--d-l) var(--e-out) .3s}.job.in::before{width:30%}
.job-h{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap}
.job-m{display:flex;gap:10px;flex-wrap:wrap;order:2}.job-m span{font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--lnd);border-radius:999px;padding:6px 12px;color:var(--mud)}
.job h3{font-size:var(--fs-h3);line-height:1}
.job-d{font-size:19px;color:var(--mud);max-width:60ch;margin:28px 0 40px}
.job-c{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);margin-bottom:44px}
.job-c h4{margin-bottom:14px;font-weight:400}.job-c ul{list-style:none}
.job-c li{padding:12px 0 12px 26px;border-bottom:1px solid var(--lnd);position:relative}.job-c li::before{content:"";position:absolute;left:0;top:1.5em;width:14px;height:1px;background:var(--corail)}
dialog.apd{background:var(--marin);color:var(--creme);width:min(720px,94vw)}
dialog.apd .dl-in{display:block;padding:clamp(28px,4vw,56px)}dialog.apd h2{font-size:var(--fs-h2);margin:12px 0 30px}
dialog.apd .lab{color:var(--mud)}.fd.fl input{padding:14px 0}.fd select{cursor:pointer}
@media(max-width:900px){.job-c{grid-template-columns:1fr}.cr-w details p{padding-left:0}}
/* ---- culture ---- */
.cu-mt{font-size:clamp(48px,7vw,116px);line-height:1;margin:22px 0 9vh}
.cu-mt .gh,.gh{color:transparent;-webkit-text-stroke:1px var(--creme)}
.cu-mg{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.cu-st p{font-size:clamp(19px,1.6vw,23px);line-height:1.5;color:var(--mud);padding:22px 0;border-top:1px solid var(--lnd)}
.cu-st strong{color:var(--creme);font-weight:400}.cu-st .coda{border-top-color:var(--corail)}
.cu-q{position:sticky;top:120px;border-left:1px solid var(--corail);padding-left:26px}
.cu-q blockquote{font-size:clamp(24px,2.4vw,34px);font-weight:200;line-height:1.3}.cu-q figcaption{font-size:13px;color:var(--mud);margin-top:20px}
.cu-col{padding:16vh 0}
.cu-one{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:14px}
.cu-one b{font-weight:200;font-size:clamp(120px,18vw,280px);line-height:.85;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1px var(--creme)}
.cu-bq{font-size:clamp(28px,3.4vw,52px);font-weight:200;line-height:1.2;max-width:30ch;margin:26px 0 10px}
.cu-tl{list-style:none;border-top:1px solid var(--creme);margin-top:40px}
.cu-tl>li{display:grid;grid-template-columns:160px 1fr 40px;gap:24px;padding:28px 0;border-bottom:1px solid var(--lnd);position:relative}
.cu-tl .y{font-size:clamp(40px,4.4vw,64px);font-weight:200;line-height:1}.cu-tl .c{font-size:12px;color:var(--mud);text-align:right;padding-top:10px}
.cu-tl ul,.cu-cl{list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.cu-tl a,.cu-cl a{display:inline-flex;gap:8px;border:1px solid var(--lnd);border-radius:999px;padding:8px 16px;font-size:14px;transition:border-color var(--d-xs),color var(--d-xs)}
.cu-tl a .ar,.cu-cl a .ar{opacity:0;transition:opacity var(--d-xs),transform var(--d-s) var(--e-out)}
.cu-tl a:hover,.cu-cl a:hover{border-color:var(--creme)}.cu-tl a:hover .ar,.cu-cl a:hover .ar{opacity:1;transform:translate(2px,-2px)}
@media(max-width:900px){.cu-mg{grid-template-columns:1fr}.cu-q{position:static}.cu-one{align-items:flex-start;text-align:left}.cu-tl>li{grid-template-columns:1fr}.cu-tl .c{display:none}}
/* ---- collection ---- */
.ca-k{display:flex;gap:44px}.ca-k dt{font-size:12px;letter-spacing:.09em;text-transform:uppercase;opacity:.7}.ca-k dd{font-size:56px;font-weight:200;line-height:1}
.cal{list-style:none;border-top:1px solid var(--marin)}
.cal>li{display:grid;grid-template-columns:1.1fr 1.5fr 70px 1.4fr 120px;gap:24px;padding:22px 0;border-bottom:1px solid var(--ln);align-items:baseline;position:relative;transition:background var(--d-xs)}
.cal>li:not(.cal-h)::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--corail);transform:scaleX(0);transform-origin:left;transition:transform var(--d-m) var(--e-out)}
.cal>li:not(.cal-h):hover::after{transform:none}
.cal-h{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--mu);padding:14px 0!important}
.ca-a{font-size:17px;display:flex;flex-direction:column;gap:4px}.ca-a small{font-size:12px;color:var(--mu)}
.cal cite{font-style:normal;font-size:clamp(20px,1.8vw,26px);font-weight:200;line-height:1.25;transition:transform var(--d-s) var(--e-out)}.cal>li:hover cite{transform:translateX(6px)}
.ca-y,.ca-q{font-size:14px;color:var(--mu);font-variant-numeric:tabular-nums}.ca-m{font-size:14px;color:var(--mu)}
@media(max-width:900px){.cal>li{grid-template-columns:1fr;gap:6px}.cal-h{display:none!important}}
/* ---- 404 ---- */
.e404 .o404{position:absolute;right:-6vw;top:50%;width:min(70vh,640px);transform:translateY(-50%);z-index:1}
.o404 svg{width:100%;height:auto;overflow:visible}.o404 circle[class^=r]{fill:none;stroke:rgba(254,249,243,.18);stroke-width:1}.o404 .r2{stroke-dasharray:3 9}.o404 .r3{stroke:rgba(212,56,41,.6)}
.o404 .orb{transform-origin:300px 300px;animation:orb 14s linear infinite}.o404 .o2{animation-duration:9s;animation-direction:reverse}
@keyframes orb{to{transform:rotate(360deg)}}
.e404 h1{max-width:12ch}
@media(max-width:900px){.e404 .o404{opacity:.45;width:110vw;right:-50vw}}
@media(prefers-reduced-motion:reduce){.o404 .orb{animation:none}}

/* cibles tactiles, colonne valeurs, débordement étroit */
.mb{position:relative}
.lng button{padding:14px 16px;margin:-10px -14px}
.lng button[aria-pressed=true]::after{left:14px;right:14px;bottom:10px}
.mb{padding:11px 2px;margin:-11px -2px}
.ft a.ln{padding-top:14px;padding-bottom:14px;margin-top:-14px;margin-bottom:-14px}
.ft a.ln::after{bottom:9px}
.ft a.ln::before{bottom:7px}
@media (max-width:480px){
 .vals{grid-template-columns:1fr}
 .vals li{padding:22px 0!important;border-right:0}
}
@media (max-width:900px){
 .prj-t,.fig-g>div,.br-g>div,.svc-i,.oi{min-width:0}
 .fig-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .svc-i{grid-template-columns:40px minmax(0,1fr) 44px}
 .br-g{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
.spl{overflow-x:clip}

/* ---- Bouton rond (.mag) : contenu inscrit dans le cercle (fix 2026-10-07) ----
   Zone de contenu = 64 % du diamètre, centrée ; libellé équilibré + flèche centrés en groupe.
   Libellé court : flèche à droite. Libellé long : flèche centrée sous le libellé. */
.mag{--d:168px;width:var(--d);height:var(--d);min-width:var(--d);flex:0 0 auto;padding:calc(var(--d)*.18);
 display:inline-flex;flex-wrap:wrap;align-content:center;justify-content:center;align-items:center;gap:6px 10px;
 text-align:center;font-size:15px;line-height:1.3;white-space:normal;overflow-wrap:normal;word-break:normal;hyphens:manual}
.mag>span:not(.ar){display:block;max-width:100%;text-wrap:balance}
.mag .ar{flex:0 0 auto;line-height:1}
@media (max-width:1100px){.mag{--d:152px;font-size:14px}}
/* ---- Correctifs audit go-live (2026-10-07) ---- */
/* Postuler : bouton Fermer visible sur fond Marin */
dialog.apd .dl-x{background:var(--marin);color:var(--creme);border-color:var(--lnd)}
/* Articles, Confidentialité, Conditions : gouttières latérales (le padding de .ar-b écrasait celui de .wrap) */
.ar-b{padding-left:var(--m);padding-right:var(--m)}
/* Formulaires : erreurs par champ */
.fd-err{position:absolute;left:0;top:calc(100% + 6px);display:flex;align-items:center;gap:8px;font-size:12px;line-height:1.3;letter-spacing:.02em;color:inherit;opacity:.9}
.fd-err::before{content:"";flex:0 0 auto;width:6px;height:6px;border-radius:50%;background:var(--corail)}
.fd.err i{transform:none;background:var(--corail)}
/* Menu mobile : lien Contact (Parlons-en) visible seulement dans le menu ouvert */
.hd nav .nav-ct{display:none}
@media (max-width:1100px){.hd.open nav .nav-ct{display:inline-flex}}

/* ---- Correctifs lot audit (titres, logo, contraste, point de lecture) ---- */
.hd .wrap>a{flex:0 0 auto}
.hd .lg,.hd .lg-w{flex-shrink:0;width:auto;height:22px;max-width:none;object-fit:contain}
@media (max-width:480px){.hd .wrap{gap:8px}}
.cs-hg,.cs-hg>*,.hero .wrap,.chero .wrap,.hero-b{min-width:0}
.h1s,.cs-h h1,.chero h1,.hero.sm h1,.hero h1{max-width:min(14ch,100%)!important;min-width:0}
.cs-hg>div>p,.cs-h .kick{max-width:100%;overflow-wrap:break-word}
body:not([data-page^="cas-"]) .chero .lead2{max-width:min(46ch,100%)}
@media (max-width:900px){.cs-hg{grid-template-columns:minmax(0,1fr)}}
/* Le texte du processus reste lisible. Seul le bloc se déplace. */
.st{opacity:1}
.st h3{color:var(--marin)}
.st p,.st .n{color:#3a4460;opacity:1}
.pro-r .st{transform:translateY(18px);transition:transform var(--d-m) var(--e-out)}
.pro-r .st.on{transform:none}
.pro-r .st::before{background:transparent;border-color:#3a4460}
.pro-r .st.on::before{background:var(--marin);border-color:var(--marin)}
@media (prefers-reduced-motion:reduce){.pro-r .st{transform:none}}
/* Point violet : caché tant que la lecture n'a pas avancé, puis tenu dans la ligne. */
.rp b{opacity:0}
.rp.rp-go b{opacity:1;left:max(0px, calc(var(--p, 0) * 100% - 7px))}
.nk-pic{display:contents}

/* ---- Échelle typo (rapport 2026-10-08, points 1 à 4) ----
   cqi : colonnes à largeur de grille seulement. Pas de conteneur sur les
   boîtes au contenu (.ttl2, .cs-hm, inline-block, 2e colonne de .ar-hg).
   Les études de cas (data-page^=cas-) gardent leurs tailles et leur
   overflow-wrap d'avant : le point 5 du rapport est en attente. */
.h2xl{font-size:var(--fs-h2xl)}
.wrap,.ct-l,.agb>div,.cta .wrap>div,.ar-hg>div:first-child{container-type:inline-size}
body:not([data-page^="cas-"]) :is(h1,h2,h3,.h1s,.h2){overflow-wrap:normal;word-break:normal;hyphens:manual;text-wrap:balance}
@media(max-width:480px){.svc-i{grid-template-columns:28px minmax(0,1fr) 36px;gap:12px}}
body[data-page^="cas-"] .h1s{font-size:clamp(46px,7.2vw,120px)!important}
body[data-page^="cas-"] :is(.h1s,.cs-h h1,.chero h1,.hero h1){overflow-wrap:anywhere}
body[data-page^="cas-"] .h2{font-size:clamp(36px,4.6vw,64px)}
body[data-page^="cas-"] .dom-p h3{font-size:clamp(34px,3.8vw,56px)}
body[data-page^="cas-"] .chero .lead2{max-width:100%;overflow-wrap:break-word}
body[data-page^="cas-"] :is(.wrap,.agb>div,.cta .wrap>div){container-type:normal}
