/* Figures explicatives : dans le flux de la page, sans plein écran */
.bg{--a:var(--ink,#000);--b:var(--paper,#fff);--l:#d9d9d9;background:var(--b);color:var(--a);font-family:"DM Sans",system-ui,sans-serif;border-top:1px solid var(--l)}
.bg-s{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,80px);align-items:center;padding:clamp(48px,6vw,88px) var(--gut,36px)}
.bg-t>div{padding:14px 0;border-top:1px solid var(--l);opacity:.45;transition:opacity .35s}.bg-t>div:first-child{border-top:0}.bg-t>div.on{opacity:1}
.bg-t h3{font:500 clamp(18px,1.5vw,21px)/1.25 "DM Sans",system-ui,sans-serif;letter-spacing:-.01em;margin:0}.bg-t p{font-size:16px;line-height:1.4;margin:3px 0 0;color:#6b6b6b}
.bg-v{position:relative;min-height:clamp(240px,28vw,380px);perspective:1500px;display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden}
@media (max-width:760px){.bg-s{grid-template-columns:1fr}.bg-v{min-height:240px}}
/* tour */
.tw{position:relative;width:min(26vw,270px);aspect-ratio:1.5;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-38deg);margin-top:90px}
.bk{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform,opacity}.bk .x,.bk .y{display:none}.bk .t{position:absolute;inset:0;background:var(--b);border:1px solid var(--a);display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--a);box-sizing:border-box}
.bk.me .t{background:var(--a);color:var(--b);font-size:14px}
.tw-n{position:absolute;right:6px;top:6px;font-size:14px;color:#6b6b6b}.tw-n:after{content:" extensions"}
@media (max-width:760px){.tw{width:52vw;margin-top:60px}}
/* assemblage */
.as{width:100%;max-width:520px}.as-q{display:flex;gap:8px;align-items:center;border:1px solid var(--l);border-radius:40px;padding:9px 14px;margin-bottom:12px;min-height:22px;font-size:15px}.as-q em{flex:1;font-style:normal;white-space:nowrap;overflow:hidden}.as-q span{border:1px solid var(--a);border-radius:30px;padding:3px 10px;font-size:13px;opacity:.3;transition:opacity .2s,background .2s,color .2s}.as-q span.on{opacity:1;background:var(--a);color:var(--b)}
.as-w{border:1px solid var(--l);border-radius:8px;aspect-ratio:16/10;padding:4%;box-sizing:border-box;display:grid;grid-template-rows:auto auto 1fr;gap:4%}.as-n{display:flex;gap:6px;font-size:12px;align-items:center}.as-n s{height:4px;width:12%;background:var(--l);text-decoration:none}.as-n b{font-weight:400;opacity:0;transition:.25s}.as-n b.on{opacity:1}
.as-h{font:500 clamp(18px,2vw,26px)/1.1 "DM Sans",sans-serif;letter-spacing:-.02em;will-change:transform,opacity}.as-g{display:grid;grid-template-columns:repeat(3,1fr);gap:3%}.as-g div{background:#efefef;border-radius:4px;will-change:transform,opacity}
/* flux, métro */
.bg-v svg{width:100%;max-height:100%;overflow:visible}.bg-v svg text{fill:currentColor;font-family:"DM Sans",sans-serif}
.fl-n rect{fill:var(--b);stroke:var(--l);stroke-width:1.5;transition:stroke .25s}.fl-n text{font-size:22px;text-anchor:middle;dominant-baseline:central;fill:#8a8a8a;transition:fill .25s}.fl-n.on rect{stroke:var(--a)}.fl-n.on text{fill:var(--a)}
.st-d text{font-size:19px;opacity:.35;transition:opacity .25s}.st-d circle{fill:var(--b);stroke:var(--a);stroke-width:2;transition:fill .2s}.st-d.on text{opacity:1}.st-d.on circle{fill:var(--a)}
/* morphose */
.mo-f{position:relative;width:min(100%,500px);aspect-ratio:16/11}.mo-f div{position:absolute;box-sizing:border-box;border:1px dashed #9a9a9a;border-radius:4px;display:flex;align-items:center;padding:0 10px;font-size:13px;color:#6b6b6b;will-change:transform}.mo-f div i{position:absolute;inset:-1px;background:#efefef;border-radius:4px;opacity:0;color:var(--a);display:flex;align-items:center;padding:0 10px;font-style:normal}
/* Logos sur l'accueil */
[data-theme] .logos{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--rule,#e6e6e6);border-bottom:1px solid var(--rule,#e6e6e6)}[data-theme] .logos div{display:grid;place-items:center;padding:clamp(12px,1.8vw,26px)}[data-theme] .logos img{width:100%;max-width:120px;height:clamp(30px,3.4vw,46px);object-fit:contain;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;opacity:.8}
@media (max-width:820px){[data-theme] .logos{grid-template-columns:repeat(2,1fr)}}
@media (prefers-reduced-motion:reduce){.bg-t>div{transition:none;opacity:1}}
/* Passe de sobriété : hiérarchie plus calme, contenu d'abord */
.hero h1,.hero h1.m,.hero h1.l{font-size:clamp(34px,4.2vw,64px);line-height:1.06;letter-spacing:-.035em;font-weight:500}
.hero .sub{font-size:clamp(18px,1.5vw,21px);line-height:1.4}
.sec-d{padding:clamp(40px,5vw,72px) var(--gut)}.sec-d h2{font-size:clamp(26px,3.3vw,50px);line-height:1.14;letter-spacing:-.015em;max-width:24em}.sec-d.top{padding:clamp(32px,4vw,56px) var(--gut)}.sec-d h1{font-size:clamp(36px,4.8vw,72px)}
.d-t,.d-m,.d-l,.d-48,.sp-f .d-t,.idx>h2,.st-i h2{font-size:clamp(25px,2.7vw,40px);letter-spacing:-.03em;line-height:1.12;font-weight:500}
.bnr{padding:clamp(44px,5vw,76px) var(--gut)}.bnr .b1{font-size:clamp(28px,3.6vw,54px);line-height:1.1;letter-spacing:-.03em}
.idx span,.idx.sm span{font-size:clamp(21px,2.1vw,30px);letter-spacing:-.025em;font-weight:500}.idx a{border-bottom:1px solid #e3e3e3}
.ask{padding-block:clamp(28px,3.4vw,48px)}.ask h1,.ask h2,.ask.home h2{font-size:clamp(26px,3vw,44px);margin-bottom:14px}.ask-r input{font-size:18px;padding:12px 14px;border-width:1px;border-radius:8px}.ask-c button{font-size:15px;padding:6px 12px;border-width:1px;border-color:#cfcfcf}.ans-t{font-size:clamp(18px,1.6vw,22px);letter-spacing:-.01em;line-height:1.38}.ans{border-top-width:1px}.ask-r .btn{min-height:46px;padding:0 20px}
.vq h3,.pr h3,.cal-y h3{font-size:clamp(18px,1.5vw,21px);letter-spacing:-.015em;font-weight:500}.vq li,.pr,.cal-y li{border-top:1px solid #e3e3e3}.vq,.prs,.tl3,.cal-y,.lgd,.pp{border-top:1px solid #e3e3e3;padding-block:clamp(40px,5vw,72px)}.tl3 h3{font:500 clamp(18px,1.5vw,21px)/1.25 "DM Sans",sans-serif;letter-spacing:-.015em}
.cal-y li>span{font:400 16px/1.4 "DM Sans",sans-serif;color:#6b6b6b}.lgd-c{border-width:1px;min-height:0;padding:clamp(20px,3vw,40px)}.lgd-h{font-size:clamp(26px,3.2vw,48px)}.lgd-b button{border-width:1px;padding:6px 13px;font-size:15px}.mir{border-top:1px solid #e3e3e3}.mir>div+div{border-left:1px solid #e3e3e3}.mir>div{padding-block:clamp(40px,5vw,72px)}.pp p{font-size:clamp(18px,1.4vw,20px)}
/* Accueil */
[data-theme] .hero h1{font-size:clamp(38px,7vw,124px);letter-spacing:-.03em;font-weight:400}[data-theme] .best h2{font-size:clamp(32px,4.6vw,78px)}[data-theme] .best-y{font-size:clamp(24px,2.8vw,42px);line-height:1.1}[data-theme] .best li{font-size:clamp(18px,1.6vw,23px);line-height:1.3;letter-spacing:-.01em;padding:10px 0}[data-theme] .best-t{font-size:clamp(17px,1.4vw,20px)}[data-theme] .big{font-size:clamp(26px,3.2vw,50px);line-height:1.12}[data-theme] .best,[data-theme] .who,[data-theme] .list{padding-block:clamp(44px,5.5vw,84px)}
.two-l .d-t{font-size:clamp(25px,2.7vw,40px)}.two-l p{font-size:clamp(17px,1.4vw,20px)}.steps li:before{font-size:clamp(20px,2vw,28px)!important}.quote,.quote blockquote{font-size:clamp(22px,2.4vw,34px)}
[data-theme] .list li{font-size:clamp(24px,3vw,46px)}[data-theme] .list li.keep{font-size:clamp(28px,3.6vw,54px)}[data-theme] .end h2{font-size:clamp(32px,4.6vw,72px)}[data-theme] .qt blockquote{font-size:clamp(24px,2.8vw,42px);line-height:1.2}[data-theme] .end,[data-theme] .qt{padding-block:clamp(44px,5.5vw,84px)}
.ask-on .bar{opacity:0;pointer-events:none;transition:opacity .2s}
.bk.me .t{background:#efefef;color:var(--a)}.bg-t>div{opacity:.6}.bg-t p{color:#595959}
@media (max-width:820px){.logos,[data-theme] .logos{grid-template-columns:repeat(2,minmax(0,1fr))}.logos div,[data-theme] .logos div{display:flex;align-items:center;justify-content:center;min-width:0;height:76px;padding:0 14px;box-sizing:border-box;border:0}.logos img,[data-theme] .logos img{display:block;width:auto;height:auto;max-width:min(100%,108px);max-height:38px;margin:0 auto;object-fit:contain;opacity:.85}}
@media (max-width:820px){.logos div:nth-child(n){border:0}}
/* Tableaux : chaque colonne et chaque ligne se comprennent seules */
.tbl-l,.who-l{font-size:clamp(17px,1.4vw,20px);line-height:1.4;margin:10px 0 0;max-width:34em;color:#595959}
.tbl-s table{min-width:0;table-layout:fixed}.tbl-s thead th{font-size:15px;font-weight:500;color:var(--ink,#000);border-bottom:1px solid var(--ink,#000);padding:0 20px 10px 0}.tbl-s tbody th{font-weight:500;font-size:17px;color:#000;text-align:left;vertical-align:top;padding:14px 20px 14px 0;border-top:1px solid #e3e3e3}.tbl-s td{padding:14px 20px 14px 0;font-weight:400;line-height:1.4;color:#000}.tbl-s tr:first-child th,.tbl-s tr:first-child td{border-top:0}
.tbl-c td:nth-child(2){color:#6b6b6b}.tbl-c td:last-child{font-weight:500}
[data-theme] .rows{margin-top:clamp(20px,2.6vw,36px)}[data-theme] .row{grid-template-columns:1fr 1.25fr 1.25fr;gap:20px;padding:14px 0;align-items:start}[data-theme] .row.hd{padding:0 0 10px;border-bottom:1px solid var(--ink);font-size:15px;font-weight:500}[data-theme] .row.hd+.row{border-top:0}[data-theme] .row b{font-size:17px;font-weight:500;letter-spacing:-.01em;line-height:1.35}[data-theme] .row .h,[data-theme] .row .m{display:block;font:400 17px/1.4 "DM Sans",system-ui,sans-serif;letter-spacing:0;text-align:left}.row .lb,.rl .lb{display:none}
@media (max-width:760px){
.tbl-s table,.tbl-s tbody,.tbl-s tr,.tbl-s th,.tbl-s td{display:block;width:auto}.tbl-s thead{display:none}.tbl-w{overflow:visible}.tbl-s tr{padding:14px 0;border-top:1px solid #e3e3e3}.tbl-s tr:first-child{border-top:0}.tbl-s tbody th{border:0;padding:0 0 8px;font-size:18px}.tbl-s td{border:0;padding:0 0 8px}.tbl-s td:before{content:attr(data-l);display:block;font-size:14px;font-weight:400;color:#6b6b6b}
[data-theme] .row{grid-template-columns:1fr;gap:8px;padding:14px 0}[data-theme] .row.hd{display:none}.row .lb{display:block;font-style:normal;font-size:14px;color:#6b6b6b}
.pr p[data-l]:before{content:attr(data-l);display:block;font-size:14px;color:#6b6b6b}.pr .pr-a{color:#000}.pr{gap:8px}}
.tbl-s:not(.tbl-c) td,.tbl-s:not(.tbl-c) tr td:first-child,.tbl-s:not(.tbl-c) tr td:last-child{color:#000;font-weight:400}
/* Le relais : l'IA prépare, un humain décide */
.rl-s{padding:clamp(40px,5vw,72px) var(--gut);border-top:1px solid #e3e3e3}
.rl{--ln:#d4d4d4;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(18px,3vw,44px);margin-top:clamp(26px,3.4vw,48px);font-family:"DM Sans",system-ui,sans-serif}
.rl-k{display:grid;grid-template-rows:34px 54px 34px 54px;font-size:15px;white-space:nowrap}.rl-k span{display:flex;align-items:center}.rl-k .k1{grid-row:2;color:#6b6b6b}.rl-k .k2{grid-row:4;font-weight:500}
.rl ol{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.6vw,22px);list-style:none;margin:0;padding:0}
.rl ol:before{content:"";position:absolute;left:0;right:0;top:calc(34px + 54px + 34px + 27px);height:1px;background:var(--ink,#000);transform-origin:left;transition:transform 1.1s cubic-bezier(.3,.7,.2,1)}
.rl li{position:relative;display:grid;grid-template-rows:34px 54px 34px 54px}
.rl h3{font:500 clamp(16px,1.3vw,18px)/1.2 "DM Sans",system-ui,sans-serif;letter-spacing:-.01em;margin:0}
.rl p{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;margin:0;border-radius:40px;font-size:clamp(15px,1.25vw,17px);text-align:center}
.rl-a{grid-row:2;border:1px solid var(--ln);color:#595959;background:var(--paper,#fff)}
.rl-h{grid-row:4;background:var(--ink,#000);color:var(--paper,#fff);font-weight:500;transition:opacity .45s,transform .45s;transition-delay:calc(.15s + var(--i)*.2s)}
.rl-h:before{content:"";position:absolute;left:50%;top:-34px;height:33px;width:1px;background:var(--ln)}
.rl-h:after{content:"";position:absolute;left:calc(50% - 3px);top:-7px;width:5px;height:5px;border:solid var(--ln);border-width:0 1px 1px 0;transform:rotate(45deg)}
.rl svg,.cp svg{flex:none;width:12px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6}
.rl.wait ol:before{transform:scaleX(0)}.rl.wait .rl-h{opacity:0;transform:translateY(6px)}
@media (max-width:760px){
.rl{display:block;margin-top:18px}.rl-k,.rl ol:before{display:none}.rl ol{grid-template-columns:1fr;gap:0}.rl li{display:grid;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 22px;padding:14px 0;border-top:1px solid #e3e3e3}.rl li:first-child{border-top:0}.rl h3{grid-column:1/-1;grid-row:1}.rl p{grid-row:2;flex-wrap:wrap;min-height:58px;padding:6px 10px;box-sizing:border-box;border-radius:14px;align-content:center}.rl p .lb{display:block;flex-basis:100%;font-size:13px;line-height:1.2;color:inherit;opacity:.65}
.rl-h:before{left:-22px;top:50%;width:21px;height:1px}.rl-h:after{left:-7px;top:calc(50% - 2px);transform:rotate(-45deg)}}
@media (prefers-reduced-motion:reduce){.rl ol:before,.rl-h{transition:none}}
/* Comparaison : on voit la différence avant de lire */
.cp{padding:clamp(40px,5vw,72px) var(--gut);border-top:1px solid #e3e3e3}
.cp-c{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,24px);margin-top:clamp(22px,3vw,40px)}.cp-c>div{border-radius:10px;padding:clamp(18px,2.4vw,32px);min-height:clamp(170px,17vw,230px);box-sizing:border-box}.cp-c h3{font:500 clamp(17px,1.4vw,20px)/1.2 "DM Sans",sans-serif;letter-spacing:-.01em;margin:0 0 16px}.cp-c ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}.cp-c li{padding:6px 12px;border-radius:30px;font-size:15px;line-height:1.2}
.cp-a{background:#f4f4f4;color:#6b6b6b}.cp-a li{border:1px solid #d4d4d4;background:#fff}.cp-b{border:1px solid #000}.cp-b li{border:1px solid #000}.cp-b li:first-child{background:#000;color:#fff}
.cp-t{margin-top:clamp(20px,2.6vw,36px)}.cp-r{display:grid;grid-template-columns:1fr minmax(120px,170px) 1fr;gap:clamp(12px,2vw,24px);align-items:center;padding:13px 0;border-top:1px solid #e9e9e9}.cp-r:first-child{border-top:0}.cp-r h3{font:400 15px/1.25 "DM Sans",sans-serif;color:#6b6b6b;text-align:center;margin:0;order:0}.cp-r p{display:flex;align-items:center;gap:9px;margin:0;font-size:clamp(16px,1.3vw,18px);line-height:1.3}.cp-w{justify-content:flex-end;text-align:right;color:#6b6b6b}.cp-w i{order:2;flex:none;width:10px;height:1px;background:#9a9a9a}.cp-v{font-weight:500}
.cp-e{margin:clamp(20px,2.6vw,32px) 0 0;text-align:center}
@media (max-width:760px){.cp-c{gap:8px}.cp-c>div{padding:14px;min-height:0}.cp-c li{font-size:13px;padding:4px 9px}.cp-r{grid-template-columns:1fr 1fr;gap:4px 16px;padding:12px 0}.cp-r h3{grid-column:1/-1;grid-row:1;text-align:left}.cp-w{justify-content:flex-start;text-align:left}.cp-w i{order:0}.cp-r p{font-size:15px;align-items:flex-start}.cp-r p i,.cp-r p svg{margin-top:6px}}
/* Accueil : les offres */
[data-theme] .off{padding:clamp(44px,5.5vw,84px) var(--gut);border-top:1px solid var(--rule,#e3e3e3)}[data-theme] .off .off-t{margin:0 0 clamp(20px,2.6vw,36px);font-weight:400;letter-spacing:-.02em}
[data-theme] .off-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.4vw,18px)}
[data-theme] .off a.of{display:flex;flex-direction:column;position:relative;padding:0;border:1px solid var(--rule,#e3e3e3);border-radius:10px;overflow:hidden;color:var(--ink);background:var(--paper);text-decoration:none;transition:border-color .2s,transform .25s}[data-theme] .off a.of:before{display:none}[data-theme] .off a.of:hover{color:var(--ink);padding:0;border-color:var(--ink);transform:translateY(-3px)}
.of img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;background:#f1f1f1;border-bottom:1px solid var(--rule,#e3e3e3)}
[data-theme] .of h3{margin:14px 16px 4px;font:500 clamp(18px,1.5vw,21px)/1.2 "DM Sans",system-ui,sans-serif;letter-spacing:-.015em}[data-theme] .of p{margin:0 16px 12px;font-size:16px;line-height:1.38;color:var(--soft)}
.of-l{margin:auto 16px 14px;font-size:15px;font-weight:500;text-decoration:underline;text-underline-offset:4px}
@media (max-width:980px){[data-theme] .off-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){[data-theme] .off-g{grid-template-columns:1fr}[data-theme] .off a.of{display:grid;grid-template-columns:96px minmax(0,1fr);column-gap:0}.of img{grid-row:1/4;height:100%;aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--rule,#e3e3e3)}[data-theme] .of h3{margin:12px 12px 2px}[data-theme] .of p{margin:0 12px 6px;font-size:15px}.of-l{margin:0 12px 10px}}
[data-theme] .of img{height:auto;aspect-ratio:16/10;margin:0;padding:0}[data-theme] .off a.of,[data-theme] .off a.of:hover{padding:0}
@media (max-width:560px){[data-theme] .of img{height:100%;aspect-ratio:auto}}
[data-theme] .off a.of{align-items:stretch;gap:0;overflow:hidden}
/* Tour : on retire les couches, le site reste */
.bg-tower .bg-v{min-height:clamp(340px,34vw,460px);perspective:1100px}
.tw{position:absolute;left:50%;top:50%;width:min(26vw,300px);margin:-46px 0 0 calc(min(26vw,300px)/-2)}
.bk .t{justify-content:flex-start;align-items:flex-end;padding:0 0 3px 8px;font-size:12px;line-height:1.1;box-shadow:none}.bk .t span{display:block}
.tw-n{z-index:3;right:0;top:0;padding:4px 10px;border:1px solid #e3e3e3;border-radius:20px;background:#fff;transition:opacity .25s}.tw-n.z{opacity:0}
.ws{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0;pointer-events:none}
.ws-w{width:min(100%,430px);border:1px solid var(--a);border-radius:10px;background:var(--b);overflow:hidden;box-shadow:0 22px 50px rgba(0,0,0,.13);transform-origin:50% 100%;will-change:transform}
.ws-b{display:flex;align-items:center;gap:5px;padding:8px 11px;border-bottom:1px solid var(--l)}.ws-b i{width:7px;height:7px;border-radius:50%;background:#cfcfcf}.ws-b em{margin-left:8px;font:400 12px/1 "DM Sans",sans-serif;color:#6b6b6b}
.ws-c{padding:clamp(16px,2vw,24px)}.ws-c b{display:block;margin-bottom:12px;font:italic 400 clamp(32px,3.6vw,50px)/1.05 "Bodoni Moda",Georgia,serif;letter-spacing:-.015em}.ws-c u{display:block;height:6px;margin-bottom:7px;border-radius:3px;background:#ececec}.ws-c u+u{width:68%;margin-bottom:16px}.ws-g{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:7px}.ws-g s{display:block;height:clamp(44px,5vw,66px);border-radius:5px;background:#f0f0f0}.ws-g s:first-child{background:var(--a)}
.ws-p{list-style:none;display:flex;gap:7px;margin:0;padding:0}.ws-p li{display:flex;align-items:center;gap:6px;padding:4px 11px;border:1px solid var(--a);border-radius:20px;background:var(--b);font-size:14px;opacity:0}.ws-p svg{width:11px;height:9px;fill:none;stroke:currentColor;stroke-width:1.6}
@media (max-width:760px){.bg-tower .bg-v{min-height:330px}.tw{width:52vw;margin-left:-26vw;margin-top:-34px}}
.bk .t{border-color:#000;background:#fff}.tw{filter:none}
