.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;background-color:transparent;color:#FFFFFF;background-image:linear-gradient(180deg, #020000 100%, #f2295b 0%);}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.site-header{background-color:transparent;padding-inline-end:42px;padding-inline-start:42px;background-image:linear-gradient(180deg, #00000000 0%, #F2295B00 100%);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1800px;}.e-con{--container-max-width:1800px;--container-default-padding-top:-3px;--container-default-padding-right:-3px;--container-default-padding-bottom:-3px;--container-default-padding-left:-3px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;gap:0px;}.site-header .site-title{font-family:"Inter", Sans-serif;font-size:33px;font-weight:700;text-transform:uppercase;}.site-header .site-title a{color:#FFFFFF;}.site-header .site-description{font-family:"Inter", Sans-serif;}.site-header .site-navigation ul.menu li a{color:#FFFFFF;}.site-header .site-navigation-toggle .site-navigation-toggle-icon{color:#FAFAFA;}.site-header .site-navigation-toggle{background-color:#BE4F4F00;}.site-header .site-navigation .menu li{font-family:"Inter", Sans-serif;font-size:17px;font-weight:700;letter-spacing:1.1px;}.site-footer .footer-inner{width:0px;max-width:100%;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ================================================= RESET ================================================ */

html, body{
  margin:0;
  padding:0;
  overflow-x:hidden;
  background:#000;
}

/* ================================================= HEADER ================================================ */

header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:1000;
}

/* ================================================= GLOBAL VIDEO STABILITY ================================================ */

video{
  backface-visibility:hidden;
  transform:translateZ(0);
  will-change:transform,opacity;
}

/* ================================================= HERO VIDEO ================================================ */

.hero-video{
  position:relative;
  height:100vh;
  width:100%;
  overflow:hidden;
}

.hero-video .elementor-widget-html,
.hero-video .elementor-widget-container{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

.hero-video-file{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;

  pointer-events:none;
}

/* fade hero video */

.hero-video-file{
  opacity:0;
  transition:opacity 1s ease;
}

.hero-video-file.is-ready{
  opacity:1;
}

/* ================================================= PROJECT CARDS ================================================ */

.hover-video{
  contain:paint;
}

.hover-video video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* ================================================= HOVER VIDEO FOCUS ================================================ */

/* base */

.hover-video{
  filter:brightness(.85);
  transition:filter .35s ease;
}

/* desktop */

@media (hover:hover){

  .hover-video:hover{
    filter:brightness(1);
  }

}

/* mobile */

@media (pointer:coarse){

  .hover-video.is-visible{
    filter:brightness(1);
  }

}

/* ================================================= TITLES ANIMATION (HOME CARDS) ================================================ */

.hover-video .project-title,
.hover-video .project-meta{
  position:absolute;
  left:30px;
  top:50%;

  opacity:0;
  transform:translateY(40px);

  z-index:3;

  transition:
  opacity .35s ease,
  transform .45s cubic-bezier(.2,.7,.2,1);
}

/* hover desktop */

@media (hover:hover){

  .hover-video:hover .project-title,
  .hover-video:hover .project-meta{
    opacity:1;
    transform:translateY(-50%);
  }

}

.hover-video::after{
  content:"";
  position:absolute;
  inset:0;

  background:linear-gradient(
    to right,
    rgba(0,0,0,.55),
    rgba(0,0,0,0) 50%
  );

  opacity:0;
  transition:opacity .35s ease;
}

.hover-video:hover::after{
  opacity:1;
}

/* mobile */

@media (pointer:coarse){

  .hover-video .project-title,
  .hover-video .project-meta{
    opacity:0;
    transform:translateY(40px);
  }

  .hover-video.is-visible .project-title,
  .hover-video.is-visible .project-meta{
    opacity:1;
    transform:translateY(-50%);
  }

}

.hover-video .project-meta{
  margin-top:28px;
  display:block;
}

/* ================================================= VIDEO POPUP ================================================ */

.video-overlay{
  position:fixed;
  inset:0;
  z-index:99999;
  background:#000;
}

.video-overlay iframe{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  width:90vw;
  height:90vh;

  max-width:1600px;
  max-height:900px;

  border:0;
  z-index:1;
}

.close-overlay{
  position:fixed;
  top:30px;
  left:30px;

  width:50px;
  height:50px;

  display:flex;
  align-items:center;
  justify-content:center;

  font-size:32px;
  color:white;

  cursor:pointer;
  z-index:100000;
}

body.video-open{
  overflow:hidden;
}

.close-overlay{
  touch-action:manipulation;
}

/* ================================================= SHOWREEL CARD ================================================ */

.showreel-card{
  position:relative;
  width:100%;
  margin:120px 0 80px 0;

  overflow:hidden;
  background:#000;

  aspect-ratio:3.5/1;
}

/* force Elementor */

.showreel-card .elementor-widget-html,
.showreel-card .elementor-widget-container{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

/* vidéo */

.showreel-card video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;

  object-fit:cover;
  display:block;

  pointer-events:none;

  opacity:0;
  transition:opacity .8s ease;
}

.showreel-card video.is-ready{
  opacity:1;
}

/* overlay */

.showreel-card::after{
  content:"";
  position:absolute;
  inset:0;

  background:linear-gradient(
    to right,
    rgba(0,0,0,.45),
    rgba(0,0,0,0) 60%
  );

  opacity:0;
  transition:opacity .35s ease;

  pointer-events:none;
}

.showreel-card:hover::after{
  opacity:1;
}

/* ================================================= SHOWREEL TITLE ANIMATION ================================================ */

.showreel-card .elementor-heading-title{

  opacity:0;
  transform:translateY(20px);

  transition:
  opacity .35s ease,
  transform .45s cubic-bezier(.2,.7,.2,1);
}

.showreel-card:hover .elementor-heading-title{
  opacity:1;
  transform:translateY(0);
}

/* mobile ratio */

@media (max-width:767px){

  .showreel-card{
    aspect-ratio:4/3 !important;
    height:auto !important;
  }

}

/* ================================================= SHOWREEL TITLE MOBILE ================================================ */

@media (pointer:coarse){

  .showreel-card .elementor-heading-title{
    opacity:1;
    transform:translateY(0);
  }

}

/* ================================================= WORKS GRID OVERLAY ================================================ */

.portfolio-card{
  position:relative;
  overflow:hidden;
}

.portfolio-card::before{
  content:"";
  position:absolute;
  inset:0;

  background:rgba(0,0,0,.35);

  transition:opacity .35s ease;

  z-index:1;
  pointer-events:none;
}

.portfolio-card:hover::before{
  opacity:0;
}

@media (pointer:coarse){

  .portfolio-card.is-visible::before{
    opacity:0;
  }

}
/* image */

.portfolio-card img{
  width:100%;
  height:100%;

  object-fit:cover;
  display:block;

  background:#000;
}

/* iframe player */

.portfolio-card iframe{
  position:relative;
  z-index:2;
}

/* Elementor fill */

.portfolio-card .elementor-widget-image,
.portfolio-card .elementor-widget-container{
  height:100%;
}

/* ================================================= PERFORMANCE ================================================ */

.resizing *{
  transition:none !important;
  animation:none !important;
}

.scrolling-fast video{
  pointer-events:none;
}

/* ================================================= MOBILE MENU FIX ================================================ */

@media (min-width:768px){

  .mobile-menu-popup{
    display:none !important;
  }

}

/* ================================================= FOOTER LINKS ================================================ */

.more-link,
.site-footer-item{
  color:white;
  text-decoration:none;
}

.more-link:hover,
.site-footer-item:hover{
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:2px;
}

/* ================================================= PAGE TRANSITION ================================================ */

body.is-leaving{
  opacity:0;
}
/* ================================================= MOBILE FOOTER SPACING FIX ================================================ */

@media (max-width:767px){

  .more-link{
    margin-top:clamp(12px,4vw,24px);
  }

}
/* ================================================= FIX IOS SCROLL HORIZONTAL ================================================ */

html, body{
  overflow-x:hidden;
  max-width:100%;
}

body{
  position:relative;
}/* End custom CSS */