/* OFF ZE WALL — V5 : typographie cohérente, ticker recentré, expériences unifiées, galerie mobile. */
:root{--gallery-gap:14px;--gallery-tile:clamp(210px,22vw,305px)}
/* NAVIGATION : même fonte, même graisse et écart de seulement 1px entre liens et CTA.
   Le span du CTA possédait encore un ancien font-size:1.35rem qui grossissait le texte. */
@media (min-width:1400px){
  .site-header .nav-link-custom,.site-header .nav-dropdown-toggle{font-size:20px!important;font-weight:650}
  .site-header .header-cta{font-size:21px!important;font-weight:650}
}
@media (min-width:1200px) and (max-width:1399px){
  .site-header .nav-link-custom,.site-header .nav-dropdown-toggle{font-size:18px!important;font-weight:650}
  .site-header .header-cta{font-size:19px!important;font-weight:650}
  .site-header .primary-nav{gap:11px}
}
.site-header .header-cta .cta-label-desktop,
.site-header .header-cta .cta-label-mobile{
  font-family:var(--ozw-ui)!important;
  font-size:inherit!important;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  margin:0;
}
.site-header .header-cta .cta-arrow{font-size:1.08em!important;line-height:1;flex:none}
/* La hauteur et les zones de clic restent inchangées. */

/* TICKER : sa mise en page ne dépend plus de top:50% + un transform vertical
   (qui causait le texte trop bas). Chaque mot occupe exactement le centre de la bande. */
.energy-ticker-stage,.energy-ticker-stage.kinetic-words{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
}
.energy-ticker-stage>span{
  position:absolute;inset:0;top:0!important;left:0!important;
  box-sizing:border-box;width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  margin:0;line-height:1;white-space:nowrap;
  font-size:clamp(2.15rem,4.7vw,4.45rem);
  transform-origin:center center;
  padding:0 56px;
}
/* Aucun changement à l'effet 'impact/rebond', seulement une légère mise à l'échelle. */
@media(max-width:767px){.energy-ticker-stage>span{font-size:clamp(1.9rem,6vw,3.2rem);padding-inline:24px}}
@media(max-width:575px){.energy-ticker-stage>span{font-size:clamp(1.8rem,7.1vw,2.75rem);padding-inline:14px}}

/* EXPERIENCES : le balayage lumineux (ex-V4 carte 4) est appliqué aux 5 cartes.
   Les labels numérotés et labels d'effets ont été supprimés du HTML. */
.experience-card.fx-exp-wipe:hover>img,
.experience-card.fx-exp-wipe:focus-within>img{
  transform:scale(1.12) translateX(10px);
}
.experience-card.fx-exp-wipe:hover .experience-card-body,
.experience-card.fx-exp-wipe:focus-within .experience-card-body{transform:none}

/* GALERIE : ruban continu d'une seule rangée de carrés 1:1,
   dupliqué en JS pour boucler sans saut. Chaque vignette garde sa lightbox. */
.gallery-section .gallery-viewport{
  position:relative;overflow:hidden;width:100vw;max-width:none;
  margin-left:calc(50% - 50vw);
  padding:7px 0 11px; isolation:isolate;
}
.gallery-section .gallery-track{
  --gallery-gap:14px;
  display:flex;align-items:stretch;gap:var(--gallery-gap);
  width:max-content;max-width:none;
  transform:translate3d(0,0,0);
}
.gallery-section .gallery-track.is-animated{
  animation:ozw-gallery-flow 32s linear infinite;
  will-change:transform;
}
.gallery-section .gallery-viewport:hover .gallery-track,
.gallery-section .gallery-viewport:focus-within .gallery-track,
.gallery-section .gallery-track.is-paused{
  animation-play-state:paused;
}
@keyframes ozw-gallery-flow{
  0%{transform:translate3d(0,0,0)}
  100%{transform:translate3d(calc(-50% - (var(--gallery-gap) / 2)),0,0)}
}
.gallery-section .gallery-track .gallery-item{
  flex:0 0 var(--gallery-tile);
  display:block;position:relative;
  width:var(--gallery-tile);height:auto;aspect-ratio:1/1;
  min-height:0;overflow:hidden;
  transform:translateZ(0);
}
.gallery-section .gallery-track .gallery-item img{
  display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
}
.gallery-section .gallery-viewport::before,
.gallery-section .gallery-viewport::after{
  content:'';position:absolute;top:0;bottom:0;width:clamp(18px,3vw,55px);z-index:2;pointer-events:none;
}
.gallery-section .gallery-viewport::before{left:0;background:linear-gradient(90deg,var(--soft),transparent)}
.gallery-section .gallery-viewport::after{right:0;background:linear-gradient(270deg,var(--soft),transparent)}
@media(max-width:767px){
  :root{--gallery-tile:clamp(220px,57vw,330px)}
  .gallery-section .gallery-track{--gallery-gap:10px}
  .gallery-section .gallery-track.is-animated{animation-duration:30s}
}
@media(prefers-reduced-motion:reduce){
  .gallery-section .gallery-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}
  .gallery-section .gallery-track,.gallery-section .gallery-track.is-animated{animation:none!important;transform:none!important;will-change:auto}
  .gallery-section .gallery-track .gallery-item{scroll-snap-align:start}
  .gallery-section .gallery-viewport::before,.gallery-section .gallery-viewport::after{display:none}
  .energy-ticker-stage>span{animation:none!important;opacity:0;transform:none!important;filter:none!important}
  .energy-ticker-stage>span:first-child{opacity:1}
}
