*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#070807;color:#f3f0e9;font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;width:100%}.progress{position:fixed;z-index:100;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:#f3f0e9;mix-blend-mode:difference}header{position:fixed;z-index:50;inset:0 0 auto;padding:24px clamp(20px,4vw,64px);display:flex;justify-content:space-between;align-items:center;mix-blend-mode:difference}.logo{font-weight:700;letter-spacing:.12em}nav{display:flex;gap:30px}nav a,.ig,.textLink{font-size:10px;letter-spacing:.15em;text-transform:uppercase}.ig,.textLink{border-bottom:1px solid #777;padding-bottom:6px;transition:border-color .25s,opacity .25s}.ig:hover,.textLink:hover{border-color:#fff;opacity:.72}.hero{height:100svh;min-height:680px;position:relative;overflow:hidden}.heroMedia{position:absolute;inset:-3%}.heroMedia img{height:106%;object-fit:cover;object-position:center 45%;filter:saturate(1.07) contrast(1.04);transform:scale(1.015);will-change:transform}.heroVeil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.25) 53%,rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.62),transparent 58%)}.heroCopy{position:absolute;z-index:2;left:clamp(20px,4vw,64px);bottom:8vh}.eyebrow{margin:0 0 24px;color:#aaa69d;font-size:9px;letter-spacing:.2em;text-transform:uppercase}.hero h1{margin:0;font-size:clamp(58px,8.6vw,138px);line-height:.82;letter-spacing:-.07em;font-weight:600}.hero em,h2 em{font-family:Georgia,serif;font-weight:400}.heroBottom{margin-top:42px;display:flex;align-items:end;gap:80px}.heroBottom p{margin:0;color:#b1ada5;font-size:11px;line-height:1.8}.pill{border:1px solid #777;border-radius:100px;padding:13px 19px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;transition:.3s}.pill:hover{background:#eee;color:#111;transform:translateY(-2px)}.sideNote{position:absolute;z-index:2;right:3vw;bottom:35px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.18em;color:#aaa69d}.statement{padding:15vw clamp(20px,7vw,120px);display:grid;grid-template-columns:.6fr 2fr 1fr;gap:5vw;align-items:start}.statement h2,.sectionHead h2{font-size:clamp(46px,6.7vw,106px);line-height:.92;letter-spacing:-.06em;margin:0;font-weight:500}.statement>p:last-child,.headCopy,.craftCopy>p,.aboutCopy>p,.eventCopy>p,.collab{color:#9d9990;font-size:13px;line-height:1.9}.films,.world,.contact{padding:12vw clamp(20px,4vw,64px)}.sectionHead{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:65px}.headCopy{max-width:390px;margin:0}.film{position:relative;overflow:hidden;aspect-ratio:16/9;background:#111;cursor:pointer}.film.feature{aspect-ratio:16/8.2}.film img{height:100%;object-fit:cover;filter:saturate(1.03) contrast(1.03);transition:transform 1.15s cubic-bezier(.2,.7,.2,1),filter .55s}.film:hover img{transform:scale(1.028);filter:saturate(1.13) contrast(1.05)}.filmVeil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 45%,rgba(0,0,0,.48))}.film button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(0,0,0,.18);backdrop-filter:blur(9px);color:white;cursor:pointer;transition:.32s cubic-bezier(.2,.7,.2,1)}.film button span{display:inline-block;transform:translateX(2px)}.film:hover button{background:#eee;color:#111;transform:translate(-50%,-50%) scale(1.07)}.filmCaption{position:absolute;left:25px;bottom:22px}.filmCaption span{display:block;font-size:8px;letter-spacing:.2em;color:#c6c1b7}.filmCaption strong{display:block;margin-top:6px;font-size:clamp(20px,2.7vw,42px);letter-spacing:-.04em}.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.filmGrid{display:grid;grid-template-columns:1fr 1fr;gap:70px 18px;margin-top:90px}.filmGrid .wide{grid-column:1/-1}.filmMeta{display:flex;justify-content:space-between;border-top:1px solid #292929;margin-top:12px;padding-top:13px;font-size:9px;letter-spacing:.1em;color:#8e8980}.expertise{padding:12vw clamp(20px,4vw,64px);background:#0d0e0c}.serviceRows{border-top:1px solid #292a27}.serviceRows article{display:grid;grid-template-columns:55px 1.4fr .8fr;gap:30px;align-items:center;padding:35px 0;border-bottom:1px solid #292a27;transition:padding-left .35s ease,background .35s ease}.serviceRows article:hover{padding-left:12px;background:linear-gradient(90deg,rgba(255,255,255,.018),transparent)}.serviceRows article>span{font-size:9px;color:#777}.serviceRows h3{margin:0 0 10px;font-size:clamp(24px,3vw,44px);letter-spacing:-.04em;font-weight:500}.serviceRows p{margin:0;color:#918d84;max-width:650px;font-size:12px;line-height:1.75}.serviceRows small{text-align:right;color:#767168;font-size:8px;line-height:1.7;letter-spacing:.14em}.craft{padding:14vw clamp(20px,4vw,64px);display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}.craftVisual{height:76vh;min-height:600px;position:relative;overflow:hidden}.craftVisual img,.aboutImage img,.eventImage img,.visualBreak img{height:108%;object-fit:cover;filter:saturate(1.06) contrast(1.03);transform:translateY(-4%);will-change:transform}.craftVisual:after,.eventImage:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.34),transparent 45%)}.craftVisual span{position:absolute;z-index:2;bottom:20px;left:20px;font-size:8px;letter-spacing:.16em}.craftCopy h2,.aboutCopy h2,.eventCopy h2{font-size:clamp(52px,7vw,108px);line-height:.86;letter-spacing:-.065em;margin:0 0 45px;font-weight:500}.mini{display:grid;grid-template-columns:repeat(3,1fr);margin-top:55px;border-top:1px solid #292929;padding-top:18px}.mini span{font-size:8px;line-height:2;color:#777}.mini b{color:#ccc;font-weight:500;letter-spacing:.12em}.visualBreak{height:72vh;min-height:560px;position:relative;overflow:hidden;margin:0 clamp(20px,4vw,64px)}.visualBreak img{object-position:center 43%}.visualBreak:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),transparent 65%)}.visualBreak>div{position:absolute;z-index:2;left:4vw;bottom:4vw}.visualBreak span{display:block;font-size:8px;letter-spacing:.18em;color:#bbb5aa;margin-bottom:12px}.visualBreak strong{font-size:clamp(30px,4vw,68px);letter-spacing:-.05em;font-weight:500}.world{background:#0d0e0c}.worldGrid{display:grid;grid-template-columns:1.1fr .9fr .9fr;gap:14px}.worldGrid figure{margin:0;position:relative;overflow:hidden;height:620px}.worldGrid figure:nth-child(2){height:520px;margin-top:100px}.worldGrid figure:nth-child(3){height:440px;margin-top:180px}.worldGrid img{height:100%;object-fit:cover;filter:saturate(1.08) contrast(1.03);transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}.worldGrid figure:hover img{transform:scale(1.03);filter:saturate(1.18) contrast(1.04)}.worldGrid figcaption{position:absolute;left:18px;bottom:17px;font-size:8px;letter-spacing:.15em;text-shadow:0 1px 8px #000}.collab{max-width:580px;margin:65px 0 0 auto}.eventSplit{padding:14vw clamp(20px,4vw,64px);display:grid;grid-template-columns:1.15fr .85fr;gap:8vw;align-items:center}.eventImage{height:68vh;min-height:520px;overflow:hidden;position:relative}.eventImage img{object-position:center}.about{padding:14vw clamp(20px,4vw,64px);display:grid;grid-template-columns:.85fr 1.15fr;gap:9vw;align-items:center;background:#0a0b09}.aboutImage{height:650px;overflow:hidden}.aboutImage img{object-position:center}.aboutCopy .textLink{display:inline-block;margin-top:25px}.contact{border-top:1px solid #292929}.contact h2{font-size:clamp(66px,11vw,176px);line-height:.79;letter-spacing:-.075em;margin:0;font-weight:500}.contact>p:not(.eyebrow){color:#97928a;margin:40px 0;max-width:500px;line-height:1.7}.contactLinks{display:flex;gap:34px;flex-wrap:wrap}.contactLinks a{font-size:9px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #555;padding-bottom:7px;transition:.25s}.contactLinks a:hover{border-color:#fff}footer{border-top:1px solid #292929;padding:24px clamp(20px,4vw,64px);display:flex;justify-content:space-between;color:#777;font-size:8px;letter-spacing:.14em}.reveal{opacity:0;transform:translateY(34px);transition:opacity 1s ease,transform 1.05s cubic-bezier(.16,.7,.22,1)}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.film img,.worldGrid img,.pill{transition:none}}@media(max-width:800px){header nav{display:none}.hero h1{font-size:15vw}.heroBottom{display:block}.pill{display:inline-block;margin-top:22px}.sideNote{display:none}.statement{grid-template-columns:1fr;padding-top:28vw;padding-bottom:28vw}.statement h2{margin-bottom:20px}.sectionHead{display:block}.sectionHead .textLink,.headCopy{display:inline-block;margin-top:25px}.film.feature{aspect-ratio:16/10}.filmGrid{display:block;margin-top:60px}.filmGrid>div{margin-bottom:48px}.film button{width:58px;height:58px}.serviceRows article{grid-template-columns:35px 1fr}.serviceRows small{grid-column:2;text-align:left}.craft,.about,.eventSplit{grid-template-columns:1fr}.craftVisual,.aboutImage,.eventImage{height:65vh;min-height:480px}.visualBreak{height:62vh;min-height:460px;margin:0 20px}.worldGrid{grid-template-columns:1fr 1fr}.worldGrid figure,.worldGrid figure:nth-child(2),.worldGrid figure:nth-child(3){height:50vh;margin:0}.worldGrid figure:first-child{grid-column:1/-1;height:65vh}.contactLinks{display:grid;justify-items:start}footer{flex-wrap:wrap;gap:12px}}
.logoImage{width:150px;height:52px;display:flex!important;align-items:center}
.logoImage img{width:100%;height:42px;object-fit:contain;object-position:left center}
.socialIcons{display:flex;gap:16px;align-items:center}
.socialIcons a{width:19px;height:19px;opacity:.72;transition:.25s}
.socialIcons a:hover{opacity:1;transform:translateY(-2px)}
.socialIcons svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}
.socialIcons .fill{fill:currentColor;stroke:none}
.extraFilms{display:flex;justify-content:flex-end;gap:20px;flex-wrap:wrap;margin-top:30px;font-size:10px;letter-spacing:.12em;color:#aaa}
.extraFilms a{border-bottom:1px solid #444;padding-bottom:4px}
.hero img,.craft img,.world img,.about img{filter:none!important}
@media(max-width:760px){.logoImage{width:115px}.logoImage img{height:34px}.socialIcons{gap:13px}.socialIcons a{width:18px;height:18px}.extraFilms{justify-content:flex-start}}

.contactOnly{
  width:100%;
  justify-content:center!important;
  align-items:center;
  text-align:center;
  margin-top:52px;
}
.contactOnly a{
  font-size:13px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .contactOnly{align-items:center!important;}
}

.contactOnly{display:flex!important;flex-direction:row!important;justify-content:center!important;gap:34px!important;flex-wrap:wrap}
@media(max-width:600px){.contactOnly{gap:22px!important}}

.socialIcons{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-end!important;gap:14px!important;white-space:nowrap}
.socialIcons a{flex:0 0 19px}
@media(max-width:760px){.socialIcons{gap:11px!important}.socialIcons a{flex-basis:17px;width:17px;height:17px}}

.heroMedia img{object-position:center center}
.visualBreak img{object-position:center 42%}
.aboutImage img{object-position:center 45%}
@media(max-width:760px){
  .heroMedia img{object-position:58% center}
  .aboutImage img{object-position:57% center}
}

/* V4.8 — portfolio video-first */
.filmGrid > div:last-child:nth-child(odd){
  grid-column:1 / -1;
  width:calc(50% - 12px);
  justify-self:center;
}
.contactOnly{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%;
  text-align:center;
}
@media(max-width:850px){
  .filmGrid > div:last-child:nth-child(odd){
    grid-column:auto;
    width:100%;
  }
}

/* V4.9 — contact icon */
.mailIcon{
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:rgba(255,255,255,.82);
  transition:transform .28s ease,color .28s ease,opacity .28s ease;
}
.mailIcon svg{
  width:27px;
  height:27px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mailIcon:hover{
  color:#fff;
  transform:translateY(-3px);
}

/* V6.0 — editorial simplification + exploded films */
.filmBurst{
  position:relative;
  grid-template-columns:repeat(12,1fr);
  gap:22px;
  align-items:start;
  min-height:980px;
  margin-top:110px;
}
.filmBurst>div{transition:transform .9s cubic-bezier(.16,.7,.22,1),opacity .8s ease;will-change:transform}
.filmBurst>div:nth-child(1){grid-column:1/7;transform:translate3d(calc(42px * (1 - var(--burst,0))),calc(90px * (1 - var(--burst,0))),0) rotate(calc(-1.4deg * var(--burst,0)))}
.filmBurst>div:nth-child(2){grid-column:7/13;margin-top:105px;transform:translate3d(calc(-42px * (1 - var(--burst,0))),calc(25px * (1 - var(--burst,0))),0) rotate(calc(1.2deg * var(--burst,0)))}
.filmBurst>div:nth-child(3){grid-column:2/7;margin-top:45px;transform:translate3d(calc(72px * (1 - var(--burst,0))),calc(-55px * (1 - var(--burst,0))),0) rotate(calc(.8deg * var(--burst,0)))}
.filmBurst>div:nth-child(4){grid-column:8/13;margin-top:5px;transform:translate3d(calc(-70px * (1 - var(--burst,0))),calc(-80px * (1 - var(--burst,0))),0) rotate(calc(-1deg * var(--burst,0)))}
.filmBurst>div:nth-child(5){grid-column:4/10;margin-top:10px;transform:translate3d(0,calc(-100px * (1 - var(--burst,0))),0) rotate(calc(.5deg * var(--burst,0)))}
.filmBurst>div:hover{z-index:4;transform:translateY(-8px) scale(1.015)!important}
.filmBurst .filmMeta b{font-weight:500}
.price{margin:44px 0 18px;display:flex;flex-direction:column;align-items:flex-start}
.price span{font-size:8px;letter-spacing:.18em;color:#858178}
.price strong{font-size:clamp(62px,9vw,138px);line-height:.9;letter-spacing:-.065em;font-weight:500;margin-top:10px}
.pricingIntro{max-width:700px;margin-top:46px}
.pricingIntro>p{color:#97928a;line-height:1.8;font-size:13px;max-width:560px}
.priceNote{font-size:11px!important;color:#77736c!important}
.contactOnly{margin-top:36px}
.contact .mailIcon{border-bottom:0!important}
.aboutCopy p{max-width:690px}
@media(max-width:850px){
  .filmBurst{display:block;min-height:0;margin-top:65px}
  .filmBurst>div,.filmBurst>div:nth-child(n){margin:0 0 52px;transform:none!important;width:100%;grid-column:auto}
  .filmBurst>div:hover{transform:none!important}
  .price strong{font-size:20vw}
}
@media(prefers-reduced-motion:reduce){
  .filmBurst>div{transform:none!important}
}

/* V6.1 — progress camera + visual gallery */
.scrollProgress,.progressBar{overflow:visible!important}
.progressCamera{
  position:absolute;
  right:-13px;
  top:50%;
  width:22px;
  height:16px;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  justify-content:center;
  filter:drop-shadow(0 1px 5px rgba(0,0,0,.55));
  pointer-events:none;
}
.progressCamera svg{width:100%;height:100%;fill:#0a0a0a;stroke:#fff;stroke-width:1.45;stroke-linejoin:round}
.progressCamera circle{fill:none}
.instaGallery{padding:160px 4vw 120px}
.instaGallery .sectionHead{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:70px}
.instaGallery .sectionHead h2{margin:12px 0 0}
.galleryMosaic{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-auto-rows:85px;
  gap:12px;
}
.galleryItem{margin:0;overflow:hidden;background:#111}
.galleryItem img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s ease}
.galleryItem:hover img{transform:scale(1.025)}
.galleryItem.g1{grid-column:1/5;grid-row:1/5}
.galleryItem.g2{grid-column:5/9;grid-row:1/4}
.galleryItem.g3{grid-column:9/13;grid-row:1/6}
.galleryItem.g4{grid-column:1/5;grid-row:5/9}
.galleryItem.g5{grid-column:5/9;grid-row:4/9}
.galleryItem.g6{grid-column:9/13;grid-row:6/10}
.galleryItem.g7{grid-column:1/7;grid-row:9/13}
.galleryItem.g8{grid-column:7/13;grid-row:10/13}
@media(max-width:850px){
  .instaGallery{padding:100px 18px 80px}
  .instaGallery .sectionHead{align-items:flex-start;flex-direction:column;margin-bottom:38px}
  .galleryMosaic{grid-template-columns:repeat(2,1fr);grid-auto-rows:145px;gap:8px}
  .galleryItem.g1,.galleryItem.g2,.galleryItem.g3,.galleryItem.g4,.galleryItem.g5,.galleryItem.g6,.galleryItem.g7,.galleryItem.g8{grid-column:auto;grid-row:auto}
  .galleryItem:nth-child(3n+1){grid-row:span 2}
}

/* V6.2 — visual rhythm + camera fixed to the REAL progress line */
.progressCamera{
  position:fixed;
  z-index:101;
  top:2px;
  left:calc(var(--scroll-progress, 0) * (100vw - 24px));
  width:24px;
  height:17px;
  transform:translate(-2px,-1px);
  display:block;
  pointer-events:none;
  filter:drop-shadow(0 2px 5px rgba(0,0,0,.7));
}
.progressCamera svg{display:block;width:100%;height:100%;fill:#070807;stroke:#fff;stroke-width:1.55;stroke-linejoin:round}
.progressCamera circle{fill:none}
.approachVisual{
  position:relative;
  height:min(68vw,760px);
  min-height:430px;
  margin:0 clamp(20px,4vw,64px) 5vw;
  overflow:hidden;
  background:#0d0e0c;
}
.approachVisual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.06) contrast(1.04);
}
.approachVisual:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(0,0,0,.42),transparent 48%);
}
.approachVisual span{
  position:absolute;
  z-index:2;
  left:24px;
  bottom:22px;
  font-size:8px;
  letter-spacing:.17em;
  color:#d0cbc2;
}
@media(max-width:850px){
  .approachVisual{height:56vh;min-height:390px;margin:0 18px 55px}
  .progressCamera{width:21px;height:15px;left:calc(var(--scroll-progress, 0) * (100vw - 21px))}
}

/* V6.6 — film-burn / flash / grain behind exploded films only */
.filmFxZone{position:relative;isolation:isolate;overflow:hidden}
.filmFxZone>*:not(.filmFx){position:relative;z-index:2}
.filmFx{position:absolute;z-index:0;inset:5% -8% 2%;pointer-events:none;overflow:hidden;background:#070706}
.filmFx i{position:absolute;display:block;border-radius:50%;filter:blur(70px);opacity:0;mix-blend-mode:screen}
.filmFx i:nth-child(1){
 width:52vw;height:52vw;left:-20vw;top:8%;
 background:radial-gradient(circle,rgba(255,178,64,.58) 0 7%,rgba(238,78,19,.34) 20%,rgba(121,18,7,.12) 42%,transparent 70%);
 animation:burnOne 11s ease-in-out infinite;
}
.filmFx i:nth-child(2){
 width:44vw;height:64vw;right:-20vw;top:28%;
 background:radial-gradient(ellipse,rgba(255,106,22,.52),rgba(196,31,11,.28) 28%,transparent 68%);
 animation:burnTwo 15s ease-in-out infinite 2.4s;
}
.filmFx i:nth-child(3){
 width:28vw;height:28vw;left:38%;top:48%;
 background:radial-gradient(circle,rgba(255,206,116,.35),rgba(235,58,16,.16) 35%,transparent 72%);
 animation:burnFlash 9s steps(1,end) infinite;
}
.filmFx b{
 position:absolute;inset:-40%;opacity:.12;pointer-events:none;
 background-image:
  radial-gradient(circle at 20% 30%,rgba(255,255,255,.9) 0 .55px,transparent .8px),
  radial-gradient(circle at 70% 60%,rgba(255,255,255,.65) 0 .5px,transparent .75px);
 background-size:5px 5px,7px 7px;
 animation:grainMove .22s steps(2,end) infinite;
 mix-blend-mode:soft-light;
}
@keyframes burnOne{
 0%,12%,100%{opacity:.06;transform:translate(-10%,12%) scale(.8)}
 26%{opacity:.42;transform:translate(16%,-4%) scale(1.15)}
 43%{opacity:.12;transform:translate(32%,18%) scale(.95)}
 69%{opacity:.32;transform:translate(8%,38%) scale(1.25)}
}
@keyframes burnTwo{
 0%,18%,100%{opacity:.05;transform:translate(12%,-12%) scale(.9)}
 36%{opacity:.38;transform:translate(-18%,6%) scale(1.18)}
 57%{opacity:.1;transform:translate(-30%,25%) scale(.95)}
 78%{opacity:.30;transform:translate(-8%,42%) scale(1.12)}
}
@keyframes burnFlash{
 0%,15%,18%,47%,50%,78%,81%,100%{opacity:.02}
 16%{opacity:.32} 48%{opacity:.18} 79%{opacity:.26}
}
@keyframes grainMove{
 0%{transform:translate3d(-2%,-1%,0)}
 25%{transform:translate3d(2%,1%,0)}
 50%{transform:translate3d(-1%,2%,0)}
 75%{transform:translate3d(1%,-2%,0)}
 100%{transform:translate3d(-2%,-1%,0)}
}
@media(max-width:850px){.filmFx{display:none}}
@media(prefers-reduced-motion:reduce){.filmFx i,.filmFx b{animation:none!important}.filmFx i{opacity:.08}}

/* V6.8 — approche plus compacte : l'image remonte sous le titre */
.approach{position:relative;overflow:hidden}
.approach .approachVisual{
  position:relative;
  margin-top:-2.5rem;
  min-height:clamp(360px,54vw,690px);
  overflow:hidden;
}
.approach .approachVisual img{
  width:100%;height:100%;position:absolute;inset:0;
  object-fit:cover;
  opacity:.48;
  filter:brightness(.66) contrast(1.08) saturate(.92);
}
.approach .approachVisual::before{
  content:"";position:absolute;z-index:1;inset:0;pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.82) 0%,rgba(0,0,0,.32) 27%,rgba(0,0,0,.10) 55%,rgba(0,0,0,.48) 100%);
}
.approach .approachVisual::after{
  content:"";position:absolute;z-index:2;inset:-15%;pointer-events:none;
  opacity:.08;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse at 15% 46%,rgba(255,72,14,.75),transparent 25%),
    radial-gradient(ellipse at 88% 30%,rgba(255,145,35,.65),transparent 22%);
  filter:blur(32px);
  animation:approachBurn 10s ease-in-out infinite;
}
@keyframes approachBurn{
  0%,100%{opacity:.035;transform:translate3d(-4%,2%,0) scale(.96)}
  22%{opacity:.14;transform:translate3d(3%,-1%,0) scale(1.03)}
  49%{opacity:.055;transform:translate3d(6%,3%,0) scale(.99)}
  73%{opacity:.12;transform:translate3d(-1%,0,0) scale(1.05)}
}
@media(max-width:850px){
 .approach .approachVisual{margin-top:-1rem;min-height:390px}
 .approach .approachVisual img{opacity:.42}
}
@media(prefers-reduced-motion:reduce){.approach .approachVisual::after{animation:none}}

/* V6.9 — cinematic light treatment */

/* L'approche: brighter orange burns + subtle cool-blue flare */
.approach .approachVisual::after{
  opacity:.14;
  background:
    radial-gradient(ellipse at 10% 50%,rgba(255,116,20,.92) 0%,rgba(255,63,8,.42) 15%,transparent 38%),
    radial-gradient(ellipse at 91% 28%,rgba(255,167,56,.72) 0%,rgba(255,80,12,.25) 17%,transparent 36%),
    radial-gradient(ellipse at 68% 42%,rgba(82,151,255,.24) 0%,rgba(33,91,211,.11) 22%,transparent 46%);
  filter:blur(36px);
  animation:approachBurnV69 8.5s ease-in-out infinite;
}
@keyframes approachBurnV69{
  0%,100%{opacity:.055;transform:translate3d(-6%,2%,0) scale(.96)}
  18%{opacity:.18;transform:translate3d(1%,-1%,0) scale(1.04)}
  38%{opacity:.075;transform:translate3d(7%,2%,0) scale(1)}
  62%{opacity:.16;transform:translate3d(2%,0,0) scale(1.06)}
  82%{opacity:.09;transform:translate3d(-4%,3%,0) scale(1.01)}
}

/* Réalisations: stronger asymmetric orange/red pops, blue flares and living grain */
.filmFx i:nth-child(1){
  width:60vw;height:58vw;left:-25vw;top:3%;
  background:radial-gradient(circle,rgba(255,181,68,.78) 0 6%,rgba(255,86,14,.52) 18%,rgba(178,25,7,.22) 42%,transparent 71%);
  animation:filmPopLeft 8.2s ease-in-out infinite;
}
.filmFx i:nth-child(2){
  width:55vw;height:68vw;right:-27vw;top:24%;
  background:radial-gradient(ellipse,rgba(255,130,26,.68),rgba(221,43,10,.40) 25%,rgba(115,16,7,.12) 46%,transparent 70%);
  animation:filmPopRight 10.4s ease-in-out infinite 1.1s;
}
.filmFx i:nth-child(3){
  width:38vw;height:26vw;left:34%;top:43%;
  background:
    radial-gradient(ellipse at 25% 55%,rgba(77,146,255,.34),rgba(34,83,192,.13) 28%,transparent 61%),
    radial-gradient(circle at 80% 42%,rgba(255,181,73,.42),rgba(255,70,12,.14) 30%,transparent 62%);
  filter:blur(55px);
  animation:filmBlueFlare 7.4s ease-in-out infinite;
}
.filmFx b{opacity:.19;animation:grainMove .16s steps(2,end) infinite}

@keyframes filmPopLeft{
  0%,100%{opacity:.06;transform:translate3d(-14%,12%,0) scale(.82)}
  14%{opacity:.48;transform:translate3d(4%,0,0) scale(1.13)}
  27%{opacity:.14;transform:translate3d(22%,12%,0) scale(.98)}
  55%{opacity:.08;transform:translate3d(5%,30%,0) scale(.92)}
  69%{opacity:.42;transform:translate3d(18%,35%,0) scale(1.20)}
  81%{opacity:.11;transform:translate3d(29%,18%,0) scale(.98)}
}
@keyframes filmPopRight{
  0%,100%{opacity:.05;transform:translate3d(14%,-8%,0) scale(.86)}
  19%{opacity:.12;transform:translate3d(-5%,2%,0) scale(.96)}
  34%{opacity:.46;transform:translate3d(-20%,8%,0) scale(1.18)}
  48%{opacity:.10;transform:translate3d(-30%,22%,0) scale(.94)}
  72%{opacity:.40;transform:translate3d(-12%,38%,0) scale(1.16)}
  86%{opacity:.09;transform:translate3d(-25%,24%,0) scale(.98)}
}
@keyframes filmBlueFlare{
  0%,100%{opacity:.04;transform:translate3d(-12%,2%,0) scale(.9)}
  23%{opacity:.24;transform:translate3d(4%,-3%,0) scale(1.08)}
  41%{opacity:.07;transform:translate3d(15%,4%,0) scale(.96)}
  66%{opacity:.28;transform:translate3d(-2%,8%,0) scale(1.13)}
  83%{opacity:.08;transform:translate3d(-15%,2%,0) scale(.98)}
}
@media(max-width:850px){
  .filmFx{display:block;opacity:.52}
  .filmFx b{opacity:.10}
}
@media(prefers-reduced-motion:reduce){
 .approach .approachVisual::after,.filmFx i,.filmFx b{animation:none!important}
}

/* V7.0 — visual approach supplied by user */
.approachStatement{padding:0!important;margin:0!important;max-width:none!important;overflow:hidden}
.approachComposition{position:relative;width:100%;max-width:1680px;margin:0 auto;background:#050708;overflow:hidden;isolation:isolate}
.approachComposition>img{display:block;width:100%;height:auto;position:relative;z-index:0}
.approachCineFx{position:absolute;z-index:1;inset:0;pointer-events:none;overflow:hidden}
.approachCineFx i{position:absolute;display:block;border-radius:50%;filter:blur(48px);mix-blend-mode:screen}
.approachCineFx i:first-child{
 width:45%;height:86%;left:-20%;top:0;
 background:radial-gradient(ellipse,rgba(255,176,55,.66),rgba(255,80,12,.38) 28%,transparent 68%);
 animation:approachOrangeV7 8.5s ease-in-out infinite
}
.approachCineFx i:nth-child(2){
 width:40%;height:58%;right:-14%;top:14%;
 background:radial-gradient(ellipse,rgba(86,155,255,.28),rgba(35,83,191,.11) 30%,transparent 68%);
 animation:approachBlueV7 10.5s ease-in-out infinite 1.2s
}
.approachCineFx b{
 position:absolute;inset:-25%;opacity:.09;mix-blend-mode:soft-light;
 background-image:radial-gradient(circle,rgba(255,255,255,.7) 0 .45px,transparent .75px),radial-gradient(circle,rgba(255,255,255,.45) 0 .4px,transparent .7px);
 background-size:5px 5px,8px 8px;animation:approachGrainV7 .18s steps(2,end) infinite
}
@keyframes approachOrangeV7{
 0%,100%{opacity:.05;transform:translate(-12%,4%) scale(.92)}
 21%{opacity:.29;transform:translate(3%,-2%) scale(1.06)}
 45%{opacity:.07;transform:translate(12%,5%) scale(.98)}
 70%{opacity:.24;transform:translate(-1%,11%) scale(1.1)}
 85%{opacity:.07;transform:translate(8%,2%) scale(1)}
}
@keyframes approachBlueV7{
 0%,100%{opacity:.035;transform:translate(10%,-4%) scale(.94)}
 30%{opacity:.18;transform:translate(-4%,2%) scale(1.08)}
 58%{opacity:.05;transform:translate(-12%,8%) scale(.98)}
 78%{opacity:.15;transform:translate(1%,4%) scale(1.05)}
}
@keyframes approachGrainV7{
 0%{transform:translate(-2%,-1%)}25%{transform:translate(2%,1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,-2%)}100%{transform:translate(-2%,-1%)}
}
@media(max-width:850px){.approachComposition{min-height:0}.approachCineFx b{opacity:.06}}
@media(prefers-reduced-motion:reduce){.approachCineFx i,.approachCineFx b{animation:none!important}}

/* V7.3 — clean rebuild from supplied V7.0 */
.approachStatement{
 position:relative;isolation:isolate;overflow:hidden;
 min-height:clamp(620px,72vh,850px);
 padding:clamp(5rem,9vw,9rem) clamp(1.4rem,7vw,8rem)!important;
 display:flex;align-items:center;background:#050607;
 margin-top:-1px;
}
.approachBg{
 position:absolute;z-index:-4;inset:-7% 0;
 background:
   linear-gradient(to bottom,rgba(3,4,5,.94) 0%,rgba(3,4,5,.62) 18%,rgba(3,4,5,.48) 52%,rgba(3,4,5,.82) 100%),
   url("assets/approche-bg.webp") center 48%/cover no-repeat;
 transform:scale(1.035);
 animation:approachDrift 14s ease-in-out infinite alternate;
}
.approachStatement::before{
 content:"";position:absolute;z-index:-3;left:0;right:0;top:0;height:30%;
 background:linear-gradient(to bottom,#050607 0%,rgba(5,6,7,.84) 22%,rgba(5,6,7,0) 100%);
 pointer-events:none;
}
.approachContent{position:relative;z-index:3;width:min(860px,100%)}
.approachContent .sectionIndex{display:block;margin-bottom:clamp(1.6rem,3vw,3rem)}
.approachContent h2{margin:0;max-width:820px}
.approachContent p{max-width:680px}
.approachFx{position:absolute;z-index:-2;inset:0;pointer-events:none;overflow:hidden}
.approachFx .burn,.approachFx .flare{position:absolute;border-radius:50%;filter:blur(55px);mix-blend-mode:screen}
.approachFx .burnL{
 width:48vw;height:65vw;left:-28vw;top:8%;
 background:radial-gradient(ellipse,rgba(255,175,50,.55),rgba(255,74,10,.27) 27%,transparent 66%);
 animation:approachBurnL 9s ease-in-out infinite;
}
.approachFx .burnR{
 width:38vw;height:50vw;right:-24vw;bottom:-8%;
 background:radial-gradient(ellipse,rgba(255,122,24,.38),rgba(193,34,9,.18) 30%,transparent 68%);
 animation:approachBurnR 12s ease-in-out infinite 1.8s;
}
.approachFx .flare{
 width:38vw;height:18vw;right:5%;top:28%;
 background:radial-gradient(ellipse,rgba(82,151,255,.20),rgba(34,80,190,.08) 30%,transparent 68%);
 animation:approachFlare 10s ease-in-out infinite;
}
.approachFx .grain{
 position:absolute;inset:-30%;opacity:.08;mix-blend-mode:soft-light;
 background-image:radial-gradient(circle,rgba(255,255,255,.65) 0 .45px,transparent .75px),
 radial-gradient(circle,rgba(255,255,255,.4) 0 .4px,transparent .7px);
 background-size:5px 5px,8px 8px;animation:grainV73 .18s steps(2,end) infinite;
}
/* transition from preceding cinematic banner into Approach */
.approachStatement{mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 100%)}
@keyframes approachDrift{from{transform:scale(1.035) translateY(-1.2%)}to{transform:scale(1.07) translateY(1.4%)}}
@keyframes approachBurnL{0%,100%{opacity:.04;transform:translate(-10%,6%) scale(.9)}22%{opacity:.25;transform:translate(5%,0) scale(1.08)}48%{opacity:.06;transform:translate(14%,8%) scale(.98)}72%{opacity:.20;transform:translate(0,15%) scale(1.12)}}
@keyframes approachBurnR{0%,100%{opacity:.03;transform:translate(12%,-4%) scale(.92)}30%{opacity:.18;transform:translate(-5%,2%) scale(1.08)}62%{opacity:.05;transform:translate(-13%,8%) scale(.98)}80%{opacity:.16;transform:translate(0,3%) scale(1.05)}}
@keyframes approachFlare{0%,100%{opacity:.03;transform:translateX(10%) scale(.95)}35%{opacity:.16;transform:translateX(-5%) scale(1.08)}70%{opacity:.05;transform:translateX(-14%) scale(1)}}
@keyframes grainV73{0%{transform:translate(-2%,-1%)}25%{transform:translate(2%,1%)}50%{transform:translate(-1%,2%)}75%{transform:translate(1%,-2%)}100%{transform:translate(-2%,-1%)}}

/* Realisations — stronger left/right orange pops, cool flare, grain */
.filmFxZone{position:relative;isolation:isolate;overflow:hidden}
.filmFxZone>*:not(.filmFx){position:relative;z-index:2}
.filmFx{position:absolute;z-index:0;inset:3% -8%;pointer-events:none;overflow:hidden;background:#070706}
.filmFx i{position:absolute;border-radius:50%;filter:blur(68px);mix-blend-mode:screen}
.filmFx i:nth-child(1){width:62vw;height:58vw;left:-28vw;top:4%;background:radial-gradient(circle,rgba(255,183,69,.76),rgba(255,82,13,.48) 20%,rgba(171,24,7,.18) 43%,transparent 70%);animation:filmsLeftV73 8s ease-in-out infinite}
.filmFx i:nth-child(2){width:58vw;height:65vw;right:-29vw;top:24%;background:radial-gradient(ellipse,rgba(255,132,28,.64),rgba(217,42,10,.37) 27%,transparent 69%);animation:filmsRightV73 10s ease-in-out infinite 1.2s}
.filmFx i:nth-child(3){width:42vw;height:26vw;left:32%;top:42%;background:radial-gradient(ellipse,rgba(77,145,255,.30),rgba(34,80,190,.10) 30%,transparent 65%);animation:filmsBlueV73 7s ease-in-out infinite}
.filmFx b{position:absolute;inset:-35%;opacity:.18;mix-blend-mode:soft-light;background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 .5px,transparent .8px);background-size:5px 5px;animation:grainV73 .16s steps(2,end) infinite}
@keyframes filmsLeftV73{0%,100%{opacity:.05;transform:translate(-15%,10%) scale(.84)}15%{opacity:.46;transform:translate(4%,0) scale(1.13)}30%{opacity:.11;transform:translate(20%,12%) scale(.98)}68%{opacity:.40;transform:translate(14%,34%) scale(1.18)}83%{opacity:.09;transform:translate(27%,18%) scale(.98)}}
@keyframes filmsRightV73{0%,100%{opacity:.04;transform:translate(14%,-7%) scale(.86)}34%{opacity:.43;transform:translate(-20%,8%) scale(1.16)}49%{opacity:.09;transform:translate(-30%,22%) scale(.94)}72%{opacity:.37;transform:translate(-12%,37%) scale(1.14)}}
@keyframes filmsBlueV73{0%,100%{opacity:.03;transform:translate(-12%,2%) scale(.9)}25%{opacity:.22;transform:translate(4%,-3%) scale(1.08)}65%{opacity:.25;transform:translate(-2%,8%) scale(1.12)}}

@media(max-width:850px){
 .approachStatement{min-height:580px;padding:4.5rem 1.4rem!important}
 .approachBg{background-position:58% 50%}
 .filmFx{opacity:.52}
}
@media(prefers-reduced-motion:reduce){
 .approachBg,.approachFx *,.filmFx *{animation:none!important}
}

/* V7.5 — vraie superposition HERO -> APPROCHE, sans remplacer les photos */
.hero{
  position:relative;
  z-index:2;
  min-height:108vh;
  overflow:hidden;
}
.heroMedia{
  inset:0 0 -12vh 0;
}
.heroMedia::after{
  content:"";
  position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(to bottom,transparent 0 63%,rgba(5,6,7,.12) 72%,rgba(5,6,7,.62) 91%,#050607 100%),
    radial-gradient(ellipse at 18% 91%,rgba(255,99,13,.18),transparent 30%),
    radial-gradient(ellipse at 82% 94%,rgba(63,129,229,.08),transparent 27%);
}
.approachStatement{
  position:relative;
  z-index:3;
  margin-top:-30vh!important;
  min-height:clamp(720px,92vh,980px);
  padding-top:clamp(22rem,34vh,31rem)!important;
  background:transparent!important;
  overflow:hidden;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.approachBg{
  z-index:-4;
  inset:-15% 0 -7% 0;
  background:
    linear-gradient(to bottom,rgba(5,6,7,0) 0%,rgba(5,6,7,.08) 12%,rgba(5,6,7,.34) 27%,rgba(5,6,7,.50) 45%,rgba(5,6,7,.72) 76%,#050607 100%),
    url("assets/approche-bg.webp") center 42%/cover no-repeat;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 9%,rgba(0,0,0,.52) 23%,#000 40%,#000 100%);
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.12) 9%,rgba(0,0,0,.52) 23%,#000 40%,#000 100%);
}
.approachStatement::before{
  z-index:-3;
  top:0;height:47%;
  background:
    radial-gradient(ellipse at 28% 25%,rgba(255,122,22,.18),transparent 34%),
    radial-gradient(ellipse at 76% 30%,rgba(68,137,235,.09),transparent 30%),
    linear-gradient(to bottom,rgba(5,6,7,0) 0%,rgba(5,6,7,.08) 20%,rgba(5,6,7,.35) 58%,rgba(5,6,7,0) 100%);
}
.approachStatement::after{
  content:"";position:absolute;z-index:-2;
  left:-10%;right:-10%;top:11%;height:30%;
  pointer-events:none;mix-blend-mode:screen;
  background:
    radial-gradient(ellipse at 30% 55%,rgba(255,174,55,.28),rgba(255,71,9,.10) 32%,transparent 63%),
    radial-gradient(ellipse at 72% 43%,rgba(75,146,255,.14),rgba(31,75,173,.04) 34%,transparent 66%);
  filter:blur(45px);
  animation:transitionBreath 8.8s ease-in-out infinite;
}
.approachContent{
  position:relative;z-index:4;
  padding-bottom:clamp(3rem,7vh,6rem);
}
.approachFx{z-index:-1}
.approachFx .burnL{top:13%;left:-23%;opacity:.72}
.approachFx .burnR{top:26%;right:-19%;bottom:auto;opacity:.55}
.approachFx .flare{top:22%;right:3%;opacity:.7}
@keyframes transitionBreath{
  0%,100%{opacity:.42;transform:translate3d(-2%,0,0) scale(.98)}
  38%{opacity:.82;transform:translate3d(2%,-2%,0) scale(1.05)}
  68%{opacity:.52;transform:translate3d(5%,2%,0) scale(1.01)}
}
@media(max-width:850px){
 .hero{min-height:102vh}
 .heroMedia{inset:0 0 -7vh 0}
 .approachStatement{
   margin-top:-18vh!important;
   min-height:650px;
   padding-top:14rem!important;
 }
 .approachBg{
   background-position:61% 45%;
   -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.32) 14%,#000 34%,#000 100%);
   mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.32) 14%,#000 34%,#000 100%);
 }
}
@media(prefers-reduced-motion:reduce){.approachStatement::after{animation:none!important}}

/* V7.6 — suppression totale de la ligne de jonction.
   Les deux vraies images restent intactes; on élargit uniquement la zone de mélange. */
.hero{overflow:visible!important}
.heroMedia{
  bottom:-24vh!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.92) 80%,rgba(0,0,0,.58) 90%,transparent 100%);
  mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.92) 80%,rgba(0,0,0,.58) 90%,transparent 100%);
}
.heroMedia::after{
  bottom:-1px!important;
  background:
    linear-gradient(to bottom,transparent 0 54%,rgba(5,6,7,.04) 63%,rgba(5,6,7,.20) 75%,rgba(5,6,7,.48) 90%,rgba(5,6,7,.72) 100%),
    radial-gradient(ellipse at 18% 88%,rgba(255,105,15,.20),transparent 35%),
    radial-gradient(ellipse at 80% 92%,rgba(65,132,232,.09),transparent 32%)!important;
}
.approachStatement{
  margin-top:-43vh!important;
  padding-top:clamp(29rem,46vh,40rem)!important;
}
.approachBg{
  top:-31%!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.05) 9%,rgba(0,0,0,.20) 19%,rgba(0,0,0,.52) 31%,rgba(0,0,0,.82) 43%,#000 55%,#000 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.05) 9%,rgba(0,0,0,.20) 19%,rgba(0,0,0,.52) 31%,rgba(0,0,0,.82) 43%,#000 55%,#000 100%)!important;
}
.approachStatement::before{
  top:-13%!important;height:64%!important;
  background:
    radial-gradient(ellipse at 25% 37%,rgba(255,126,23,.17),transparent 39%),
    radial-gradient(ellipse at 76% 33%,rgba(72,141,239,.08),transparent 36%),
    linear-gradient(to bottom,transparent 0%,rgba(5,6,7,.05) 18%,rgba(5,6,7,.18) 43%,rgba(5,6,7,.30) 62%,transparent 100%)!important;
}
.approachStatement::after{
  top:3%!important;height:46%!important;
  filter:blur(70px)!important;
}
@media(max-width:850px){
 .heroMedia{bottom:-15vh!important}
 .approachStatement{margin-top:-27vh!important;padding-top:19rem!important}
 .approachBg{top:-22%!important}
}


/* V7.6.4 — suppression de la superposition entre "Donner du caractère à l'image"
   et "L'APPROCHE". Les deux sections se suivent normalement. */
.hero{
  overflow:hidden!important;
  min-height:100vh!important;
}
.heroMedia{
  inset:0!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.heroMedia::after{
  bottom:0!important;
  background:
    linear-gradient(to bottom,transparent 0 72%,rgba(5,6,7,.18) 88%,#050607 100%),
    radial-gradient(ellipse at 18% 92%,rgba(255,105,15,.10),transparent 32%),
    radial-gradient(ellipse at 80% 94%,rgba(65,132,232,.05),transparent 30%)!important;
}
.approachStatement{
  margin-top:0!important;
  min-height:clamp(720px,92vh,980px)!important;
  padding-top:clamp(7rem,12vh,10rem)!important;
  background:#050607!important;
}
.approachBg{
  inset:0!important;
  top:0!important;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.72) 10%,#000 22%,#000 88%,rgba(0,0,0,.72) 96%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.72) 10%,#000 22%,#000 88%,rgba(0,0,0,.72) 96%,transparent 100%)!important;
}
.approachStatement::before{
  top:0!important;
  height:30%!important;
}
.approachStatement::after{
  top:4%!important;
  height:24%!important;
  opacity:.55;
}
@media(max-width:850px){
  .hero{min-height:100vh!important}
  .heroMedia{inset:0!important}
  .approachStatement{
    margin-top:0!important;
    min-height:620px!important;
    padding-top:5rem!important;
  }
  .approachBg{top:0!important}
}


/* V7.6.5 — interaction tactile : un toucher lance directement la vidéo */
@media (hover:none) and (pointer:coarse){
  .film:hover img{transform:none!important}
  .film:hover .filmVeil{opacity:inherit}
  .film{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
  .film button{pointer-events:none}
}
.film iframe{width:100%;height:100%;border:0;display:block}


/* V7.6.6 — le premier toucher appartient réellement à la carte vidéo */
.film{cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.film .play,.film .filmVeil,.film img{pointer-events:none}
.film iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;z-index:20;pointer-events:auto}
@media (hover:none) and (pointer:coarse){
  .film:hover img{transform:none!important}
}
