/* FX Tenets v1.1 - mecanique "Tenets" : fond sticky + carte d'intro qui grandit + bande horizontale pinnee (desktop) / pile verticale + swipe (mobile) */
.txh-root{--txh-dark:#1a1919;--txh-light:#fff;--txh-text:#1a1919;--txh-subc:#717170;--txh-r:10px;--txh-s:1px;--txh-sp:20px;
  position:relative;color:var(--txh-text);overflow-x:clip;font-size:16px;line-height:1.5;font-family:var(--e-global-typography-text-font-family,inherit),sans-serif}
.txh-root *,.txh-root *:before,.txh-root *:after{box-sizing:border-box}
.txh-root img,.txh-root video{display:block;max-width:none}
.txh-root p{margin:0}
.txh-root h2,.txh-root h3{margin:0;padding:0;color:inherit}
.txh-h{font-family:var(--e-global-typography-primary-font-family,inherit),sans-serif;font-weight:var(--e-global-typography-primary-font-weight,400);letter-spacing:.02em;text-transform:uppercase;line-height:1.05}
.txh-h0{font-size:calc(var(--txh-r) * 4.8)}
.txh-h1{--h1fs:calc(var(--txh-r) * 3.6);font-size:min(var(--h1fs),var(--tw,999vw));display:block}
.txh-sub{font-family:"Pinyon Script","Snell Roundhand","Brush Script MT",cursive;font-weight:400;text-transform:none;letter-spacing:0;color:var(--txh-subc);--subfs:calc(var(--txh-r) * 6);font-size:min(var(--subfs),var(--sw,999vw));line-height:1.1;display:block}
.txh-p{font-size:16px;line-height:1.6}
.txh-h3t{font-size:22px;line-height:1.35}
.txh-nowrap{white-space:normal}
/* mobile : taille des titres ajustee au mot le plus long (polices du site plus larges) */
.txh-ttl{--tw:var(--tw-m);--sw:var(--sw-m);overflow-wrap:break-word}
.txh-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.txh-media{position:relative;overflow:hidden}
.txh-media>img,.txh-media>video{width:100%;height:100%;object-fit:cover}
.txh-dark{background:var(--txh-dark)!important;color:#fff}
.txh-dark .txh-sub{color:#fff}

/* ---------- fond Tenets (sticky) ---------- */
.txh-tenets{position:relative;height:300svh;background:var(--txh-dark)}
.txh-tenets-sticky{position:sticky;top:0;height:100svh;overflow:hidden}
.txh-tenets-sticky img{width:100%;height:100%;object-fit:cover}
.txh-tenets-sticky:after{content:"";position:absolute;inset:0;background:#000;opacity:var(--txh-ov,.25)}
.txh-exp{position:relative;z-index:1;margin-top:-200svh}

/* ---------- MOBILE (pile verticale) ---------- */
.txh-track>.txh-item{position:relative;background:var(--txh-light)}
/* mobile : carte d'intro epinglee 1 ecran, elle s'ouvre en plein ecran (fenetre clip-path) et la video s'elargit */
.txh-intro{height:200svh;background:none!important;overflow:visible!important}
.txh-intro-pin{position:sticky;top:0;height:100svh;overflow:hidden}
.txh-card{--cx:20px;--ci:calc(50svh - (100vw - 40px) * .5625);position:absolute;left:0;top:0;width:100vw;height:100svh;clip-path:inset(var(--ci) var(--cx));background:var(--txh-light);color:var(--txh-text)}
.txh-card-title{position:absolute;left:calc(var(--cx) + 20px);right:calc(var(--cx) + 20px);top:max(calc(var(--ci) + 20px),76px);z-index:1}
.txh-card-title svg{display:block;width:100%;height:auto;overflow:visible}
.txh-card-title text{fill:currentColor}
.txh-card-title .txh-logo{display:block;width:min(52%,calc(var(--txh-logo-w,45%) * 1.2));height:auto;margin:0 auto}
.txh-logo-dark{filter:invert(1) hue-rotate(180deg)}
.txh-card-text{position:absolute;left:calc(var(--cx) + 20px);right:calc(var(--cx) + 20px);bottom:calc(var(--ci) + 20px);text-align:center;z-index:1}
.txh-card-video{position:absolute;left:0;top:50%;width:100vw;aspect-ratio:16/9;transform:translateY(-50%)}
.txh-cv-media{position:absolute;inset:0;overflow:hidden;clip-path:inset(36px calc(40px + (100vw - 80px) * .2666))}
.txh-cv-media>img,.txh-cv-media>video{width:100%;height:100%;object-fit:cover;transform:scale(1.25)}
.txh-cv-title,.txh-cv-text{display:none}
/* anti va-et-vient horizontal (iOS) : chaque panneau mobile coupe ce qui depasse */
.txh-track>.txh-item:not(.txh-intro){overflow:hidden}
.txh-mvideo{padding:calc(var(--txh-sp)*3) var(--txh-sp) calc(var(--txh-sp)*2)}
.txh-mvideo .txh-ttl{text-align:center;margin-bottom:calc(var(--txh-sp)*2)}
.txh-mvideo .txh-media{aspect-ratio:16/9}
.txh-mvideo .txh-p{margin-top:var(--txh-sp)}
.txh-ttl>span:last-child{padding-top:var(--txh-sp)}
.txh-full .txh-media{width:100%;aspect-ratio:var(--ar,.857)}
.txh-bottom{padding:calc(var(--txh-sp)*3) var(--txh-sp) calc(var(--txh-sp)*2)}
.txh-bottom .txh-ttl{text-align:center;margin-bottom:calc(var(--txh-sp)*2)}
.txh-bottom .txh-p{text-align:center;padding-bottom:var(--txh-sp)}
.txh-bottom .txh-media{aspect-ratio:4/3}
.txh-trio .txh-c1{padding-top:calc(var(--txh-sp)*3);text-align:center}
.txh-trio .txh-ttl{position:relative;z-index:1}
.txh-trio .txh-imgs{display:flex;gap:10px;align-items:flex-start;padding-top:calc(var(--txh-sp)*2)}
.txh-trio .txh-imgs .txh-media{flex:1;aspect-ratio:264/360}
.txh-trio .txh-imgs .txh-media:first-child{margin-left:-40px;margin-top:40px}
.txh-trio .txh-imgs .txh-media:nth-child(3){margin-right:-40px;margin-top:40px}
.txh-trio .txh-c3{padding:calc(var(--txh-sp)*4) var(--txh-sp) calc(var(--txh-sp)*2)}
.txh-duo .txh-c1{padding:var(--txh-sp) var(--txh-sp) 0}
.txh-duo .txh-c2{padding:calc(var(--txh-sp)*3) 0 calc(var(--txh-sp)*4)}
.txh-duo .txh-imgs .txh-media{aspect-ratio:600/440}
.txh-duo .txh-ttl{text-align:center;margin-top:-.55em;position:relative}
.txh-duo .txh-ttl>span:first-child{padding-bottom:var(--txh-sp)}
.txh-duo .txh-ttl>span:last-child{padding-top:0}
.txh-service{display:flex;flex-direction:column}
.txh-service .txh-cc{padding-top:calc(var(--txh-sp)*3)}
.txh-service .txh-ttl{text-align:center;padding:0 var(--txh-sp);position:relative;z-index:1;margin-bottom:-.25em}
.txh-service .txh-ttl>span:first-child{padding-bottom:var(--txh-sp)}
.txh-service .txh-ttl>span:last-child{padding-top:0}
.txh-service .txh-center{margin-left:25vw;width:50vw;aspect-ratio:360/500}
.txh-service .txh-right{margin-left:20px;margin-top:-40px;width:calc(50vw - 40px);aspect-ratio:1}
.txh-service .txh-left{margin-left:calc(50vw + 20px);margin-top:-20px;width:calc(50vw - 40px);aspect-ratio:1}
.txh-service .txh-ct{padding:calc(var(--txh-sp)*2) var(--txh-sp)}
.txh-wide{overflow:hidden}
.txh-wide .txh-media{width:100vw;height:100svh}
.txh-wide .txh-media:after,.txh-finale .txh-media:after{content:"";position:absolute;inset:0;background:#000;opacity:.25}
.txh-wide .txh-ttl{position:absolute;left:0;bottom:0;width:100%;text-align:center;padding-bottom:calc(var(--txh-sp)*2);z-index:1}
.txh-wide .txh-ttl>span:first-child{padding-bottom:var(--txh-sp)}
.txh-wide .txh-ttl>span:last-child{padding-top:0}
.txh-carousel .txh-c1{padding:var(--txh-sp) var(--txh-sp) calc(var(--txh-sp)*3)}
.txh-carousel .txh-c2{padding-bottom:calc(var(--txh-sp)*2)}
.txh-carousel .txh-imgs .txh-media{aspect-ratio:600/480}
.txh-finale{height:100svh;overflow:hidden}
.txh-finale .txh-media{position:absolute;inset:0}
.txh-finale .txh-ttl{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin-top:-30px;z-index:1;text-align:left}
.txh-finale .txh-ttl>span:last-child{margin-top:-.27em;padding:0 0 0 .6em;position:relative}
.txh-finale .txh-ttl{width:calc(100% - var(--txh-sp) * 2);text-align:center}
.txh-finale .txh-ttl>.txh-sub{white-space:nowrap;padding:0;margin-top:.1em}
.txh-finale .txh-ft{position:absolute;left:0;bottom:0;width:100%;padding:0 var(--txh-sp) calc(var(--txh-sp)*2);text-align:center;z-index:1}
.txh-btn-w{margin-top:var(--txh-sp)}
/* bouton "liquid glass" ; padding = boutons Contactez-nous de la page (1% 4% mobile, 2% 4% desktop d'une colonne ~550px) */
.txh-btn-w{width:100%}
.txh-root .txh-ft a.txh-btn{position:relative;isolation:isolate;overflow:hidden;display:inline-block;padding:1% 4%;border-radius:50px;color:#fff;fill:#fff;
  font-family:var(--e-global-typography-a2ef3d3-font-family,inherit);font-weight:var(--e-global-typography-a2ef3d3-font-weight,inherit);
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(18px) saturate(190%) brightness(1.08);backdrop-filter:blur(18px) saturate(190%) brightness(1.08);
  box-shadow:inset 0 1.5px 1px rgba(255,255,255,.85),inset 0 -1.5px 1px rgba(255,255,255,.25),inset 0 0 18px rgba(255,255,255,.18),0 10px 30px rgba(0,0,0,.35);
  text-shadow:0 1px 2px rgba(0,0,0,.25);transition:background .35s ease,box-shadow .35s ease,transform .35s ease}
.txh-root .txh-ft a.txh-btn:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.55) 0%,rgba(255,255,255,.12) 45%,rgba(255,255,255,0) 55%,rgba(255,255,255,.14) 100%)}
.txh-root .txh-ft a.txh-btn:after{content:"";position:absolute;top:-60%;left:-30%;width:40%;height:220%;z-index:-1;pointer-events:none;transform:rotate(20deg) translateX(-120%);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));transition:transform .9s cubic-bezier(.29,.52,.5,1)}
.txh-root .txh-ft a.txh-btn:hover,.txh-root .txh-ft a.txh-btn:focus{color:#fff;background:rgba(255,255,255,.26);transform:translateY(-1px);
  box-shadow:inset 0 1.5px 1px rgba(255,255,255,.95),inset 0 -1.5px 1px rgba(255,255,255,.3),inset 0 0 22px rgba(255,255,255,.25),0 14px 36px rgba(0,0,0,.4)}
.txh-root .txh-ft a.txh-btn:hover:after{transform:rotate(20deg) translateX(420%)}
@media (min-width:668px) and (min-height:416px),(min-width:980px){.txh-root .txh-ft a.txh-btn{padding:11px 22px}}
/* swipe mobile */
.txh-swipe{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;padding:0 20px;-webkit-overflow-scrolling:touch}
.txh-swipe::-webkit-scrollbar{display:none}
.txh-swipe>.txh-media{flex:0 0 calc(100vw - var(--txh-sp)*3);scroll-snap-align:center}
.txh-swipe:after{content:"";flex:0 0 10px}
.txh-desk{display:none}

/* reveal */
/* reveal facon Sobha (mobile + desktop) : sur-titre = cercle, titre = lettre par lettre, texte = mot par mot, images = fondu */
.txh-root{--txh-e:cubic-bezier(.29,.52,.5,1)}
.txh-rv[data-d="1"]{--dl:.15s}.txh-rv[data-d="2"]{--dl:.3s}.txh-rv[data-d="3"]{--dl:.45s}
.txh-rv{opacity:0;transform:translateY(30px);transition:opacity .9s ease var(--dl,0s),transform 1.2s cubic-bezier(.22,1,.36,1) var(--dl,0s)}
.txh-rv.txh-in{opacity:1;transform:none}
.txh-sub.txh-rv{opacity:1;clip-path:circle(29.5% at -100% 250%);transform:scale(1.5) rotate(2deg);transform-origin:0 75%;transition:clip-path 1.4s var(--txh-e) var(--dl,0s),transform 1.4s var(--txh-e) var(--dl,0s)}
.txh-sub.txh-rv.txh-in{clip-path:circle(80% at 50% 50%);transform:none}
.txh-h1.txh-rv.txh-split{opacity:1;transform:translateY(120%) scale(1.25);transform-origin:50% 0;transition:transform 1.4s var(--txh-e) var(--dl,0s)}
.txh-h1.txh-rv.txh-split.txh-in{transform:none}
.txh-w{display:inline-block;white-space:nowrap}
.txh-ch{display:inline-block;opacity:0;transform:translateY(calc(var(--i,0) * 10%)) rotate(2deg);transition:transform 1.4s var(--txh-e),opacity 1.4s var(--txh-e);transition-delay:calc(var(--dl,0s) + var(--i,0) * 20ms)}
.txh-in .txh-ch{opacity:1;transform:none}
.txh-rv.txh-split:not(.txh-h1){opacity:1;transform:none}
.txh-split .txh-wd{opacity:0;transition:opacity 1s cubic-bezier(.7,0,.3,1);transition-delay:calc(var(--dl,0s) + var(--l,0) * 40ms)}
.txh-split.txh-in .txh-wd{opacity:1}
.txh-media>img,.txh-media>video{opacity:0;transition:opacity 1.2s ease}
.txh-media.txh-in>img,.txh-media.txh-in>video{opacity:1}

/* ---------- DESKTOP / TABLETTE (bande horizontale pinnee) ---------- */
@media (min-width:668px) and (min-height:416px),(min-width:980px){
  .txh-root{--txh-s:clamp(.5px,calc(.5px + (100vw - 980px) * .0022727),1px);--txh-r:clamp(7px,calc(7px + (100vw - 980px) * .013636),10px);--txh-sp:30px}
  .txh-h0{font-size:calc(var(--txh-r) * 9)}
  .txh-h1{--h1fs:calc(var(--txh-r) * 6)}
  .txh-sub{--subfs:calc(var(--txh-r) * 8)}
  .txh-ttl{--tw:999vw;--sw:999vw}
  .txh-nowrap{white-space:nowrap}
  .txh-p{font-size:clamp(13px,calc(var(--txh-r) * 1.6),17px)}
  .txh-h3t{font-size:calc(var(--txh-r) * 2.6)}
  .txh-mob{display:none!important}
  .txh-desk{display:block}
  .txh-tenets{height:300svh}
  .txh-slider{position:relative;height:var(--txh-est,auto)}
  .txh-sticky{position:sticky;top:0;height:100svh;overflow-x:clip;overflow-y:visible}
  .txh-track{display:flex;align-items:stretch;width:max-content}
  .txh-track>.txh-item{flex:0 0 auto;height:100svh;min-width:0}
  .txh-track>.txh-item+.txh-item{margin-left:-1px}
  .txh-intro{width:100vw;z-index:1;height:100svh}
  .txh-intro-pin{position:relative;height:100%;overflow:visible}
  .txh-track>.txh-item:not(.txh-intro){overflow:visible}
  .txh-full,.txh-wide,.txh-finale{overflow:hidden!important}
  .txh-card{left:0;width:100vw;height:auto;clip-path:none;aspect-ratio:.8;top:50%;transform:translateY(-50%) scale(.3333);transform-origin:center;display:flex;flex-direction:column;justify-content:center}
  .txh-cv-title,.txh-cv-text{display:block}
  .txh-card-title{left:calc(var(--txh-s) * 60);right:calc(var(--txh-s) * 60);top:calc(var(--txh-s) * 60)}
  .txh-card-text{left:calc(var(--txh-s) * 120);right:calc(var(--txh-s) * 120);bottom:calc(var(--txh-s) * 60);font-size:calc(var(--txh-r) * 3.9);line-height:1.23;font-weight:500;z-index:1}
  .txh-card-video{display:flex;position:relative;left:auto;top:auto;transform:none;width:50vw;aspect-ratio:720/480;margin:0 auto}
  .txh-cv-media{position:absolute;inset:0;overflow:hidden;clip-path:inset(0% 26.66% 0% 26.66%)}
  .txh-cv-media>img,.txh-cv-media>video{width:100%;height:100%;object-fit:cover;transform:scale(1.25)}
  .txh-cv-title{position:absolute;right:calc(100% - var(--txh-sp) * 2);width:calc(25vw + var(--txh-sp));top:0;z-index:1}
  .txh-cv-title .txh-h1{font-size:min(var(--h1fs),var(--cvt,99vw))}
  .txh-cv-title .txh-sub{font-size:min(var(--subfs),var(--cvs,99vw));white-space:nowrap}
  .txh-cv-title>span{display:block}
  .txh-cv-title>span:first-child{margin-top:-.55em;position:relative}
  .txh-cv-title>span:last-child{padding:var(--txh-sp) 0 0 .7em}
  .txh-cv-text{position:absolute;bottom:0;left:calc(100% + var(--txh-sp));width:calc(var(--txh-s) * 180)}
  .txh-cv-fade{opacity:0}
  .txh-full{width:calc(100svh * var(--ar,.857));overflow:hidden}
  .txh-full .txh-media{width:100%;height:100%;aspect-ratio:auto}
  .txh-move>img,.txh-move>video{width:120%;height:100%}
  .txh-bottom{width:66.6667vw;padding:0 16.6667vw;display:flex;flex-direction:column;justify-content:flex-end}
  .txh-bottom .txh-ttl{margin-bottom:0}
  .txh-bottom .txh-ttl>span:last-child{padding:var(--txh-sp) 0 calc(var(--txh-s) * 73)}
  .txh-bottom .txh-p{max-width:calc(var(--txh-s) * 430);margin:0 auto}
  .txh-trio{display:flex;width:108.3333vw}
  .txh-trio .txh-c1{width:25vw;flex:0 0 25vw;align-self:flex-end;padding:0 0 var(--txh-sp) var(--txh-sp);text-align:left}
  .txh-trio .txh-ttl{width:100vw}
  .txh-trio .txh-ttl>span{margin-left:-20px;padding:0 20px}
  .txh-trio .txh-ttl>span:last-child{padding-top:var(--txh-sp)}
  .txh-trio .txh-imgs{width:58.3333vw;flex:0 0 58.3333vw;padding:calc(var(--txh-sp)*6) var(--txh-sp) 0 0;gap:calc(var(--txh-s) * 10)}
  .txh-trio .txh-imgs .txh-media:first-child,.txh-trio .txh-imgs .txh-media:nth-child(3){margin:0}
  .txh-trio .txh-c3{width:16.6667vw;flex:0 0 16.6667vw;padding:calc(var(--txh-sp)*6) 0 var(--txh-sp)}
  .txh-trio .txh-c3 .txh-p{max-width:calc(var(--txh-s) * 180)}
  .txh-duo{display:flex;padding-right:16.6667vw}
  .txh-duo .txh-c1{margin-left:8.3333vw;padding:calc(var(--txh-sp)*5) var(--txh-sp) 0 0;width:calc(var(--txh-r) * 36);flex:0 0 auto}
  .txh-duo .txh-c2{margin-left:8.3333vw;width:83.3333vw;flex:0 0 83.3333vw;padding:calc(var(--txh-sp)*5) 0 0}
  .txh-duo .txh-imgs{display:flex;gap:calc(var(--txh-s) * 10);padding:0;overflow:visible}
  .txh-duo .txh-imgs .txh-media{flex:1}
  .txh-service{flex-direction:row;width:91.6667vw}
  .txh-service>div{flex:0 0 16.6667vw;width:16.6667vw}
  .txh-service .txh-ct{order:1;align-self:flex-end;padding:0 0 var(--txh-sp)}
  .txh-service .txh-ct .txh-p{max-width:calc(var(--txh-s) * 180)}
  .txh-service .txh-cr{order:2;padding-top:calc(var(--txh-sp)*6)}
  .txh-service .txh-cc{order:3;margin-left:8.3333vw;align-self:flex-end;padding:0 0 var(--txh-sp)}
  .txh-service .txh-cl{order:4;margin-left:8.3333vw;padding-top:calc(var(--txh-s) * 80)}
  .txh-service .txh-ttl{text-align:center;margin:0 0 -.36em calc(-1.5em - 8.3333vw);padding:0;white-space:nowrap}
  .txh-service .txh-center,.txh-service .txh-right,.txh-service .txh-left{margin:0;width:100%}
  .txh-service .txh-center{max-height:calc(100svh - var(--txh-sp)*6 - 16.6667vw)}
  .txh-wide{width:151.6588svh;overflow:clip}
  .txh-wide .txh-media{width:100%;height:100svh}
  .txh-wide .txh-move>img,.txh-wide .txh-move>video{width:125%}
  .txh-carousel{display:flex;padding-right:16.6667vw}
  .txh-carousel .txh-c1{margin-left:8.3333vw;padding:calc(var(--txh-sp)*7) 0 0;width:calc(var(--txh-r) * 36);flex:0 0 auto}
  .txh-carousel .txh-c2{margin-left:8.3333vw;width:41.6667vw;flex:0 0 41.6667vw;padding:0}
  .txh-carousel .txh-imgs{display:flex;flex-direction:column;gap:calc(var(--txh-s) * 10);padding:0;overflow:visible;will-change:transform}
  .txh-carousel .txh-imgs .txh-media{flex:0 0 auto;width:100%}
  .txh-finale{width:100vw}
  .txh-finale .txh-move>img,.txh-finale .txh-move>video{width:max(120vw,177.78svh)}
  .txh-finale .txh-ttl{margin:calc(var(--txh-s) * -20) 0 0 calc(var(--txh-s) * -20)}
  .txh-finale .txh-ttl>span:last-child{padding-left:1em}
  .txh-finale .txh-ttl{width:auto;text-align:left}
  .txh-finale .txh-ttl>.txh-sub{margin-top:-.27em}
  .txh-card-title .txh-logo{width:var(--txh-logo-w,45%)}
  .txh-finale .txh-ft .txh-p{max-width:calc(var(--txh-s) * 480);margin:0 auto}
  .txh-swipe{overflow:visible;scroll-snap-type:none}
  .txh-swipe>.txh-media{flex:1 1 0}
  .txh-swipe:after{display:none}
}
@media (min-width:1440px) and (min-height:700px){
  .txh-root{--txh-sp:30px}
  .txh-h0{font-size:calc(var(--txh-r) * 11.4)}.txh-h1{--h1fs:calc(var(--txh-r) * 8)}.txh-sub{--subfs:calc(var(--txh-r) * 10)}
}
@media (min-width:1920px) and (min-height:700px){
  .txh-h0{font-size:calc(var(--txh-r) * 16)}.txh-h1{--h1fs:calc(var(--txh-r) * 11)}.txh-sub{--subfs:calc(var(--txh-r) * 14)}
  .txh-card-text{font-size:calc(var(--txh-r) * 4.8)}
}
@media (min-width:2400px) and (min-height:700px){.txh-root{--txh-sp:40px}}
@media (prefers-reduced-motion:reduce){.txh-rv{opacity:1;transform:none;transition:none}}
