.nav-links a.on{color:var(--ink)}
.phero{position:relative;z-index:1;padding:clamp(120px,15vh,160px) 0 clamp(40px,5vw,64px)}
.phero .eyebrow{margin-bottom:22px}
.phero h1{font-size:clamp(40px,6.2vw,88px);line-height:1.02;letter-spacing:-0.02em;max-width:14ch}
.phero h1 em{font-style:italic;color:var(--orange-deep)}
.phero .lead{margin-top:28px;max-width:58ch;font-size:clamp(17px,1.5vw,20px)}
.phero .ctas{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}
.phero h1 .w{display:inline-block;opacity:0;transform:translateY(.55em) rotate(1.5deg);animation:wIn 1000ms var(--ease) both}
.phero.center .eyebrow{margin-left:auto;margin-right:auto}
.phero.center{text-align:center}.phero.center h1{max-width:22ch;text-wrap:balance}.phero.center h1,.phero.center .lead{margin-left:auto;margin-right:auto}.phero.center .crumbs,.phero.center .ctas{justify-content:center}
.pimg{position:relative;z-index:1}
.pimg .fr{position:relative;aspect-ratio:21/9;border-radius:26px;overflow:hidden;background:var(--sunk);box-shadow:var(--sh2)}
.pimg .fr img,.pimg .fr image-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.pfacts{display:flex;justify-content:center;flex-wrap:wrap;gap:16px 0;padding:clamp(28px,3.5vw,44px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:clamp(48px,6vw,80px)}
.pfacts>div{padding:0 clamp(22px,3.2vw,48px);border-left:1px solid var(--line);text-align:center;min-width:0}
.pfacts>div:first-child{border-left:0}
.pfacts .cl{display:flex;justify-content:center}
.pfacts small{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink3);margin-bottom:10px}
.pfacts span{font-size:15px;font-weight:550;line-height:1.4}
.pfacts span a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}
.pfacts span a:hover{color:var(--orange-deep)}
.pfacts .cl img{height:36px;width:auto;max-width:150px;display:block;object-fit:contain}
.story{display:grid;grid-template-columns:200px minmax(0,1fr);gap:clamp(40px,6vw,96px);align-items:start}
.toc{position:sticky;top:110px;display:flex;flex-direction:column}
.toc a{font-size:14px;color:var(--ink3);padding:9px 0 9px 16px;border-left:1px solid var(--line);transition:all 300ms var(--ease)}
.toc a:hover{color:var(--ink)}
.toc a.on{color:var(--ink);border-color:var(--orange)}
.chap{padding:0 0 clamp(48px,6vw,80px);scroll-margin-top:110px}
.chap .eyebrow{margin-bottom:16px}
.chap h2{font-size:clamp(28px,3.2vw,44px);line-height:1.08;letter-spacing:-0.015em;margin-bottom:22px;max-width:22ch}
.chap p{font-size:clamp(16px,1.3vw,18px);color:var(--ink2);line-height:1.65;margin:0 0 16px;max-width:64ch}
.res-list{list-style:none;padding:0;margin:8px 0 0;border-top:1px solid var(--line)}
.res-list li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--ink2);line-height:1.5}
.res-list svg{width:16px;height:16px;stroke:var(--ok);stroke-width:2;fill:none;margin-top:5px}
.gal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 clamp(48px,6vw,80px)}
.gal .g{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:var(--sunk)}
.gal .g:first-child{grid-column:span 2;aspect-ratio:auto}
.gal .g image-slot{position:absolute;inset:0}
.pquote{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(28px,4vw,48px);box-shadow:var(--sh1);margin:clamp(32px,4vw,48px) 0 0}
.pquote q{display:block;font-family:var(--serif);font-size:clamp(22px,2.4vw,32px);line-height:1.3;letter-spacing:-0.01em;quotes:"« " " »"}
.pquote .who{margin-top:22px;font-size:14px;color:var(--ink3)}
.pquote .who b{color:var(--ink);font-weight:600;display:block;font-size:15px}
.nextp{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,3vw,36px);box-shadow:var(--sh1);transition:transform 500ms var(--ease),box-shadow 500ms var(--ease);color:var(--ink)}
.nextp:hover{transform:translateY(-3px);box-shadow:var(--sh2);color:var(--ink)}
.nextp small{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin-bottom:14px}
.nextp b{font-family:var(--serif);font-weight:400;font-size:clamp(26px,3vw,40px);letter-spacing:-0.015em;line-height:1.1;display:block}
.nextp p{color:var(--ink2);margin:12px 0 0;font-size:15px}
.nextp .im{position:relative;aspect-ratio:3/2;border-radius:14px;overflow:hidden;background:var(--sunk)}
.nextp .im img,.nextp .im image-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.band{background:var(--ink);color:var(--bg);border-radius:26px;padding:clamp(44px,6vw,80px) clamp(28px,5vw,76px);text-align:center;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;width:70vmax;height:70vmax;left:50%;top:-45vmax;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(232,90,60,0.28),transparent 70%);filter:blur(40px);pointer-events:none}
.band>*{position:relative}
.band .eyebrow{color:rgba(252,251,248,.5);margin-bottom:20px}
.band h2{color:#FCFBF8;max-width:18ch;margin:0 auto}
.band h2 em{color:#FFC9BA}
.band p:not(.eyebrow){color:rgba(252,251,248,.72);max-width:50ch;margin:22px auto 0;font-size:16.5px}
.band .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}
.band a.btn-line{color:var(--bg);border-color:rgba(252,251,248,.3);background:transparent}
.band a.btn-line:hover{border-color:var(--bg);color:var(--bg)}
.filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 clamp(36px,5vw,56px)}
.filters button{all:unset;cursor:pointer;font-size:13px;font-weight:550;color:var(--ink2);border:1px solid var(--line);border-radius:999px;padding:8px 16px;background:rgba(252,251,248,.5);transition:all 300ms var(--ease)}
.filters button:hover{border-color:var(--ink);color:var(--ink)}
.filters button.on{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,32px) clamp(16px,2vw,28px)}
.pcard{display:block;color:var(--ink);transition:transform 500ms var(--ease)}
.pcard.hide{display:none}
.pcard:hover{transform:translateY(-4px);color:var(--ink)}
.pcard .im{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--sunk);box-shadow:var(--sh1)}
.pcard .im img,.pcard .im image-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 900ms var(--ease)}
.pcard:hover .im img{transform:scale(1.04)}
.pcard .im .cl{position:absolute;left:14px;top:14px;z-index:2;min-height:40px;padding:8px 14px;border-radius:999px;background:rgba(252,251,248,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:grid;place-items:center}
.pcard .im .cl img{position:static;height:24px;width:auto;max-width:120px;transform:none;object-fit:contain}
.pcard .cap{padding:18px 4px 0}
.pcard .cap small{display:block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);font-weight:600}
.pcard .cap b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.2vw,28px);letter-spacing:-0.012em;line-height:1.15;margin-top:8px}
.pcard .cap p{font-size:14.5px;color:var(--ink2);margin:8px 0 0}
.pcard.wide{grid-column:span 2}.pcard.wide .im{aspect-ratio:16/9}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(18px,2.5vw,32px)}.rel:has(>:nth-child(5)){grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:clamp(16px,2vw,24px)}
.subs{border-top:1px solid var(--line)}
.svrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:clamp(16px,3vw,48px);padding:clamp(24px,3vw,36px) 0;border-bottom:1px solid var(--line)}
.svrow h3{font-size:clamp(22px,2.4vw,32px);letter-spacing:-0.012em;line-height:1.1}
.svrow p{margin:0;font-size:15.5px;color:var(--ink2);max-width:58ch;line-height:1.6}
.proc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.ps{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px 28px;box-shadow:var(--sh1);display:flex;flex-direction:column;gap:14px}
.ps .ic{width:44px;height:44px;border-radius:50%;background:var(--orange-soft);color:var(--orange-deep);display:grid;place-items:center}
.ps .ic svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ps h3{font-size:21px;letter-spacing:-0.01em}
.ps p{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.6}
.tl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.tl::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line2)}
.tl .t{position:relative;padding-top:34px}
.tl .t::before{content:"";position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--bg);border:1px solid var(--line2)}
.tl .t.on::before{background:var(--orange);border-color:var(--orange)}
.tl .t small{display:block;font-family:var(--serif);font-style:italic;color:var(--orange-deep);font-size:18px;margin-bottom:8px}
.tl .t b{display:block;font-size:17px;font-weight:600;margin-bottom:8px}
.tl .t p{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.6}
.team3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.mem .ph{position:relative;aspect-ratio:3/4;border-radius:20px;overflow:hidden;background:var(--sunk)}
.mem .ph image-slot{position:absolute;inset:0}
.mem>b{display:block;font-weight:600;font-size:16px;margin-top:16px}
.mem>span{font-size:13.5px;color:var(--ink3)}
.mem p{font-size:14.5px;color:var(--ink2);margin:10px 0 0;line-height:1.6}
.mem.coll .ph{display:grid;place-items:center;border:1px dashed var(--line2);background:rgba(252,251,248,.4)}
.mem.coll .ph div{text-align:center;padding:24px}
.mem.coll .ph b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1.05;letter-spacing:-0.015em}
.mem.coll .ph span{display:block;font-size:13px;color:var(--ink3);margin-top:10px}
.vals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.val{border:1px solid var(--line);border-radius:22px;padding:30px 28px;background:rgba(252,251,248,.5)}
.val b{display:block;font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:-0.01em;margin-bottom:12px}
.val p{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.6}
button.ui-tab{border:0;background:transparent;font-family:inherit;cursor:pointer}
.ft-top.five{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.pfacts>div{padding:0 20px}.pgrid{grid-template-columns:1fr 1fr}.proc,.vals,.tl,.team3{grid-template-columns:1fr 1fr}.story{grid-template-columns:170px minmax(0,1fr)}}
@media (max-width:900px){.ft-top.five{grid-template-columns:1fr 1fr}}
@media (max-width:820px){.phero{padding-top:110px}.phero h1{font-size:clamp(34px,10vw,52px)}.pimg .fr{aspect-ratio:4/3;border-radius:18px}.pfacts{display:grid;grid-template-columns:1fr 1fr;gap:22px 16px}.pfacts>div{border-left:0;padding:0;text-align:left}.pfacts .cl{justify-content:flex-start}.story{grid-template-columns:1fr;gap:0}.toc{position:static;flex-direction:row;flex-wrap:wrap;gap:6px;margin-bottom:32px}.toc a{border-left:0;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:12.5px}.toc a.on{border-color:var(--ink);color:var(--ink)}.gal{grid-template-columns:1fr 1fr}.nextp{grid-template-columns:1fr}.pgrid{grid-template-columns:1fr}.pcard.wide{grid-column:auto}.pcard.wide .im{aspect-ratio:4/3}.svrow{grid-template-columns:1fr;gap:10px}.proc,.vals,.tl,.team3{grid-template-columns:1fr}.tl::before{display:none}.band{border-radius:20px}}
@media (max-width:520px){.ft-top.five{grid-template-columns:1fr}}

/* v2 : tirage hero */
.ptir{position:relative;z-index:1;padding-top:clamp(28px,4vw,48px)}
.tir{position:relative;margin:0 auto;max-width:1080px;background:#FCFBF8;border-radius:16px;padding:16px 16px 58px;box-shadow:0 2px 4px rgba(22,19,15,.06),0 34px 80px rgba(22,19,15,.16);transform:rotate(-1deg);transition:transform 1000ms var(--ease)}
.tir:hover{transform:rotate(0deg)}
.tir .ph{position:relative;aspect-ratio:3/2;border-radius:8px;overflow:hidden;background:var(--sunk)}
.tir .ph img,.tir .ph image-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tir figcaption{position:absolute;left:22px;right:22px;bottom:18px;display:flex;justify-content:space-between;align-items:baseline;font-family:var(--serif);font-size:16px;color:var(--ink2)}
.tir figcaption i{font-style:italic;color:var(--orange-deep)}
.ticker{margin:clamp(48px,6vw,80px) 0 0}
/* v2 : en bref */
.brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,64px)}
.brief .eyebrow{margin-bottom:16px}
.brief>div>p:not(.eyebrow){font-size:16.5px;color:var(--ink2);line-height:1.65;margin:0}
.brief ul{list-style:none;margin:0;padding:0}
.brief li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:12px;padding:9px 0;font-size:15.5px;color:var(--ink2);line-height:1.5}
.brief li svg{width:16px;height:16px;stroke:var(--ok);stroke-width:2;fill:none;margin-top:4px}
/* v2 : bento */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(130px,17vw,250px);gap:16px}
.bento .b{position:relative;border-radius:18px;overflow:hidden;background:var(--sunk);opacity:0;transform:translateY(28px) scale(.98);transition:opacity 900ms var(--ease),transform 900ms var(--ease)}
.bento.on .b{opacity:1;transform:none}
.bento.on .b:nth-child(2){transition-delay:90ms}.bento.on .b:nth-child(3){transition-delay:180ms}.bento.on .b:nth-child(4){transition-delay:270ms}.bento.on .b:nth-child(5){transition-delay:360ms}.bento.on .b:nth-child(6){transition-delay:450ms}
.bento .b image-slot{position:absolute;inset:0}
.bento .b .tag{opacity:0;transform:translateY(6px);transition:all 400ms var(--ease)}
.bento .b:hover .tag{opacity:1;transform:none}
.b1{grid-column:span 2;grid-row:span 2}.b4{grid-column:span 2}.b6{grid-column:span 3}
.pquote{margin-top:clamp(40px,5vw,64px);max-width:860px;margin-left:auto;margin-right:auto;text-align:center}
/* v2 : même client */
.mstrip{--pad:max(clamp(20px,4vw,48px),calc((100vw - 1240px)/2 + clamp(20px,4vw,48px)));display:flex;gap:clamp(16px,2vw,24px);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-left:var(--pad);padding:6px var(--pad) 24px;scrollbar-width:none}
.mstrip::-webkit-scrollbar{display:none}
.mc{flex:none;width:clamp(240px,26vw,320px);scroll-snap-align:start}
.mc .im{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--sunk);box-shadow:var(--sh1)}
.mc .im image-slot{position:absolute;inset:0}
.mc b{display:block;font-family:var(--serif);font-weight:400;font-size:21px;letter-spacing:-0.01em;margin-top:14px}
.mc small{display:block;font-size:12.5px;color:var(--ink3);margin-top:4px}
/* v3 : vu sur instagram */
.igwall{display:grid;gap:18px;overflow:hidden;padding:8px 0 24px;-webkit-mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.igrow{display:flex;width:max-content;--d:95s}.igrow:hover,.igrow:focus-within{animation-play-state:paused}
.igtrack{display:flex;gap:clamp(14px,1.6vw,20px);padding-right:clamp(14px,1.6vw,20px);animation:igslide var(--d) linear infinite}
.igrow.rev .igtrack{animation-direction:reverse}.igrow:hover .igtrack,.igrow:focus-within .igtrack{animation-play-state:paused}
@keyframes igslide{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.igwall{overflow-x:auto;mask:none;-webkit-mask:none}.igtrack{animation:none}.igtrack[aria-hidden]{display:none}}
.igc{flex:none;width:clamp(200px,20vw,236px);display:block;color:#111;text-decoration:none;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 30px -14px rgba(20,16,10,.25);transition:transform 600ms var(--ease),box-shadow 600ms var(--ease)}
.igc:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(0,0,0,.04),0 22px 40px -18px rgba(20,16,10,.35)}
.igc .hd{display:flex;align-items:center;gap:9px;padding:10px 12px;font-size:13.5px;font-weight:600;letter-spacing:0}
.igc .hd img{width:28px;height:28px;border-radius:50%;object-fit:cover;flex:none;background:var(--sunk)}
.igc .im{position:relative;aspect-ratio:4/5;background:#eee;overflow:hidden}
.igc .im image-slot,.igc .im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.igc .im i{position:absolute;top:10px;right:10px;width:18px;height:18px;z-index:2}
.igc .im i::before,.igc .im i::after{content:"";position:absolute;inset:0 3px 3px 0;border-radius:3px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.25)}
.igc .im i::after{inset:3px 0 0 3px;background:transparent;border:2px solid #fff;box-shadow:none}
.igc p{margin:0;padding:10px 12px 12px;font-size:13px;line-height:1.4;color:#222;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.igc p b{font-weight:600;color:#111;margin-right:4px}
/* v2 : index réalisations */
.idx{position:relative;border-bottom:1px solid var(--line)}
.ix{display:grid;grid-template-columns:48px minmax(0,1fr) 220px 170px 44px;align-items:center;gap:20px;padding:clamp(22px,3vw,34px) 0;border-top:1px solid var(--line);color:var(--ink)}
.ix:hover{color:var(--ink)}
.ix.hide{display:none}
.ix .n{font-family:var(--serif);font-style:italic;color:var(--orange-deep);font-size:17px}
.ix b{font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.8vw,68px);letter-spacing:-0.02em;line-height:1;transition:transform 600ms var(--ease),color 400ms var(--ease);transform-origin:left}
.ix:hover b{transform:translateX(14px);color:var(--orange-deep)}
.ix .s,.ix .y{font-size:14px;color:var(--ink3)}
.ix .ar{width:44px;height:44px;border-radius:50%;border:1px solid var(--line2);display:grid;place-items:center;transition:all 400ms var(--ease)}
.ix .ar svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.8;fill:none;transition:transform 400ms var(--ease)}
.ix:hover .ar{background:var(--ink);border-color:var(--ink);color:var(--bg)}
.ix:hover .ar svg{transform:translateX(3px)}
.ix-float{position:absolute;left:0;top:0;width:clamp(240px,24vw,340px);background:#FCFBF8;border-radius:12px;padding:10px 10px 36px;box-shadow:0 2px 4px rgba(22,19,15,.08),0 30px 70px rgba(22,19,15,.22);pointer-events:none;opacity:0;transform:translate(-50%,-50%) rotate(-4deg) scale(.9);transition:opacity 350ms var(--ease),transform 600ms var(--ease);z-index:5;will-change:left,top}
.idx.hov .ix-float{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}
.ix-float .fl{position:absolute;inset:10px 10px 36px;border-radius:6px;overflow:hidden;opacity:0;transition:opacity 400ms var(--ease);background:var(--sunk)}
.ix-float .fl.on{opacity:1}
.ix-float .fl img,.ix-float .fl image-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ix-float::before{content:"";display:block;aspect-ratio:4/3}
.ix-float .lab{position:absolute;left:14px;bottom:12px;font-family:var(--serif);font-size:14px;color:var(--ink2)}
@media (hover:none){.ix-float{display:none}}
@media (max-width:1000px){.ix{grid-template-columns:36px minmax(0,1fr) 44px}.ix .s,.ix .y{display:none}.brief{grid-template-columns:1fr}.brief>div{padding-top:24px;border-top:1px solid var(--line)}.brief>div:first-child{padding-top:0;border-top:0}}
@media (max-width:820px){.tir{padding:10px 10px 44px;border-radius:12px;transform:none}.tir figcaption{left:14px;right:14px;bottom:12px;font-size:14px}.bento{grid-template-columns:1fr 1fr;grid-auto-rows:clamp(120px,28vw,200px)}.b1{grid-column:span 2;grid-row:span 2}.b4{grid-column:span 2}.b6{grid-column:span 1}.ix b{font-size:clamp(28px,8vw,40px)}.ix .ar{width:36px;height:36px}}

/* références */
.lgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.lc{display:grid;place-items:center;height:150px;border:1px solid var(--line);border-radius:18px;background:rgba(252,251,248,.5);transition:all 400ms var(--ease)}
.lc:hover{background:var(--surface);box-shadow:var(--sh1);transform:translateY(-3px)}
.lc .lg{opacity:.7}.lc:hover .lg{opacity:1;filter:none}
/* sous le même toit */
.roof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.rf{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:var(--sh1);display:flex;flex-direction:column;gap:12px}
.rf .lgs{width:64px;height:64px;border-radius:16px;overflow:hidden;background:var(--sunk);position:relative;margin-bottom:8px}
.rf .lgs image-slot{position:absolute;inset:0}
.rf small{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink3)}
.rf b{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-0.01em;line-height:1.1}
.rf p{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.6}
@media (max-width:1000px){.lgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.roof{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.lgrid{grid-template-columns:1fr 1fr}.lc{height:120px}.roof{grid-template-columns:1fr}}

/* partenaires : logos + PodX */
.rf .plogo{height:64px;display:flex;align-items:center;margin-bottom:8px}
.rf .plogo img{height:34px;width:auto;max-width:150px;display:block;filter:brightness(.55);transition:filter 400ms var(--ease)}
.rf:hover .plogo img{filter:none}
.rf .plogo.txt span{font-family:var(--serif);font-style:italic;font-size:26px;color:var(--orange-deep)}
.podx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);align-items:center}
.podx .lead{margin-top:22px}
.podx-l{list-style:none;padding:0;margin:28px 0 0;border-top:1px solid var(--line)}
.podx-l li{display:grid;grid-template-columns:20px minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--ink2)}
.podx-l li b{color:var(--ink);font-weight:600}
.podx-l svg{width:16px;height:16px;stroke:var(--ok);stroke-width:2;fill:none;margin-top:4px}
.podx-ph{position:relative;border-radius:26px;overflow:hidden;box-shadow:var(--sh2);aspect-ratio:10/11;background:var(--sunk)}
.podx-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:820px){.podx{grid-template-columns:1fr}.podx-ph{aspect-ratio:4/3}}
/* réalisations : vignettes */
.vrow{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 clamp(36px,5vw,56px)}
.vrow .filters{margin:0}
.vrow .filters{justify-content:flex-start}
.vsw{display:inline-flex;gap:2px;padding:3px;border-radius:999px;background:var(--sunk)}
.vsw button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:550;color:var(--ink2);transition:all 300ms var(--ease)}
.vsw button svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none}
.vsw button.on{background:#fff;color:var(--ink);font-weight:650;box-shadow:0 1px 2px rgba(22,19,15,.08),0 4px 12px rgba(22,19,15,.08)}
.rea-grid{display:none}
.view-grid .rea-grid{display:grid}.view-grid .idx{display:none}
.pcard .cap small{letter-spacing:.06em}

/* témoignages */
.tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tq{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:30px 30px 26px;box-shadow:var(--sh1);display:flex;flex-direction:column;gap:22px}
.tq q{font-family:var(--serif);font-size:clamp(19px,1.8vw,23px);line-height:1.35;letter-spacing:-0.01em;quotes:"« " " »"}
.tq .who{display:flex;align-items:center;gap:12px;margin-top:auto}
.tq .who image-slot{width:42px;height:42px;border-radius:50%;flex:none;display:block}
.tq .who b{display:block;font-size:14px;font-weight:600}
.tq .who span{font-size:12.5px;color:var(--ink3)}
/* le mur */
.board{position:relative;height:clamp(560px,80vh,820px);touch-action:none}
#mur>.wrap{container-type:inline-size}.board.big{--pw:clamp(150px,16.5cqw,230px);height:calc(var(--pw)*3.2 + 40px)}.board.big .pol{width:var(--pw)}@media (max-width:820px){.board.big{height:auto}.board.big .pol{width:100%}}
.board::before{content:"";position:absolute;inset:-6% -4%;background:radial-gradient(50% 55% at 50% 50%,rgba(255,255,255,.55),transparent 70%);pointer-events:none}
.pol{position:absolute;margin:0;width:clamp(170px,19%,250px);background:#FCFBF8;border-radius:10px;padding:10px 10px 40px;box-shadow:0 1px 2px rgba(22,19,15,.06),0 22px 46px rgba(22,19,15,.16);cursor:grab;user-select:none;transform:rotate(var(--r));transition:box-shadow 400ms var(--ease)}
.pol.drag{cursor:grabbing;box-shadow:0 8px 14px rgba(22,19,15,.1),0 50px 90px rgba(22,19,15,.26);transition:none}
.pol .ph{position:relative;aspect-ratio:1;overflow:hidden;background:var(--sunk);border-radius:4px}
.pol .ph img,.pol .ph image-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.pol figcaption{position:absolute;left:12px;right:12px;bottom:11px;font-family:var(--serif);font-size:14px;color:var(--ink2);text-align:center;pointer-events:none}
@media (max-width:820px){.board{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:10px 0}.pol{position:static;width:100%;transform:rotate(var(--r))}}
/* sous-services */
a.svrow{color:var(--ink);transition:background 300ms var(--ease)}
a.svrow:hover{color:var(--ink)}
a.svrow:hover h3{color:var(--orange-deep)}
a.svrow .more{margin-top:12px}
.refs.logos.strip{display:block;overflow:hidden;scroll-snap-type:none;cursor:auto;position:relative;z-index:1;padding:0}
.refs.logos.strip+.sec{padding-top:clamp(80px,10vw,140px)!important}
@media (max-width:820px){.tgrid{grid-template-columns:1fr}}

/* prix */
.awards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.aw{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--sh1);display:flex;flex-direction:column;gap:10px}
.aw-logo{position:relative;height:72px;width:160px;border-radius:12px;overflow:hidden;background:var(--sunk);margin-bottom:10px}
.aw-logo image-slot{position:absolute;inset:0}
.aw small{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--orange-deep)}
.aw b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,30px);letter-spacing:-0.012em;line-height:1.1}
.aw p{margin:0;font-size:14.5px;color:var(--ink2);line-height:1.6}
.press{margin-top:clamp(36px,5vw,56px)}
.press .eyebrow{margin-bottom:18px}
.press-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pr-it{display:block;color:var(--ink);min-width:0}
.pr-it .ph{position:relative;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--sunk);border:1px solid var(--line)}
.pr-it .ph image-slot{position:absolute;inset:0;width:100%;height:100%;min-height:0}
.pr-it span{display:block;margin-top:10px;font-size:12.5px;color:var(--ink3)}
.pr-it:hover span{color:var(--ink)}
@media (max-width:1000px){.awards{grid-template-columns:1fr}.press-row{grid-template-columns:repeat(2,minmax(0,1fr))}}

.aw-logo.img{background:transparent;display:flex;align-items:center;width:auto;max-width:200px}
.aw-logo.img img{height:56px;width:auto;max-width:200px;object-fit:contain;display:block}

.rf .plogo img[src$='.svg']{filter:none;opacity:.55;transition:opacity 400ms var(--ease)}
.rf:hover .plogo img[src$='.svg']{opacity:1}

/* pages légales */
.legal{max-width:760px;margin:0 auto}
.legal h2{font-size:clamp(22px,2.4vw,30px);letter-spacing:-0.01em;margin:clamp(32px,4vw,44px) 0 12px;padding-top:clamp(24px,3vw,32px);border-top:1px solid var(--line)}
.legal h2:first-child{border-top:0;padding-top:0;margin-top:0}
.legal p,.legal li{font-size:15.5px;color:var(--ink2);line-height:1.7;margin:0 0 12px}
.legal ul{padding-left:20px;margin:0 0 12px}
.legal b{color:var(--ink);font-weight:600}
.legal a{text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px}

/* contact */
.cgrid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.cform{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,3vw,36px);box-shadow:var(--sh1);display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cform .eyebrow{grid-column:1/-1;margin-bottom:6px}
.cform label{display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:600;color:var(--ink2)}
.cform label.full{grid-column:1/-1}
.cform .opt{font-weight:500;color:var(--ink3)}
.cform input,.cform select,.cform textarea{font:inherit;font-size:15px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);outline:none;transition:border-color 300ms;width:100%}
.cform textarea{resize:vertical;min-height:140px;line-height:1.5}
.cform select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%2316130F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:14px;padding-right:40px}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--ink)}
.cform .err{border-color:var(--orange)}
.cform .consent{flex-direction:row;align-items:flex-start;gap:12px;font-weight:500;font-size:13.5px;line-height:1.5;color:var(--ink2);margin-top:4px}
.cform .consent input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--ink);flex:none}
.cform .consent input.err{outline:2px solid var(--orange);outline-offset:2px;border-radius:4px}
.cform .consent a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
.cform .consent a:hover{color:var(--orange-deep)}
.cact{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:6px}
.cact .btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cact .btn:disabled{opacity:.6;cursor:default}
.cnote{font-size:13px;color:var(--ink3)}
.cerr{grid-column:1/-1;margin:0;font-size:13.5px;color:var(--orange-deep);font-weight:600}
.csent{grid-column:1/-1;padding:clamp(12px,2vw,24px) 0;display:flex;flex-direction:column;gap:18px}
.csent h2{font-size:clamp(30px,3.6vw,48px);margin:0}
.csent h2 em{font-style:italic;color:var(--orange-deep)}
.csent p:not(.eyebrow){font-size:16px;color:var(--ink2);line-height:1.6;margin:0;max-width:52ch}
.csent a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cside{display:grid;gap:14px}
.cblock{display:flex;flex-direction:column;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:22px 24px}
.cblock small{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink3);font-weight:600;margin-bottom:4px}
.cblock a:not(.btn){font-family:var(--serif);font-size:clamp(20px,1.8vw,24px);color:var(--ink);text-decoration:none;letter-spacing:-.01em;transition:color 300ms}
.cblock a:not(.btn):hover{color:var(--orange-deep)}
.cblock span{font-size:14.5px;color:var(--ink2);line-height:1.55}
.cblock.dark{background:var(--ink);border-color:var(--ink);color:var(--bg);gap:12px;padding:26px 24px}
.cblock.dark small{color:rgba(252,251,248,.5)}
.cblock.dark b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,28px);letter-spacing:-.01em;line-height:1.15}
.cblock.dark .btn{background:var(--bg);color:var(--ink);margin-top:6px;width:max-content}
.cblock.dark .btn:hover{background:var(--orange);color:#FCFBF8}
.cblock.dark .btn svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round}
@media (max-width:900px){.cgrid{grid-template-columns:1fr}.cform{grid-template-columns:1fr}.cform label.full{grid-column:auto}.cform .eyebrow,.cact,.cerr,.csent{grid-column:auto}}

/* planche contact */
.planche{display:flex;flex-wrap:wrap;gap:0 var(--pg,12px);margin-top:clamp(24px,3vw,40px);margin-bottom:calc(var(--pg,12px)*-1)}
.planche::after{content:"";flex-grow:999999;flex-basis:0;min-width:0}
.planche a{position:relative;display:block;margin-bottom:var(--pg,12px);flex-grow:calc(var(--r)*100);flex-shrink:1;flex-basis:calc(var(--r)*clamp(150px,19vw,230px));aspect-ratio:var(--r);border-radius:12px;overflow:hidden;background:var(--sunk);opacity:0;transform:translateY(22px);transition:opacity 900ms var(--ease),transform 900ms var(--ease);transition-delay:calc(var(--i,0)*45ms)}
.planche.on a{opacity:1;transform:none}
.planche a img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1000ms var(--ease)}
.planche a:hover img{transform:scale(1.03)}
.planche a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.planche a::after{content:attr(data-cap);position:absolute;left:12px;bottom:10px;font-family:var(--serif);font-size:14px;color:#FCFBF8;opacity:0;transform:translateY(4px);transition:opacity 400ms var(--ease),transform 400ms var(--ease);text-shadow:0 1px 10px rgba(0,0,0,.6);pointer-events:none}
.planche a:hover::after{opacity:1;transform:none}
@media (max-width:820px){.planche{--pg:8px}.planche a{flex-basis:calc(var(--r)*118px);border-radius:8px}.planche a::after{display:none}}
.planche i.br{flex:1 0 100%;height:0;margin:0;padding:0}

/* post Instagram mis en avant */
.igfeat{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(24px,4vw,56px);align-items:center;margin:clamp(28px,4vw,48px) 0 clamp(32px,4vw,56px);padding:clamp(18px,2.4vw,28px);border-radius:22px;background:#FCFBF8;border:1px solid var(--line);text-decoration:none;color:inherit;transition:box-shadow 600ms var(--ease),transform 600ms var(--ease)}
.igfeat:hover{box-shadow:0 2px 4px rgba(22,19,15,.05),0 30px 70px rgba(22,19,15,.12);transform:translateY(-2px)}
.igfeat .im{position:relative;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:var(--sunk)}
.igfeat .im image-slot{position:absolute;inset:0}
.igfeat .tx h3{margin:14px 0 12px;font-family:var(--serif);font-weight:400;font-size:clamp(26px,3.2vw,40px);line-height:1.08;letter-spacing:-.015em;color:var(--ink)}
.igfeat .tx h3 em{font-style:italic;color:var(--orange-deep)}
.igfeat .tx p:not(.eyebrow){margin:0;color:var(--ink2);font-size:16px;line-height:1.55;max-width:48ch;text-wrap:pretty}
.igfeat .more{display:inline-flex;align-items:center;gap:10px;margin-top:22px;font-weight:600;font-size:14px;color:var(--ink)}
.igfeat .more img{width:30px;height:30px;border-radius:50%;object-fit:cover;border:1px solid var(--line)}
.igfeat .more i{font-style:normal;color:var(--ink3);font-weight:500;border-bottom:1px solid var(--line2);transition:color 300ms,border-color 300ms}
.igfeat:hover .more i{color:var(--orange-deep);border-color:var(--orange-deep)}
@media (max-width:820px){.igfeat{grid-template-columns:1fr;gap:18px;padding:12px;border-radius:16px}.igfeat .im{aspect-ratio:4/5;max-width:420px}.igfeat .tx h3{font-size:26px}}

/* bento « réel » : une grande image, puis une rangée à hauteur égale, formats d'origine */
.bento.real{display:flex;flex-wrap:wrap;gap:16px}
.bento.real .b{flex:1 1 0;min-width:0;grid-column:auto;grid-row:auto}
.bento.real .b4{flex:1 1 100%;aspect-ratio:3/2}
.bento.real .b1,.bento.real .b3{flex-grow:.667;aspect-ratio:2/3}
.bento.real .b2{flex-grow:1.5;aspect-ratio:3/2}
@media (max-width:820px){.bento.real{gap:10px}.bento.real .b2{flex-basis:100%}}


/* polaroids vidéo */
.pol.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:none;pointer-events:none}
.pol.vid.has video{display:block}.pol.vid.has image-slot{visibility:hidden}
.pol .rec{position:absolute;top:8px;left:8px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:3px 9px 3px 7px;border-radius:99px;background:rgba(22,19,15,.72);color:#F3F1EB;font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;pointer-events:none}
.pol .rec::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange,#E85A3C);animation:recb 1.6s ease-in-out infinite}
@keyframes recb{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.pol .rec::before{animation:none}}

/* coulisses verticales (vidéos 9:16) */
.vcards{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(18px,3vw,44px)}
.vcard{margin:0;width:clamp(220px,26vw,320px);background:#FCFBF8;border-radius:12px;padding:10px 10px 44px;position:relative;box-shadow:0 1px 2px rgba(22,19,15,.06),0 22px 46px rgba(22,19,15,.16);transform:rotate(var(--r,0deg))}
.vcard .ph{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:6px;background:var(--sunk)}
.vcard video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vcard figcaption{position:absolute;left:12px;right:12px;bottom:13px;font-family:var(--serif);font-size:15px;color:var(--ink2);text-align:center}
@media (max-width:820px){.vcards{display:grid;grid-template-columns:1fr 1fr;gap:14px}.vcard{width:auto;padding:8px 8px 38px}}
.tir.vert{max-width:min(400px,100%)}.tir.vert .ph{aspect-ratio:9/16}
.vstrip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.vstrip .b{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:var(--sunk)}.vstrip image-slot{position:absolute;inset:0}.vstrip .tag{opacity:0;transform:translateY(6px);transition:all 400ms var(--ease)}.vstrip .b:hover .tag{opacity:1;transform:none}
@media (max-width:820px){.vstrip{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
.planche.big a{flex-basis:calc(var(--r)*clamp(240px,32vw,440px))}@media (max-width:820px){.planche.big a{flex-basis:calc(var(--r)*200px)}}
.tir.btn-br .ytb{left:auto;top:auto;right:clamp(14px,2vw,24px);bottom:clamp(14px,2vw,24px);transform:none}.tir.btn-br .ytb:hover{transform:scale(1.04)}
.igfeat.igfilm{grid-template-columns:minmax(0,4fr) minmax(0,7fr)}.igfeat.igfilm .im[style*="3/2"]{justify-self:stretch}.igfeat.igfilm .im{aspect-ratio:9/16;max-width:380px;width:100%;justify-self:center}.igfeat.igfilm video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.igfeat.igfilm .rec{position:absolute;top:12px;left:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:4px 10px 4px 8px;border-radius:99px;background:rgba(22,19,15,.72);color:#F3F1EB;font-size:12px;font-weight:600}.igfeat.igfilm .rec::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange,#E85A3C);animation:recb 1.6s ease-in-out infinite}.igfeat.igfilm .btn{margin-top:24px}
@media (max-width:820px){.igfeat.igfilm{grid-template-columns:1fr}.igfeat.igfilm .im{max-width:300px}}
.planche.mid a{flex-basis:calc(var(--r)*clamp(180px,20vw,280px))}@media (max-width:820px){.planche.mid a{flex-basis:calc(var(--r)*140px)}}
.planche.eq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.planche.eq::after{display:none}.planche.eq a{aspect-ratio:3/2}@media (max-width:820px){.planche.eq{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Emil Frey : partenariat */
.efwall{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,1.2vw,16px);max-width:1180px;margin:0 auto;padding-bottom:32px}.efwall figure{margin:0;position:relative;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#16130F;transform:translateY(var(--y,0));box-shadow:0 20px 50px rgba(22,19,15,.16)}.efwall video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.efwall figcaption{position:absolute;left:12px;right:12px;bottom:12px;color:#FCFBF8;font-size:12.5px;font-weight:600;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.efsys{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.efsys>div{background:#FCFBF8;border:1px solid var(--line);border-radius:18px;padding:22px 20px}.efsys small{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--orange-deep)}.efsys h3{margin:12px 0 8px;font-family:var(--serif);font-weight:400;font-size:23px;line-height:1.1;color:var(--ink)}.efsys p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink2);text-wrap:pretty}
.effacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.effacts>div{padding:clamp(22px,3vw,36px) clamp(12px,2vw,28px) clamp(22px,3vw,36px) 0}.effacts>div+div{padding-left:clamp(12px,2vw,28px);border-left:1px solid var(--line)}.effacts b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(44px,5.4vw,72px);line-height:1;color:var(--ink);letter-spacing:-.02em}.effacts span{display:block;margin-top:10px;font-size:14px;color:var(--ink2);line-height:1.45;max-width:26ch}
.eftl{display:flex;flex-wrap:wrap;align-items:center;gap:8px 6px;margin-top:14px}.eftl span{white-space:nowrap;padding:7px 13px;border-radius:99px;border:1px solid var(--line2);font-size:13px;color:var(--ink2);background:#FCFBF8}.eftl span.ev{background:var(--ink);border-color:var(--ink);color:var(--bg)}.eftl span.end{border-color:var(--orange-deep);color:var(--orange-deep)}.eftl i{font-style:normal;color:var(--ink3);font-size:12px}
.efstory{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(32px,4vw,56px) 0;border-top:1px solid var(--line)}.efstory.flip>.efm{order:2}.efstory .efm{position:relative;display:block;aspect-ratio:var(--ar,9/16);max-width:var(--mw,340px);width:100%;justify-self:center;border-radius:16px;overflow:hidden;background:#16130F;box-shadow:0 2px 4px rgba(22,19,15,.06),0 28px 60px rgba(22,19,15,.16)}.efm video,.efm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.efstory .n{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--orange-deep)}.efstory h3{margin:8px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,44px);line-height:1.06;letter-spacing:-.015em;color:var(--ink)}.efstory h3 em{font-style:italic;color:var(--orange-deep)}.efstory .tags{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0 18px}.efstory .tags span{white-space:nowrap;padding:4px 10px;border-radius:99px;border:1px solid var(--line2);font-size:12px;color:var(--ink2)}.efstory p{margin:0;font-size:16px;line-height:1.6;color:var(--ink2);max-width:52ch;text-wrap:pretty}.efstory .btn{margin-top:24px}
.efstory.wide{grid-template-columns:minmax(0,4fr) minmax(0,8fr)}.eflaunch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.efl{all:unset;cursor:pointer;display:flex;flex-direction:column;gap:4px}.efl .efm{max-width:none;box-shadow:0 14px 34px rgba(22,19,15,.14)}.efl .efm img{transition:transform 900ms var(--ease)}.efl:hover .efm img{transform:scale(1.04)}.efl .pl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:rgba(252,251,248,.94);transition:background 300ms}.efl .pl svg{width:14px;height:14px;fill:var(--ink);margin-left:2px}.efl:hover .pl{background:var(--orange)}.efl b{margin-top:8px;font-family:var(--serif);font-weight:400;font-size:19px;color:var(--ink)}.efl small{font-size:12.5px;color:var(--ink3)}.efl:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:16px}
@media (max-width:1000px){.efsys{grid-template-columns:repeat(2,minmax(0,1fr))}.efsys>div:last-child{grid-column:1/-1}.effacts{grid-template-columns:repeat(2,minmax(0,1fr))}.effacts>div:nth-child(3){padding-left:0;border-left:0}.effacts>div:nth-child(n+3){border-top:1px solid var(--line)}.efstory.wide{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
@media (max-width:820px){.efstory,.efstory.wide{grid-template-columns:1fr}.efstory.flip>.efm{order:0}.efsys>div:last-child{grid-column:auto}}
@media (max-width:820px){.efwall{grid-template-columns:repeat(3,minmax(0,1fr))}.efwall figure:nth-child(n+4){display:none}.efwall figure{transform:none}.eflaunch{grid-template-columns:repeat(2,minmax(0,1fr))}}
.d1tag{display:inline-flex;color:var(--ink)}.d1mark{height:20px;width:auto;display:block}
.d1card{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(32px,5vw,64px);border-radius:24px;background:#16130F;color:#F3F1EB}.d1big{width:min(100%,300px);height:auto;display:block;color:#F3F1EB}.d1c-k{margin:18px 0 0;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:rgba(243,241,235,.6)}.d1c-r h2{margin:0 0 16px;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.6vw,46px);line-height:1.06;letter-spacing:-.015em;color:#F3F1EB}.d1c-r h2 em{font-style:italic;color:inherit}.d1c-r p{margin:0 0 12px;font-size:16px;line-height:1.6;color:rgba(243,241,235,.78);max-width:56ch;text-wrap:pretty}.d1c-r .btn{margin-top:14px}
@media (max-width:820px){.d1card{grid-template-columns:1fr;border-radius:18px}.d1big{width:200px}}
/* post Instagram simulé (carrousel ou image unique) */
.igsim{cursor:default;align-items:center}.igsim:hover{transform:none;box-shadow:none}.igsim .more{text-decoration:none}
.igpost{background:#fff;border-radius:16px;border:1px solid var(--line);overflow:hidden;width:100%;max-width:420px;justify-self:center;color:#262626;font-family:var(--sans,inherit)}
.igpost .hd{display:flex;align-items:center;gap:10px;padding:10px 12px}
.igpost .hd img{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;border:1px solid var(--line)}
.igpost .hd b{display:flex;align-items:center;gap:4px;font-size:13.5px;font-weight:600;line-height:1.2}.igpost .hd b svg{width:13px;height:13px}
.igpost .hd small{display:block;font-size:12px;color:#737373;line-height:1.2;margin-top:1px}
.igpost .hd .mn{margin-left:auto;font-weight:700;letter-spacing:1px}
.igpost .car{position:relative;aspect-ratio:4/5;background:#111;overflow:hidden}
.igpost .trk{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.igpost .trk::-webkit-scrollbar{display:none}
.igpost .trk img{flex:none;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;display:block}
.igpost .cnt{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;padding:4px 9px;border-radius:999px;pointer-events:none}
.igpost .nav{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.92);color:#262626;display:grid;place-items:center;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:opacity 200ms,background 200ms}
.igpost .nav:hover{background:#fff}.igpost .nav.prev{left:10px}.igpost .nav.next{right:10px;transform:translateY(-50%) rotate(180deg)}.igpost .nav[disabled]{opacity:0;pointer-events:none}
.igpost .nav svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.igpost .act{display:flex;align-items:center;gap:14px;padding:10px 12px 4px;position:relative}
.igpost .act>svg,.igpost .act .sv svg{width:24px;height:24px;display:block;fill:none;stroke:#262626;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.igpost .act .pg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:4px}
.igpost .act .pg i{width:6px;height:6px;border-radius:50%;background:#C7C7C7;transition:background 200ms}.igpost .act .pg i.on{background:#0095F6}
.igpost .act .sv{margin-left:auto}
.igpost .cap{margin:0;padding:4px 12px 14px;font-size:13.5px;line-height:1.45;color:#262626}.igpost .cap b{font-weight:600;margin-right:5px}
/* post @f1 (image unique) */
.igpost .car img.one{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tir.p45{max-width:min(620px,100%)}.tir.p45 .ph{aspect-ratio:4/5}
/* tirage hero + petits tirages verticaux */
.tirs{display:flex;justify-content:center;align-items:center;gap:clamp(14px,2.2vw,30px);flex-wrap:wrap}
.tirs .tir{margin:0}.tirs .main{flex:0 1 560px}
.tirs .col{display:flex;flex-direction:column;gap:clamp(14px,2vw,24px);flex:0 1 250px}
.tirs .col .tir{padding:10px 10px 40px;border-radius:12px}.tirs .col .tir .ph{aspect-ratio:4/5}
.tirs .col .tir figcaption{left:14px;right:14px;bottom:12px;font-size:13.5px}
.tirs .col .tir:nth-child(1){transform:rotate(1.6deg)}.tirs .col .tir:nth-child(2){transform:rotate(-1.4deg)}
@media (max-width:820px){.tirs .col{flex-direction:row;flex-basis:100%;justify-content:center}.tirs .col .tir{flex:0 1 46%}}
.tir.film .ph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#111}.tir.film{margin-top:clamp(24px,3vw,40px)}
/* phrase mise en avant */
.claim{text-align:center;max-width:980px;margin:0 auto;padding:clamp(24px,4vw,56px) 0}
.claim h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6.2vw,84px);line-height:1.02;letter-spacing:-.025em;margin:20px 0 0;text-wrap:balance}
.claim h2 em{font-style:italic;color:var(--orange-deep)}
.claim p:not(.eyebrow){margin:clamp(18px,2.4vw,28px) auto 0;max-width:46ch;font-size:clamp(17px,1.5vw,20px);line-height:1.55;color:var(--ink2);text-wrap:pretty}
/* savoir-faire démontré par le projet */
.sk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,20px)}
.skc{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,2.4vw,32px);border-radius:22px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh1);color:var(--ink);text-decoration:none;transition:transform 500ms var(--ease),box-shadow 500ms var(--ease),border-color 500ms var(--ease)}
.skc:hover{transform:translateY(-3px);box-shadow:var(--sh2);border-color:var(--line2);color:var(--ink)}
.skc .n{font-family:var(--serif);font-style:italic;font-size:28px;line-height:1;color:var(--orange-deep)}
.skc b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,27px);line-height:1.12;letter-spacing:-.012em}
.skc p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink2);text-wrap:pretty}
.skc i{margin-top:auto;padding-top:8px;font-style:normal;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.skc:hover i{color:var(--orange-deep)}
@media (max-width:860px){.sk{grid-template-columns:1fr}}
/* identité : planche du système */
.idsys{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);grid-template-rows:auto auto;gap:clamp(12px,1.4vw,18px)}
.idsys figure{margin:0;position:relative;border-radius:18px;overflow:hidden;background:rgb(233,238,244)}
.idsys img{display:block;width:100%;height:100%;object-fit:cover}
.idsys .s1{grid-row:span 2;aspect-ratio:1}.idsys .s2,.idsys .s3{min-height:0}
.idsys figcaption{position:absolute;left:14px;bottom:12px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
@media (max-width:820px){.idsys{grid-template-columns:1fr}.idsys .s1{grid-row:auto}}
.tir-logo .ph{background:#fff;aspect-ratio:21/9}.tir-logo .ph img{object-fit:contain;padding:6%;box-sizing:border-box}
.avant{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}
.avant figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(18px,2.4vw,32px) clamp(18px,2.4vw,32px) 16px;display:flex;flex-direction:column;align-items:center;gap:12px}
.avant img{width:100%;max-width:240px;height:auto;display:block}
.avant figcaption{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2)}
.defis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:clamp(14px,1.6vw,20px)}
.defis>div{border-top:2px solid var(--ink);padding-top:14px}.defis b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,26px)}.defis p{margin:6px 0 0;color:var(--ink2);font-size:15.5px;line-height:1.55}
@media (max-width:820px){.avant{grid-template-columns:1fr 1fr}.avant figure:last-child{grid-column:span 2}.defis{grid-template-columns:1fr}}
.idsys.v2 figure{background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:clamp(28px,4vw,56px) clamp(24px,3.4vw,48px) clamp(44px,4.6vw,60px)}
.idsys.v2 img{width:auto;height:auto;max-width:100%;object-fit:contain}.idsys.v2 .s1 img{width:62%}.idsys.v2 .s2 img{width:88%}
.idsys.v2 .s3{justify-content:stretch}.sws{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.4vw,18px);width:100%}
.sw{display:flex;flex-direction:column;gap:6px}.sw i{display:block;aspect-ratio:1.5;border-radius:12px}.sw i.ln{box-shadow:inset 0 0 0 1px var(--line2)}
.sw b{font-family:var(--serif);font-weight:400;font-size:22px;margin-top:6px}.sw span{font-size:12.5px;color:var(--ink3);letter-spacing:.02em}
.tl{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr) minmax(0,1fr);gap:clamp(14px,2vw,28px);--g:clamp(14px,2vw,28px)}
.tl li{position:relative;padding-top:38px;display:flex;flex-direction:column}
.tl li::before{content:"";position:absolute;top:6px;left:0;right:calc(-1*var(--g));height:1px;background:var(--ink)}.tl li:last-child::before{right:0;background:linear-gradient(90deg,var(--ink),var(--orange-deep))}
.tl li::after{content:"";position:absolute;top:0;left:0;width:13px;height:13px;border-radius:50%;background:var(--paper,#f1efe9);box-shadow:inset 0 0 0 2px var(--ink)}.tl li.now::after{background:var(--orange-deep);box-shadow:0 0 0 5px color-mix(in oklch,var(--orange-deep) 18%,transparent)}
.tl-d{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);margin-bottom:14px}.now .tl-d{color:var(--orange-deep)}
.tl-c{background:#fff;border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.8vw,40px) clamp(16px,2vw,28px) 18px;display:flex;justify-content:center;gap:clamp(16px,2.6vw,40px)}
.tl-c figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px}
.tl-c img{height:clamp(130px,14vw,200px);width:auto;max-width:100%;display:block}
.tl-c figcaption{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.tl h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,26px);margin:18px 0 6px}.tl p{margin:0;color:var(--ink2);font-size:15.5px;line-height:1.55;text-wrap:pretty}
.tl+.defis{margin-top:clamp(40px,5vw,64px)}
@media (max-width:820px){.tl{grid-template-columns:1fr;gap:28px}.tl li{padding:0 0 0 30px}.tl li::before,.tl li:last-child::before{top:14px;bottom:-28px;left:6px;right:auto;width:1px;height:auto;background:var(--ink)}.tl li:last-child::before{display:none}.tl li::after{top:2px}.tl-c img{height:150px}}
.tl-c figure{flex:1 1 0;min-width:0}.tl-c figcaption{text-align:center;text-wrap:balance}
.tla{--h:clamp(380px,62vh,580px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);margin-bottom:clamp(24px,4vw,56px)}
.tla-stage{position:sticky;top:max(96px,calc((100vh - var(--h))/2 + 36px));height:var(--h);align-self:start}
.tla-card{position:relative;height:100%;background:#fff;border:1px solid var(--line);border-radius:26px;overflow:hidden}
.tla-yr,.tla-cap{position:absolute;pointer-events:none}
.tla-yr{top:clamp(20px,2.4vw,32px);left:clamp(22px,2.6vw,36px);right:0;height:1.1em;font-family:var(--serif);font-size:clamp(30px,3.2vw,46px);line-height:1}
.tla-cap{left:0;right:0;bottom:clamp(18px,2.2vw,28px);height:1.4em;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);text-align:center}
.tla-yr span,.tla-cap span{position:absolute;left:0;right:0;top:0;white-space:nowrap;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.tla-yr span.on,.tla-cap span.on{opacity:1;transform:none}
.tla-yr span:last-child{color:var(--orange-deep)}
.tla-art{position:absolute;inset:21% 9% 15%}
.tla-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;will-change:transform,opacity,filter}
.tla-scan{position:absolute;left:-4%;right:-4%;top:0;height:2px;margin-top:-1px;background:var(--orange-deep);box-shadow:0 0 16px 2px color-mix(in oklch,var(--orange-deep) 50%,transparent);opacity:0}
.tla-steps{list-style:none;margin:0;padding:0 0 0 38px;position:relative}
.tla-rail{position:absolute;left:6px;width:1px;background:var(--line2)}
.tla-rail i{position:absolute;left:0;top:0;width:1px;height:0;background:linear-gradient(var(--ink),var(--orange-deep))}
.tla-st{min-height:74vh;display:flex;flex-direction:column;justify-content:center;opacity:.3;transition:opacity .5s var(--ease)}
.tla-st.on{opacity:1}
.tla-st .tl-d{position:relative}
.tla-st .tl-d::before{content:"";position:absolute;left:-38px;top:50%;width:13px;height:13px;margin-top:-6.5px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--ink);transition:background .4s,box-shadow .4s}
.tla-st.past .tl-d::before{background:var(--ink)}
.tla-st.now.on .tl-d::before{background:var(--orange-deep);box-shadow:0 0 0 5px color-mix(in oklch,var(--orange-deep) 18%,transparent)}
.tla-st h3{font-family:var(--serif);font-weight:400;font-size:clamp(28px,2.8vw,40px);line-height:1.1;margin:0 0 12px}
.tla-st p{margin:0;max-width:40ch;color:var(--ink2);font-size:16.5px;line-height:1.6;text-wrap:pretty}
@media (max-width:820px){.tla{--h:min(44vh,360px);grid-template-columns:1fr;gap:0}
.tla-stage{top:76px;z-index:2}
.tla-stage::before{content:"";position:absolute;left:-20px;right:-20px;bottom:100%;height:80px;background:var(--bg)}
.tla-stage::after{content:"";position:absolute;left:-20px;right:-20px;top:100%;height:48px;background:linear-gradient(var(--bg),transparent)}
.tla-steps{padding-left:32px}
.tla-st{min-height:56vh}
.tla-st .tl-d::before{left:-32px}
.tla-yr{font-size:28px}}
.defp{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,80px);align-items:end;background:#16130F;color:#F3F1EB;border-radius:28px;padding:clamp(28px,5vw,72px)}.defp .pill-eb{color:#E4E0D5;border-color:rgba(243,241,235,.22);background:rgba(243,241,235,.06)}.defp h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4.6vw,68px);line-height:1;letter-spacing:-.015em;margin:22px 0 0;color:#F3F1EB;text-wrap:balance}.defp h2 em{color:var(--orange);font-style:italic}
.defp-l>div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:baseline;padding:clamp(18px,2vw,26px) 0;border-top:1px solid rgba(243,241,235,.16)}.defp-l>div:last-child{border-bottom:1px solid rgba(243,241,235,.16)}.defp-l b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.3vw,32px);line-height:1.1}.defp-l p{margin:0;color:#CFC9BA;font-size:16px;line-height:1.55;text-wrap:pretty}
.idcon{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.6vw,20px);margin-top:clamp(12px,1.6vw,20px)}.idcon figure{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column}.idcon .im{flex:1;aspect-ratio:16/10;display:grid;place-items:center;padding:9%}.idcon img{width:100%;height:auto;display:block}.idcon figcaption{padding:14px 20px;border-top:1px solid var(--line);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}
@media (max-width:820px){.defp{grid-template-columns:1fr;align-items:start}.defp-l>div{grid-template-columns:1fr;gap:6px}.idcon{grid-template-columns:1fr}}
.idb{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,1.6vw,20px)}.idb figure{position:relative;margin:0;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;display:grid;place-items:center;min-height:clamp(240px,26vw,360px);padding:48px 32px 60px}.idb .c4{grid-column:span 4}.idb .c6{grid-column:span 6}.idb .c8{grid-column:span 8}.idb figcaption{position:absolute;left:22px;bottom:18px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink2)}.idb img{display:block;height:auto}.idb .sym{width:clamp(96px,11vw,150px)}.idb .logo{width:min(78%,560px)}.idb .dia{width:88%}.idb .dk{background:#151723;border-color:#151723}.idb .dk figcaption{color:rgba(255,255,255,.72)}.idb .neg{width:min(86%,620px)}
.idb .sws3{padding:0;grid-template-columns:repeat(3,minmax(0,1fr));place-items:stretch}.idb .sws3 .t{background:var(--c);display:flex;flex-direction:column;justify-content:flex-end;padding:20px 16px;color:var(--ink);font-size:12.5px;font-weight:500;line-height:1.45}.idb .sws3 .lt{color:#fff}.idb .sws3 b{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2vw,26px);line-height:1.1;margin-bottom:8px}
@media (max-width:820px){.idb .c4,.idb .c6,.idb .c8{grid-column:1/-1}.idb figure{min-height:220px}}
.pcard .im .case{position:absolute;right:14px;top:14px;z-index:3;background:var(--ink);color:var(--bg);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;padding:6px 11px;border-radius:999px}
@media (min-width:1001px){.brief.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* méthode : derrière les images */
.mth-mission{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start;margin-top:clamp(56px,7vw,104px)}
.mth-mission h2{font-size:clamp(32px,3.8vw,52px);line-height:1.04;margin:10px 0 18px}
.mth-mission>div>p:last-child{color:var(--ink2);max-width:40ch;margin:0}
.mth-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.mth-list li{display:grid;grid-template-columns:clamp(44px,4vw,64px) minmax(0,1fr);gap:16px;padding:clamp(20px,2.2vw,28px) 0;border-bottom:1px solid var(--line)}
.mth-list .n{font-family:var(--serif);font-size:clamp(22px,2vw,28px);line-height:1;color:var(--orange)}
.mth-list b{display:block;font-size:clamp(18px,1.6vw,22px);font-weight:600;color:var(--ink);line-height:1.25;margin-bottom:6px}
.mth-list p{margin:0;color:var(--ink2);max-width:52ch}
.mth-tools{margin-top:clamp(56px,7vw,104px)}
.mth-tools>.eyebrow{margin-bottom:clamp(16px,2vw,24px)}
.mth-tools .skc .n{font-family:var(--serif);font-size:24px;line-height:1;color:var(--orange)}
.mth-tools .skc b{font-size:clamp(19px,1.6vw,22px);line-height:1.2}
.mth-tools .skc p{margin:0;color:var(--ink2)}
.mth-tools .skc i{margin-top:auto;font-style:normal;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.mth-advice{margin-top:clamp(56px,7vw,104px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,80px);align-items:end;padding:clamp(32px,5vw,72px);border-radius:28px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh1)}
.mth-advice h2{font-size:clamp(34px,4.6vw,66px);line-height:1.02;margin:0;text-wrap:balance}
.mth-advice p{margin:0;color:var(--ink2);font-size:clamp(16px,1.3vw,18px);line-height:1.6}
@media (max-width:900px){.mth-mission,.mth-advice{grid-template-columns:minmax(0,1fr)}.mth-tools .sk{grid-template-columns:minmax(0,1fr)}}
.pfacts .cl.f1l img{height:16px}.pcard .im .cl img[src$="logo-formule-1.svg"]{height:14px}
.pr-it .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease)}.pr-it:hover .ph img{transform:scale(1.04)}
.pr-it b{display:block;margin-top:4px;font-size:15px;font-weight:600;line-height:1.35;text-wrap:pretty}
/* mix de réalisations, tête des pages services */
.pmix{position:relative;z-index:2;padding:clamp(28px,4vw,52px) clamp(20px,4vw,48px) clamp(20px,3vw,40px)}
.mix{display:flex;justify-content:center;align-items:center;max-width:1320px;margin:0 auto}
.mx{position:relative;display:block;flex:none;color:inherit;text-decoration:none}
.mx+.mx{margin-left:-1.4%}
.mx.o{width:16.5%;z-index:1}.mx.i{width:20%;z-index:2}.mx.c{width:33%;z-index:3}.mix.cv .mx.c{width:25%}
.fan3 .mx.i{width:26%}.fan3 .mx.c{width:40%}.fan3.cv .mx.c{width:30%}
.fan2 .mx.i{width:30%}.fan2 .mx+.mx{margin-left:2.5%}
.mx.e{width:19%}.eq .mx+.mx{margin-left:-.6%}
.mx:hover{z-index:5}
.mx figure{margin:0;background:#FCFBF8;border-radius:12px;padding:9px 9px 38px;box-shadow:0 2px 4px rgba(22,19,15,.06),0 24px 60px rgba(22,19,15,.16);transform:translateY(var(--y,0)) rotate(var(--r,0));transition:transform 900ms var(--ease),box-shadow 900ms var(--ease)}
.mx:hover figure{transform:translateY(calc(var(--y,0px) - 10px)) rotate(0deg);box-shadow:0 2px 4px rgba(22,19,15,.06),0 34px 80px rgba(22,19,15,.22)}
.mx .ph{position:relative;aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:var(--sunk)}
.mx.c .ph{aspect-ratio:3/2}.mix.cv .mx.c .ph{aspect-ratio:4/5}
.mx .ph img,.mx .ph video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.mx .ph img.zm{transform:scale(1.32)}.mx .ph video.zm{transform:scale(1.16)}
.mx figcaption{position:absolute;left:14px;right:14px;bottom:11px;display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-family:var(--serif);font-size:14px;line-height:1.2;color:var(--ink)}
.mx figcaption b,.mx figcaption i{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mx figcaption b{font-weight:400}.mx figcaption i{font-style:italic;color:var(--orange-deep);flex:none;max-width:55%}
.mx.c figcaption{font-size:15.5px}
.mxb{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 7px;border-radius:999px;background:rgba(252,251,248,.92);font:600 12px/1 var(--sans);color:var(--ink)}
.mxb svg{width:14px;height:14px;fill:var(--orange)}
@media (max-width:1100px){.mx.o figcaption i{display:none}}
@media (max-width:760px){
.mix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mx,.mix.cv .mx.c,.fan3 .mx.i,.fan3 .mx.c,.fan3.cv .mx.c,.fan2 .mx.i{width:auto;margin:0!important}
.mx.o{display:none}.mx.c{grid-column:1/-1;order:-1}.mix.cv .mx.c{justify-self:center;width:72%}
.mx figure{padding:7px 7px 32px;transform:rotate(calc(var(--r,0) / 2))}
.mx figcaption{left:11px;right:11px;bottom:9px;font-size:13px}
.mix.eq{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:12px 2px 20px;margin:0 -20px;padding-left:20px;padding-right:20px}
.mix.eq .mx{flex:0 0 46%;scroll-snap-align:center}}
/* Emil Frey v2 : quatre rythmes */
.efr{padding:clamp(40px,5vw,72px) 0;border-top:1px solid var(--line)}
.efr-h{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(16px,4vw,64px);align-items:end;margin-bottom:clamp(24px,3vw,40px)}
.efr small{display:block;font:600 12px/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--orange-deep)}
.efr-h h3{margin:10px 0 0;font-family:var(--serif);font-weight:400;font-size:clamp(30px,3.8vw,52px);line-height:1.04;letter-spacing:-.018em;color:var(--ink);text-wrap:balance}.efr-h h3 em{font-style:italic;color:var(--orange-deep)}
.efr-h p{margin:0;font-size:16.5px;line-height:1.6;color:var(--ink2);max-width:54ch;text-wrap:pretty}
.efs{position:relative;margin:0;aspect-ratio:var(--ar,4/3);border-radius:14px;overflow:hidden;background:var(--line)}.efs image-slot{position:absolute;inset:0}
.efg{display:grid;gap:clamp(8px,1vw,14px)}
.efg-mois{grid-template-columns:repeat(4,minmax(0,1fr))}.efg-mois .big{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
.efg-port{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(14px,2vw,28px)}
.efcmp{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:var(--surface)}.efcmp>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,2.4vw,32px)}.efcmp>div+div{background:var(--ink);border-top:1px solid var(--ink)}.efcmp>div+div small{color:var(--orange)}
.efcmp p{margin:10px 0 0;font-family:var(--serif);font-size:clamp(21px,1.9vw,26px);line-height:1.22;color:var(--ink);text-wrap:pretty}.efcmp>div+div p{color:#FCFBF8}
.efg-ppl{grid-template-columns:repeat(3,minmax(0,1fr))}.efg-ppl .efs{--ar:4/5}
.efg-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.efr .efm{position:relative;display:block;width:100%;aspect-ratio:var(--ar,9/16);border-radius:16px;overflow:hidden;background:#16130F}
.efg-launch,.efalso{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(14px,2vw,28px);align-items:start}
.efalso{margin-top:clamp(28px,3vw,44px);align-items:center}.efalso .eflaunch{grid-template-columns:repeat(3,minmax(0,1fr));max-width:560px}
.efg-ven{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(14px,2vw,28px);align-items:start}.efg-ven>div{display:flex;flex-direction:column;gap:12px;min-width:0}
@media (max-width:820px){.efr-h,.efg-port,.efg-launch,.efalso,.efg-ven{grid-template-columns:minmax(0,1fr)}.efg-launch>.efl{max-width:300px}.efg-mois{grid-template-columns:repeat(2,minmax(0,1fr))}.efg-mois .big{aspect-ratio:4/3}.efg-ppl{grid-template-columns:repeat(2,minmax(0,1fr))}}
.acc-l{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:2px}.acc-l li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:12px;padding:7px 0;font-size:15px;color:var(--ink2);line-height:1.5}.acc-l svg{width:16px;height:16px;stroke:var(--ok);stroke-width:2;fill:none;margin-top:3px}
.fan4 .mx.i{width:21%}.fan4.cv .mx.c{width:27%}
@media (max-width:760px){.fan4.cv .mx.c{grid-column:auto;order:0;width:auto}}
.alt5 .mx.i{width:18%}.alt5.cv .mx.c{width:23%}
@media (max-width:760px){.alt5.cv .mx.c{grid-column:auto;order:0;width:auto}.alt5 .mx.mh{display:none}}
.mix.land .mx .ph{aspect-ratio:3/2}.mix.land .mx.o{width:18%}.mix.land .mx.i{width:21%}.mix.land .mx.c{width:30%}
@media (max-width:760px){.mix.land .mx.o{display:block}.mix.land .mx.c{width:auto}}
.mxph{display:grid;place-items:center;text-align:center;padding:18px;background:var(--sunk);border:1px dashed var(--line)}.mxph span{display:grid;gap:6px;justify-items:center}.mxph small{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2)}.mxph b{font-family:var(--serif);font-weight:400;font-size:clamp(17px,1.6vw,24px);line-height:1.15;color:var(--ink);text-wrap:balance}.mxph i{font-style:italic;font-family:var(--serif);font-size:14px;color:var(--orange-deep)}
.mix.w169 .mx .ph{aspect-ratio:16/9}.fan3.land .mx.i{width:30%}.fan3.land .mx.c{width:42%}
@media (max-width:760px){.fan3.land .mx.i{width:auto}}

/* services : galerie élargie */
.sgal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:clamp(10px,1.4vw,16px)}
.sgal .g{position:relative;margin:0;aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:var(--sunk);display:block;color:var(--ink)}
.sgal .g.w{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.sgal .g.w.r{grid-column:2/span 2}
.sgal .g img,.sgal .g image-slot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1200ms var(--ease)}
.sgal a.g:hover img{transform:scale(1.035)}
.sgal .gc{position:absolute;left:12px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:6px;max-width:calc(100% - 24px);padding:7px 12px;border-radius:999px;background:rgba(252,251,248,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:12.5px;font-weight:550;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;transform:translateY(6px);transition:opacity 400ms var(--ease),transform 400ms var(--ease)}
.sgal .g:hover .gc{opacity:1;transform:none}
.sgal a.g .gc::after{content:"→";color:var(--orange-deep)}
@media (hover:none){.sgal .gc{opacity:1;transform:none}}
@media (max-width:700px){.sgal{grid-template-columns:repeat(2,minmax(0,1fr))}.sgal .g.w,.sgal .g.w.r{grid-column:1/-1;grid-row:auto;aspect-ratio:3/2}.sgal .g.mh{display:none}}
/* services : livrables concrets */
.deliv{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,88px);align-items:start}
.deliv-l{position:sticky;top:110px}
.deliv-l .eyebrow{margin-bottom:18px}
.deliv-l h2{max-width:14ch}
.deliv-l>p:not(.eyebrow){font-size:16.5px;color:var(--ink2);line-height:1.65;margin:22px 0 0;max-width:42ch}
.deliv .opts{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:30px}
.deliv .opts small{flex-basis:100%;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink3);margin-bottom:4px}
.deliv .opts span{font-size:13px;font-weight:550;color:var(--ink2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;background:rgba(252,251,248,.5)}
.deliv dl{margin:0;border-top:1px solid var(--line)}
.deliv dl>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:22px 0;border-bottom:1px solid var(--line)}
.deliv dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink3);padding-top:9px}
.deliv dd{margin:0;font-size:15.5px;color:var(--ink2);line-height:1.55}
.deliv dd b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,32px);letter-spacing:-0.012em;line-height:1.1;color:var(--ink);margin-bottom:6px}
@media (max-width:860px){.deliv{grid-template-columns:minmax(0,1fr)}.deliv-l{position:static}.deliv dl>div{grid-template-columns:minmax(0,1fr);gap:6px}.deliv dt{padding-top:0}}
/* projet client à chapitres */
.ovw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.ovw a{display:flex;flex-direction:column;gap:10px;padding:clamp(22px,2.6vw,30px);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--sh1);color:var(--ink);transition:transform 500ms var(--ease),box-shadow 500ms var(--ease)}
.ovw a:hover{transform:translateY(-3px);box-shadow:var(--sh2);color:var(--ink)}
.ovw small{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink3)}
.ovw b{font-family:var(--serif);font-weight:400;font-size:clamp(24px,2.4vw,32px);letter-spacing:-0.012em;line-height:1.1}
.ovw p{margin:0;font-size:15px;color:var(--ink2);line-height:1.5}
.ovw i{font-style:normal;margin-top:auto;padding-top:8px;font-size:13px;font-weight:550;color:var(--orange-deep)}
.cch{scroll-margin-top:100px;padding:clamp(64px,8vw,112px) 0 0}
.cch-h{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(20px,4vw,64px);align-items:end;margin-bottom:clamp(24px,3vw,40px)}
.cch-h small{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--ink3);margin-bottom:16px}
.cch-h h2{max-width:16ch}
.cch-h p{margin:0;font-size:16.5px;color:var(--ink2);line-height:1.65;max-width:48ch}
.cch-f{display:flex;justify-content:flex-end;margin-top:22px}
.reels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.6vw,20px);max-width:880px;margin:0 auto}
.reels .r{position:relative;aspect-ratio:9/16;border-radius:20px;overflow:hidden;background:var(--sunk);box-shadow:var(--sh1)}
.reels .r image-slot,.reels .r video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(10px,1.4vw,16px)}
.duo .g{position:relative;aspect-ratio:3/2;border-radius:16px;overflow:hidden;background:var(--sunk)}
.duo .g image-slot,.duo .g img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.trombi{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:clamp(8px,1.2vw,14px);margin-top:clamp(10px,1.4vw,16px)}
.trombi .p{position:relative;aspect-ratio:4/5;border-radius:12px;overflow:hidden;background:var(--sunk)}
.trombi .p image-slot{position:absolute;inset:0;width:100%;height:100%}
@media (max-width:900px){.ovw{grid-template-columns:minmax(0,1fr)}.trombi{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:640px){.cch-h{grid-template-columns:minmax(0,1fr)}.duo{grid-template-columns:minmax(0,1fr)}.trombi{grid-template-columns:repeat(3,minmax(0,1fr))}}
.proc.p5{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.proc.p5 .ps{padding:26px 22px}
@media (max-width:1000px){.proc.p5{grid-template-columns:repeat(6,minmax(0,1fr))}.proc.p5 .ps{grid-column:span 2}.proc.p5 .ps:nth-child(n+4){grid-column:span 3}}
@media (max-width:640px){.proc.p5{grid-template-columns:minmax(0,1fr)}.proc.p5 .ps,.proc.p5 .ps:nth-child(n+4){grid-column:auto}}
.sgal.v{grid-template-columns:repeat(4,minmax(0,1fr))}.sgal.v .g{aspect-ratio:4/5}.sgal.v .g.w{aspect-ratio:auto}.sgal.v .g.w.r{grid-column:3/span 2}
@media (max-width:700px){.sgal.v{grid-template-columns:repeat(2,minmax(0,1fr))}.sgal.v .g.w,.sgal.v .g.w.r{grid-column:1/-1;aspect-ratio:4/5}}
.sgw{container-type:inline-size}
.sgal.v{--gp:clamp(10px,1.4vw,16px);gap:var(--gp);grid-auto-rows:calc((100cqw - 3 * var(--gp)) / 4 * 1.25)}
.sgal.v .g,.sgal.v .g.w{aspect-ratio:auto}.sgal.v .g.h{grid-column:span 2}
@media (max-width:700px){.sgal.v{grid-auto-rows:calc((100cqw - var(--gp)) / 2 * 1.25)}.sgal.v .g.w,.sgal.v .g.w.r{grid-column:1/-1;grid-row:span 2;aspect-ratio:auto}.sgal.v .g.h{grid-column:1/-1}}

/* galerie services : vidéos + grille gx (unité = tiers d'une story 9:16) */
.sgal .g video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1200ms var(--ease)}
.sgal a.g:hover video{transform:scale(1.035)}
.sgal .vg .gc::after{content:none}.sgal .vg .gc svg{width:9px;height:9px;fill:var(--orange-deep);flex:none}
.sgal.gx{--gp:clamp(10px,1.4vw,16px);gap:var(--gp);grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;grid-auto-rows:calc(((100cqw - 3 * var(--gp)) / 4 * 16 / 9 - 2 * var(--gp)) / 3)}
.sgal.gx .g{aspect-ratio:auto;grid-row:span 3}.sgal.gx .g.h{grid-column:span 2;grid-row:span 2}.sgal.gx .g.s{grid-column:span 2;grid-row:span 3}
@media (max-width:700px){.sgal.gx{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:calc(((100cqw - var(--gp)) / 2 * 16 / 9 - 2 * var(--gp)) / 3)}.sgal.gx .g.h,.sgal.gx .g.s{grid-column:1/-1}}

.mem-ig{display:flex;width:max-content;align-items:center;gap:6px;margin-top:8px;font-size:13px;color:var(--ink2);text-decoration:none}.mem-ig svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}.mem-ig:hover{color:var(--ink)}
.idbento{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.4vw,32px) clamp(16px,2vw,28px)}.idbento figure{margin:0}.idbento button{all:unset;box-sizing:border-box;display:block;width:100%;cursor:zoom-in;border-radius:clamp(14px,1.6vw,22px);overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line)}.idbento button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.idbento img{display:block;width:100%;height:auto;aspect-ratio:16/9;transition:transform 1200ms var(--ease)}.idbento button:hover img{transform:scale(1.02)}.idbento figcaption{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin-top:12px;font-size:14px}.idbento figcaption b{font-weight:600}.idbento figcaption i{font-style:normal;color:var(--ink3)}.idbento figcaption a{margin-left:auto;font-size:13px;color:var(--ink2)}.idbento figcaption a:hover{color:var(--orange-deep)}
.idbento-lb{border:0;padding:0;background:transparent;width:min(94vw,1800px);max-width:none;max-height:none;cursor:zoom-out}.idbento-lb::backdrop{background:rgba(14,13,11,.9)}.idbento-lb img{display:block;width:100%;height:auto;border-radius:clamp(12px,1.4vw,20px)}
@media (max-width:700px){.idbento{grid-template-columns:1fr}.idbento figcaption a{margin-left:0}}
.hist{list-style:none;margin:clamp(48px,6vw,88px) 0 0;padding:0;position:relative;--sp:clamp(56px,7vw,104px)}.hist::before,.hist::after{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:var(--line2)}.hist::after{bottom:auto;height:calc(var(--p,0) * 100%);width:2px;margin-left:-1px;background:var(--orange-deep)}
.hi{display:grid;grid-template-columns:minmax(0,1fr) var(--sp) minmax(0,1fr);align-items:start;position:relative}.hi+.hi{margin-top:clamp(56px,8vw,128px)}.hi::before{content:"";position:absolute;left:50%;top:clamp(24px,3vw,42px);width:15px;height:15px;margin-left:-7.5px;border-radius:50%;background:var(--bg);box-shadow:inset 0 0 0 2px var(--ink3);z-index:1;transition:background .5s var(--ease),box-shadow .5s var(--ease)}.hi.past::before{background:var(--orange-deep);box-shadow:0 0 0 6px color-mix(in oklch,var(--orange-deep) 16%,transparent)}
.hi-t{grid-column:1;grid-row:1;text-align:right}.hi-im{grid-column:3;grid-row:1;margin:0}.hi:nth-child(even) .hi-t{grid-column:3;text-align:left}.hi:nth-child(even) .hi-im{grid-column:1}
.hi-y{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(56px,7vw,108px);line-height:.95;letter-spacing:-.02em;color:var(--orange-deep)}.hi-t h3{font-size:clamp(20px,1.8vw,24px);font-weight:600;margin:16px 0 8px}.hi-t p{margin:0 0 0 auto;max-width:40ch;color:var(--ink2);font-size:15.5px;line-height:1.6;text-wrap:pretty}.hi:nth-child(even) .hi-t p{margin-left:0}
.hi-im .ph{position:relative;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--sunk)}.hi-im image-slot{position:absolute;inset:0}.hi-im figcaption{margin-top:10px;font-size:12.5px;color:var(--ink3)}.hi:nth-child(even) .hi-im figcaption{text-align:right}
.hist.js .hi-t{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.hist.js .hi-im{opacity:0;transition:opacity .9s var(--ease) .1s}.hist.js .hi-im .ph{clip-path:inset(16% 8% 16% 8% round 20px);transition:clip-path 1.3s var(--ease) .1s}.hist.js .hi-im image-slot{transform:scale(1.14);transition:transform 1.8s var(--ease) .1s}.hist.js .hi.in .hi-t,.hist.js .hi.in .hi-im{opacity:1;transform:none}.hist.js .hi.in .hi-im .ph{clip-path:inset(0 0 0 0 round 20px)}.hist.js .hi.in .hi-im image-slot{transform:none}
@media (prefers-reduced-motion:reduce){.hist.js .hi-t,.hist.js .hi-im,.hist.js .hi-im .ph,.hist.js .hi-im image-slot{opacity:1;transform:none;clip-path:none;transition:none}}
@media (max-width:820px){.hist::before,.hist::after{left:7px}.hi{grid-template-columns:34px minmax(0,1fr);row-gap:20px}.hi::before{left:7px;top:18px}.hi-t,.hi:nth-child(even) .hi-t{grid-column:2;grid-row:1;text-align:left}.hi-im,.hi:nth-child(even) .hi-im{grid-column:2;grid-row:2}.hi-t p{margin-left:0}.hi:nth-child(even) .hi-im figcaption{text-align:left}.hi-y{font-size:clamp(48px,14vw,72px)}}
.hi-im .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.hist.js .hi-im .ph img{transform:scale(1.14);transition:transform 1.8s var(--ease) .1s}.hist.js .hi.in .hi-im .ph img{transform:none}@media (prefers-reduced-motion:reduce){.hist.js .hi-im .ph img{transform:none;transition:none}}
.hi-im .ph img.zoom,.hist.js .hi.in .hi-im .ph img.zoom{transform:scale(1.12)}
.pfacts .cl.ovt img{height:15px;max-width:160px}
.duo .lgs img.ovt,.lgs img.ovt{height:11px;width:auto;max-width:none}

.efg-ven:has(.efproj){align-items:stretch}.efproj{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:12px;min-height:clamp(220px,24vw,340px);padding:clamp(24px,2.6vw,36px);border-radius:20px;background:var(--ink);color:#FCFBF8;text-decoration:none;transition:transform 600ms var(--ease)}.efproj:hover{transform:translateY(-3px)}.efproj b{font-family:var(--serif);font-weight:400;font-size:clamp(26px,2.6vw,38px);line-height:1.08;letter-spacing:-.015em;text-wrap:balance}.efproj b em{font-style:italic;color:var(--orange)}.efproj p{margin:0;font-size:16px;line-height:1.55;color:rgba(252,251,248,.8);max-width:40ch}.efproj-l{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font:600 14px/1 var(--sans);color:#FCFBF8}.efproj-l svg{width:14px;height:14px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:transform 400ms var(--ease)}.efproj:hover .efproj-l svg{transform:translateX(4px)}
.vng .efs{--ar:4/5}.vng .efs.big{aspect-ratio:auto}.vng .efs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform 1000ms var(--ease)}.vng .efs:hover img{transform:scale(1.03)}.vng .efs figcaption{position:absolute;left:12px;right:12px;bottom:10px;font-family:var(--serif);font-size:15px;line-height:1.2;color:#FCFBF8;text-shadow:0 1px 12px rgba(22,19,15,.55);opacity:0;transform:translateY(4px);transition:opacity 400ms var(--ease),transform 400ms var(--ease)}.vng .efs:hover figcaption{opacity:1;transform:none}@media (hover:none){.vng .efs figcaption{display:none}}

.vng-films{display:grid;grid-template-columns:repeat(2,minmax(0,420px));justify-content:center;gap:clamp(18px,3vw,48px);margin-top:clamp(24px,3vw,40px)}.vng-films .tir{margin:0;max-width:none}.vng-films .tir .ph{aspect-ratio:4/5}.vng-films .tir:nth-child(1){transform:rotate(-1deg)}.vng-films .tir:nth-child(2){transform:rotate(1deg)}.vng-films .tir:hover{transform:none}
@media (max-width:820px){.vng-films{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vng-films .tir{transform:none}}
.nextp.efven{margin-top:clamp(28px,3vw,44px)}
.eftp{display:grid;grid-template-columns:repeat(2,minmax(0,380px));justify-content:center;gap:clamp(14px,2.4vw,32px);align-items:start;margin:clamp(20px,3vw,36px) 0 0}.eftp .igpost{max-width:none;width:100%}@media (max-width:640px){.eftp{grid-template-columns:minmax(0,380px)}}
.eftcs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,28px);align-items:start}.eftcs-p{display:flex;flex-direction:column;gap:10px;min-width:0}.eftcs-p>small{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}.eftcs .igpost{max-width:none;width:100%}.eftcs .igpost .efav{object-fit:contain;background:#fff;padding:5px;border:1px solid var(--line)}
@media (max-width:640px){.eftcs{grid-template-columns:minmax(0,1fr)}}
.efg-6{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:640px){.efg-6{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Emil Frey : bandeau Instagram, chaque carte ouvre son carrousel */
.efig{margin-top:clamp(20px,3vw,36px);width:100vw;margin-left:calc(50% - 50vw);-webkit-mask:none;mask:none}
.efig .igc{border:0;padding:0;font:inherit;text-align:left;cursor:pointer;width:clamp(220px,22vw,260px)}
.efig .igc:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.efig .im{display:block}
.efig .ev{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:rgba(22,19,15,.62);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#FCFBF8;font-size:13px;font-weight:600;line-height:1.25}.efig .ev small{font-weight:400;font-size:12px;opacity:.85}
.igdlg{padding:0;border:0;background:none;overflow:visible;color:inherit;width:min(460px,92vw,calc((100dvh - 210px)*.8));max-width:none;max-height:none}
.igdlg::backdrop{background:rgba(22,19,15,.74);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.igdlg[open]{animation:igdin .3s cubic-bezier(.2,.7,.2,1)}@keyframes igdin{from{opacity:0;transform:translateY(14px) scale(.98)}}
.igdlg .igpost{max-width:none;box-shadow:0 30px 80px -20px rgba(0,0,0,.55)}
.igdlg .act{min-height:34px}
.igdlg .x{position:absolute;top:-50px;right:0;width:38px;height:38px;border-radius:50%;border:0;padding:0;background:#FCFBF8;color:#16130F;display:grid;place-items:center;cursor:pointer;transition:transform .2s}.igdlg .x:hover{transform:scale(1.06)}
.igdlg .x svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
html:has(.igdlg[open]){overflow:hidden}
@media (prefers-reduced-motion:reduce){.igdlg[open]{animation:none}}
@media (max-width:600px){.sec{padding:64px 0}.sec[style*="padding-top:0"]{padding-top:0}.pfacts{gap:16px 18px;padding:20px 0;margin-top:28px}.pfacts>div:nth-child(n+5){display:none}.pfacts small{font-size:9.5px;letter-spacing:.18em;margin-bottom:6px}.pfacts span{font-size:13.5px;line-height:1.35;display:block}.pfacts .cl img{height:24px;max-width:120px}.sec:has(>.wrap>.brief){padding:40px 0}.brief,.sk{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;margin:0 -20px;padding:4px 20px 14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.brief::-webkit-scrollbar,.sk::-webkit-scrollbar{display:none}.brief>div,.brief>div:first-child{flex:0 0 84%;scroll-snap-align:start;padding:20px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--sh1)}.brief .eyebrow{margin-bottom:10px;font-size:10px}.brief>div>p:not(.eyebrow){font-size:14.5px;line-height:1.55}.brief li{font-size:14px;padding:5px 0;gap:10px}.brief li svg{width:14px;height:14px;margin-top:3px}.claim{padding:0 0 20px}.claim h2{font-size:34px;margin-top:16px}.claim p:not(.eyebrow){font-size:15px;margin-top:14px}.skc{flex:0 0 78%;scroll-snap-align:start;padding:20px;gap:8px;border-radius:18px}.skc .n{font-size:22px}.skc b{font-size:21px}.skc p{font-size:14px;line-height:1.5}.skc i{font-size:10.5px}}
@media (max-width:820px){.igfeat>.tx{order:-1;padding:6px 6px 0}}
@media (max-width:600px){.band{padding:36px 22px 32px;border-radius:22px}.band .eyebrow{margin-bottom:14px}.band h2{font-size:32px}.band p:not(.eyebrow){font-size:14.5px;line-height:1.55;margin-top:14px}.band .ctas{gap:10px;margin-top:24px}.band .ctas .btn,.band .ctas .btn-line{padding:12px 20px;font-size:13.5px}}
@media (max-width:600px){.claim p:not(.eyebrow){display:none}.mth-mission{margin-top:24px;gap:16px}.mth-mission h2{font-size:26px;margin:8px 0 0}.mth-mission>div>p:not(.eyebrow){display:none}.mth-list{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;margin:0 -20px;padding:4px 20px 14px;border-top:0;scrollbar-width:none}.mth-list::-webkit-scrollbar{display:none}.mth-list li{flex:0 0 78%;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--sh1)}.mth-list .n{font-size:22px}.mth-list b{font-size:16px;margin-bottom:4px}.mth-list p{font-size:13.5px;line-height:1.5}.mth-advice{display:none}.mth-tools{margin-top:32px}.sec-head:has(~.planche) .lead,.sec-head:has(~.igfeat) .lead{display:none}}
.team3:not(:has(.coll)){grid-template-columns:repeat(2,minmax(0,1fr));max-width:860px;margin:0 auto}
@media (max-width:600px){.team3,.team3:not(:has(.coll)){grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mem .ph{border-radius:14px}.mem b{font-size:15px}.mem span{font-size:12px;line-height:1.4}.mem-ig{font-size:11.5px}.mem p{font-size:13px;line-height:1.5}.sec:has(.team3) .sec-head .lead,#mur .lead,#prix .lead,#bureau .lead{display:none}.vals{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.val{padding:16px 14px;border-radius:16px}.val b{font-size:18px;line-height:1.15;margin-bottom:6px}.val p{font-size:12.5px;line-height:1.5}.awards{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;margin:0 -20px;padding:4px 20px 14px;scrollbar-width:none}.awards::-webkit-scrollbar{display:none}.aw{flex:0 0 78%;scroll-snap-align:start;padding:20px;border-radius:18px;gap:6px}.aw-logo.img img{height:40px}.aw-logo{height:48px;margin-bottom:4px}.aw b{font-size:20px}.aw p{font-size:13px;line-height:1.5}.press-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pr-it span{font-size:11px;margin-top:8px}.pr-it b{font-size:13px}.roof{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rf{padding:16px 14px;border-radius:16px;gap:6px}.rf .plogo{height:40px;margin-bottom:2px}.rf .plogo img{height:24px;max-width:110px}.rf small{font-size:9.5px;letter-spacing:.14em}.rf b{font-size:20px}.rf p{display:none}}
@media (max-width:760px){.mix .mx.o,.mix .mx.i,.mix .mx.c,.mix .mx.e,.mix.land .mx.o,.mix.land .mx.i,.mix.land .mx.c{width:auto}.mix.cv .mx.c:not(.fan4 .mx.c):not(.alt5 .mx.c){width:72%}}
@media (max-width:600px){.ft-top,.ft-top.five{grid-template-columns:1fr 1fr;column-gap:20px}.ft-brand{grid-column:1/-1}.sec-head:has(+.subs) .lead{display:none}.svrow{gap:8px;padding:16px 0}.svrow h3{font-size:21px}.svrow p{font-size:13.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}a.svrow .more{margin-top:6px;font-size:13px}.svrow .acc-l{margin-top:8px}.svrow .acc-l li{font-size:13px;padding:3px 0}.proc,.proc.p5{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 20px;margin:0 -20px;padding:4px 20px 14px;scrollbar-width:none}.proc::-webkit-scrollbar{display:none}.ps,.proc.p5 .ps{flex:0 0 74%;scroll-snap-align:start;padding:18px;gap:8px;border-radius:18px}.ps .ic{width:36px;height:36px}.ps h3{font-size:18px}.ps p{font-size:13.5px;line-height:1.5}.rel,.rel:has(>:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.rel .pcard:nth-child(n+9){display:none}.rel .pcard.wide{grid-column:auto}.rel .pcard .im{border-radius:14px}.rel .pcard .im .cl{left:8px;top:8px;min-height:26px;padding:5px 9px}.rel .pcard .im .cl img{height:14px;max-width:70px}.rel .pcard .im .case{display:none}.rel .pcard .cap{padding:10px 2px 0}.rel .pcard .cap small{font-size:9px}.rel .pcard .cap b{font-size:16px;margin-top:4px}.rel .pcard .cap p{display:none}}
@media (max-width:760px){.alt5.cv .mx.c,.fan4.cv .mx.c,.mix.land .mx.c{justify-self:stretch;width:auto}}
@media (max-width:640px){.planche::after{display:none}.tla{--h:min(34vh,290px)}.tla-st{min-height:38vh}.tla-st h3{font-size:24px;margin-bottom:8px}.tla-st p{font-size:14.5px;line-height:1.5}.tla-yr{font-size:24px}.tla-cap{font-size:10px}.tla-stage::after{height:28px}}
@media (max-width:640px){.vrow{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:12px;margin-bottom:24px}.vrow .filters{min-width:0;max-width:calc(100% + 40px)}.vrow .filters{flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;margin:0 -20px;padding:2px 20px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.vrow .filters::-webkit-scrollbar{display:none}.vrow .filters button{flex:none;padding:7px 14px;font-size:12.5px}.vsw{align-self:flex-end}.vsw button{padding:6px 11px;font-size:12px;gap:5px}.vsw button svg{width:12px;height:12px}}
.rel.rel3,.rel.rel3:has(>:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.rel.rel3,.rel.rel3:has(>:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}}
