
.ltkc-slider{
  --ltkc-css-ready:1;
  --ltkc-height:720px;
  --ltkc-card-w:164px;
  --ltkc-card-h:232px;
  --ltkc-progress:#0ea5e9;
  width:100%;
  position:relative;
  overflow:hidden;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#101820;
  color:#fff;
  outline:none;
}
.ltkc-slider *{box-sizing:border-box}
.ltkc-slider__frame{
  position:relative;
  width:100%;
  max-width:1800px;
  height:var(--ltkc-height);
  min-height:var(--ltkc-height);
  margin:0 auto;
  overflow:hidden;
  background:#101820;
  isolation:isolate;
}
.ltkc-slider__background,.ltkc-slider__bg,.ltkc-slider__bg-fallback,.ltkc-slider__shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.ltkc-slider__background{z-index:0;overflow:hidden}
/* Reference video keeps the active hero background still. No Ken-Burns zoom. */
.ltkc-slider .ltkc-slider__bg{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  min-width:100%;
  min-height:100%;
  object-fit:cover;
  transform:none;
  animation:none;
  will-change:auto;
}
.ltkc-slider__bg-fallback{background:radial-gradient(circle at 68% 34%,#2e5368 0,#182b37 34%,#0c151d 76%)}
.ltkc-slider__shade{
  --ltkc-shade-left:rgba(8,15,21,.72);
  --ltkc-shade-right:rgba(8,15,21,.12);
  background:linear-gradient(90deg,var(--ltkc-shade-left) 0%,rgba(8,15,21,.46) 30%,var(--ltkc-shade-right) 69%,rgba(8,15,21,.16) 100%),linear-gradient(0deg,rgba(4,8,12,.44),transparent 46%,rgba(4,8,12,.11));
  z-index:1;
}
.ltkc-slider__top-progress{position:absolute;z-index:8;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.20)}
.ltkc-slider__top-progress span{display:block;width:0;height:100%;background:var(--ltkc-progress);will-change:width}
.ltkc-slider__inner{
  position:relative;
  z-index:4;
  width:100%;
  max-width:1400px;
  height:100%;
  min-height:var(--ltkc-height);
  margin:0 auto;
  padding:36px 30px;
  --ltkc-accent:#f6b52c;
}
/* Desktop content is vertically centred, matching the reference. */
.ltkc-slider__copy{
  position:absolute;
  left:30px;
  top:50%;
  transform:translateY(-50%);
  width:31%;
  max-width:520px;
  z-index:5;
  will-change:transform,opacity;
}
.ltkc-slider__copy.is-out{animation:ltkcCopyOut .28s ease forwards}
.ltkc-slider__copy.is-in{animation:ltkcCopyIn .46s cubic-bezier(.2,.8,.2,1) both}
.ltkc-slider__place{display:flex;align-items:center;gap:9px;margin-bottom:14px;color:rgba(255,255,255,.78);font-size:12px;font-weight:500;line-height:1.3}
.ltkc-slider__place:before{content:"";width:18px;height:1px;background:currentColor;opacity:.7}
.ltkc-slider__title{margin:0;color:#fff;font-size:clamp(46px,5.2vw,86px);font-weight:700;line-height:.88;letter-spacing:-.055em;text-transform:uppercase;white-space:nowrap;text-wrap:nowrap}
.ltkc-slider__description{max-width:440px;margin:20px 0 0;color:rgba(255,255,255,.72);font-size:13px;line-height:1.65;font-weight:400}
.ltkc-slider__cta{width:max-content;max-width:100%;min-height:38px;margin-top:22px;padding:4px 16px 4px 4px;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.32);border-radius:999px;background:rgba(255,255,255,.06);color:#fff;text-decoration:none;font-size:11px;font-weight:600;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .2s ease,background .2s ease}
.ltkc-slider__cta:hover{color:#fff;transform:translateY(-2px);background:rgba(255,255,255,.12)}
.ltkc-slider__cta.is-hidden{display:none}
.ltkc-slider__cta-dot{width:29px;height:29px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--ltkc-accent);color:#fff;font-size:13px;line-height:1;flex:0 0 29px}
.ltkc-slider__deck{
  position:absolute;
  z-index:6;
  left:42%;
  right:30px;
  top:52%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:14px;
  overflow:hidden;
  padding:12px 3px 18px;
  pointer-events:auto;
}
.ltkc-slider__card{position:relative;width:var(--ltkc-card-w);height:var(--ltkc-card-h);flex:0 0 var(--ltkc-card-w);margin:0;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.34);border-radius:10px;background:#27313a;color:#fff;cursor:pointer;text-align:left;box-shadow:0 18px 45px rgba(0,0,0,.22);transform:translateY(0);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;appearance:none;-webkit-appearance:none}
.ltkc-slider__card:hover,.ltkc-slider__card:focus-visible{transform:translateY(-7px);border-color:rgba(255,255,255,.70);box-shadow:0 25px 60px rgba(0,0,0,.30);outline:none}
.ltkc-slider__card img{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;object-fit:cover;transform:scale(1.01);transition:transform .35s ease}
.ltkc-slider__card:hover img{transform:scale(1.035)}
.ltkc-slider__card-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,7,10,.82) 0,rgba(3,7,10,.12) 58%,rgba(3,7,10,.03) 100%)}
.ltkc-slider__card-copy{position:absolute;z-index:2;left:13px;right:11px;bottom:13px;display:flex;flex-direction:column;gap:4px}
.ltkc-slider__card-copy small{color:rgba(255,255,255,.68);font-size:8px;line-height:1.2;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ltkc-slider__card-title{color:inherit;font-size:15px;line-height:.98;font-weight:700;letter-spacing:-.035em;text-transform:uppercase;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ltkc-slider__bottom{position:absolute;z-index:6;left:42%;right:110px;bottom:32px;display:flex;align-items:center;gap:18px}
.ltkc-slider__arrows{display:flex;gap:8px}
.ltkc-slider__arrow{width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:rgba(8,15,21,.18);color:#fff;cursor:pointer;font-size:14px;line-height:1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:.2s ease}
.ltkc-slider__arrow:hover{background:rgba(255,255,255,.12);transform:translateY(-2px)}
.ltkc-slider__bottom-progress{position:relative;width:min(260px,28vw);height:2px;background:rgba(255,255,255,.18);overflow:hidden}
.ltkc-slider__bottom-progress span{display:block;height:100%;width:0;background:var(--ltkc-progress);will-change:width}
.ltkc-slider__number{position:absolute;z-index:6;right:30px;bottom:27px;color:#fff;font-size:36px;font-weight:700;line-height:1;letter-spacing:-.05em}
/* Card-to-background morph. Two image layers prevent an abrupt crop change when a custom portrait preview is used. */
.ltkc-slider__transition{position:absolute;z-index:20;overflow:hidden;border-radius:10px;opacity:0;pointer-events:none;background:#111;box-shadow:0 24px 80px rgba(0,0,0,.36);will-change:left,top,width,height,border-radius,opacity}
.ltkc-slider__transition.is-active{opacity:1}
.ltkc-slider__transition img{position:absolute;inset:0;width:100%;height:100%;max-width:none;display:block;object-fit:cover}
.ltkc-slider__transition-thumb{z-index:1;opacity:1}
.ltkc-slider__transition-bg{z-index:2;opacity:0;transition:opacity .24s ease}
.ltkc-slider__transition.is-bg-visible .ltkc-slider__transition-bg{opacity:1}
.ltkc-slider.is-transitioning .ltkc-slider__deck,.ltkc-slider.is-transitioning .ltkc-slider__bottom{pointer-events:none}
.ltkc-slider__card.is-entering{animation:ltkcCardIn .48s cubic-bezier(.2,.8,.2,1) both}
.ltkc-slider__card:nth-child(2).is-entering{animation-delay:.04s}.ltkc-slider__card:nth-child(3).is-entering{animation-delay:.08s}.ltkc-slider__card:nth-child(4).is-entering{animation-delay:.12s}.ltkc-slider__card:nth-child(5).is-entering{animation-delay:.16s}
@keyframes ltkcCopyOut{to{opacity:0;transform:translate(-28px,-50%)}}
@keyframes ltkcCopyIn{from{opacity:0;transform:translate(26px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@keyframes ltkcCardIn{from{opacity:0;transform:translateX(38px) scale(.94)}to{opacity:1;transform:translateX(0) scale(1)}}
@media(max-width:1180px){
  .ltkc-slider__inner{padding:30px 24px}
  .ltkc-slider__copy{left:24px;width:38%}
  .ltkc-slider__deck{left:43%;right:24px}
  .ltkc-slider__bottom{left:43%;right:98px}
  .ltkc-slider__number{right:24px}
  .ltkc-slider__title{font-size:clamp(42px,6vw,68px)}
  .ltkc-slider__description{font-size:12px}
  .ltkc-slider__card-title{font-size:12px}
}
@media(max-width:767px){
  .ltkc-slider{--ltkc-height:660px;width:100%;max-width:100%;overflow:hidden}
  .ltkc-slider__frame{width:100%;max-width:none;height:var(--ltkc-height);min-height:var(--ltkc-height)}
  .ltkc-slider__background{width:100%;height:100%;min-height:100%}
  .ltkc-slider .ltkc-slider__bg{width:100%;height:100%;min-width:100%;min-height:100%;max-width:none;object-fit:cover}
  .ltkc-slider__inner{width:100%;max-width:none;min-height:var(--ltkc-height);height:100%;padding:26px 18px 24px}
  .ltkc-slider__copy{left:18px;right:18px;top:34%;width:auto;max-width:none;transform:translateY(-50%)}
  .ltkc-slider__place{margin-bottom:10px;font-size:9px}
  .ltkc-slider__title{font-size:clamp(36px,12vw,54px);line-height:.91;letter-spacing:-.05em;max-width:92%}
  .ltkc-slider__description{max-width:92%;margin-top:14px;font-size:10.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .ltkc-slider__cta{margin-top:15px;min-height:34px;font-size:9px}
  .ltkc-slider__cta-dot{width:25px;height:25px;flex-basis:25px}
  .ltkc-slider__deck{left:18px;right:0;top:auto;bottom:72px;transform:none;gap:8px;padding:8px 18px 9px 1px;overflow:hidden}
  .ltkc-slider__card{width:var(--ltkc-card-w);height:var(--ltkc-card-h);flex-basis:var(--ltkc-card-w);border-radius:8px}
  .ltkc-slider__card-copy{left:8px;right:7px;bottom:8px;gap:2px}
  .ltkc-slider__card-copy small{font-size:6.5px}
  .ltkc-slider__card-title{font-size:9px;line-height:1}
  .ltkc-slider__bottom{left:18px;right:74px;bottom:22px;gap:10px}
  .ltkc-slider__arrow{width:31px;height:31px;font-size:12px}
  .ltkc-slider__bottom-progress{width:min(150px,38vw)}
  .ltkc-slider__number{right:18px;bottom:23px;font-size:26px}
  .ltkc-slider__shade{background:linear-gradient(0deg,rgba(5,10,15,.80) 0,rgba(5,10,15,.16) 58%,rgba(5,10,15,.20) 100%),linear-gradient(90deg,var(--ltkc-shade-left) 0%,rgba(8,15,21,.18) 70%,var(--ltkc-shade-right) 100%)}
  @keyframes ltkcCopyOut{to{opacity:0;transform:translate(-22px,-50%)}}
  @keyframes ltkcCopyIn{from{opacity:0;transform:translate(20px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
}
@media(max-width:420px){
  .ltkc-slider__copy{top:32%}
  .ltkc-slider__title{font-size:36px}
  .ltkc-slider__description{max-width:96%}
  .ltkc-slider__deck{bottom:70px}
  .ltkc-slider__bottom-progress{width:100px}
}
@media(prefers-reduced-motion:reduce){.ltkc-slider__copy,.ltkc-slider__card,.ltkc-slider__transition,.ltkc-slider__transition-bg{animation:none!important;transition-duration:.01ms!important}}


/* ==========================================================
   v2.24.0 — Reference-accurate morph + position controls
   ========================================================== */
.ltkc-slider{
  --ltkc-cards-x:42%;
  --ltkc-cards-y:52%;
  --ltkc-progress-x:42%;
  --ltkc-progress-bottom:32px;
  --ltkc-cta-icon-box:29px;
  --ltkc-cta-icon-size:13px;
}
.ltkc-slider__deck{
  left:var(--ltkc-cards-x) !important;
  top:var(--ltkc-cards-y) !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
}
.ltkc-slider__bottom{
  left:var(--ltkc-progress-x) !important;
  bottom:var(--ltkc-progress-bottom) !important;
}
.ltkc-slider__cta-dot{
  width:var(--ltkc-cta-icon-box) !important;
  height:var(--ltkc-cta-icon-box) !important;
  flex:0 0 var(--ltkc-cta-icon-box) !important;
  font-size:0 !important;
}
.ltkc-slider__cta-dot svg{
  width:var(--ltkc-cta-icon-size);
  height:var(--ltkc-cta-icon-size);
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
/* One continuous destination image morphs from portrait card to full hero. */
.ltkc-slider__transition{
  transform:none;
  transform-origin:center;
  contain:layout paint;
}
.ltkc-slider__transition-thumb{
  opacity:1 !important;
  transition:none !important;
  transform:none !important;
}
.ltkc-slider__transition-bg{
  display:none !important;
}
.ltkc-slider__transition.is-bg-visible .ltkc-slider__transition-thumb{opacity:1 !important}
@media(max-width:767px){
  .ltkc-slider{
    --ltkc-cards-x:5%;
    --ltkc-cards-y:70%;
    --ltkc-progress-x:5%;
    --ltkc-progress-bottom:22px;
    --ltkc-cta-icon-box:25px;
    --ltkc-cta-icon-size:11px;
  }
  .ltkc-slider__deck{
    right:0 !important;
    padding:8px 18px 9px 1px;
  }
  .ltkc-slider__bottom{right:74px}
}


/* ==========================================================
   v2.25.0 — cinematic reveal + unified progress/number group
   ========================================================== */
.ltkc-slider{
  --ltkc-nav-x:42%;
  --ltkc-nav-bottom:30px;
}
/* Bottom navigation is now one movable group: arrows + progress + number. */
.ltkc-slider__bottom{
  left:var(--ltkc-nav-x) !important;
  right:auto !important;
  bottom:var(--ltkc-nav-bottom) !important;
  width:max-content;
  max-width:calc(100% - var(--ltkc-nav-x) - 22px);
  display:flex;
  align-items:center;
  gap:16px;
  padding:5px 8px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(5,12,18,.18);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.ltkc-slider__bottom-progress{
  width:240px;
  height:3px;
  flex:0 0 auto;
  border-radius:99px;
  background:rgba(255,255,255,.20);
}
.ltkc-slider__bottom-progress span{border-radius:inherit}
.ltkc-slider__number{
  position:static !important;
  display:inline-flex;
  align-items:baseline;
  gap:4px;
  min-width:max-content;
  color:#fff;
  font-size:21px;
  font-weight:700;
  line-height:1;
  letter-spacing:-.035em;
}
.ltkc-slider__number-total{
  color:rgba(255,255,255,.52);
  font-size:.58em;
  font-weight:500;
  letter-spacing:0;
}
/* Replace morph/zoom with a full-frame directional reveal. */
.ltkc-slider__transition{
  position:absolute !important;
  inset:0 !important;
  z-index:20;
  width:100% !important;
  height:100% !important;
  border-radius:0 !important;
  box-shadow:none !important;
  opacity:0;
  overflow:hidden;
  pointer-events:none;
  background:#101820;
  will-change:clip-path,opacity,filter;
}
.ltkc-slider__transition.is-active{opacity:1}
.ltkc-slider__transition-thumb{
  display:block !important;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  opacity:1 !important;
  will-change:transform;
}
.ltkc-slider__transition-bg{display:none !important}
.ltkc-slider__transition:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,rgba(255,255,255,0) 36%,rgba(255,255,255,.10) 50%,rgba(255,255,255,0) 64%);
  transform:translateX(-120%);
  opacity:0;
  pointer-events:none;
}
.ltkc-slider__transition.is-active:after{
  animation:ltkcRevealSheen .8s cubic-bezier(.22,.76,.22,1) both;
}
.ltkc-slider__deck{transition:opacity .28s ease,filter .28s ease}
.ltkc-slider__deck.is-shifting{opacity:.25;filter:blur(2px)}
@keyframes ltkcRevealSheen{0%{transform:translateX(-120%);opacity:0}35%{opacity:.45}100%{transform:translateX(120%);opacity:0}}
@media(max-width:767px){
  .ltkc-slider{--ltkc-nav-x:5%;--ltkc-nav-bottom:18px}
  .ltkc-slider__bottom{
    max-width:calc(95% - 12px);
    gap:9px;
    padding:4px 6px;
  }
  .ltkc-slider__bottom-progress{width:105px;height:3px}
  .ltkc-slider__number{font-size:17px}
  .ltkc-slider__arrow{width:29px;height:29px}
}
@media(max-width:390px){
  .ltkc-slider__bottom-progress{width:78px}
  .ltkc-slider__bottom{gap:7px}
  .ltkc-slider__number{font-size:15px}
}
@media(prefers-reduced-motion:reduce){
  .ltkc-slider__transition.is-active:after{animation:none!important}
}


/* ==========================================================
   v2.25.2 — seamless fast reveal, persistent cards
   ========================================================== */
/* The destination image transition belongs above the old background but BELOW all text/cards/navigation. */
.ltkc-slider__transition{
  z-index:2 !important;
  background:#101820;
  box-shadow:none !important;
}
.ltkc-slider__transition-thumb{z-index:0 !important}
/* Match the permanent hero shade while the temporary destination layer is visible, preventing a brightness jump. */
.ltkc-slider__transition:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(8,15,21,.72) 0%,rgba(8,15,21,.46) 30%,rgba(8,15,21,.12) 69%,rgba(8,15,21,.16) 100%),linear-gradient(0deg,rgba(4,8,12,.44),transparent 46%,rgba(4,8,12,.11));
}
.ltkc-slider__transition:after{z-index:2}
/* Never fade/blur the preview rail during a background change. */
.ltkc-slider__deck,
.ltkc-slider__deck.is-shifting{
  opacity:1 !important;
  filter:none !important;
}
.ltkc-slider__copy.is-out{animation-duration:.16s !important}
.ltkc-slider__copy.is-in{animation-duration:.30s !important}
/* Keep controls visually stable throughout the reveal. */
.ltkc-slider.is-transitioning .ltkc-slider__deck,
.ltkc-slider.is-transitioning .ltkc-slider__bottom{opacity:1 !important;visibility:visible !important}


/* ==========================================================
   v2.25.3 — infinite autoplay + active card + drag/swipe rail
   ========================================================== */
.ltkc-slider{
  --ltkc-active-card:#0ea5e9;
  --ltkc-active-glow:rgba(14,165,233,.38);
}
.ltkc-slider__deck{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scrollbar-width:none;
  -ms-overflow-style:none;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  cursor:grab;
  user-select:none;
  -webkit-user-select:none;
  scroll-behavior:smooth;
}
.ltkc-slider__deck::-webkit-scrollbar{display:none;width:0;height:0}
.ltkc-slider__deck.is-dragging{
  cursor:grabbing;
  scroll-behavior:auto;
}
.ltkc-slider__deck.is-dragging .ltkc-slider__card{pointer-events:none}
.ltkc-slider__card{
  position:relative;
  flex-shrink:0;
  -webkit-user-drag:none;
}
.ltkc-slider__card img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;pointer-events:none}
.ltkc-slider__card.is-active{
  border:2px solid var(--ltkc-active-card) !important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--ltkc-active-card) 18%,transparent),0 18px 46px var(--ltkc-active-glow) !important;
  transform:translateY(-5px) scale(1.018);
  z-index:2;
}
.ltkc-slider__card.is-active:hover,.ltkc-slider__card.is-active:focus-visible{
  transform:translateY(-7px) scale(1.024);
  border-color:var(--ltkc-active-card) !important;
}
.ltkc-slider__card-active-mark{
  position:absolute;
  z-index:4;
  top:9px;
  right:9px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--ltkc-active-card);
  border:3px solid rgba(255,255,255,.94);
  box-shadow:0 5px 16px var(--ltkc-active-glow);
  opacity:0;
  transform:scale(.72);
  transition:opacity .22s ease,transform .22s ease;
}
.ltkc-slider__card.is-active .ltkc-slider__card-active-mark{opacity:1;transform:scale(1)}
@media(max-width:767px){
  .ltkc-slider__deck{
    overflow-x:auto !important;
    padding-right:22px !important;
    scroll-snap-type:x proximity;
  }
  .ltkc-slider__card{scroll-snap-align:start}
  .ltkc-slider__card.is-active{transform:translateY(-3px) scale(1.012)}
  .ltkc-slider__card-active-mark{top:6px;right:6px;width:14px;height:14px;border-width:2px}
}


/* ==========================================================
   v2.25.4 — reliable touch rail + cleaner mobile active state + smoother blend
   ========================================================== */
/* GPU-friendly blend: no clip-path animation or hard edge wipe. */
.ltkc-slider__transition{
  clip-path:none !important;
  will-change:opacity !important;
}
.ltkc-slider__transition-thumb{
  will-change:transform,opacity !important;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.ltkc-slider__transition:after{
  display:none !important;
}
.ltkc-slider__copy.is-out{animation-duration:.20s !important;animation-timing-function:cubic-bezier(.4,0,.2,1) !important}
.ltkc-slider__copy.is-in{animation-duration:.36s !important;animation-timing-function:cubic-bezier(.16,1,.3,1) !important}

/* Rail must actually be scrollable under direct manipulation. */
.ltkc-slider__deck{
  touch-action:pan-y pinch-zoom !important;
  scroll-behavior:auto;
  -webkit-overflow-scrolling:touch;
  scroll-padding-inline:10px;
}
.ltkc-slider__deck:not(.is-dragging){scroll-behavior:smooth}

@media(max-width:767px){
  /* Mobile active state: crisp, compact and non-bulky. */
  .ltkc-slider__card.is-active,
  .ltkc-slider__card.is-active:hover,
  .ltkc-slider__card.is-active:focus-visible{
    transform:none !important;
    border:1.5px solid var(--ltkc-active-card) !important;
    box-shadow:0 0 0 1px rgba(14,165,233,.16),0 9px 24px rgba(0,0,0,.16) !important;
  }
  .ltkc-slider__card-active-mark{
    top:auto !important;
    right:auto !important;
    left:50% !important;
    bottom:5px !important;
    width:34% !important;
    height:3px !important;
    border:0 !important;
    border-radius:999px !important;
    box-shadow:none !important;
    opacity:0;
    transform:translateX(-50%) scaleX(.35) !important;
    transform-origin:center;
  }
  .ltkc-slider__card.is-active .ltkc-slider__card-active-mark{
    opacity:1;
    transform:translateX(-50%) scaleX(1) !important;
  }
  .ltkc-slider__deck{
    scroll-snap-type:none !important;
    overscroll-behavior-x:contain;
  }
}


/* ==========================================================
   v2.25.5 — immediate active feedback + lower-latency mobile rail
   ========================================================== */
.ltkc-slider__card{
  transition:border-color .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.22,1,.36,1) !important;
}
.ltkc-slider__deck.is-touching,
.ltkc-slider__deck.is-dragging{
  scroll-behavior:auto !important;
}
.ltkc-slider__deck.is-touching .ltkc-slider__card,
.ltkc-slider__deck.is-dragging .ltkc-slider__card{
  transition:none !important;
}

@media(max-width:767px){
  .ltkc-slider__deck{
    scroll-behavior:auto !important;
    touch-action:pan-y pinch-zoom !important;
  }
  .ltkc-slider__card.is-active,
  .ltkc-slider__card.is-active:hover,
  .ltkc-slider__card.is-active:focus-visible{
    border:1.5px solid var(--ltkc-active-card) !important;
    box-shadow:0 0 0 1px rgba(14,165,233,.12),0 7px 18px rgba(0,0,0,.13) !important;
    transform:none !important;
  }
  /* Requested: no small active line/marker on mobile. */
  .ltkc-slider__card-active-mark,
  .ltkc-slider__card.is-active .ltkc-slider__card-active-mark{
    display:none !important;
    opacity:0 !important;
  }
}


/* v2.25.6 — one-line destination titles */
.ltkc-slider__title{
  white-space:nowrap !important;
  text-wrap:nowrap !important;
  max-width:none;
}
.ltkc-slider__card-title{
  display:block;
  white-space:nowrap !important;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:767px){
  .ltkc-slider__title{
    max-width:100%;
    font-size:clamp(28px,10vw,44px);
    letter-spacing:-.04em;
    line-height:1;
  }
}
@media (max-width:390px){
  .ltkc-slider__title{font-size:clamp(25px,9.2vw,36px)}
}

/* ==========================================================
   v2.25.8 — control-safe typography + automatic title/card collision guard
   ========================================================== */
.ltkc-slider{
  --ltkc-title-card-gap:34px;
  --ltkc-safe-title-right:0px;
}
/* Keep the requested one-line title, but never hard-code its typography.
   Elementor Typography controls now own font-size, line-height, weight,
   letter-spacing and text-transform without !important conflicts. */
.ltkc-slider__title{
  text-transform:none;
  white-space:nowrap !important;
  text-wrap:nowrap !important;
  max-width:none;
}
/* The regular card-position control remains authoritative. When overlap
   protection is enabled, JS only contributes the measured title edge as a
   minimum safe starting point. */
.ltkc-slider__deck{
  left:var(--ltkc-cards-x) !important;
}
.ltkc-slider.is-overlap-safe .ltkc-slider__deck{
  left:max(var(--ltkc-cards-x),calc(var(--ltkc-safe-title-right,0px) + var(--ltkc-title-card-gap,34px))) !important;
}
/* Mobile is intentionally stacked: card positioning stays exactly under the
   user's responsive Cards Horizontal Position control. */
@media(max-width:767px){
  .ltkc-slider.is-overlap-safe .ltkc-slider__deck{
    left:var(--ltkc-cards-x) !important;
  }
  .ltkc-slider__copy{
    right:auto;
    max-width:calc(100% - 36px);
  }
  .ltkc-slider__title{
    max-width:none;
  }
  /* Use the configured active glow instead of a hard-coded blue shadow. */
  .ltkc-slider__card.is-active,
  .ltkc-slider__card.is-active:hover,
  .ltkc-slider__card.is-active:focus-visible{
    box-shadow:0 0 0 1px color-mix(in srgb,var(--ltkc-active-card) 12%,transparent),0 7px 18px var(--ltkc-active-glow) !important;
  }
}


/* ==========================================================
   v2.25.9 — title containment only
   Main title respects the Elementor text column at every font size.
   It may wrap naturally instead of overflowing into the card rail.
   ========================================================== */
.ltkc-slider__copy{
  box-sizing:border-box;
}
.ltkc-slider__title{
  display:block;
  width:100%;
  max-width:100% !important;
  white-space:normal !important;
  text-wrap:wrap !important;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
/* Title containment makes the previous collision movement unnecessary.
   Keep the preview cards exactly at the user's Cards Horizontal Position. */
.ltkc-slider.is-overlap-safe .ltkc-slider__deck{
  left:var(--ltkc-cards-x) !important;
}
@media(max-width:767px){
  .ltkc-slider__title{
    width:100%;
    max-width:100% !important;
    white-space:normal !important;
    text-wrap:wrap !important;
    overflow-wrap:normal;
    word-break:normal;
  }
}


/* ==========================================================
   v2.26.1 — full-cover cards + decode-first hero backgrounds
   ========================================================== */
/* Astra/Elementor/global image rules must never shrink a preview image
   inside its fixed card viewport. */
.ltkc-slider .ltkc-slider__card{
  position:relative;
  overflow:hidden;
  background:#101820;
}
.ltkc-slider .ltkc-slider__card > img{
  position:absolute !important;
  inset:0 !important;
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  object-fit:cover !important;
  object-position:center center;
}
/* Keep every temporary transition frame genuinely full-size on mobile too.
   This prevents a partially-covered old background from showing through. */
.ltkc-slider .ltkc-slider__transition{
  top:0 !important;
  right:0 !important;
  bottom:0 !important;
  left:0 !important;
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  transform:none !important;
}
.ltkc-slider .ltkc-slider__transition > img,
.ltkc-slider .ltkc-slider__bg{
  width:100% !important;
  height:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
}
/* Background visibility is released by JS only after the image has fully
   loaded and decoded, preventing the top-half/progressive-paint flash. */
.ltkc-slider .ltkc-slider__bg{
  transition:opacity .18s cubic-bezier(.22,1,.36,1);
}


/* ==========================================================
   v2.26.2 — clean cards + deterministic desktop active state
   ========================================================== */
/* Requested: preview cards should not cast a drop shadow. Keep the
   active state communicated only by the border/marker. */
.ltkc-slider .ltkc-slider__card,
.ltkc-slider .ltkc-slider__card:hover,
.ltkc-slider .ltkc-slider__card:focus-visible,
.ltkc-slider .ltkc-slider__card.is-active,
.ltkc-slider .ltkc-slider__card.is-active:hover,
.ltkc-slider .ltkc-slider__card.is-active:focus-visible{
  box-shadow:none !important;
}

/* Keep selected card feedback crisp on desktop without shifting the rail. */
@media(min-width:768px){
  .ltkc-slider .ltkc-slider__card.is-active,
  .ltkc-slider .ltkc-slider__card.is-active:hover,
  .ltkc-slider .ltkc-slider__card.is-active:focus-visible{
    border:2px solid var(--ltkc-active-card) !important;
  }
}


/* ==========================================================
   v2.26.3 — true immediate desktop card selection
   ========================================================== */
@media(min-width:768px){
  .ltkc-slider .ltkc-slider__card{
    transition:border-color .06s linear,transform .12s cubic-bezier(.22,1,.36,1) !important;
  }
  .ltkc-slider .ltkc-slider__card-active-mark{
    transition:opacity .06s linear,transform .08s ease !important;
  }
}
