:root{--home-ink:#000;--home-paper:#fff;--home-frame:var(--lpfg-content-frame)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.lpfg-home-v940{margin:0;background:var(--home-paper);color:var(--home-ink);font-family:var(--lpfg-type-family);-webkit-font-smoothing:antialiased}.lpfg-home-v940 .lpfg-site-nav,.lpfg-home-v940 .lpfg-site-footer{color:#000}.home-frame{width:var(--home-frame);margin-inline:auto}.home-kicker{margin:0;font: 700 var(--lpfg-type-micro)/1.25 var(--lpfg-type-family);letter-spacing:.14em;text-transform:uppercase}.home-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.home-hero{position:relative;min-height:calc(100svh - var(--lpfg-shell-nav));overflow:hidden;background:#080808;color:#fff}.home-hero::after{position:absolute;z-index:1;inset:0;background:linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),linear-gradient(180deg,rgba(0,0,0,.34),rgba(0,0,0,.08) 36%,rgba(0,0,0,.2) 72%,rgba(0,0,0,.44));content:"";pointer-events:none}.home-hero-media,.home-hero-media img{position:absolute;inset:0;width:100%;height:100%}.home-hero-media img{display:block;object-fit:cover;object-position:center}.home-hero-content{position:relative;z-index:2;display:grid;min-height:calc(100svh - var(--lpfg-shell-nav));grid-template-rows:auto 1fr auto;padding:clamp(42px,5vw,76px) 0 clamp(38px,5vw,70px)}.home-hero-categories{display:flex;gap:0}.home-hero-categories span+span::before{content:" · ";white-space:pre}.home-hero-title-mobile{display:none}.home-hero-title-group{align-self:center;max-width:1120px}.home-hero h1{max-width:none;margin:0;color:#fff;font-size:clamp(68px,9vw,136px);font-weight:700;line-height:.84;letter-spacing:-.06em;text-transform:uppercase;text-shadow:0 2px 22px rgba(0,0,0,.28)}.home-hero-title-group>p{max-width:520px;margin:clamp(18px,2vw,28px) 0 0;color:#fff;font-size:var(--lpfg-type-helper);line-height:1.45;text-shadow:0 1px 10px rgba(0,0,0,.7)}.home-hero-foot{display:flex;justify-content:flex-end}.home-hero-foot a{padding:12px 0;color:#fff;font-size:var(--lpfg-type-control);font-weight: 700;letter-spacing:var(--lpfg-tracking-control);text-decoration:none;text-transform:uppercase;text-shadow:0 1px 8px rgba(0,0,0,.65)}
.home-films{padding:clamp(112px,9vw,142px) 0 clamp(188px,15vw,232px);background:#fff;color:#000}.home-section-heading h2{margin:0;font-size:clamp(58px,7vw,96px);font-weight:700;line-height:.9;letter-spacing:-.06em}.home-films-heading{margin-bottom:clamp(44px,4.5vw,60px)}.home-film-stage{position:relative;min-width:0;width:100%}.home-film-player{display:block;width:100%;aspect-ratio:16/9;border:0;background:#101010}.home-film-player:focus-visible{outline:0;filter:brightness(.82);transform:translateY(-2px)}.home-film-categories{display:flex;flex-wrap:wrap;gap:8px 22px}.home-film-categories button{min-height:44px;padding:8px 0;border:0;background:transparent;color:rgba(0,0,0,.62);font: 700 var(--lpfg-type-control)/1.2 var(--lpfg-type-family);letter-spacing:var(--lpfg-tracking-control);text-align:left;text-transform:uppercase;cursor:pointer}.home-film-categories button[aria-pressed=true]{color:#000}.home-film-categories button:focus-visible{outline:0;color:#000;transform:translateY(-2px)}.home-film-title{max-width:410px;margin:0;font-size:clamp(28px,2.25vw,36px);font-weight:700;line-height:1.08;letter-spacing:-.045em}.home-film-navigation,.home-method-controls{display:flex;align-items:center}.home-films-caption .home-film-navigation{max-width:280px;justify-content:flex-start;gap:clamp(24px,2.5vw,38px)}.home-film-arrow,.home-method-controls>button{display:grid;flex:0 0 44px;width:44px;height:44px;padding:0;border:0;background:transparent;color:#000;font:400 24px/1 var(--lpfg-type-family);cursor:pointer;place-items:center;transition:opacity .18s ease}.home-film-arrow:hover,.home-method-controls>button:hover{opacity:.55}.home-film-arrow:focus-visible,.home-method-controls>button:focus-visible{outline:0;opacity:1;transform:translateY(-2px);filter:drop-shadow(0 2px 3px rgba(0,0,0,.4))}.home-film-arrow:disabled,.home-method-controls>button:disabled{opacity:.2;cursor:default}.home-film-count,.home-method-count{font: 700 var(--lpfg-type-control)/1 var(--lpfg-type-family);letter-spacing:.11em;white-space:nowrap}
.home-method{padding:0;background:#fff;color:#000}.home-method-opening{position:relative;display:grid;min-height:clamp(720px,78vw,920px);overflow:hidden;background:#e5e5e5;color:#fff}.home-method-visual{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center}.home-method-opening>.home-frame{position:relative;z-index:1;display:flex;min-height:inherit;padding-top:clamp(64px,6vw,92px);padding-bottom:clamp(54px,5vw,76px);flex-direction:column;justify-content:flex-end}.home-method-heading{margin-bottom:clamp(46px,5.5vw,78px)}.home-method-opening h2{max-width:980px;margin:0;font-size:clamp(72px,10vw,150px);line-height:.82;letter-spacing:-.06em}.home-method-intro{max-width:720px}.home-method-intro p{margin:0;font-size:clamp(21px,1.7vw,27px);font-weight:400;line-height:1.36;letter-spacing:-.025em}.home-method-content{padding:clamp(82px,7vw,110px) 0 clamp(112px,9vw,148px)}.home-method-body{display:block}.home-method-carousel{min-width:0}.home-method-controls{width:41.666%;margin:0 0 clamp(26px,2.5vw,36px) auto;justify-content:flex-start;gap:clamp(24px,2.5vw,38px)}.home-method-reel-viewport{width:100%;min-width:0;overflow:hidden;touch-action:pan-y;outline:none}.home-method-reel-viewport:focus-visible{outline:1px solid currentColor;outline-offset:8px}.home-method-reel{display:flex;transform:translate3d(0,0,0);transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}.home-method-card{display:grid;min-height:clamp(220px,17vw,270px);flex:0 0 100%;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(30px,4vw,62px);align-content:start;align-items:start}.home-method-card h3{grid-column:1/span 6;max-width:650px;margin:0;font-size:clamp(54px,5.25vw,76px);line-height:.92;letter-spacing:-.06em}.home-method-card>div{grid-column:8/span 5;max-width:480px;padding-top:7px;font-size:clamp(19px,1.35vw,21px);line-height:1.5}
.home-contact{padding:clamp(126px,10vw,160px) 0;background:#050505 url('/assets/fond-noir-v978.jpg') center/cover no-repeat;color:#fff}.home-contact-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(70px,9vw,132px);align-items:start}.home-contact h2{max-width:620px;margin:0 0 28px;font-size:clamp(46px,4.9vw,70px);line-height:.98;letter-spacing:-.052em}.home-contact-grid>div>p:last-child{max-width:430px;margin:0;font-size:var(--lpfg-type-body);line-height:1.55}.home-contact form{display:grid;align-content:start;gap:26px}.home-contact label{display:grid;gap:12px;font: 700 var(--lpfg-type-control)/1.2 var(--lpfg-type-family);letter-spacing:var(--lpfg-tracking-control);text-transform:uppercase}.home-contact input,.home-contact textarea{width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.66);border-radius:0;background:transparent;color:#fff;font:400 var(--lpfg-type-body)/1.5 var(--lpfg-type-family);outline:0;resize:vertical}.home-contact input{min-height:46px}.home-contact textarea{min-height:112px}.home-contact input:focus-visible,.home-contact textarea:focus-visible{border-bottom-color:#fff;box-shadow:inset 0 -2px #fff}.home-contact [aria-invalid=true]{border-bottom-color:#fff;box-shadow:inset 0 -2px #fff}.home-contact-field-error{margin:-18px 0 0;color:#fff;font:700 var(--lpfg-type-control)/1.35 var(--lpfg-type-family);letter-spacing:.04em}.home-contact button{justify-self:start;min-height:44px;margin-top:8px;padding:18px 22px;border:1px solid #fff;background:transparent;color:#fff;font: 700 var(--lpfg-type-control)/1.2 var(--lpfg-type-family);letter-spacing:var(--lpfg-tracking-control);text-transform:uppercase;cursor:pointer}.home-contact button:hover{background:#fff;color:#000}.home-contact button:focus-visible{outline:0;background:rgba(255,255,255,.14);transform:translateY(-2px)}.home-contact button:disabled{opacity:.55;cursor:wait}.home-contact-trap{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.home-contact-status{margin:0;color:#fff;font-size:var(--lpfg-type-helper);line-height:1.5}
@media(max-width:820px){.home-films{padding:104px 0 156px}.home-films-showcase{display:grid;grid-template-columns:1fr;gap:48px;align-items:stretch}.home-films-caption{display:grid;min-height:0;grid-template-rows:auto auto auto;gap:30px;align-items:start}.home-film-title{align-self:auto}.home-films-caption .home-film-navigation{align-self:auto;margin-top:8px}.home-method-opening{min-height:800px}.home-method-content{padding:82px 0 112px}.home-method-controls{width:41.666%;margin-bottom:34px}.home-contact{padding:112px 0}.home-contact-grid{grid-template-columns:1fr;gap:70px}}
@media(max-width:540px){.home-hero::after{background:linear-gradient(rgba(0,0,0,.10),rgba(0,0,0,.10)),linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.08) 34%,rgba(0,0,0,.18) 62%,rgba(0,0,0,.58))}.home-hero-content{padding:34px 0 28px}.home-hero-categories{display:grid;gap:5px}.home-hero-categories span+span::before{content:none}.home-hero-title-desktop{display:none}.home-hero-title-mobile{display:inline}.home-hero-title-group{align-self:end;margin-bottom:clamp(54px,14vh,112px)}.home-hero h1{font-size:var(--lpfg-mobile-type-manifesto);line-height:.86}.home-hero-title-group>p{max-width:330px;margin-top:18px;line-height:1.5}.home-films{padding:82px 0 132px}.home-films-heading{margin-bottom:38px}.home-section-heading h2{font-size:var(--lpfg-mobile-type-section);line-height:var(--lpfg-mobile-leading-display)}.home-films-showcase{gap:38px}.home-films-caption{gap:26px}.home-film-title{font-size:var(--lpfg-mobile-type-card-title)}.home-films-caption .home-film-navigation{max-width:none;margin-top:2px}.home-method-opening{min-height:860px}.home-method-visual{object-position:100% center}.home-method-opening>.home-frame{padding-top:58px;padding-bottom:52px}.home-method-heading{margin-bottom:38px}.home-method-opening h2{font-size:var(--lpfg-mobile-type-chapter);line-height:var(--lpfg-mobile-leading-display)}.home-method-intro p{font-size:18px;line-height:1.42}.home-method-content{padding:68px 0 94px}.home-method-controls{width:100%;margin-bottom:28px}.home-method-card{display:block;min-height:340px}.home-method-card h3{font-size:var(--lpfg-mobile-type-module);line-height:.92}.home-method-card>div{padding-top:34px;font-size:var(--lpfg-type-body);line-height:var(--lpfg-mobile-leading-body)}.home-contact{padding:88px 0 96px}.home-contact h2{font-size:var(--lpfg-mobile-type-section);line-height:.98}.home-contact-grid{gap:54px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-method-reel{transition:none}}
/* Focus without selection boxes. */
.home-film-categories{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:clamp(12px,1.25vw,22px)}
.home-film-categories button{font-size:clamp(11px,.78vw,var(--lpfg-type-control));white-space:nowrap}
.home-method-signature{margin:22px 0 0;color:inherit;font-size:var(--lpfg-type-micro);font-weight:700;letter-spacing:var(--lpfg-tracking-control);text-transform:uppercase}
@media(max-width:540px){.home-film-categories{display:grid;grid-template-columns:1fr;gap:0}.home-film-categories button{font-size:var(--lpfg-type-control)}.home-method-signature{margin-top:16px}}
.home-hero-foot a{display:inline-flex;align-items:center}
.home-method-picture{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%}
@media(min-width:900px){.home-hero-title-group>p{max-width:none;white-space:nowrap}}
.lpfg-home-v940 .lpfg-next h2{text-wrap:balance}
.lpfg-home-v940 .lpfg-next .lpfg-next-intro{position:static;max-width:780px;margin:clamp(28px,3vw,42px) 0 0;color:inherit;font:400 var(--lpfg-type-body)/1.55 var(--lpfg-type-family);letter-spacing:-.015em;text-transform:none}
@media(max-width:540px){.lpfg-home-v940 .lpfg-next h2{font-size:clamp(40px,11vw,46px)}}

.home-film-arrow,.home-method-controls>button{font-size:0}
.home-hero-foot .lpfg-arrow--down{width:14px;height:22px;margin-left:clamp(10px,.75vw,14px);vertical-align:middle}

@media(max-width:540px){
  .home-films-showcase{display:grid;grid-template-columns:minmax(0,1fr);gap:0;touch-action:pan-y}
  .home-films-caption{display:contents}
  .home-film-categories{grid-row:1;margin:0 0 34px}
  .home-film-stage{grid-row:2}
  .home-film-title{grid-row:3;margin:42px 0 0}
  .home-films-caption .home-film-navigation{grid-row:4;margin:28px 0 0}
}

@media(max-width:540px){.home-method-visual{object-position:center}}

@media(min-width:821px){
  .home-films-showcase{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:0;align-items:start}
  .home-films-caption{display:contents}
  .home-film-categories{grid-column:1/-1;grid-row:1;justify-content:flex-start;gap:clamp(18px,2.2vw,34px);margin:0 0 clamp(26px,2.4vw,34px)}
  .home-film-categories button{font-size:var(--lpfg-type-control)}
  .home-film-stage{grid-column:1/-1;grid-row:2}
  .home-film-title{grid-column:1/span 6;grid-row:3;align-self:start;max-width:520px;margin:clamp(32px,3vw,42px) 0 0;text-wrap:pretty}
  .home-films-caption .home-film-navigation{grid-column:8/span 5;grid-row:3;align-self:start;max-width:280px;margin:clamp(32px,3vw,42px) 0 0;justify-content:flex-start}
}

/* Volumes harmonisés avec le rythme éditorial commun. */
.home-method-reel-viewport:focus-visible{outline:0;filter:brightness(.82);transform:translateY(-2px)}
.home-films{padding-bottom:clamp(140px,11vw,160px)}
.home-method-content{padding-top:clamp(76px,6.5vw,96px);padding-bottom:clamp(96px,8vw,126px)}

@media(max-width:820px){
  .home-films{padding-bottom:132px}
  .home-method-content{padding-top:74px;padding-bottom:98px}
}

@media(max-width:540px){
  .home-films{padding-bottom:112px}
  .home-method-content{padding-top:62px;padding-bottom:84px}
  .home-method-card{min-height:320px}
}

/* Keep the mobile introduction at the top of the portrait. */
@media(max-width:760px){
  .home-method-opening>.home-frame{justify-content:flex-start}
}

/* Desktop veil: preserve faces while supporting the text on the left. */
@media(min-width:761px){
  .home-method-opening::after{position:absolute;z-index:0;inset:0;pointer-events:none;content:"";background:linear-gradient(90deg,rgba(0,0,0,.50),rgba(0,0,0,.40) 50%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent 30%,#000 65%);mask-image:linear-gradient(180deg,transparent 30%,#000 65%)}
}

/* Reserve mobile title rows so copy stays on the same axis between steps. */
.home-method-card h3{min-height:var(--home-method-title-height,0px)}

@media(max-width:760px){.home-method-opening{color:#fff}.home-method-visual{object-position:center top}}

/* Unified method: one image, shared editorial axes and content-driven height. */
.home-method{position:relative;isolation:isolate;overflow:hidden;background:#080808;color:#fff}
.home-method::after{position:absolute;z-index:0;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.30),rgba(0,0,0,.46) 42%,rgba(0,0,0,.80))}
.home-method-opening{display:block;min-height:0;overflow:visible;background:transparent}
.home-method-opening::after{display:none}
.home-method-opening>.home-frame{min-height:0;padding-top:clamp(76px,6.5vw,96px);padding-bottom:0;justify-content:flex-start}
.home-method-heading{margin-bottom:clamp(38px,4vw,56px)}
.home-method-intro{max-width:780px}
.home-method-content{position:relative;z-index:1;padding-top:clamp(48px,4.5vw,64px);padding-bottom:clamp(96px,8vw,126px)}
.home-method-controls>button{color:inherit}
.home-contact{background:#fff;color:#000;color-scheme:light}
.home-contact input,.home-contact textarea{border-bottom-color:rgba(0,0,0,.66);color:inherit}
.home-contact input:focus-visible,.home-contact textarea:focus-visible,.home-contact [aria-invalid=true]{border-bottom-color:currentColor;box-shadow:inset 0 -2px currentColor}
.home-contact-field-error,.home-contact-status,.home-contact-noscript{color:inherit}
.home-contact button{border-color:currentColor;color:inherit}
.home-contact button:hover{background:#000;color:#fff}
.home-contact button:focus-visible{outline:1px solid currentColor;outline-offset:4px;background:transparent}
@media(max-width:820px){.home-method-content{padding-bottom:98px}}
@media(max-width:760px){
 .home-method-opening>.home-frame{padding-top:58px;padding-bottom:0}
 .home-method::after{background:linear-gradient(180deg,rgba(0,0,0,.38),rgba(0,0,0,.58) 35%,rgba(0,0,0,.86))}
 .home-method-content{padding-top:42px;padding-bottom:84px}
}
