
/* this is for the scrolling side handles to match up with boxes */
*, *::after, *::before {
    box-sizing: border-box;
  }

  :root {
    --handle-size:3rem;
    --img-gap: 0rem;
  }
  /* end of scrolling side handles */

* {
    margin: 0;
    box-sizing: border-box;
    padding: 0px;
}

html, body {
    font-family: Inter_Regular;
  background-attachment: fixed;
  background-size: cover;
  color-scheme: dark;  
    background:
    /* dot matrix */
    radial-gradient(circle, rgba(255, 191, 0, 0.03) 1px, transparent 1px),
    /* your gradient */
    radial-gradient(
    ellipse at  center,       /* position the gradient at the top */
    rgba(52, 52, 52, 0.935)10%,  /* light center */
    rgba(10, 16, 23, 0.994) 100%      /* darker edges */
  );
  background-size: 10px 10px, cover;  /* dot spacing + gradient fill */
  background-position: 0 0, center;
  background-attachment: fixed;  
}

.nav__bottom-bar {
  position: fixed;
  top: 50px; /* right below your 50px-tall nav */
  width: 100%;
  height: 20px; /* adjust as needed */
  background-color: #cfb4a1;
  color: rgba(255, 255, 255, 0.986);
  margin-top: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  font-family: Inter_Regular;
  font-size: 14px;
}

.nav__bottom-content {
  width: 100%;
  max-width: 1200px;
  padding: 0 20px;
  text-align: center;
}

body::-webkit-scrollbar {
    display: none;
}


.scroll__row {
  margin-top: -110px;
}

.spacer {
  height: 86px;
}

.spacer_2 {
  height: 40px;
}


.sections {
    display: flex;
    justify-content: left;
   padding-left: 0px;
    font-size: 30px;
    font-family: Gilroy_Medium;
    font-weight: 0;
    z-index: 16;
   color: #85767600;
  background: -webkit-linear-gradient(90deg,#636363, #808080);
  -webkit-background-clip: text;rgb(255, 255, 255)
  -webkit-text-fill-color: transparent;
}

.scroll__header__top {
  margin-top: 50px;
}

/* STOP HERE graphics  */

.separator__bar {
    display:flex;
    height: 100px;
}



.row {
    color:  #fff;
    margin-left: 30px;
    margin-top: 80px;
    z-index: 99;
}





    .navbar {
        position: fixed;
        top: 0px;
        width: 100%;
        background-color: #000000;
        color: rgb(0, 0, 0);
        padding: 0px;
        display: flex;
        justify-content: right;
        align-items: center;
        z-index: 1000;
      }
    
      .navbar a {
        color:#f0ffbf;
        text-decoration: none;
        margin: 0 1rem;
      }
    
      .navbar a:hover {
        text-decoration: underline;
      }
    
      .content {
        padding: 0px 0px 0px; /* Add top padding to avoid content being hidden under navbar */
      }
    
      .nav__logo {
        width: 100px;
        object-fit: contain;
    }
    
    .nav__avatar {
        width: 30px;
        object-fit: contain;
    }
    
    .nav {
        position: fixed;
        top: 0;
        width: 100%;
        display: flex;
        padding: 0px;
        z-index: 999;
        justify-content: space-between;
        transition-timing-function: ease-in;
        transition: all 0.2s;
        height: 60px;
        align-items: center;
        background: linear-gradient(270deg, #000000 00%, #000000 100%);/* #ffb000 is Current yellow */
        #ffb000
    }
    
    /* This is when you scroll, if on*/
    .nav__black {
        background-color: #fbc81d;
        z-index: 2;
    }
    
    .nav__title {
      cursor: pointer;
      color: #ffffff00;
       background: -webkit-linear-gradient(90deg,#ffffff, #cecece);
       -webkit-background-clip: text;rgb(255, 255, 255)
       -webkit-text-fill-color: transparent;
      font-size: 24px;
      font-family: Gilroy_Bold;
      font-weight: bold;
      justify-content: center;
      text-align: center;
      margin-left: 50px;
      margin-top: 6px;
      border: none;
      background-color: transparent;
      white-space: nowrap;
      overflow: none;
      padding-right: 0px;
      z-index: 2;
}

.contactBtn {
  cursor: pointer;
  color: #ffffff00;
  background: -webkit-linear-gradient(90deg,#ffffff, #cecece);
  /* this is for black on yellow -webkit-linear-gradient(90deg,#424242, #151515); */
  -webkit-background-clip: text;rgb(255, 255, 255)
  outline: none;
  border: none;
  margin-right: 30px;
  margin-top: 2px;
  font-family: Gilroy_Bold;
  font-size: 20px;
  position: absolute;
  right: calc(16px + env(safe-area-inset-right));
  top: 50%;
  transform: translateY(-50%);
}
    
        .nav__page {
            cursor: pointer;
            color: #fff;
            font-family: arial;
            font-size: 12px;
            margin-top: 8px;
            padding: 0px 10px;
            justify-content: left;
            text-decoration: none !important;
            border: none;
            background: transparent;
        }
    
    
        .nav__buttons {
            margin-top:0px;
        }
        .nav__button {
            cursor: pointer;
            color: #ffffff00;
       background: -webkit-linear-gradient(90deg,#424242, #151515);
       -webkit-background-clip: text;rgb(255, 255, 255)
            outline: none;
            border: none;
            font-weight: 700;
            border-radius: 3vw;
            padding-left: 2rem;
            padding-right: 2rem;
            margin-right: 15px;
            padding-top: 0.2rem;
            padding-bottom: 0.2rem;
            font-family: Gilroy_Bold;
            font-size: 16px;
            }
    
            .nav__button:hover {
              padding-left: 2rem;
              padding-right: 2rem;
              margin-right: 15px;
              padding-top: 0.2rem;
              padding-bottom: 0.2rem;
              font-family: Gilroy_Bold;
              font-size: 20px;
    
            }
    
    .nav__spacer {
        display: flex;
        justify-content: flex-start;
        /* adjustment */
        position: relative;
        /* new */
        width: 100%;
        height: 200px;
    }

.hide {

    display:flex;
    object-fit: cover;
    color: #fbc81d;
    z-index: 99;
    position: absolute;
  }
  


  /* This is for the titles to fade in over the preview videos */

  .preview__wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
  }
  
  .preview__overlay {
    position: absolute;
    bottom: 10%;
    right: 5%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    pointer-events: none;
    opacity: 1; /* <- keep the overlay itself always visible */
  }
  
  .preview__title {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    text-align: right;
    text-shadow: 0 0 5px rgba(0,0,0,0.2);
    color: #ffaa00;
    font-family: Gilroy_Bold, serif;
    font-size: 18px;
    background: rgba(0, 0, 0, 0.0);
  }

 .preview__client {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    text-align: right;
    text-shadow: 0 0 5px rgba(0,0,0,0.);
    color: white;
    font-family: Gilroy_Medium, serif;
    font-size: 12px;
    background: rgba(0, 0, 0, 0.0);
  }
  
  /* When hover happens */
  .oldvideoPreview__box:hover .preview__title {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s; /* Title appears immediately */
  }
  
  .oldvideoPreview__box:hover .preview__client {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.15s; /* Client appears 150ms later */
  }

/* End of Titles fading in over preview */

  /* custom fonts */


  

/* Galano */
@font-face { font-family: Galano Grotesque; src: url('Galano_Grotesque.otf'); } 
@font-face { font-family: Galano Grotesque; font-weight: bold; src: url('Galano_Grotesque_ExtraBold.otf');}

/* DIN PRO */
@font-face { font-family: DIN PRO; font-weight: normal; src: url('D-DIN-PRO-400-Regular.otf'); } 
@font-face { font-family: DIN PRO; font-weight: bold; src: url('D-DIN-PRO-700-Bold.otf');}
@font-face { font-family: DIN PRO SEMIBOLD; font-weight: normal; src: url('D-DIN-PRO-600-SemiBold.otf');}
@font-face { font-family: DIN PRO EXTRABOLD; font-weight: normal; src: url('D-DIN-PRO-800-ExtraBold.otf');}

@font-face { font-family: Perpetua; font-weight: normal; src: url('perpeta.ttf');}


/* Inter*/
@font-face { font-family: Inter_Bold; src: url('Inter-Bold.ttf'); } 
@font-face { font-family: Inter_SemiBold; src: url('Inter-SemiBold.ttf'); } 
@font-face { font-family: Inter_Black; src: url('Inter-Black.ttf'); } 
@font-face { font-family: Inter_Regular; src: url('Inter-Regular.ttf'); } 
@font-face { font-family: Inter_Medium; src: url('Inter-Medium.ttf'); } 

 /* Apple Garamond */
@font-face { font-family: Apple_Garamond_Bold; src: url('Fonts/Apple_Garamond/AppleGaramond-Bold.ttf'); } 
@font-face { font-family: Apple_Garamond_BoldItalic; src: url('Fonts/Apple_Garamond/AppleGaramond-BoldItalic.ttf'); } 
@font-face { font-family: Apple_Garamond_Italic; src: url('Fonts/Apple_Garamond/AppleGaramond-Italic.ttf'); } 
@font-face { font-family: Apple_Garamond_Light; src: url('Fonts/Apple_Garamond/AppleGaramond-Light.ttf'); } 
@font-face { font-family: Apple_Garamond_LightItalic; src: url('Fonts/Apple_Garamond/AppleGaramond-LightItalic.ttf'); } 
@font-face { font-family: Apple_Garamond; src: url('Fonts/Apple_Garamond/AppleGaramond.ttf'); } 


  /* Gilroy */
@font-face { font-family: Gilroy_Regular; src: url('Fonts/Gilroy/Gilroy-Regular.ttf'); } 
@font-face { font-family: Gilroy_Bold; src: url('Fonts/Gilroy/Gilroy-Bold.ttf'); } 
@font-face { font-family: Gilroy_Medium; src: url('Fonts/Gilroy/Gilroy-Medium.ttf'); } 
@font-face { font-family: Gilroy_Black; src: url('Fonts/Gilroy/Gilroy-Black.ttf'); } 
@font-face { font-family: Gilroy_Light; src: url('Fonts/Gilroy/Gilroy-Light.ttf'); } 


 /* Steel Tongs */
 @font-face { font-family: SteelTongs; src: url('SteelTongs.ttf'); } 

 /* Cera */
 @font-face { font-family: CeraPro-Medium; src: url('Fonts/CeraPro/CeraPro-Medium.otf'); } 



 .lightbox {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.8);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.3s ease;
}

.lightbox.hidden {
  display: none;
}

.lightbox-content {
  position: relative;
  width: 80%;
  max-width: 960px;
  aspect-ratio: 16/9;
  background: #000;
  overflow: hidden;
}

.lightbox-content iframe {
  width: 100%;
  height: 100%;
  border: none;
}

#lightbox-close {
  position: absolute;
  top: -40px;
  right: 0;
  font-size: 2rem;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
}

.lightbox-content{ aspect-ratio:16/9; background:#000; }
.lightbox-content.ratio-239{ aspect-ratio:2.39/1; }


 /*landing page CSS */

 .landing__button {
    cursor: pointer;
    color:  white;
    outline: none;
    border: none;
    font-weight: 700;
    font-family: Inter_Bold;
    border-radius: 50px;
    padding: 10px 50px;
    background-color: rgba(1, 1, 1, 0.2);
    margin-top: 0px;
 }

 .landing__button:hover {
    background-color: #fbc81d;
    color: #111;
 }

 .landing__container {
    display: flex;
    object-fit: contain;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-image: url('images/landing page/background Black and White.jpg');
    background-size: cover;
    background-position: center;
    height: 100vh;
 }

 .landing__logo {
    vertical-align: 50%;
    font-size: 24px;
    font-family: Inter_Black;
    font-weight: bold;
    color: #fbc81d;
    margin-top: -100px;
 }

 /* video player on individual pages */

 .video__container__youtube {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    height: 80vh;
    background-color: #000;
    margin-top: 30px;

 }

 /* footer here  */
 .footer {
    background-color: #fbc81d;
    display: none;
    height: 100px;
 }



 /* this is all for the sliders side to side  */

 .scroll__container {
    display: flex;
    justify-content: center;
    overflow: hidden;
    padding-bottom: 50px;
    margin-top: -30p;
    padding-top: 10px;
    padding-left: 0px;
    padding-right:0px;
    margin-left: 0px;
    overflow-x: hidden; /* Or auto if you want natural scroll */

    
  }

  .oldvideoPreview{
    display: flex;
    object-fit: fill;
    min-width: 100%;
    max-height: 100%;
    
  }

  .movie__slider {
    --items-per-screen: 4;
    --slider-index: 0;
    display: flex;
    flex-wrap: nowrap;
    transition: transform 300ms ease-in-out;
    transform: translateX(calc(var(--slider-index) * -100%));
    width: max-content; /* <-- allow it to grow to fit all items */
    padding: 0 10px; /* Adjust as needed */
    gap: 8px; /* to expand gap and make everything work, double it for the padding above then add the two numbers together for the margin-right below */
    margin-right: 24px;
  }


  .movie__slider .oldvideoPreview, .movie__slider .oldvideoPreview__box {
    flex: 0 0 calc(100% / var(--items-per-screen));
    max-width: calc(100% / var(--items-per-screen));
    aspect-ratio: 16 / 9;
    max-height: 100%;
    padding: var(--img-gap);
    padding: 0;
    background: transparent;
    overflow: hidden;
    border-radius: 3px;
    box-shadow: 00px 4px 7px rgba(0, 0, 0, 0.4); /* <-- Drop shadow */
  }

  .movie__slider .oldvideoPreview:hover {
    box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.3); /* <-- Drop shadow */
    border: solid #ffffff 0px;
    border-radius: 0px;
    
  }

  .oldvideoPreview__box {
  display: flex;
  width: 100%;
  object-fit: cover;
  height: 100%;
  flex: 0 0 calc(100% / 4); /* for 4 previews on large screens */
  max-width: calc(100% / 4);
  border-radius: 8px;
  overflow: hidden;
  margin-right: 0px;
  margin-left: 0px;
  box-shadow: 0px 4px 15px rgba(0, 0, 0, 0.9); /* <-- Drop shadow */
  transition: transform 0.2s ease, box-shadow 0.3s ease;
}

.oldvideoPreview__box:hover {
  transform: scale(1.01);
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.4); /* <-- Drop shadow */
}

  


  .poster__slider {
    --items-per-screen: 7;
    --slider-index: 0;
    display: flex;
    flex-grow: 1;
    margin: 0 var(--img-gap);
    transform: translateX(calc(var(--slider-index) * -100%));
    transition: transform 250ms ease-in-out;
  }
  
  
  .poster__slider > img {
    flex: 0 0 calc(100% / var(--items-per-screen));
    max-width: calc(100% / var(--items-per-screen));
    aspect-ratio: 9 / 14;
    max-height: 1200px;
    padding: var(--img-gap);
    border-radius: 9.5px;
    
  }
  

  .scroll__header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: .5rem calc(var(--img-gap) * 2 + var(--handle-size));
    align-items: center;
  }

  .scroll__header__top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: .5rem calc(var(--img-gap) * 2 + var(--handle-size));
    align-items: center;
    
  }
  
  .scroll__title {
    font-size: 4rem;
    margin: 0;
  }
  
  .progress-bar {
    display: flex;
    gap: .25rem;
    opacity: 1;
  }
  
  .progress-item {
    flex: 0 0 1.5rem;
    min-width: 1.5rem;
    height: 1px;
    background-color: rgba(255, 255, 255, .5);
    opacity: 1;
    border-radius: 30px;
  }

  
  .progress-item.active {
    background-color: #ffaa00;
    border-radius: 30px;
    margin-right: 0px;
  }
  
  
  
  /* Default: mobile-first - show 1 item per screen */
  @media (min-width: 0px) {

    
        .movie__slider, .slider {
              --items-per-screen: 1;
              display: flex;
              padding: 0px; /* Adjust as needed */
              gap: 4px; /* to expand gap and make everything work, double it for the padding above then add the two numbers together for the margin-right below */
              margin-right:0px;
              }

              .scroll__header__top {
                display: flex;
                flex-direction: column;
                align-items: center; /* center items horizontally */
                text-align: center;
              }
            

              .sections {
              display: flex;
             justify-content: center;
             margin-left: 0px;
             margin-top: 30px;
             padding-right: 0px;
             font-size: 20px;
             font-family: Gilroy_Medium;
             font-weight: 0;
              z-index: 1;
                color: #85767600;
               background: -webkit-linear-gradient(90deg,#636363, #808080);
               -webkit-background-clip: text;rgb(255, 255, 255)
              -webkit-text-fill-color: transparent;
              }

              .progress-item {
                flex: 0 0 0.2rem;
                min-width: .4rem;
                height: 2px;
                background-color: rgba(255, 255, 255, .5);
                opacity: 1;
                border-radius: 30px;
              }
              .progress-bar {
                display: flex;
                justify-content: center;
                gap: .25rem;
                opacity: 1;
              }
      }

      .carousel {
      position: relative;
      overflow: hidden;
      height: 91vh;
      width: 100%;
      min-height: 320px;
    }

/* iOS-friendly touch + desktop-friendly drag */
.carousel { touch-action: pan-y; cursor: grab; user-select: none; }
.carousel.grabbing { cursor: grabbing; }
/* no easing while dragging so it tracks your finger */
.carousel-track.dragging { transition: none !important; }
/* keep dots above full-slide link (override earlier z:0) */
.carousel-dots { z-index: 30 !important; }
/* only disabled while finger/mouse is down */
.carousel .slide-link.disable-clicks { pointer-events: none !important; }

    .carousel-track {
      display: flex;
      transition: transform 0.8s ease-in-out;
    }

    .carousel-slide {
      min-width: 100%;
      height: 100%;
      position: relative;
      background-size: cover;
      background-position: center;
      flex-shrink: 0;
    }

    /* overlay gradient for text readability */
    .carousel-slide::before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(to right, rgba(0,0,0,0.7) 30%, transparent);
    }

    .carousel-content {
      position: absolute;
      bottom: 20%;
      left: 5%;
      z-index: 2;
    }

    .carousel-content h2 {
      font-size: 3rem;
      margin: 0;
    }

    /* dots navigation */
    .carousel-dots {
      position: absolute;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: 10px;
      z-index: 3;
    }

    .carousel-dots button {
      width: 12px;
      height: 12px;
      border-radius: 50%;
      border: none;
      background: #555;
      cursor: pointer;
    }

    .carousel-dots button.active {
      background: #fff;
    }

    

/* Tablet: show 2 */
@media (min-width: 600px) {


  .movie__slider, .slider {
    --items-per-screen: 2;
    padding: 0 px; /* Adjust as needed */
    gap: 8px; /* to expand gap and make everything work, double it for the padding above then add the two numbers together for the margin-right below */
    margin-right: 0px;
    margin-bottom: 0px;
    padding-right: 16px !important;
  }

  .scroll__header__top {
    display: flex;
    flex-direction: row;
    align-items: center; /* center items horizontally */
    text-align: center;
    margin-bottom: -10px;
    margin-top: 80px;
  }


  .sections {
  display: flex;
 justify-content: center;
 margin-left: px;
 margin-top: 0px;
 padding-right: 0px;
 font-size: 20px;
 font-family: Gilroy_Medium;
 font-weight: 0;
  z-index: 1;
   color: #85767600;
  background: -webkit-linear-gradient(90deg,#636363, #808080);
  -webkit-background-clip: text;rgb(255, 255, 255)
  -webkit-text-fill-color: transparent;
  }

  .progress-bar {
    display: flex;
    gap: .25rem;
    opacity: 1;
    border-radius: 30px;
  }
  
  .progress-item {
    flex: 0 0 1.5rem;
    min-width: 1.5rem;
    height: 4px;
    background-color: rgba(255, 255, 255, .5);
    opacity: 1;
    border-radius: 30px;
  }

}

/* Tablet Large: show 3 */
@media (min-width: 800px) {
  .movie__slider, .slider {
    --items-per-screen: 3;
    padding: 0px; /* Adjust as needed */
    gap: 8px; /* to expand gap and make everything work, double it for the padding above then add the two numbers together for the margin-right below */
    margin-right: 0px;
    padding-right: 24px !important;
    
  }


}

/* Small desktop: show 4 */
@media (min-width: 1000px) {
  .movie__slider, .slider {
    --items-per-screen: 4;
    padding: 0 0px; /* Adjust as needed */
    gap: 8px; /* to expand gap and make everything work, double it for the padding above then add the two numbers together for the margin-right below */
    margin-right: 0px;
  }

}
/* Medium-Large desktop: show 8 */
@media (min-width: 2000px) {
  .movie__slider, .slider {
    --items-per-screen: 5;
    padding: 0 16px; /* Adjust as needed */
    gap: 8px; /* to expand gap and make everything work, double it for the padding above then add the two numbers together for the margin-right below */
    margin-right: 0px;
  }
}

/* Large desktop: show 8 */
@media (min-width: 3000px) {
  .movie__slider, .slider {
    --items-per-screen: 8;
    padding: 0 16px; /* Adjust as needed */
    gap: 8px; /* to expand gap and make everything work, double it for the padding above then add the two numbers together for the margin-right below */
    margin-right: 0px;
  }
}
  
  
  .left {
    transform: rotate(-135deg);
    -webkit-transform: rotate(135deg);
    margin-top: 30px;
    margin-right: 0px;
  }
  
  .right {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    margin-top: 30px;
    margin-right: 0px;
  }
  
  .arrow {
    border: solid #fff;
    opacity: 0;
    border-width: 0 4px 4px 0;
    display: inline-block;
    padding: 8px;
    margin-bottom: 30px;
    margin-left: 2px;
    transition: 200ms ease-in-out;
    
  }
  
  .handle:hover .arrow {
    cursor: pointer;
    border: solid #ffaa00;
    border-width: 0 4px 4px 0;
    display: inline-block;
    padding: 8px;
    opacity: 1;
  }

  .handle {
    border: none;
    border-radius: 0px;
    flex-grow:0;
    flex-shrink: 0;
    background-color: rgba(255, 255, 255, .0);
    z-index: 10;
    margin: var(--img-gap) 0px;
    width: var(--handle-size);
    cursor: pointer;
    font-size: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    line-height: 0;
    transition: background-color 150ms ease-in-out;
    opacity: 0;
    
  }
  
  .left-handle {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  
  .right-handle {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  
  /* .handle:hover,
  .handle:focus {
    background-color: rgba(255, 255, 255, .1);
  } */
  
  .scroll__text {
    transition: transform 150ms ease-in-out;
  }

  .handle:hover .text,
  .handle:focus .text, {
    transform: scale(1.2);
    border: solid #fbc81d;
  }
  

  .scroll__container:hover .arrow {
    opacity: 1;
  }
  .scroll__container:hover .handle {
    opacity: 1;
    background-color: rgba(255, 255, 255, .0);
  }




  .carousel-track{
    display:flex;
    transition:transform .8s ease-in-out;
    height:100%;
    
  }

  .carousel-slide img,
.carousel-slide video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;      /* fills without stretching */
  object-position: center;
  display: block;
}

  .carousel-slide{
    min-width:100%;
    position:relative;
    height:100%;
  }

  .carousel-slide img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    
    
  }

  .carousel-slide::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to right,rgba(0, 0, 0, 0.0) 26%,transparent);
    z-index:11;
  }

  .carousel-content{
  position: absolute;
  left: 5%;
  bottom: 12%;
  z-index: 2;
  max-width: 700px;   /* increase this to fit more text */
  width:50%;         /* or set a percentage of slide width */
   color: #ffaa00;
   font-family: Gilroy_Bold;
   z-index: 20;
  }

  .carousel-content{
  position: absolute;
  left: 5%;
  bottom: 12%;
  z-index: 2;
  max-width: 500px;   /* increase this to fit more text */
  width:100%;         /* or set a percentage of slide width */
   color: #ffaa00;
   font-family: Gilroy_Bold;
   z-index: 20;
  }

  .carousel-content h2 {
    line-height: .80;
  width:100%;  
  }



  .carousel-content p{
   color: #ffffff;
   font-family: Gilroy_Regular;
   font-size: 16px;
   text-align: justify;
  text-justify: inter-word;
  margin-top: 10px;
  }



.carousel-content p:last-child {
  text-align: left;
}

 .carousel-content-1 {
  position: absolute;
  left: 5%;
  bottom: 10%;
  z-index: 2;

  width: min(100%, 35%);   /* responsive: max 600px, but shrink down on small screens */
  max-width: 100%;           /* allow it to flex with screen size */
  
  color: #ffaa00;
  font-family: Gilroy_Bold;
  box-sizing: border-box;   /* ensures padding doesn’t add overflow */
}

.carousel-content-1 h2 {
  margin: 0;
  font-size: clamp(14px, 8vw, 50px);  /* scales with viewport width */
}

.carousel-content-1 p {
  color: #fff;
  font-family: Gilroy_Regular;
  font-size: clamp(14px, 1vw, 32px);  /* scale paragraph text too */
  text-align: justify;
  text-justify: inter-word;
  line-height: 1.;  /* improves readability at small sizes */
}

@media (max-width: 990px){
  .carousel-content-1{ width: min(100%, 400px);
    text-align: justify;
  text-justify: ; 
  
  
  }
}

  .carousel-content h2{margin:0;
    font-size:clamp(45px,55vw,56px);
  }
  .carousel-dots{position:absolute;
    left:50%;bottom:16px;
    transform:translateX(-50%);
    display:flex;
    gap:10px;
    z-index:1;
  }

  .carousel-dots button{
    width:10px;
    height:10px;
    border-radius:50%;
    border:0;
    background:#666;
    cursor:pointer
  }

  .carousel-dots button.active{
    background:#ffaa00;
  }


  /* phone tweaks */
@media (max-width: 470px){

  .carousel-content-1 p{
    font-size: clamp(5px, 3.1vw, 16px);
    line-height: 1.2;
    margin: 10px 0 0;
    overflow-wrap: anywhere;
    hyphens: auto;
    width:90%;  
     hyphens: none;
  word-break: normal;
  overflow-wrap: normal;
  }

  .carousel-content{
  position: absolute;
  left: 5%;
  bottom: 12%;
  z-index: 2;
  max-width: 320px;   /* increase this to fit more text */
  width:100%;         /* or set a percentage of slide width */
   color: #ffaa00;
   font-family: Gilroy_Bold;
   z-index: 20;
  }

  .carousel-content h2 {
    line-height: .80;
  width:100%;  
  }

    .carousel-content p {
     color: #ffffff;
   font-family: Gilroy_Regular;
   font-size: 16px;
   text-align: justify;
  text-justify: inter-word;
  }
}


  /* Centered hero like Disney+ */
.carousel{
  position: relative;
  display: block;          /* ignore any inline/flex quirks */
  width: min(100%, 93vw);/* centered, not full-bleed */
  margin: 2px auto;     /* <-- centers it */
  aspect-ratio: 16 / 9;
  min-height: 400px;
  max-height: 30vw;
  overflow: hidden;
  background: #000;
  border-radius: 10px;     /* optional, looks nice */
border: 1px solid transparent;         /* thickness of the border */
  border-radius: 16px;                   /* your corner radius */
  background: linear-gradient(215deg, #ffaa0026 50%, #ff4d001f 100%) border-box, /* gradient border */
    #00000000 content-box;                     /* inner fill (black or your bg) */
    /* shadow effect */
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3);
}


.carousel-track{
   height: 100%;
    padding: 0 0px;         /* add 1px on both sides */
  margin: 0 -1px;         /* pull it back so layout width doesn’t change */
  will-change: transform; /* keeps transforms crisp */
   }

.carousel-slide {
  position: relative;
  min-width: 100%;
  height: 100%;
  overflow: hidden;
}

.carousel-slide .slide-link {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;       /* text keeps its color */
  text-decoration: none;
  position: relative;   /* so .carousel-content positions correctly */
}

.carousel-slide img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center; /* keep focal point centered */
}

/* If the carousel sits inside a flex/grid container that’s aligning items to the start: */
.carousel{ align-self: center; }          /* center within flex/grid parent */

  
/* each slide is a frame */
.carousel-slide{
  position: relative;
  min-width: 100%;
  height: 100%;
  overflow: hidden;
}

/* media + gradient shouldn't eat clicks */
.carousel-slide img,
.carousel-slide video{
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
  pointer-events: none;            /* IMPORTANT */
}
.carousel-slide::before{
  content:"";
  position:absolute; inset:0;
  /* your gradient here */
  pointer-events: none;            /* IMPORTANT */
}

/* full-slide link */
.carousel-slide .slide-link{
  position: absolute;
  inset: 0;                        /* covers entire slide */
  z-index: 10;                     /* above media/gradient/content */
  display: block;
}

/* keep dots on top so they stay clickable */
.carousel-dots{ z-index: 0; position: absolute; /* existing positioning */ }


/* Stack on mobile */
@media (max-width: 780px){
  .contact-row{ grid-template-columns: 1fr; }
  .pill{ justify-content: start; }
}

/* progress container sits centered under the dots */
.carousel-progress{
  position: absolute;
  left: 50%;
  bottom: 0px;                /* adjust to sit under dots */
  transform: translateX(-50%);
  width: min(100%, 100vw);     /* match your dots width/feel */
  height: 4px;
  background: rgba(0, 0, 0, 0);
  border-radius: 30px;
  overflow: hidden;
  z-index: 15;                 /* above media, under nav */
}

/* animated fill */
.carousel-progress .bar{
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #ffb000, #ff4d00);
  transform-origin: left center;
  transform: scaleX(0);        /* JS drives 0 → 1 */
}


.contact-popup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10000;
  transition: opacity 0.3s ease;
}

.contact-popup.hidden {
  display: none;
}

.contact-popup__content {
  font-family: Gilroy_Bold;
  background: #ffaa00;
  color: rgb(0, 0, 0);
  padding:20px;
  border-radius: 6px;
  max-width: 400px;
  width: 90%;
  text-align: center;
  box-shadow: 0 10px 30px rgba(0,0,0,0.0);
  line-height: 1.3;
}

.contact-popup__content h2 {
  margin-bottom: 20px;
  color: #ffffff00;
       background: -webkit-linear-gradient(90deg,#424242, #151515);
       -webkit-background-clip: text;rgb(255, 255, 255)
       -webkit-text-fill-color: transparent;
       font-size: 28px;
}

.contact-popup__content a {
  color: #ffffff00;
       background: -webkit-linear-gradient(90deg,#424242, #151515);
       -webkit-background-clip: text;rgb(255, 255, 255)
       -webkit-text-fill-color: transparent;
  text-decoration: none;
  font-size: 14px;
}

.contact-popup__content a:hover {
  text-decoration: underline;
}

.contact-popup__close {
  position: absolute;
  top: 15px;
  right: 20px;
  font-size: 2rem;
  background: none;
  border: none;
  color: white;
  cursor: pointer;
}


/* Phones/tablets: tap goes to the wrapper/link, not the <video> */
@media (hover: none) and (pointer: coarse) {
  .oldvideoPreview__box video { pointer-events: none; }
}


.cta-btn {
  display: inline-block;
  padding: 6px 16px;
  font-family: Gilroy_Bold, system-ui, sans-serif;
  font-size: 14px;
  margin-top: 12px;
  text-decoration: none;
  border-radius: 999px;
   color: #ffaa00;
  border: 1px solid #ffaa00;
  transition: transform .12s ease, box-shadow .12s ease;
  line-height: 1;
}

.cta-btn:hover { 
  transform: scale(1.03); 
  background-color: rgba(0, 0, 0, 0.253);
  box-shadow: 0 6px 18px rgba(0,0,0,.0); 
}
.cta-btn:active { transform: translateY(0); box-shadow: none; }

/* keep dots on top (some earlier rules set them to z:0) */
.carousel-dots { z-index: 30 !important; }

/* keep swipe but allow clicks normally */
.carousel { touch-action: pan-y; cursor: grab; user-select: none; }
.carousel.grabbing { cursor: grabbing; }
.carousel-track.dragging { transition: none !important; }



/* let vertical page scroll pass through; we hijack only horizontal */
.scroll__container { touch-action: pan-y; }

/* make the slider feel draggable everywhere */
.movie__slider { cursor: grab; user-select: none; }
.movie__slider.dragging { transition: none !important; }

/* stop native image/anchor dragging inside rows */
.scroll__row img,
.scroll__row a,
.scroll__row video {
  -webkit-user-drag: none;
  user-drag: none;
  user-select: none;
}


.scroll__container .handle { display: flex !important; }



