.elementor-kit-98{--e-global-color-primary:#2A9D8F;--e-global-color-secondary:#097C6E;--e-global-color-text:#000000A6;--e-global-color-accent:#2A9D8F;--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;}.elementor-kit-98 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@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 *//* =========================
   PRELOADER
========================= */
  
  /* Black circular gradient background layer */
  #preloader {
    position: fixed; 
    top: 0; 
    left: 0;
    width: 100vw; 
    height: 100vh;
    
    background: #000000;
    
    z-index: 0;
    filter: brightness(0);
    animation: revealGradient 3s ease-in-out 1s forwards;
}

/* Animate brightness */
@keyframes revealGradient {
  to {
    filter: brightness(1);
  }
}

  /* Logo inside black layer */
  #logo {
    position: absolute;
    top: 57.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 300px;
    height: auto;
    z-index: 0;
    pointer-events: none;
    transition: opacity 0.5s ease, transform 0.5s ease;
    opacity: 0;
    transform-origin: center center;
    filter: none;
  }

  /* Glitch animation: RGB split flicker */
  @keyframes glitch {
    0%, 100% {
      filter: drop-shadow(0 0 0 red) drop-shadow(0 0 0 cyan);
    }
    20% {
      filter: drop-shadow(2px 0 0 red) drop-shadow(-2px 0 0 cyan);
    }
    40% {
      filter: drop-shadow(-2px 0 0 red) drop-shadow(2px 0 0 cyan);
    }
    60% {
      filter: drop-shadow(1px 0 0 red) drop-shadow(-1px 0 0 cyan);
    }
    80% {
      filter: drop-shadow(-1px 0 0 red) drop-shadow(1px 0 0 cyan);
    }
  }

  .glitch {
    animation: glitch 0.5s linear 1;
  }

  /* Home layer on top */
  #home {
      position: fixed;
      top: 0; 
      left: 0;
      z-index: 1;
    
      /* Clip-path starts small */
      clip-path: circle(10% at 50% 60%);
      -webkit-clip-path: circle(10% at 50% 60%);
      transition: clip-path 0s ease-in-out, -webkit-clip-path 0s ease-in-out;
    
      /* Ring mask (only temporary) */
      -webkit-mask-image: radial-gradient(circle at 50% 60%, transparent 40%, black 41%, black 50%, transparent 46%);
      -webkit-mask-repeat: no-repeat;
      -webkit-mask-position: 50% 60%;
      -webkit-mask-size: 35% 75%;
}

  /* Logo exit animation */
  .fade-out {
    opacity: 0 !important;
  }
  
  body.preloader-active {
      overflow: hidden; /* disables scroll */
      touch-action: none; /* disables swipe/drag on touch devices */
}

@media (max-width: 1024px) {
  #logo {          /* move up a bit */
    width: 200px;        /* smaller logo */
  }
}

@media (max-width: 768px) {
    #logo {
      width: 150px;        /* scale down for narrow screens */
    }
    #home { 
      position: relative;
      overflow-x: hidden;
      
  }
}


/* =========================
   GLOBAL & SCROLL
========================= */
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  scroll-behavior: smooth; /* native smooth scroll */
  overflow-x: hidden;       /* no horizontal scroll */
  overflow-y: hidden;         /* vertical scroll */
}

/* =========================
   WRAPPER & SECTIONS
========================= */
.snap-wrapper {
  height: 100%;
  width: 100vw;
  /*position: relative;*/
  overflow-y: scroll;  /* normal vertical scroll */
  overflow-x: hidden; /* prevent horizontal scroll */
  scrollbar-width: none; 
}

.snap-wrapper::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
}

.snap-section {
  width: 100%;
  height: 100%
  padding: clamp(50px, 10vw, 150px) 0;
}

.container {           /* renamed from .div */
  max-width: 1200px;
  width: 90vw;          /* scales with viewport */
  height: 100%;         /* fills section height */
}

/* =========================
   BULLETS NAV
========================= */
.bullet-nav {
  position: fixed;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 20px;
  background-color: rgba(0, 0, 0, 0.2);
  padding: 10px 2px;
  border-radius: 10px;
  backdrop-filter: blur(6px);
  z-index: 9999;
}

.bullet {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #000;
  opacity: 0.6;
  transition: all 0.3s ease;
  cursor: pointer;
  border: 1px solid #fff;
}

.bullet:hover {
  opacity: 1;
  transform: scale(1.15);
}

.bullet-indicator {
  z-index: 2;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  pointer-events: none;
  position: absolute;
  background: radial-gradient(circle at center, #eee 20%, #ccc 60%, #000 100%);
  box-shadow: 0 0 8px 3px rgba(0, 0, 0, 0.7);
  transform: scale(1.4);
  will-change: transform;
  transition: transform 0.3s ease;
}

/* =========================
   NAV BAR & HEADER
========================= */
.nav-bar {
  opacity: 0;
  transform: translateX(50px);
}

.nav-bar.fade-in {
  animation: fadeInNav 3s ease-out forwards;
}

@keyframes fadeInNav {
  0% { opacity: 0; transform: translateX(50px); }
  100% { opacity: 1; transform: translateX(0); }
}

.main-header-menu a.active {
  color: white;
  font-weight: bold;
}

.main-header-menu a:active,
.main-header-menu a:focus {
  outline: none;
}


/* =========================
   RESPONSIVE / MOBILE
========================= */
@media (max-width: 1024px) {
  html, body { 
    overflow: auto; 
    overflow-x: hidden; 
    scrollbar-width: none; 
  }
  
  body::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
  }

  .snap-wrapper { 
    height: 100%; 
    overflow-y: auto; 
    overflow-x: hidden; 
    position: relative; 
    scrollbar-width: none; 
  }
  
  .snap-wrapper::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
}


  .bullet-nav { 
      display: none; 
      
  }

  body::-webkit-scrollbar { 
      display: none; 
      
  }
  body { 
      scrollbar-width: none; 
      -ms-overflow-style: none; 
      
  }
}

@media (min-width: 1024.5px) {
    .fph {
          display: none;
      }
    }
    
@media (max-height: 650px) and (min-width: 1024px) {
  #Home {
    height: 650px; 
    scrollbar-width: none; 
  }
}


/* =========================
   HOME AND PAGES
========================= */
    .home .elementor-background-video-container video {
        position: absolute;
        top: 50%;
        left: 50%;
        width: auto;
        height: auto;
        min-width: 100%;
        min-height: 100%;
        transform: translate(-50%, -50%) scale(1.05); /* keeps it centered & hides blur edges */
        filter: blur(6.5px) brightness(70%) saturate(65%);
        -webkit-filter: blur(6.5px) brightness(70%) saturate(65%);
        object-fit: cover; /* ensures it covers the whole container */
      }
      
  /* ================= Initial States ================= */
  .home_fade,
  .page_fade {
    opacity: 0;
    transform: translateY(50px); /* start slightly down */
  }

  /* ================= Fade In From Bottom + Blur (Home) ================= */
  @keyframes homeFadeUpIn {
    0% {
      opacity: 0;
      transform: translateY(50px);
      filter: blur(8px); /* start blurred */
    }
    100% {
      opacity: 1;
      transform: translateY(0);
      filter: blur(0); /* end sharp */
    }
  }

  /* ================= Home Page Animation ================= */
  .home_fade.active {
    animation: homeFadeUpIn 2s ease-out forwards; /* slower & smooth */
  }

  /* ================= Page Scroll Animation ================= */
  .page_fade.active {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 1s ease-out, transform 1s ease-out;
  }
  
.glass {
  position: relative;
  background: rgba(255, 255, 255, 0.1); /* very transparent */
  backdrop-filter: blur(12px);           /* actual frosted glass effect */
  -webkit-backdrop-filter: blur(12px);
  border-radius: 20px;
  padding: 2rem;
  overflow: hidden;
  cursor: pointer;
  z-index: 0;
  transition: all 0.5s ease;
}

.glass {
  position: relative;
  background: rgba(255, 255, 255, 0.1); /* subtle transparent glass */
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 20px;
  padding: 2rem;
  overflow: hidden;
  cursor: pointer;
  z-index: 0;
}

/* soft rotating rectangle inside */
.glass::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(90deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.5) 50%, rgba(255,255,255,0.03) 100%);
  transform: rotate(0deg);
  animation: rotateRect 15s linear infinite;
  pointer-events: none;
  z-index: 0;
}

@keyframes rotateRect {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* subtle glowing border */
.glass::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 20px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 0 12px rgba(255,255,255,0.05), 0 0 25px rgba(255,255,255,0.02) inset;
  pointer-events: none;
  z-index: 1;
  transition: all 0.5s ease;
}

/* hover enhancement */
.glass:hover::after {
  box-shadow: 0 0 22px rgba(255,255,255,0.1), 0 0 40px rgba(255,255,255,0.05) inset;
}


.bg1 {
      background: radial-gradient(
        125% 125% at 50% 10%,
        #fff 40%,
        #475569 100%
      );
  }

.bg2 {
      background: radial-gradient(
    125% 125% at 50% 90%,
    #fff 40%,
    #475569 100%
      );
  }
  
  
.bg3 {
      background: radial-gradient(
        125% 125% at 50% 10%,
        #fff 40%,
        #040307 100%
      );
  }
  
/* =========================
   CAROUSEL
========================= */

 /* ================= Carousel Wrapper ================= */
  .carousel-wrapper {
    --carousel-item-height: 350px;

    width: min(80vw, 1200px);
    height: var(--carousel-item-height);
    overflow: hidden;
  }

  /* ================= Carousel Items ================= */
  .item {
    filter: saturate(25%);
  }

  /* Hover effect: scale + saturate */
  .item:hover {
    transform: scale(1.05);
    filter: saturate(100%);
  }

 /* =========================
   FORMS
========================= */

    .wpforms-field-phone-flag .choices__inner,
    .wpforms-field-phone-flag-ph .choices__inner {
      border-radius: 4px;
      border: 1px solid #ccc;
      min-height: 40px;
    }
    .wpforms-field-phone-flag .choices__list--dropdown,
    .wpforms-field-phone-flag-ph .choices__list--dropdown {
      max-height: 300px;
      padding-top: 0 !important;
      overflow-y: auto;
    }
    
    .hidden-country-search,
    .choices__list--dropdown .choices__input {
      position: absolute ;
      opacity: 0;
      height: 0.01px !important;
      padding: 0.01pc !important;
      margin: 0.01px !important;
      border: none !important;
      pointer-events: none;
    }
/* -- Date Field -- */
.wpforms-form .wpforms-field-date input,
.wpforms-form .wpforms-field-date input.flatpickr-input,
.wpforms-form .wpforms-field-date .flatpickr-wrapper {
    cursor: pointer !important;
    caret-color: transparent;
    user-select: none;
}

/* ================= Time Field ================= */
.wpforms-form .wpforms-field-time input,
.wpforms-form .wpforms-field-time-ph input{
    cursor: pointer !important;
    caret-color: transparent;
    user-select: none;
}    .wpforms-field-phone-flag .choices__inner,
    .wpforms-field-phone-flag-ph .choices__inner {
      border-radius: 4px;
      border: 1px solid #ccc;
      min-height: 40px;
    }
    .wpforms-field-phone-flag .choices__list--dropdown,
    .wpforms-field-phone-flag-ph .choices__list--dropdown {
      max-height: 300px;
      padding-top: 0 !important;
      overflow-y: auto;
    }
    
    .hidden-country-search,
    .choices__list--dropdown .choices__input {
      position: absolute ;
      opacity: 0;
      height: 0.01px !important;
      padding: 0.01pc !important;
      margin: 0.01px !important;
      border: none !important;
      pointer-events: none;
    }
/* -- Date Field -- */
.wpforms-form .wpforms-field-date input,
.wpforms-form .wpforms-field-date input.flatpickr-input,
.wpforms-form .wpforms-field-date .flatpickr-wrapper {
    cursor: pointer !important;
    caret-color: transparent;
    user-select: none;
}

/* ================= Time Field ================= */
.wpforms-form .wpforms-field-time input,
.wpforms-form .wpforms-field-time-ph input{
    cursor: pointer !important;
    caret-color: transparent;
    user-select: none;
}

/*logo slider*/
  .swiper-wrapper {
      transition-timing-function: linear !important;/* End custom CSS */