#typing-effect{
    color: #3498E2;
}

.partners-slide,
.partners-slider {
  --partners-visible: 8;
  --partners-gap: 24px;
  overflow: hidden;
  width: 100%;
}

.partners-slide.is-five,
.partners-slider.is-five {
  --partners-visible: 5;
}

.partners-track {
  display: flex;
  align-items: center;
  gap: var(--partners-gap);
  width: max-content;
  will-change: transform;
}

.partners-track > * {
  flex: 0 0 auto;
  max-width: none;
}

.partner,
.partner > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 70%;
}

.partner img,
.partners-track img {
  display: block;
  width: 100%;
  max-height: 90px;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .partners-slide,
  .partners-slider {
    --partners-visible: 4;
  }
}

@media (max-width: 767px) {
  .partners-slide,
  .partners-slider {
    --partners-visible: 2;
    --partners-gap: 16px;
  }

  .partner img,
  .partners-track img {
    max-height: 70px;
  }
}


/* VIDEO PLAYER */

.video-thumbnail{
position:relative;
cursor:pointer;
aspect-ratio:16/9;
max-width:1150px;
width:min(92vw,1150px);
margin:auto;
overflow:hidden;
border-radius:10px;
}

.video-thumbnail video{
width:100%;
height:100%;
object-fit:cover;
pointer-events:none;
}

.video-overlay{
position:absolute;
inset:0;
display:flex;
align-items:center;
justify-content:center;
background:rgba(0,0,0,.25);
}

.play-button{
width:70px;
height:70px;
border-radius:50%;
background:rgba(255,255,255,.2);
position:relative;
}

.play-button:after{
content:"";
position:absolute;
left:28px;
top:22px;
border-left:18px solid white;
border-top:12px solid transparent;
border-bottom:12px solid transparent;
}

.video-modal{
position:fixed;
inset:0;
background:rgba(0,0,0,.9);
display:flex;
align-items:center;
justify-content:center;
opacity:0;
pointer-events:none;
transition:0.3s;
z-index:1000;
}

.video-modal.active{
opacity:1;
pointer-events:auto;
}

body.kcx-no-scroll{
overflow:hidden;
touch-action:none;
}

body.kcx-no-scroll .lytbox-header.lytbox-is-sticky{
z-index:900;
}

.video-modal-content{
position:relative;
width:min(92vw,1150px);
max-width:1150px;
aspect-ratio:16/9;
}

.video-player{
width:100%;
height:100%;
background:black;
}

.video-close,
.video-fullscreen{
position:absolute;
top:10px;
background:rgba(0,0,0,.5);
color:white;
border:none;
padding:10px;
cursor:pointer;
}

.video-close{right:10px;}
.video-fullscreen{right:60px;}

/* =====================================================
   LYTB0X – CHANGE HEADER ON SCROLL
   Single header • SEO safe • Elementor
===================================================== */


/* =====================================================
   VARIABLES – EASY TO EDIT
===================================================== */

:root {

  /* Core animation */
  --lytbox-anim-ms: 180ms;
  --lytbox-admin-offset: 0px; /* set by JS */

  /* =====================================================
     SHRINK MODE (DEFAULT)
     Full-width compact sticky header
  ===================================================== */
  --shrink-pad-y: .6rem; /* adjust the inner top/bottom padding */
  --shrink-bg: rgba(249, 251, 253, 0.5); /* adjust the shrink menu background color */
  --shrink-blur: 12px; /* adjust the background blur */
  --shrink-shadow: 0 10px 30px rgba(18, 22, 30, 0.15); /* adjust the shrink menu box shadow */

  /* =====================================================
     PILL MODE (OPTIONAL)
     Floating pill-style header
  ===================================================== */
  --pill-top-space: 1.5rem; /* adjust top spacing*/
  --pill-max-w: 50rem; /* adjust the full width */
  --pill-inner-pad-y: .75rem; /* adjust the inner top/bottom padding */
  --pill-inner-pad-x: .75rem; /* adjust the inner left/right padding */
  --pill-radius: 999px; /* adjust the border radius */

  --pill-bg: rgba(249, 251, 253, 0.5); /* adjust the pill menu background color */
  --pill-blur: 12px; /* adjust the background blur */
  --pill-shadow: 0 10px 30px rgba(18, 22, 30, 0.15); /* adjust the pill menu box shadow */
  --pill-border: none; /* adjust the pill menu border */

  /* =====================================================
     MENU (add class to Nav Menu widget)
     .lytbox-nav
  ===================================================== */
  --menu-color: #010712; /* adjust the menu text color */
  --menu-color-hover: #3A00E7; /* adjust the menu text hover color */
  --menu-font-size: 1rem; /* adjust the menu font size */
  --menu-font-weight: 700; /* adjust the menu font weight */
  --menu-letter-spacing: 0em; /* adjust the menu text letter spacing */
  --menu-gap: 2.5rem; /* adjust the space between menu items */

  /* =====================================================
     CTA BUTTON (add class to Button wrapper)
     .lytbox-btn
  ===================================================== */
  --btn-font-size: .85rem; /* adjust the button font size */
  --btn-font-weight: 700; /* adjust the button font weight */
  --btn-pad-y: .75rem; /* adjust the button top/bottom padding */
  --btn-pad-x: 1.15rem; /* adjust the button right/left padding */
  --btn-radius: 999px; /* adjust the button border radius */

  --btn-bg: #010712; /* adjust the button background color */
  --btn-color: #fff; /* adjust the button font color */
  --btn-border: none; /* adjust the button border */

  --btn-color-hover: #030319; /* adjust the button font hover color */
  --btn-bg-hover: #57FBF5; /* adjust the button background hover color */
}


/* =====================================================
   CORE STICKY REVEAL (DO NOT EDIT)
===================================================== */

.lytbox-no-trans {
  transition: none !important;
}

.lytbox-header.lytbox-is-sticky {
  position: fixed;
  top: var(--lytbox-admin-offset);
  left: 0;
  right: 0;
  z-index: 9999;

  transform: translateY(-110%);
  transition: transform var(--lytbox-anim-ms) ease;
  will-change: transform;
}

.lytbox-header.lytbox-is-sticky.lytbox-show {
  transform: translateY(0);
}


/* =====================================================
   LOGO SWAP (OPTIONAL)
   logo-1 = default
   logo-2 = scrolled
===================================================== */

.logo-2 { display: none; }
.header-scrolled .logo-1 { display: none; }
.header-scrolled .logo-2 { display: inline-block; }


/* =====================================================
   BASE STRUCTURE
===================================================== */

.lytbox-header__inner {
  width: 100%;
  margin: 0 auto;
}

.header-scrolled.lytbox-header .e-con-inner {
  position: relative;
}


/* =====================================================
   SHRINK MODE (DEFAULT)
   Applies when:
   - no data-header-mode attribute
   - OR data-header-mode="shrink"
===================================================== */

.header-scrolled.lytbox-header:not([data-header-mode]),
.header-scrolled.lytbox-header[data-header-mode="shrink"] {
  background: var(--shrink-bg);
  backdrop-filter: blur(var(--shrink-blur));
  box-shadow: var(--shrink-shadow);
}

.header-scrolled.lytbox-header:not([data-header-mode]) .e-con-inner,
.header-scrolled.lytbox-header[data-header-mode="shrink"] .e-con-inner {
  padding-top: var(--shrink-pad-y);
  padding-bottom: var(--shrink-pad-y);
}

.header-scrolled.lytbox-header:not([data-header-mode]) .lytbox-header__inner,
.header-scrolled.lytbox-header[data-header-mode="shrink"] .lytbox-header__inner {
  max-width: none;
  padding: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
}


/* =====================================================
   PILL MODE (OPTIONAL)
   Activate with:
   data-header-mode="pill"
===================================================== */

.header-scrolled.lytbox-header[data-header-mode="pill"] {
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}

.header-scrolled.lytbox-header[data-header-mode="pill"] .e-con-inner {
  padding-top: var(--pill-top-space);
}

.header-scrolled.lytbox-header[data-header-mode="pill"] .lytbox-header__inner {
  max-width: var(--pill-max-w);
  padding: var(--pill-inner-pad-y) var(--pill-inner-pad-x);
  border-radius: var(--pill-radius);

  background: var(--pill-bg);
  backdrop-filter: blur(var(--pill-blur));
  box-shadow: var(--pill-shadow);
  border: var(--pill-border);
}


/* =====================================================
   MENU STYLING
===================================================== */

.header-scrolled .lytbox-nav a {
  color: var(--menu-color)!important;
  font-size: var(--menu-font-size)!important;
  font-weight: var(--menu-font-weight)!important;
  letter-spacing: var(--menu-letter-spacing)!important;
}

.header-scrolled .lytbox-nav a:hover {
  color: var(--menu-color-hover)!important;
}

.header-scrolled .lytbox-nav nav ul {
  gap: var(--menu-gap)!important;
}

.header-scrolled .lytbox-nav .elementor-nav-menu>li:not(:first-child)>a
 {
    margin-inline-start: 0!important;
}

.header-scrolled .lytbox-nav .elementor-nav-menu>li:not(:last-child)>a 
 {
    margin-inline-end: 0!important;
}


/* =====================================================
   CTA BUTTON
===================================================== */

.header-scrolled .lytbox-btn .elementor-button {
  font-size: var(--btn-font-size)!important;
  font-weight: var(--btn-font-weight)!important;
  padding: var(--btn-pad-y) var(--btn-pad-x)!important;
  border-radius: var(--btn-radius)!important;
  background: var(--btn-bg)!important;
  color: var(--btn-color)!important;
  border: var(--btn-border)!important;
}

.header-scrolled .lytbox-btn .elementor-button:hover {
  background: var(--btn-bg-hover)!important;
  color: var(--btn-color-hover)!important;
}


/* =====================================================
   SMOOTH VISUAL POLISH
===================================================== */

.header-scrolled .lytbox-header__inner,
.header-scrolled .lytbox-nav a,
.header-scrolled .lytbox-btn .elementor-button {
  transition:
    padding 180ms ease,
    background 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    font-size 180ms ease;
}

/* =====================================================
   MOBILE TUNING
===================================================== */

@media (max-width: 1024px) {
  :root {
    --menu-font-size: 0.95rem;
    --menu-gap: 1.5rem;
    --btn-font-size: 0.8rem;
    --btn-pad-y: 0.65rem;
    --btn-pad-x: 1rem;
    --pill-max-w: 44rem;
    --pill-top-space: 1.25rem;
  }
}

@media (max-width: 767px) {
  :root {
    --menu-font-size: 0.9rem;
    --menu-gap: 1rem;
    --btn-font-size: 0.78rem;
    --btn-pad-y: 0.6rem;
    --btn-pad-x: 0.9rem;
    --shrink-pad-y: 0.45rem;
    --pill-max-w: 100%;
    --pill-top-space: 0.8rem;
    --pill-inner-pad-y: 0.5rem;
    --pill-inner-pad-x: 0.6rem;
  }
}

/* =====================================================
   MOBILE DRAWER MENU (HAMBURGER)
===================================================== */

:root {
  --drawer-bg: radial-gradient(120% 120% at 20% 20%, #0c1424 0%, #05070d 70%);
  --drawer-accent: #57fbf5;
  --drawer-text: #eef3ff;
  --drawer-muted: rgba(238, 243, 255, 0.6);
}

@media (max-width: 1024px) {
  body.kcx-mobile-drawer-open {
    overflow: hidden;
    touch-action: none;
  }

  .kcx-mobile-drawer {
    position: fixed;
    inset: 0;
    z-index: 99999;
    pointer-events: none;
    display: block;
  }

  .kcx-mobile-drawer__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 6, 12, 0.55);
    border: none;
    opacity: 0;
    transition: opacity 220ms ease;
    pointer-events: none;
  }

  .kcx-mobile-drawer__panel {
    position: absolute;
    inset: 0 auto 0 0;
    width: min(85vw, 360px);
    max-width: 100%;
    background: var(--drawer-bg);
    color: var(--drawer-text);
    padding: 28px 22px 24px;
    display: grid;
    gap: 28px;
    transform: translateX(-110%);
    transition: transform 260ms ease;
    box-shadow: 0 25px 60px rgba(2, 4, 10, 0.45);
  }

  .kcx-mobile-drawer__close {
    align-self: flex-start;
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: grid;
    place-items: center;
    position: relative;
  }

  .kcx-mobile-drawer__close span {
    position: absolute;
    width: 18px;
    height: 2px;
    background: var(--drawer-text);
    border-radius: 999px;
  }

  .kcx-mobile-drawer__close span:first-child {
    transform: rotate(45deg);
  }

  .kcx-mobile-drawer__close span:last-child {
    transform: rotate(-45deg);
  }

  .kcx-mobile-drawer__menu nav ul {
    display: grid;
    gap: 16px;
    padding: 0;
  }

  .kcx-mobile-drawer__menu nav a {
    color: var(--drawer-text);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }

  .kcx-mobile-drawer__menu nav a:hover {
    color: var(--drawer-accent);
  }

  .kcx-mobile-drawer__footer {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--drawer-muted);
  }

  body.kcx-mobile-drawer-open .kcx-mobile-drawer {
    pointer-events: auto;
  }

  body.kcx-mobile-drawer-open .kcx-mobile-drawer__panel {
    transform: translateX(0);
  }

  body.kcx-mobile-drawer-open .kcx-mobile-drawer__backdrop {
    opacity: 1;
    pointer-events: auto;
  }
}
