@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--red:#ef191f;--ink:#0a0a0a;--paper:#ffffff;--line:rgba(255,255,255,.2);--pad:clamp(1.25rem,4vw,4.5rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:#fff;font-family:Manrope,Arial,sans-serif;font-size:16px;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}::selection{background:var(--red);color:#fff}
.nav{position:fixed;z-index:20;top:0;left:0;width:100%;height:74px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.15);background:rgba(8,8,8,.72);backdrop-filter:blur(14px)}.nav__brand{display:flex;gap:.6rem;align-items:center;font:500 .78rem DM Mono,monospace;letter-spacing:.15em}.nav__brand i{display:block;width:22px;height:2px;background:var(--red)}.nav nav{display:flex;gap:2rem;font:400 .72rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}.nav nav a{transition:color .25s}.nav nav a:hover{color:var(--red)}.nav__menu{display:none;background:0;border:0;padding:8px}.nav__menu span{display:block;width:25px;height:1px;background:#fff;margin:6px}
.hero{position:relative;height:100svh;min-height:680px;display:grid;place-items:center;overflow:hidden;background:#090909}.hero:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.94) 0 50%,rgba(7,7,7,.82) 50%);transition:background .65s}.hero__image{position:absolute;inset:74px 0 0;background-position:center;background-size:cover;filter:grayscale(1);opacity:0;transform:scale(1.05);transition:opacity .65s ease,transform 1.2s ease}.hero__image--lda{background-image:url('assets/images/hero-lda-v2.webp');background-position:center 45%}.hero__image--lbi{background-image:url('assets/images/hero-lbi-v2.webp')}.hero.is-lda .hero__image--lda,.hero.is-lbi .hero__image--lbi{opacity:1;transform:scale(1)}.hero.is-lda:before{background:rgba(255,255,255,.88)}.hero.is-lbi:before{background:rgba(5,5,5,.84)}.hero__core{position:relative;z-index:3;text-align:center;mix-blend-mode:difference}.eyebrow{font:400 .66rem DM Mono,monospace;letter-spacing:.16em;text-transform:uppercase;margin:0 0 2rem}.hero h1{display:flex;align-items:center;gap:clamp(1rem,4vw,4rem);margin:0;font-size:clamp(7rem,25vw,24rem);line-height:.7;letter-spacing:-.1em}.hero__word{border:0;color:#fff;background:transparent;padding:0;font-weight:800;letter-spacing:-.1em;cursor:pointer;opacity:.22;transition:opacity .35s,transform .45s}.hero__word:hover,.hero__word.is-active{opacity:1;transform:scale(1.015)}.hero__slash{color:var(--red);font-weight:300;font-size:.55em}.hero__claim{display:flex;justify-content:center;gap:.6em;margin:3.4rem 0 0;font-size:clamp(1rem,1.5vw,1.45rem);font-weight:500}.hero__claim span:last-child{color:var(--red)}.hero__side{position:absolute;z-index:4;top:22%;bottom:18%;display:flex;flex-direction:column;justify-content:space-between;font:400 .63rem DM Mono,monospace;letter-spacing:.16em;writing-mode:vertical-rl;mix-blend-mode:difference}.hero__side--lda{left:var(--pad)}.hero__side--lbi{right:var(--pad)}.hero__zones{position:absolute;z-index:2;inset:74px 0 0;display:grid;grid-template-columns:1fr 1fr;pointer-events:none}.hero__zones span:first-child{border-right:1px solid rgba(239,25,31,.8)}.hero__hint{position:absolute;z-index:4;bottom:2.5rem;left:var(--pad);margin:0;font:400 .6rem DM Mono,monospace;text-transform:uppercase;letter-spacing:.12em;mix-blend-mode:difference}.hero__hint:before{content:"";display:inline-block;width:28px;height:1px;background:var(--red);vertical-align:middle;margin-right:.75rem}.hero__scroll{position:absolute;z-index:4;bottom:2.5rem;display:flex;align-items:center;gap:1rem;font:400 .65rem DM Mono,monospace;text-transform:uppercase;mix-blend-mode:difference}.hero__scroll i{width:50px;height:1px;background:#fff}
.voices{position:relative;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);color:#111}.voice{min-height:86vh;padding:clamp(6rem,10vw,10rem) var(--pad) 7rem;display:flex;flex-direction:column;position:relative}.voice--lda{background:var(--paper)}.voice--lbi{background:#111;color:#fff}.voice__meta{display:flex;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid currentColor;font:400 .65rem DM Mono,monospace;text-transform:uppercase}.voice__sigle{margin:auto 0 0;color:var(--red);font:500 .75rem DM Mono,monospace}.voice h2{font-size:clamp(2.5rem,5vw,5.8rem);line-height:.94;letter-spacing:-.065em;margin:1rem 0 2rem}.voice>p:not(.voice__sigle){max-width:31rem;font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.7;opacity:.68}.voice>a{margin-top:3rem;width:max-content;border-bottom:1px solid;padding-bottom:.4rem;font:500 .72rem DM Mono,monospace;text-transform:uppercase}.voice>a span{color:var(--red)}.voices__bridge{position:absolute;z-index:3;left:50%;bottom:0;transform:translate(-50%,50%);margin:0;padding:1rem 1.5rem;background:var(--red);color:#fff;text-align:center;text-transform:uppercase;font-size:clamp(.72rem,1vw,1rem);line-height:1.2;letter-spacing:.06em;white-space:nowrap}.voices__bridge em{font-style:normal;font-weight:800}
.section-head{padding:8rem var(--pad) 5rem}.section-head>span,.objectour__copy>span,.story__copy>span,.contact__index{font:400 .68rem DM Mono,monospace;letter-spacing:.13em;color:var(--red)}.section-head h2{font-size:clamp(3rem,7vw,7.5rem);line-height:.92;letter-spacing:-.07em;margin:2rem 0 0;max-width:1200px}.case{background:#090909;padding-bottom:7rem}.compare{height:min(72vw,820px);min-height:600px;position:relative;margin:0 var(--pad);overflow:hidden;border:1px solid #333}.compare__panel{position:absolute;inset:0;display:grid;grid-template-columns:1.4fr .6fr;align-items:end}.compare__lda{background:#ffffff;color:#111;clip-path:inset(0 calc(100% - var(--split)) 0 0)}.compare__lbi{background:#111}.compare__visual{height:100%;display:grid;place-items:center;overflow:hidden}.compare__copy{padding:3rem;align-self:end}.compare__copy b{color:var(--red);font:500 .75rem DM Mono,monospace}.compare__copy h3{font-size:clamp(1.6rem,3vw,3.5rem);line-height:1;margin:.7rem 0 1rem;letter-spacing:-.05em}.compare__copy p{font-size:.95rem;line-height:1.6;opacity:.65;max-width:26rem}.compare__visual--paper{position:relative}.paper{position:absolute;width:40%;aspect-ratio:.7;background:#fff;padding:3rem 1rem;border:1px solid #aaa;box-shadow:0 15px 40px #0002;font-weight:800;font-size:clamp(1rem,2vw,2.8rem);writing-mode:vertical-rl}.paper--1{transform:translate(-48%,-8%) rotate(-7deg);color:#111}.paper--2{transform:translate(5%,7%) rotate(4deg);background:var(--red);color:#fff}.paper--3{transform:translate(52%,-10%) rotate(9deg);color:#111}.compare__visual--screen{background:radial-gradient(circle at 50% 45%,#3b0508,#0a0a0a 65%)}.screen{width:72%;aspect-ratio:16/10;border:1px solid #777;background:linear-gradient(135deg,#151515,#050505);box-shadow:0 0 100px #ef191f33;padding:clamp(1rem,3vw,3rem);display:flex;flex-direction:column}.screen small{font:400 .6rem DM Mono,monospace;color:var(--red)}.screen strong{margin:auto 0;font-size:clamp(1.4rem,3.4vw,4.5rem);line-height:.93;letter-spacing:-.05em}.screen span{font:400 .65rem DM Mono,monospace}.compare__range{position:absolute;z-index:5;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare__line{position:absolute;z-index:4;left:var(--split);top:0;bottom:0;width:2px;background:var(--red);transform:translateX(-1px);pointer-events:none}.compare__line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--red);font-size:1.4rem}.compare__label{position:absolute;z-index:3;top:1.5rem;font:500 .7rem DM Mono,monospace;letter-spacing:.15em}.compare__label--left{left:1.5rem;color:#111}.compare__label--right{right:1.5rem}.case__foot{margin:2rem var(--pad) 0;display:flex;justify-content:space-between;align-items:end}.case__foot p{font:400 .72rem DM Mono,monospace;line-height:1.7}.case__foot strong{color:var(--red)}.cta-line{font-weight:600;border-bottom:1px solid;padding:.5rem 0}.cta-line span{color:var(--red)}
.projects{background:var(--paper);color:#111;padding-bottom:var(--pad)}.projects .section-head h2{max-width:900px}.projects__grid{margin:0 var(--pad);display:grid;grid-template-columns:1.5fr .75fr;grid-template-rows:1fr 1fr;gap:1rem;min-height:850px}.project{position:relative;overflow:hidden;padding:2rem}.project--feature{grid-row:1/3;padding:0;color:#fff}.project__image{position:absolute;inset:0}.project__image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#000c,transparent 60%)}.project__image img{height:100%;object-fit:cover;transition:transform .8s,filter .8s}.project:hover .project__image img{transform:scale(1.035);filter:saturate(1.3)}.project__text{position:relative;z-index:2}.project--feature .project__text{position:absolute;left:2.5rem;bottom:2.5rem}.project__text>span{font:500 .65rem DM Mono,monospace;color:var(--red)}.project__text h3{font-size:clamp(2.4rem,5vw,5.5rem);line-height:.88;letter-spacing:-.065em;margin:1rem 0}.project__text p{font:400 .7rem DM Mono,monospace;text-transform:uppercase}.project--type{background:#121212;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.project--type .project__index{font:600 7rem Manrope;color:#242424;line-height:.8}.project--type h3,.project--red h3{font-size:clamp(2rem,3.4vw,4rem)}.project--red{background:var(--red);color:#fff;display:flex;align-items:end;justify-content:space-between}.project--red .project__text>span{color:#111}.project__signal{font-size:8rem;font-weight:200;line-height:.65;transition:transform .4s}.project--red:hover .project__signal{transform:rotate(45deg)}
.expertises{padding-bottom:9rem}.expertises__deck{position:relative;margin:0 var(--pad);border-top:1px solid #333}.expertise{position:relative;width:100%;min-height:120px;padding:1rem 2rem;display:grid;grid-template-columns:5rem 1fr auto;align-items:center;gap:1rem;border:0;border-bottom:1px solid #292929;background:transparent;color:#fff;text-align:left;cursor:pointer;overflow:hidden;transition:color .35s,padding .35s}.expertise:before{content:"";position:absolute;inset:0;background:var(--paper);transform:translateX(-101%);transition:transform .45s cubic-bezier(.7,0,.2,1)}.expertise[data-side="lbi"]:before{background:var(--red);transform:translateX(101%)}.expertise.is-active:before,.expertise:hover:before{transform:none}.expertise>*{position:relative;z-index:1}.expertise>span,.expertise>small{font:400 .65rem DM Mono,monospace;letter-spacing:.12em}.expertise strong{font-size:clamp(1.7rem,4vw,4.7rem);line-height:.95;letter-spacing:-.055em}.expertise.is-active,.expertise:hover{color:#111;padding-left:3.5rem}.expertise[data-side="lbi"].is-active,.expertise[data-side="lbi"]:hover{color:#fff}.expertise small{color:var(--red)}.expertise[data-side="lbi"].is-active small,.expertise[data-side="lbi"]:hover small{color:#111}.expertises__cursor{position:absolute;z-index:3;right:0;top:-2.5rem;display:flex;gap:.6rem;font:400 .62rem DM Mono,monospace;color:#777}.expertises__cursor i{font-style:normal;color:var(--red)}
.objectour{min-height:100svh;position:relative;display:flex;align-items:center;overflow:hidden}.objectour>img{position:absolute;inset:0;height:100%;object-fit:cover}.objectour__veil{position:absolute;inset:0;background:linear-gradient(90deg,#050505 15%,#050505dd 45%,transparent 85%)}.objectour__copy{position:relative;z-index:2;padding:8rem var(--pad);max-width:850px}.objectour__copy h2{font-size:clamp(4rem,9vw,9rem);line-height:.82;letter-spacing:-.075em;margin:2rem 0}.objectour__copy p{max-width:520px;font-size:1.1rem;line-height:1.7;color:#bbb}.objectour__copy a{display:inline-block;margin-top:2rem;border-bottom:1px solid;padding:.5rem 0;font:500 .72rem DM Mono,monospace;text-transform:uppercase}.objectour__copy a span{color:var(--red)}
.story{background:var(--paper);color:#111;min-height:75vh;display:grid;grid-template-columns:.7fr 1.3fr;align-items:center;padding:7rem var(--pad);gap:4rem}.story__years{font-size:clamp(12rem,30vw,34rem);line-height:.7;letter-spacing:-.12em;margin:0;color:var(--red);font-weight:800}.story__copy h2{font-size:clamp(2.2rem,4.5vw,5rem);line-height:1;letter-spacing:-.06em}.story__copy h2 em{font-style:normal;color:var(--red)}.story__copy p{max-width:650px;line-height:1.8;color:#555}
.contact{padding:9rem var(--pad) 5rem;background:#090909}.contact h2{font-size:clamp(3.5rem,8vw,8rem);line-height:.9;letter-spacing:-.075em;margin:3rem 0 5rem}.contact__choices{display:grid;grid-template-columns:1fr 1fr}.contact__choices a{position:relative;min-height:330px;padding:2.5rem;border:1px solid #333;display:flex;flex-direction:column;transition:background .35s,color .35s}.contact__choices a:first-child:hover{background:var(--paper);color:#111}.contact__choices a:last-child:hover{background:var(--red)}.contact__choices small{font:500 .7rem DM Mono,monospace;color:var(--red)}.contact__choices a:last-child:hover small{color:#111}.contact__choices strong{margin:auto 0 0;font-size:clamp(2rem,4vw,4.8rem);line-height:.95;letter-spacing:-.055em}.contact__choices a>span{position:absolute;right:2.5rem;top:2.5rem;font-size:2rem}.contact__note{text-align:center;color:#777;margin:2.5rem 0 0;font-size:.9rem}footer{height:90px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;border-top:1px solid #222;font:400 .65rem DM Mono,monospace;color:#777}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:850px){.nav{height:64px}.nav nav{position:absolute;display:none;top:64px;left:0;right:0;padding:2rem var(--pad);background:#090909;flex-direction:column}.nav.is-open nav{display:flex}.nav__menu{display:block}.hero{min-height:620px}.hero__image,.hero__zones{inset:64px 0 0}.hero h1{font-size:clamp(6rem,30vw,10rem);gap:.5rem}.hero__claim{flex-direction:column;gap:.15rem}.hero__side,.hero__hint{display:none}.voices{grid-template-columns:1fr}.voice{min-height:80vh}.voices__bridge{bottom:0;font-size:.62rem}.section-head{padding-top:6rem}.compare{height:760px;margin:0}.compare__panel{grid-template-columns:1fr;grid-template-rows:1fr auto}.compare__copy{padding:1.5rem}.case__foot{align-items:start;gap:2rem;flex-direction:column}.projects__grid{grid-template-columns:1fr;grid-template-rows:620px 420px 420px;min-height:0}.project--feature{grid-row:auto}.expertise{grid-template-columns:2.5rem 1fr auto;min-height:95px;padding:1rem}.expertise strong{font-size:1.5rem}.expertise.is-active,.expertise:hover{padding-left:1.5rem}.expertises__cursor{display:none}.objectour__veil{background:linear-gradient(90deg,#050505ee,#05050588)}.story{grid-template-columns:1fr;gap:3rem}.story__years{font-size:50vw}.contact__choices{grid-template-columns:1fr}.contact__choices a{min-height:270px}footer{flex-wrap:wrap;gap:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.project__image img,.project__signal{transition:none}}

/* Ajustements de composition V3 */
.hero__side--lda{transform:rotate(180deg)}
.hero__zones span:first-child{border-right:0}
.hero__seam{position:absolute;z-index:4;inset:74px 0 0;width:100%;height:calc(100% - 74px);overflow:visible;pointer-events:none;mix-blend-mode:screen}
.hero__seam path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}
.hero__seam-main{stroke:var(--red);stroke-width:2;filter:drop-shadow(0 0 7px rgba(239,25,31,.65))}
.hero__seam-echo{stroke:var(--red);stroke-width:1;opacity:.3}
.hero__seam-echo--2{opacity:.12}
.voices{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.voice--lda{grid-column:1}
.voice--lbi{grid-column:3}
.voices__bridge{position:relative;left:auto;bottom:auto;grid-column:2;grid-row:1;align-self:stretch;display:flex;align-items:center;justify-content:center;margin:0;padding:1.4rem .9rem;transform:rotate(180deg);writing-mode:vertical-rl;white-space:nowrap}
.voices__bridge:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0 46%,rgba(255,255,255,.95) 49%,rgba(255,255,255,.95) 51%,transparent 54%);opacity:0;pointer-events:none}
.voices__bridge.reveal{opacity:0;transform:rotate(180deg) scaleY(.008);transform-origin:center;filter:brightness(3);transition:none}
.voices__bridge.reveal.is-visible{animation:bridge-crt-desktop .82s cubic-bezier(.2,.72,.2,1) forwards}
.voices__bridge.reveal.is-visible:after{animation:bridge-scan .82s ease-out forwards}
@keyframes bridge-crt-desktop{0%{opacity:0;transform:rotate(180deg) scaleY(.008);filter:brightness(4)}18%{opacity:1;transform:rotate(180deg) scaleY(.018);filter:brightness(5)}58%{opacity:1;transform:rotate(180deg) scaleY(1.055);filter:brightness(1.65)}76%{transform:rotate(180deg) scaleY(.97);filter:brightness(1.12)}100%{opacity:1;transform:rotate(180deg) scaleY(1);filter:brightness(1)}}
@keyframes bridge-crt-mobile{0%{opacity:0;transform:scaleY(.008);filter:brightness(4)}18%{opacity:1;transform:scaleY(.018);filter:brightness(5)}58%{opacity:1;transform:scaleY(1.12);filter:brightness(1.65)}76%{transform:scaleY(.94);filter:brightness(1.12)}100%{opacity:1;transform:scaleY(1);filter:brightness(1)}}
@keyframes bridge-scan{0%,20%{opacity:0;transform:translateY(-30%)}35%{opacity:.9}75%{opacity:.2;transform:translateY(30%)}100%{opacity:0}}

@media(max-width:850px){
  .hero__seam{inset:64px 0 0;height:calc(100% - 64px)}
  .voices{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .voice--lda{grid-column:1;grid-row:1}
  .voices__bridge{grid-column:1;grid-row:2;align-self:auto;min-height:58px;padding:1rem var(--pad);transform:none;writing-mode:horizontal-tb;font-size:.68rem}
  .voices__bridge.reveal{transform:scaleY(.008)}
  .voices__bridge.reveal.is-visible{animation-name:bridge-crt-mobile}
  .voice--lbi{grid-column:1;grid-row:3}
}

@media(prefers-reduced-motion:reduce){.hero__seam-echo{display:none}.voices__bridge.reveal,.voices__bridge.reveal.is-visible{opacity:1;transform:rotate(180deg);filter:none;animation:none}.voices__bridge.reveal.is-visible:after{animation:none}.hero__seam path{transition:none}}
@media(max-width:850px) and (prefers-reduced-motion:reduce){.voices__bridge.reveal,.voices__bridge.reveal.is-visible{transform:none}}

@media(max-width:430px){
  .hero h1{font-size:clamp(5rem,28vw,7.5rem)}
  .hero__claim{font-size:.95rem}
  .voice{min-height:auto;padding-top:6rem;padding-bottom:5rem}
  .voice h2{font-size:2.8rem}
  .voice__sigle{margin-top:6rem}
  .section-head h2{font-size:3rem}
  .compare{height:680px}
  .compare__visual{min-height:390px}
  .screen{width:88%}
  .projects__grid{margin:0;grid-template-rows:520px 350px 350px}
  .project--feature .project__text{left:1.5rem;bottom:1.5rem}
  .expertises__deck{margin:0}
  .expertise{grid-template-columns:2rem 1fr 2rem}
  .expertise strong{font-size:1.3rem}
  .story{padding-left:1.25rem;padding-right:1.25rem}
  .contact h2{font-size:3.2rem}
  .contact__choices a{min-height:230px;padding:1.5rem}
}

@media(max-width:360px){
  .nav__brand{font-size:.68rem}
  .hero h1{font-size:4.9rem}
  .eyebrow{max-width:260px;line-height:1.6}
  .voices__bridge{font-size:.62rem}
  .compare__copy h3{font-size:1.55rem}
  .compare__copy p{font-size:.84rem}
  .expertise>span{display:none}
  .expertise{grid-template-columns:1fr 2rem}
  .contact h2{font-size:2.8rem}
}

/* Fonds narratifs LDA / LBI */
.hero__image--lda{background-image:url('assets/images/hero-lda-v2.webp');background-position:center center}
.hero__image--lbi{background-image:url('assets/images/hero-lbi-v2.webp');background-position:center center}
.hero__image,.hero.is-lda .hero__image--lda,.hero.is-lbi .hero__image--lbi{filter:saturate(1.08) contrast(1.06) brightness(.9)}
.hero.is-lda:before{background:linear-gradient(90deg,rgba(2,7,11,.48) 0%,rgba(2,7,11,.2) 42%,rgba(2,7,11,.3) 100%)}
.hero.is-lbi:before{background:linear-gradient(90deg,rgba(3,3,3,.34),rgba(3,3,3,.2) 50%,rgba(3,3,3,.4))}
.hero__core{mix-blend-mode:normal;color:#fff;text-shadow:0 3px 30px rgba(0,0,0,.62)}
.hero__word{color:#fff;text-shadow:0 3px 38px rgba(0,0,0,.55)}
.hero__word:not(.is-active){opacity:.18}
.hero__word.is-active{opacity:1}
.hero__side,.hero__hint,.hero__scroll{mix-blend-mode:normal;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.85)}
.hero__scroll i{background:#fff;box-shadow:0 2px 12px rgba(0,0,0,.5)}

/* Convergence LDA / LBI au premier scroll */
html.hero-scroll-locked,html.hero-scroll-locked body{overflow:hidden}
.hero h1{position:relative}
.hero__identity{display:flex;flex-direction:column;align-items:center;min-width:0;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .55s ease,opacity .45s ease}
.hero__identity small{margin-top:clamp(1.2rem,2.2vw,2rem);font:400 clamp(.5rem,.62vw,.68rem)/1.2 DM Mono,monospace;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;color:rgba(255,255,255,.62);text-shadow:0 2px 12px rgba(0,0,0,.9);transition:opacity .3s ease,transform .6s ease}
.hero__slash{position:relative;z-index:5;transition:transform .8s cubic-bezier(.16,1,.3,1),text-shadow .4s ease}
.hero.is-merging .hero__identity--lda{transform:translateX(calc(50% + clamp(.5rem,2vw,2rem))) scale(.82)}
.hero.is-merging .hero__identity--lbi{transform:translateX(calc(-50% - clamp(.5rem,2vw,2rem))) scale(.82)}
.hero.is-merging .hero__identity small{opacity:0;transform:translateY(-1rem)}
.hero.is-merging .hero__slash{transform:scale(1.35);text-shadow:0 0 28px rgba(239,25,31,.8)}
.hero.is-merging .hero__seam{opacity:0;transition:opacity .28s ease}
.hero.is-merging .hero__image{transform:scale(1.035);filter:saturate(.75) contrast(1.12) brightness(.62)}
.hero.is-merging .hero__claim,.hero.is-merging .eyebrow,.hero.is-merging .hero__side,.hero.is-merging .hero__hint,.hero.is-merging .hero__scroll{opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .5s ease}
.hero.is-merged .hero__identity{filter:blur(5px);opacity:0;transform:translateX(0) scale(.64)}
.hero.is-merged .hero__slash{transform:scale(1.8);opacity:0;transition:transform .45s ease,opacity .38s ease}

@media(max-width:850px){
  .hero__identity small{font-size:.45rem;letter-spacing:.12em;margin-top:1rem}
  .hero.is-merging .hero__identity--lda{transform:translateX(calc(50% + .25rem)) scale(.78)}
  .hero.is-merging .hero__identity--lbi{transform:translateX(calc(-50% - .25rem)) scale(.78)}
}

@media(prefers-reduced-motion:reduce){.hero__identity,.hero__identity small,.hero__slash{transition:none}.hero.is-merging .hero__identity--lda,.hero.is-merging .hero__identity--lbi{transform:none}}

/* Signature développée dans la navigation */
.nav__brand{position:relative;width:112px;height:42px;display:block}
.nav__brand-compact,.nav__brand-full{position:absolute;inset:0;display:flex;align-items:center;transition:opacity .25s ease,transform .42s cubic-bezier(.16,1,.3,1)}
.nav__brand-compact{gap:.6rem}
.nav__brand-compact i{display:block;width:22px;height:2px;background:var(--red)}
.nav__brand-full{width:205px;height:58px;top:-8px;flex-direction:column;align-items:stretch;justify-content:center;gap:7px;padding:7px 12px;background:#090909;opacity:0;transform:translateY(-8px) scaleY(.72);transform-origin:top left;pointer-events:none;font-size:.58rem;line-height:1;letter-spacing:.08em;white-space:nowrap}
.nav__brand-full i{display:block;width:100%;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.16,1,.3,1) .08s}
@media(hover:hover) and (pointer:fine){
  .nav__brand:hover .nav__brand-compact,.nav__brand:focus-visible .nav__brand-compact{opacity:0;transform:translateY(8px)}
  .nav__brand:hover .nav__brand-full,.nav__brand:focus-visible .nav__brand-full{opacity:1;transform:none}
  .nav__brand:hover .nav__brand-full i,.nav__brand:focus-visible .nav__brand-full i{transform:scaleX(1)}
}

/* Comparateur limité au visuel du cas d'étude */
.compare{height:auto;min-height:0;border:0;overflow:visible}
.compare__stage{position:relative;height:min(60vw,680px);min-height:520px;overflow:hidden;border:1px solid #444;background:#0a0a0a;cursor:ew-resize}
.compare__image{position:absolute;inset:0}
.compare__image--lda{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.compare__image img{width:100%;height:100%;object-fit:cover;filter:brightness(.62) saturate(.9);transition:filter .45s ease,transform 1.2s cubic-bezier(.16,1,.3,1)}
.compare__stage:hover .compare__image img{filter:brightness(.76) saturate(1);transform:scale(1.012)}
.compare__screen-copy{position:absolute;z-index:3;left:clamp(1.5rem,4vw,4rem);top:50%;transform:translateY(-50%);width:min(64%,720px);pointer-events:none;text-shadow:0 3px 28px rgba(0,0,0,.8)}
.compare__screen-copy small{font:400 .65rem DM Mono,monospace;color:var(--red);letter-spacing:.08em}
.compare__screen-copy strong{display:block;margin:clamp(4rem,10vw,9rem) 0;font-size:clamp(2.7rem,5.6vw,6rem);line-height:.9;letter-spacing:-.065em}
.compare__screen-copy span{font:500 .68rem DM Mono,monospace}
.compare__range{touch-action:none}
.compare__details{display:grid;grid-template-columns:1fr 1fr;border:1px solid #333;border-top:0}
.compare__copy{position:relative;padding:2.5rem 3rem;min-height:220px;background:#ffffff;color:#111}
.compare__copy--lbi{background:#111;color:#fff;border-left:1px solid #333}
.compare__copy h3{font-size:clamp(1.6rem,2.5vw,3rem)}

/* Équilibre exact des deux sigles sur mobile */
@media(max-width:850px){
  .hero h1{width:calc(100vw - 2rem);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.25rem}
  .hero__identity{width:100%}
  .hero__word{display:block;width:100%;text-align:center;letter-spacing:-.11em}
  .nav__brand{width:104px;height:38px}
  .compare__stage{height:72vh;min-height:560px}
  .compare__screen-copy{left:1.5rem;width:calc(100% - 3rem)}
  .compare__screen-copy strong{margin:6rem 0;font-size:clamp(2.6rem,11vw,4.6rem)}
  .compare__details{grid-template-columns:1fr}
  .compare__copy{min-height:0;padding:2rem 1.5rem}
  .compare__copy--lbi{border-left:0;border-top:1px solid #333}
}

@media(max-width:430px){
  .hero h1{font-size:clamp(4.7rem,25vw,6.7rem)}
  .hero__identity small{max-width:42vw;white-space:normal;text-align:center;line-height:1.35}
  .compare__stage{height:68vh;min-height:510px}
}

/* Les deux voix occupent exactement l'écran disponible */
.voices{height:calc(100svh - 74px);min-height:620px;scroll-margin-top:74px}
.voice{min-height:0;height:100%}
.voices__bridge{top:0;bottom:0}

/* Cas d'étude : la surface LDA se fracture et révèle LBI */
.compare__stage{isolation:isolate;cursor:pointer;outline:none;background:#05070a}
.compare__stage:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.compare__under{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.85);transform:scale(1.04);transition:filter .75s ease,transform 1.1s cubic-bezier(.16,1,.3,1)}
.compare__shards{position:absolute;z-index:2;inset:0;pointer-events:none}
.compare__stage.is-open .compare__shards{pointer-events:auto}
.shard{position:absolute;inset:-1px;background-image:linear-gradient(rgba(0,0,0,.06),rgba(0,0,0,.2)),url('assets/images/case-lda-print-v2.webp');background-size:cover;background-position:center;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .65s ease,opacity .65s ease;will-change:transform;filter:drop-shadow(0 0 0 rgba(239,25,31,0))}
.shard--1{clip-path:polygon(0 0,34% 0,19% 35%,0 50%)}
.shard--2{clip-path:polygon(34% 0,68% 0,50% 35%,19% 35%)}
.shard--3{clip-path:polygon(68% 0,100% 0,100% 39%,50% 35%)}
.shard--4{clip-path:polygon(0 50%,19% 35%,44% 100%,0 100%)}
.shard--5{clip-path:polygon(19% 35%,50% 35%,75% 100%,44% 100%)}
.shard--6{clip-path:polygon(50% 35%,100% 39%,100% 100%,75% 100%)}
.compare__title{position:absolute;z-index:4;top:50%;left:50%;transform:translate(-50%,-50%);border:0;background:transparent;color:#fff;text-align:left;cursor:pointer;text-shadow:0 2px 22px rgba(0,0,0,.85);transition:opacity .4s ease,transform .7s cubic-bezier(.16,1,.3,1)}
.compare__title small{display:block;margin-bottom:1rem;color:var(--red);font:600 .7rem DM Mono,monospace;letter-spacing:.16em}
.compare__title span{display:block;font-size:clamp(2.8rem,6vw,6.8rem);font-weight:750;line-height:.88;letter-spacing:-.065em}
.compare__title--lbi{opacity:0;transform:translate(-50%,-44%) scale(.96);pointer-events:none}
.compare__gesture{position:absolute;z-index:4;left:50%;bottom:1.5rem;transform:translateX(-50%);margin:0;padding:.7rem 1rem;background:rgba(5,5,5,.72);backdrop-filter:blur(8px);white-space:nowrap;font:400 .6rem DM Mono,monospace;letter-spacing:.08em;text-transform:uppercase;transition:opacity .3s ease}
.compare__gesture--mobile{display:none}

.compare__stage.is-open .shard--1{transform:translate(-24%,-22%) rotate(-6deg) scale(1.035)}
.compare__stage.is-open .shard--2{transform:translate(-5%,-30%) rotate(3deg) scale(1.035)}
.compare__stage.is-open .shard--3{transform:translate(24%,-22%) rotate(6deg) scale(1.035)}
.compare__stage.is-open .shard--4{transform:translate(-26%,24%) rotate(-7deg) scale(1.035)}
.compare__stage.is-open .shard--5{transform:translate(5%,30%) rotate(-3deg) scale(1.035)}
.compare__stage.is-open .shard--6{transform:translate(26%,24%) rotate(7deg) scale(1.035)}
.compare__stage.is-open .shard{filter:drop-shadow(0 0 2px rgba(239,25,31,.95));opacity:.98}
.compare__stage.is-open .compare__under{filter:brightness(.82) saturate(1.12);transform:scale(1)}
.compare__stage.is-open .compare__title--lda{opacity:0;transform:translate(-50%,-56%) scale(.96);pointer-events:none}
.compare__stage.is-open .compare__title--lbi{opacity:1;transform:translate(-50%,-50%) scale(1);pointer-events:auto}
.compare__stage.is-open .compare__gesture{opacity:0}

@media(max-width:850px){
  .voices{height:auto;min-height:0;scroll-margin-top:64px}
  .voice{height:calc(100svh - 64px);min-height:620px}
  .voices__bridge{top:auto;bottom:0}
  .compare__gesture--desktop{display:none}
  .compare__gesture--mobile{display:inline}
  .compare__title{width:calc(100% - 3rem)}
  .compare__title span{font-size:clamp(2.5rem,12vw,4.8rem)}
}

/* Savoir-faire : la ligne choisie devient un volet vertical */
.expertises__deck{overflow:hidden}
.expertise-item{display:grid;grid-template-columns:minmax(0,1fr) 0fr;border-bottom:1px solid #292929;overflow:hidden;transition:grid-template-columns .78s cubic-bezier(.16,1,.3,1),min-height .78s cubic-bezier(.16,1,.3,1)}
.expertise-item .expertise{min-width:0;border-bottom:0;transition:min-height .78s cubic-bezier(.16,1,.3,1),padding .55s cubic-bezier(.16,1,.3,1),color .35s}
.expertise-item.is-open{grid-template-columns:clamp(82px,8vw,118px) minmax(0,1fr);min-height:440px}
.expertise-item.is-open .expertise{min-height:440px;padding:1.25rem .75rem;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;justify-items:center;text-align:center}
.expertise-item.is-open .expertise>span,.expertise-item.is-open .expertise>small{display:block;writing-mode:vertical-rl}
.expertise-item.is-open .expertise strong{align-self:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(1.15rem,1.8vw,1.8rem);line-height:1;letter-spacing:-.035em;white-space:nowrap}
.expertise-item.is-open .expertise:before{transform:none}
.expertise-item[data-side="lda"].is-open .expertise{color:#111}
.expertise-item[data-side="lbi"].is-open .expertise{color:#fff}
.expertise-item[data-side="lbi"].is-open .expertise small{color:#111}
.expertise-panel{min-width:0;overflow:hidden;background:#111;opacity:0;transition:opacity .28s ease .42s}
.expertise-item[data-side="lda"] .expertise-panel{background:#ffffff;color:#111}
.expertise-item.is-open .expertise-panel{opacity:1}
.expertise-panel__inner{height:100%;padding:clamp(2.25rem,5vw,5rem);display:grid;grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);grid-template-rows:auto auto 1fr auto;column-gap:clamp(2rem,6vw,7rem);align-content:start;opacity:0;transform:translateX(34px);transition:opacity .42s ease .55s,transform .65s cubic-bezier(.16,1,.3,1) .48s}
.expertise-item.is-open .expertise-panel__inner{opacity:1;transform:none}
.expertise-panel__manifesto{grid-column:1/-1;margin:0 0 1.5rem;max-width:1050px;font-size:clamp(2.25rem,5vw,5.7rem);font-weight:750;line-height:.92;letter-spacing:-.06em}
.expertise-panel__description{grid-column:1;margin:0;max-width:680px;font-size:clamp(1rem,1.35vw,1.25rem);line-height:1.55;opacity:.72}
.expertise-panel ul{grid-column:2;grid-row:2/4;margin:0;padding:0;list-style:none;font:500 .7rem/1.5 DM Mono,monospace;text-transform:uppercase;letter-spacing:.08em}
.expertise-panel li{padding:.65rem 0;border-bottom:1px solid currentColor}
.expertise-panel__case{grid-column:1;align-self:end;width:max-content;margin-top:2rem;font:500 .7rem DM Mono,monospace;text-transform:uppercase;border-bottom:1px solid}
.expertise-panel__cta{grid-column:2;align-self:end;justify-self:end;width:max-content;margin-top:2rem;font-weight:650;border-bottom:1px solid;padding:.4rem 0}
.expertise-panel__cta span{color:var(--red)}

@media(max-width:850px){
  .expertise-item,.expertise-item.is-open{display:block;min-height:0}
  .expertise-item .expertise,.expertise-item.is-open .expertise{min-height:95px;padding:1rem;grid-template-columns:2.5rem 1fr auto;grid-template-rows:1fr;justify-items:stretch;text-align:left}
  .expertise-item.is-open .expertise>span,.expertise-item.is-open .expertise>small{display:block;writing-mode:horizontal-tb}
  .expertise-item.is-open .expertise strong{align-self:center;writing-mode:horizontal-tb;transform:none;font-size:1.5rem;white-space:normal}
  .expertise-panel{max-height:0;opacity:0;transition:max-height .85s cubic-bezier(.16,1,.3,1),opacity .3s ease .18s}
  .expertise-item.is-open .expertise-panel{max-height:850px;opacity:1}
  .expertise-panel__inner{height:auto;padding:2rem 1.5rem 2.5rem;display:block;transform:translateY(22px)}
  .expertise-panel__manifesto{font-size:clamp(2.15rem,10vw,4rem)}
  .expertise-panel__description{margin-bottom:2rem}
  .expertise-panel__case,.expertise-panel__cta{display:block;margin-top:1.75rem}
}

/* Correctif de flux : les panneaux fermés ne déterminent jamais la hauteur des lignes */
.expertise-item{display:block;min-height:0}
.expertise-item .expertise{width:100%;min-height:120px}
.expertise-item[data-side="lda"] .expertise:before{background:var(--paper);transform:translateX(-101%)}
.expertise-item[data-side="lbi"] .expertise:before{background:var(--red);transform:translateX(101%)}
.expertise-item[data-side="lda"] .expertise:hover:before,.expertise-item[data-side="lbi"] .expertise:hover:before,.expertise-item.is-open .expertise:before{transform:none}
.expertise-item[data-side="lda"] .expertise:hover,.expertise-item[data-side="lda"].is-open .expertise{color:#111}
.expertise-item[data-side="lbi"] .expertise:hover,.expertise-item[data-side="lbi"].is-open .expertise{color:#fff}
.expertise-item[data-side="lbi"] .expertise:hover small,.expertise-item[data-side="lbi"].is-open .expertise small{color:#111}
.expertise-panel{display:none}
.expertise-item.is-open{display:grid;grid-template-columns:clamp(82px,8vw,118px) minmax(0,1fr);min-height:440px}
.expertise-item.is-open .expertise{min-height:440px}
.expertise-item.is-open .expertise-panel{display:block;animation:expertise-panel-in .7s cubic-bezier(.16,1,.3,1) .28s both}
.expertise-item.is-open .expertise-panel__inner{animation:expertise-content-in .62s cubic-bezier(.16,1,.3,1) .48s both}
@keyframes expertise-panel-in{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}
@keyframes expertise-content-in{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}

@media(max-width:850px){
  .expertise-item,.expertise-item.is-open{display:block;min-height:0}
  .expertise-item .expertise,.expertise-item.is-open .expertise{min-height:95px}
  .expertise-panel,.expertise-item.is-open .expertise-panel{display:block;max-height:0;overflow:hidden;opacity:0;animation:none}
  .expertise-item.is-open .expertise-panel{max-height:850px;opacity:1}
  .expertise-item.is-open .expertise-panel__inner{animation:expertise-content-mobile-in .58s cubic-bezier(.16,1,.3,1) .22s both}
  @keyframes expertise-content-mobile-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
}

@media(prefers-reduced-motion:reduce){.shard,.compare__under,.compare__surface-label{transition:none}}

/* Hero construit sur un axe central strictement géométrique */
.hero__core{position:absolute;z-index:3;inset:74px 0 0;text-align:center;pointer-events:none}
.hero__core .eyebrow{position:absolute;top:18%;left:0;width:100%;margin:0;padding:0 clamp(2rem,8vw,9rem);display:grid;grid-template-columns:minmax(0,1fr) 1.4rem minmax(0,1fr);align-items:center;font-size:clamp(.56rem,.65vw,.7rem);line-height:1.35}
.hero__core .eyebrow>span:first-child{text-align:right;padding-right:1.25rem}
.hero__core .eyebrow>span:last-child{text-align:left;padding-left:1.25rem}
.hero__core .eyebrow b{position:relative;z-index:5;color:#fff;background:transparent;padding:0;font-size:1.25rem;line-height:1;font-weight:700;text-align:center;text-shadow:none}
.hero h1{position:absolute;top:46%;left:0;transform:translateY(-50%);width:100%;padding:0 clamp(.75rem,6vw,6rem);display:grid;grid-template-columns:minmax(0,1fr) clamp(1.4rem,4vw,4rem) minmax(0,1fr);gap:0;align-items:center}
.hero__identity{width:100%;pointer-events:auto}
.hero__word{display:block;width:100%;text-align:center}
.hero__slash{width:100%;left:-.09em;text-align:center}
.hero__claim{position:absolute;z-index:4;top:61%;left:50%;transform:translateX(-50%);width:112px;height:170px;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;justify-items:center;font:500 clamp(.72rem,.9vw,.9rem)/1.1 DM Mono,monospace;letter-spacing:.04em;pointer-events:none}
.hero__claim span{writing-mode:vertical-rl;white-space:nowrap}
.hero__claim span:first-child{justify-self:end;transform:rotate(180deg)}
.hero__claim span:last-child{justify-self:start}
.hero.is-merging .hero__claim{transform:translate(-50%,10px)}
.eyebrow__mobile-break{display:none}

@media(max-width:850px){
  .hero__core{inset:64px 0 0}
  .hero__core .eyebrow{top:27%;padding:0 1rem;grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr);font-size:clamp(.46rem,2vw,.58rem)}
  .hero__core .eyebrow b{display:none}
  .hero__slash{left:-.055em}
  .hero__core .eyebrow>span:first-child{padding-right:1.1rem;text-align:right}
  .hero__core .eyebrow>span:last-child{padding-left:1.1rem;text-align:left}
  .hero__core .eyebrow>span{line-height:1.45}
  .eyebrow__desktop-prefix{display:none}
  .eyebrow__mobile-break{display:inline}
  .hero h1{top:43%;width:100%;padding:0 .5rem;grid-template-columns:minmax(0,1fr) 1.25rem minmax(0,1fr);gap:0}
  .hero__claim{top:56%;width:82px;height:145px;gap:12px;font-size:.62rem}
}

@media(max-width:430px){
  .hero__core .eyebrow>span:first-child{padding-right:.75rem}
  .hero__core .eyebrow>span:last-child{padding-left:.75rem}
  .hero__identity small{max-width:100%}
}

/* Savoir-faire : pivot physique + contraction, 900 ms */
.expertises__deck.is-transitioning{pointer-events:none}
.expertise-item .expertise{contain:paint}

::view-transition-group(expertise-active),
::view-transition-group(expertise-row-0),
::view-transition-group(expertise-row-1),
::view-transition-group(expertise-row-2),
::view-transition-group(expertise-row-3),
::view-transition-group(expertise-row-4),
::view-transition-group(expertise-row-5){
  animation-duration:900ms;
  animation-timing-function:cubic-bezier(.16,1,.3,1);
}

::view-transition-old(expertise-active),
::view-transition-new(expertise-active){
  mix-blend-mode:normal;
  animation-duration:900ms;
  animation-timing-function:cubic-bezier(.16,1,.3,1);
  animation-fill-mode:both;
}

.expertise-opening::view-transition-old(expertise-active){animation-name:expertise-contract-horizontal}
.expertise-opening::view-transition-new(expertise-active){animation-name:expertise-expand-vertical}
.expertise-closing::view-transition-old(expertise-active){animation-name:expertise-contract-vertical}
.expertise-closing::view-transition-new(expertise-active){animation-name:expertise-expand-horizontal}

@keyframes expertise-contract-horizontal{
  0%{clip-path:inset(0);opacity:1;filter:blur(0)}
  44%{clip-path:inset(0 46%);opacity:1;filter:blur(0)}
  56%,100%{clip-path:inset(0 49.7%);opacity:0;filter:blur(2px)}
}
@keyframes expertise-expand-vertical{
  0%,44%{clip-path:inset(49.7% 0);opacity:0;filter:blur(2px)}
  56%{clip-path:inset(46% 0);opacity:1;filter:blur(0)}
  100%{clip-path:inset(0);opacity:1;filter:blur(0)}
}
@keyframes expertise-contract-vertical{
  0%{clip-path:inset(0);opacity:1;filter:blur(0)}
  44%{clip-path:inset(46% 0);opacity:1;filter:blur(0)}
  56%,100%{clip-path:inset(49.7% 0);opacity:0;filter:blur(2px)}
}
@keyframes expertise-expand-horizontal{
  0%,44%{clip-path:inset(0 49.7%);opacity:0;filter:blur(2px)}
  56%{clip-path:inset(0 46%);opacity:1;filter:blur(0)}
  100%{clip-path:inset(0);opacity:1;filter:blur(0)}
}

@media(max-width:850px){
  .expertise-opening::view-transition-old(expertise-active),
  .expertise-closing::view-transition-old(expertise-active){animation-name:expertise-contract-horizontal}
  .expertise-opening::view-transition-new(expertise-active),
  .expertise-closing::view-transition-new(expertise-active){animation-name:expertise-expand-horizontal}
}

@media(prefers-reduced-motion:reduce){
  ::view-transition-group(expertise-active),
  ::view-transition-group(expertise-row-0),
  ::view-transition-group(expertise-row-1),
  ::view-transition-group(expertise-row-2),
  ::view-transition-group(expertise-row-3),
  ::view-transition-group(expertise-row-4),
  ::view-transition-group(expertise-row-5){animation-duration:1ms}
}




/* Fenêtre d'information Objectour */
html.objectour-dialog-open{overflow:hidden}
.objectour-dialog{width:min(620px,calc(100% - 2rem));max-height:calc(100svh - 2rem);margin:auto;padding:0;border:1px solid #444;border-top:3px solid var(--red);background:var(--ink);color:var(--paper);box-shadow:0 24px 100px #0008}
.objectour-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(8px)}
.objectour-dialog[open]{animation:objectour-dialog-in .3s ease-out}
.objectour-dialog__content{position:relative;padding:clamp(2rem,6vw,4rem)}
.objectour-dialog__close{position:absolute;top:.5rem;right:.5rem;width:44px;height:44px;border:0;background:transparent;color:var(--paper);font-size:2rem;cursor:pointer}
.objectour-dialog__eyebrow{margin:0 2rem 2rem 0;color:var(--red);font:500 .65rem/1.6 'DM Mono',monospace;letter-spacing:.1em}
.objectour-dialog h2{margin:0 0 1.5rem;font-size:clamp(2rem,7vw,3.8rem);line-height:1;letter-spacing:-.055em}
.objectour-dialog__content>p:not(.objectour-dialog__eyebrow){max-width:390px;margin:0;color:#bdbdbd;line-height:1.7}
.objectour-dialog__action{display:flex;align-items:center;gap:2rem;margin-top:2.5rem;padding:.75rem 0;border:0;border-bottom:1px solid #666;background:transparent;color:var(--paper);cursor:pointer}
.objectour-dialog__action span{color:var(--red)}
.objectour-dialog button:hover{color:var(--red)}
.objectour-dialog button:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@keyframes objectour-dialog-in{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.objectour-dialog[open]{animation:none}}


/* Cinq projets : un visuel et deux vignettes synchronisés. */
.projects-carousel .project__image[hidden],.projects-carousel .project__placeholder[hidden]{display:none}
.projects-carousel .project--feature{touch-action:pan-y}
.project__placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:8rem;background:var(--project-color,#245b67)}
.project__placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 75%)}
.project__placeholder>span{font-size:clamp(8rem,22vw,24rem);font-weight:800;line-height:1;letter-spacing:-.09em;color:#ffffff26}
.project__placeholder>small{font:400 .65rem 'DM Mono',monospace;letter-spacing:.2em;color:#ffffff99}
.projects-carousel .project__text{min-width:0}
.projects-carousel .project--feature .project__text{right:2rem}
.projects-carousel .project__text p{line-height:1.65}
.projects-carousel .project--red .project__signal{font-size:clamp(3rem,6vw,7rem);margin-left:.5rem}
.projects__controls{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.25rem var(--pad) 0}
.projects__dots{display:flex;gap:.1rem}
.projects__dots button{display:grid;place-items:center;width:36px;height:44px;border:0;background:transparent;cursor:pointer;padding:0}
.projects__dots button:before{content:"";width:8px;height:8px;border:1px solid #777;border-radius:50%;transition:background .2s,transform .2s}
.projects__dots button[aria-current="true"]:before{background:var(--red);border-color:var(--red);transform:scale(1.25)}
.projects__arrow{width:44px;height:44px;border:1px solid #1113;background:transparent;color:#111;font-size:1.3rem;cursor:pointer}
.projects__arrow:hover{background:#111;color:#fff}
.projects__controls button:focus-visible{outline:2px solid var(--red);outline-offset:2px}
.projects__count{font:400 .65rem 'DM Mono',monospace;white-space:nowrap}
.projects__status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:850px){
 .projects-carousel .projects__grid{grid-template-rows:minmax(440px,65svh) auto auto}
 .projects-carousel .project--type,.projects-carousel .project--red{min-height:260px;padding:1.5rem}
 .projects-carousel .project--type .project__index{font-size:4rem;margin-bottom:1.5rem}
 .projects-carousel .project--feature .project__text{left:1.5rem;right:1.5rem;bottom:1.5rem}
 .projects-carousel .project__text h3{font-size:clamp(2rem,8vw,4rem)}
 .projects__controls{gap:.25rem}
 .projects__count{margin-left:.5rem}
}


/* Cartes superposées sur mobile, ouvertes par un appui. */
.projects__details-toggle,.projects__card-dismiss{display:none}
@media(max-width:850px){
 .projects-carousel .projects__grid{position:relative;display:block;height:clamp(390px,68svh,640px);min-height:0;overflow:hidden;isolation:isolate}
 .projects-carousel .project--feature{position:absolute;inset:0;height:100%}
 .projects-carousel .project--type,.projects-carousel .project--red{position:absolute;z-index:3;left:0;right:0;height:50%;min-height:0;padding:clamp(1rem,4vw,1.75rem);overflow:auto;opacity:0;visibility:hidden;transition:transform .7s cubic-bezier(.22,1,.36,1),opacity .45s,visibility .7s}
 .projects-carousel .project--type{top:0;transform:translateX(-105%);justify-content:center;background:rgba(18,18,18,.97)}
 .projects-carousel .project--red{bottom:0;transform:translateX(105%);align-items:center;background:rgba(239,25,31,.97)}
 .projects-carousel .has-project-details .project--type,.projects-carousel .has-project-details .project--red{transform:translateX(0);opacity:1;visibility:visible}
 .projects-carousel .project--type .project__index{position:absolute;right:1rem;top:1rem;margin:0;font-size:3.5rem;color:#ffffff12}
 .projects-carousel .project--type h3,.projects-carousel .project--red h3{font-size:clamp(1.6rem,6vw,2.5rem);margin:.5rem 0;line-height:.98}
 .projects-carousel .project--type p,.projects-carousel .project--red p{font-size:clamp(.6rem,2.3vw,.72rem);margin:.5rem 0 0;line-height:1.5;max-width:36rem}
 .projects-carousel .project--red .project__signal{font-size:3rem}
 .projects__card-dismiss{display:block;position:absolute;z-index:5;inset:0;width:100%;height:100%;border:0;background:transparent;cursor:pointer}
 .projects__card-dismiss:focus-visible{outline:2px solid white;outline-offset:-6px}
 .projects__details-toggle{display:block;margin:.5rem auto 0;min-height:44px;padding:.5rem 1rem;border:0;border-bottom:1px solid #1114;color:#111;background:transparent;font:500 .65rem 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
 .projects__details-toggle:focus-visible{outline:2px solid var(--red);outline-offset:3px}
}
@media(max-width:850px) and (prefers-reduced-motion:reduce){
 .projects-carousel .project--type,.projects-carousel .project--red{transition:none}
}


/* Informations professionnelles et marque. */
.site-footer{display:block;height:auto;padding:2.5rem var(--pad) 1.5rem;background:#090909;color:#aaa;font:400 .7rem/1.8 'DM Mono',monospace}
.site-footer p{margin:0}
.site-footer__main{display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:2rem;padding-bottom:2rem}
.site-footer__name{color:var(--paper);font:700 .9rem/1.6 Manrope,Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase}
.site-footer__name span{display:inline-block;margin-left:.75rem;color:#aaa;font:400 .65rem 'DM Mono',monospace;letter-spacing:0}
.site-footer__identity>p+p{margin-top:.6rem}
.site-footer__address{font-style:normal}
.site-footer__contact{justify-self:end;overflow-wrap:anywhere}
.site-footer__contact span{color:var(--red)}
.site-footer__contact:hover{color:var(--paper)}
.site-footer__contact:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.site-footer__bottom{display:flex;justify-content:space-between;align-items:baseline;gap:1rem 2rem;border-top:1px solid #292929;padding-top:1.25rem;font-size:.62rem}
.site-footer__bottom>p:last-child{flex-shrink:0}
@media(max-width:1000px){.site-footer__main{grid-template-columns:1fr 1fr}.site-footer__contact{grid-column:1/-1;justify-self:start}}
@media(max-width:600px){.site-footer__main{grid-template-columns:1fr;gap:1.25rem}.site-footer__bottom{flex-direction:column;gap:.75rem}.site-footer__bottom>p:last-child{flex-shrink:1}}


.projects__visual-open{display:none}
@media(max-width:850px){
 .projects__visual-open{display:block;position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;background:transparent;cursor:pointer;touch-action:pan-y}
 .projects__visual-open:focus-visible{outline:2px solid var(--paper);outline-offset:-6px}
 .has-project-details .projects__visual-open{visibility:hidden}
}
/* Contact : rouge commun, blanc LDA, noir LBI. */
.contact__choices>a{background:var(--red);color:#fff;transition:background .7s ease,color .7s ease}
.contact__choices>a small{color:#111;transition:color .7s ease}
.contact__choices>a:first-child:hover,.contact__choices>a:last-child:hover{background:var(--red);color:#fff}
@media(min-width:851px) and (hover:hover){
 .contact__choices>a:first-child:hover,.contact__choices>a:first-child:focus-visible{background:var(--paper);color:#111}
 .contact__choices>a:last-child:hover,.contact__choices>a:last-child:focus-visible{background:var(--ink);color:#fff}
 .contact__choices>a:hover small,.contact__choices>a:focus-visible small{color:var(--red)}
}
@media(max-width:850px),(hover:none){
 .contact__choices.has-contact-colors>a:first-child{background:var(--paper);color:#111}
 .contact__choices.has-contact-colors>a:last-child{background:var(--ink);color:#fff}
 .contact__choices.has-contact-colors>a small{color:var(--red)}
}
@media(prefers-reduced-motion:reduce){.contact__choices>a,.contact__choices>a small{transition:none}}


/* Références clients : emplacements temporaires avant réception des logos. */
.clients{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);padding:clamp(4rem,7vw,7rem) var(--pad);background:var(--paper);color:var(--ink)}
.clients__title{display:flex;align-items:center;justify-content:center;gap:2rem;writing-mode:vertical-rl;transform:rotate(180deg);margin:0;color:var(--red);font:500 .85rem 'DM Mono',monospace;letter-spacing:.05em;text-align:center}
.clients__title:before,.clients__title:after{content:"";width:1px;flex:1;min-height:2rem;background:var(--red)}
.clients__panel{min-width:0;border:1px solid #1113;border-radius:18px;padding:clamp(1.25rem,3vw,3rem)}
.clients__category+ .clients__category{border-top:1px solid #1112;margin-top:1.75rem;padding-top:1.75rem}
.clients__category summary{display:flex;align-items:center;gap:1rem;list-style:none;cursor:default}
.clients__category summary::-webkit-details-marker{display:none}
.clients__category h3{font-size:clamp(1rem,1.6vw,1.4rem);font-weight:600;letter-spacing:-.025em;margin:0}
.clients__number{color:var(--red);font:400 .6rem 'DM Mono',monospace}
.clients__toggle{display:none}
.clients__logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(.75rem,2vw,2rem);list-style:none;padding:0;margin:1.5rem 0 0}
.clients__logos li{min-width:0;text-align:center}
.clients__logo-placeholder{display:grid;place-items:center;aspect-ratio:1;width:min(100%,100px);margin:0 auto;border:1px solid #1113;border-radius:50%;background:#11104;color:#777}
.clients__logo-placeholder span{font:400 .55rem 'DM Mono',monospace;letter-spacing:.1em}
.clients__logo-label{display:block;width:max-content;max-width:100%;margin:.7rem auto 0;padding-top:.5rem;border-top:1px solid #1113;font:400 .6rem 'DM Mono',monospace;color:#666}
.clients__sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:850px){
 .clients{grid-template-columns:1.2rem minmax(0,1fr);gap:1rem;padding:3rem 1rem}
 .clients__title{font-size:.62rem;gap:1rem}
 .clients__panel{padding:1rem;border-radius:12px}
 .clients__category summary{min-height:48px;cursor:pointer;gap:.5rem}
 .clients__category summary:focus-visible{outline:2px solid var(--red);outline-offset:4px}
 .clients__category h3{font-size:.9rem;line-height:1.4}
 .clients__number{display:none}
 .clients__toggle{display:block;margin-left:auto;flex-shrink:0;color:var(--red);font-size:1.4rem;transition:transform .25s}
 .clients__category[open] .clients__toggle{transform:rotate(45deg)}
 .clients__category+.clients__category{margin-top:.75rem;padding-top:.75rem}
 .clients__logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem .75rem;margin:1rem 0}
 .clients__logo-placeholder{max-width:82px}
}
@media(prefers-reduced-motion:reduce){.clients__toggle{transition:none}}


/* Même typographie que les repères 03 — PROJETS et 04 — SAVOIR-FAIRE. */
.clients__title{font:400 .68rem 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase}
@media(max-width:850px){
 .clients__category{overflow:hidden}
 .clients__category summary:focus-visible{outline-offset:-2px}
 .clients__category[open] .clients__toggle{transform:none}
 .clients__category.is-expanded .clients__toggle{transform:rotate(45deg)}
 .clients__toggle{transition:transform .5s cubic-bezier(.16,1,.3,1)}
}
@media(prefers-reduced-motion:reduce){.clients__toggle{transition:none}}

/* Logos clients et galeries des réalisations. */
.clients__logos li{display:grid;place-items:center;min-width:0}
.clients__logo{width:100%;height:110px;object-fit:contain;background:#fff;padding:.6rem}
.expertise-panel__case{background:transparent;color:inherit;border:0;border-bottom:1px solid;cursor:pointer;padding:.4rem 0;text-align:left}
.expertise-panel__case:focus-visible{outline:2px solid var(--red);outline-offset:4px}
html.gallery-open{overflow:hidden}
.expertise-gallery{width:min(1120px,calc(100% - 2rem));max-height:calc(100svh - 2rem);padding:clamp(1rem,3vw,2rem);border:1px solid #444;border-top:3px solid var(--red);background:var(--ink);color:var(--paper)}
.expertise-gallery::backdrop{background:#000c;backdrop-filter:blur(8px)}
.gallery__header{display:flex;justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1rem}
.gallery__eyebrow{color:var(--red);font:400 .65rem 'DM Mono',monospace;letter-spacing:.13em;margin:0 0 .5rem}
.gallery__header h2{font-size:clamp(1.3rem,3vw,2.5rem);margin:0;letter-spacing:-.04em}
.gallery__close,.gallery__controls button{min-width:44px;min-height:44px;border:1px solid #555;background:transparent;color:inherit;font-size:1.5rem;cursor:pointer}
.gallery__stage{position:relative;background:#111;display:grid;place-items:center;min-height:180px}
.gallery__image,.gallery__video{display:block;width:100%;height:min(62svh,680px);object-fit:contain}
.expertise-gallery [hidden]{display:none!important}
.gallery__controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:1rem}
.gallery__count{font:400 .7rem 'DM Mono',monospace}
.gallery__loading,.gallery__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:90%;margin:0;padding:1rem;background:#090909e8;color:#fff;text-align:center;font:400 .75rem/1.5 'DM Mono',monospace}
.gallery__loading:before{content:'';display:block;width:22px;height:22px;margin:0 auto .7rem;border:2px solid #777;border-top-color:var(--red);border-radius:50%;animation:gallery-spin 1s linear infinite}
.gallery__loading.has-error:before{display:none}
.gallery__play{border:1px solid var(--red);cursor:pointer}
.expertise-gallery button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
@keyframes gallery-spin{to{transform:rotate(360deg)}}
@media(max-width:850px){.projects__dots button{width:26px}.projects__controls{padding-left:.5rem;padding-right:.5rem;gap:0}.projects__count{font-size:.6rem}.clients__logo{height:80px;padding:.3rem}.expertise-gallery{width:calc(100% - 1rem);max-height:calc(100svh - 1rem)}.gallery__image,.gallery__video{height:55svh}}
@media(prefers-reduced-motion:reduce){.gallery__loading:before{animation:none}}

/* Contact : cadrer LDA, libérer LBI. */
.contact__choices>a{transition:background .7s ease,color .7s ease,border-color .5s ease}
.contact__choices>a:first-child:before,.contact__choices>a:first-child:after{content:"";position:absolute;inset:1rem;pointer-events:none;border-color:#111;border-style:solid;transition:transform .65s cubic-bezier(.16,1,.3,1);transform-origin:center}
.contact__choices>a:first-child:before{border-width:1px 0;transform:scaleX(0)}
.contact__choices>a:first-child:after{border-width:0 1px;transform:scaleY(0);transition-delay:.16s}
@media(min-width:851px) and (hover:hover){
 .contact__choices>a:first-child:is(:hover,:focus-visible):before{transform:scaleX(1)}
 .contact__choices>a:first-child:is(:hover,:focus-visible):after{transform:scaleY(1)}
 .contact__choices>a:last-child:is(:hover,:focus-visible){background:#090909;border-color:transparent}
 .contact__choices>a:last-child:is(:hover,:focus-visible) strong{animation:contact-glitch .65s steps(1,end) .15s both}
}
@media(max-width:850px),(hover:none){
 .contact__choices.has-contact-colors>a:first-child:before{transform:scaleX(1);transition-delay:.8s}
 .contact__choices.has-contact-colors>a:first-child:after{transform:scaleY(1);transition-delay:.96s}
 .contact__choices.has-contact-colors>a:last-child{background:#090909;border-color:transparent}
 .contact__choices.has-contact-colors>a:last-child strong{animation:contact-glitch .65s steps(1,end) .8s both}
 .contact__choices>a:first-child:before,.contact__choices>a:first-child:after{inset:.75rem}
}
@keyframes contact-glitch{
 0%,100%{transform:none;text-shadow:none;clip-path:inset(0)}
 15%{transform:translateX(-3px);text-shadow:3px 0 var(--red);clip-path:inset(0 0 3%)}
 25%{transform:translateX(3px);text-shadow:-4px 0 var(--red);clip-path:inset(2% 0 0)}
 35%,65%{transform:none;text-shadow:none;clip-path:inset(0)}
 52%{transform:translateX(-2px);text-shadow:4px 0 var(--red);clip-path:inset(0)}
 78%{transform:translateX(2px);text-shadow:-2px 0 var(--red);clip-path:inset(1% 0)}
}
@media(prefers-reduced-motion:reduce){
 .contact__choices>a,.contact__choices>a:first-child:before,.contact__choices>a:first-child:after{transition:none}
 .contact__choices>a:last-child:is(:hover,:focus-visible) strong,.contact__choices.has-contact-colors>a:last-child strong{animation:none}
}
/* Le trait central assure seul la séparation LDA / LBI. */
.hero__slash{visibility:hidden}

/* Mobile : images du carrousel entières, bandes noires selon leur ratio. */
@media(max-width:850px){
 .projects-carousel .project__image{background:#000}
 .projects-carousel .project__image img{object-fit:contain;transform:none;filter:none}
 .projects-carousel .project:hover .project__image img{transform:none;filter:none}
}
/* Accès direct aux univers web depuis le titre des savoir-faire. */
.expertise-heading__layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.75fr);gap:clamp(2rem,5vw,6rem);align-items:center}
.expertise-heading .expertise-heading__layout h2{font-size:clamp(3rem,6vw,7.5rem);min-width:0}
.showcase-card{display:block;min-width:0;max-width:460px;width:100%;justify-self:end;border:1px solid #444;background:#111;transition:border-color .3s,transform .3s}
.showcase-card__preview{overflow:hidden;border-bottom:1px solid #333;background:#000}
.showcase-card__browser{height:24px;display:flex;align-items:center;gap:5px;padding:0 12px;border-bottom:1px solid #333}
.showcase-card__browser i{width:4px;height:4px;border-radius:50%;background:#777}
.showcase-card__browser i:first-child{background:var(--red)}
.showcase-card__preview img{width:100%;aspect-ratio:2/1;object-fit:cover;transition:transform .5s}
.showcase-card__copy{padding:clamp(1.2rem,2vw,2rem)}
.showcase-card__label{margin:0 0 1rem;color:var(--red);font:400 .6rem/1.5 'DM Mono',monospace;letter-spacing:.1em}
.showcase-card h3{margin:0 0 1.5rem;color:#fff;font-size:clamp(1.3rem,2vw,2rem);line-height:1.1;letter-spacing:-.04em}
.showcase-card__link{display:flex;justify-content:space-between;align-items:center;gap:.75rem;color:#fff;font-size:.85rem}
.showcase-card__link b{color:var(--red);font-size:1.4rem;font-weight:400;transition:transform .3s}
.showcase-card small{display:block;margin-top:.65rem;color:#aaa;font:400 .55rem/1.5 'DM Mono',monospace}
.showcase-card:focus-visible{outline:2px solid var(--red);outline-offset:5px}
@media(hover:hover){.showcase-card:hover{border-color:var(--red);transform:translateY(-3px)}.showcase-card:hover img{transform:scale(1.035)}.showcase-card:hover .showcase-card__link b{transform:translate(2px,-2px)}}
@media(max-width:850px){
 .expertise-heading__layout{display:block}
 .expertise-heading .expertise-heading__layout h2{font-size:clamp(3rem,7vw,7.5rem);margin-bottom:2rem}
 .showcase-card{display:grid;grid-template-columns:clamp(76px,24vw,160px) minmax(0,1fr);max-width:none;margin-bottom:0}
 .showcase-card__preview{position:relative;border-bottom:0;border-right:1px solid #333}
 .showcase-card__browser{display:none}
 .showcase-card__preview img{height:100%;position:absolute;inset:0;aspect-ratio:auto;object-fit:cover}
 .showcase-card__copy{padding:1rem}
 .showcase-card__label{font-size:.5rem;letter-spacing:.04em;margin-bottom:.5rem}
 .showcase-card h3{font-size:1.2rem;margin-bottom:.75rem}
 .showcase-card__link{font-size:.7rem;line-height:1.5}
 .expertise-heading{padding-bottom:2rem}
}
@media(prefers-reduced-motion:reduce){.showcase-card,.showcase-card__preview img,.showcase-card__link b{transition:none}}
.showcase-card__preview img{filter:grayscale(1);object-position:70% center}
