/* KFF Split Hero Slider — KFF brand (Homepage_v10 tokens) */
.elementor-widget-kff_split_hero_slider,
.elementor-widget-kff_split_hero_slider > .elementor-widget-container{
  width:100%;
  max-width:100%;
  padding:0 !important;
  margin:0 !important;
}

.kff-split-hero-slider{
  --kss-teal:#10605A;
  --kss-teal-dark:#0A4842;
  --kss-teal-deep:#083935;
  --kss-sage:#9FB7A7;
  --kss-gold:#C2A36B;
  --kss-gold-light:#D8C29A;
  --kss-warm-white:#F5F5F3;
  --kss-charcoal:#3A3A3A;
  --kss-muted:#5a5a5a;
  --kss-white:#ffffff;
  --kss-serif:'Playfair Display', Georgia, serif;
  --kss-sans:'Alegreya Sans', 'Helvetica Neue', Arial, sans-serif;
  --kss-left-width:44%;
  --kss-right-width:56%;
  --kss-bar-height:96px;
  --kss-bar:var(--kss-teal-deep);
  --kss-nav-bg:var(--kss-teal);
  --kss-link:var(--kss-teal);
  --kss-ease:cubic-bezier(0.4, 0, 0.2, 1);

  position:relative;
  width:100%;
  max-width:none;
  min-height:720px;
  background:var(--kss-warm-white);
  font-family:var(--kss-sans);
  color:var(--kss-charcoal);
  overflow:hidden;
  box-sizing:border-box;
}
.kff-split-hero-slider *,
.kff-split-hero-slider *::before,
.kff-split-hero-slider *::after{
  box-sizing:border-box;
}

.kff-split-hero-slider .kss-inner{
  position:relative;
  display:flex;
  min-height:inherit;
  width:100%;
}

/* Left panel */
.kff-split-hero-slider .kss-left{
  position:relative;
  flex:0 0 var(--kss-left-width);
  max-width:var(--kss-left-width);
  background:var(--kss-warm-white);
  z-index:3;
  padding:72px 56px calc(var(--kss-bar-height) + 48px) 0;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.kff-split-hero-slider .kss-content-stack{
  position:relative;
  flex:1 1 auto;
  width:100%;
  min-height:340px;
}

.kff-split-hero-slider .kss-content-slide{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  opacity:0;
  visibility:hidden;
  transform:none;
  transition:opacity 0.55s var(--kss-ease), visibility 0.55s var(--kss-ease);
  pointer-events:none;
}
.kff-split-hero-slider .kss-content-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:none;
  pointer-events:auto;
}

.kff-split-hero-slider .kss-copy{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:center;
  width:100%;
}

.kff-split-hero-slider .kss-eyebrow{
  display:block;
  font-family:var(--kss-sans);
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-size:0.72rem;
  font-weight:500;
  color:var(--kss-teal);
  margin:0 0 1.2rem;
  line-height:1.4;
}

.kff-split-hero-slider .kss-title{
  font-family:var(--kss-serif);
  font-size:clamp(1.75rem, 3.2vw, 2.65rem);
  font-weight:400;
  line-height:1.15;
  letter-spacing:0;
  color:var(--kss-teal-dark);
  margin:0 0 1.35rem;
}

.kff-split-hero-slider .kss-divider{
  width:36px;
  height:1px;
  background:var(--kss-gold);
  margin:0 0 1.2rem;
}

.kff-split-hero-slider .kss-subtitle{
  font-family:var(--kss-serif);
  font-size:1.08rem;
  font-weight:400;
  line-height:1.35;
  color:var(--kss-teal-dark);
  margin:0 0 0.85rem;
}

.kff-split-hero-slider .kss-desc{
  font-family:var(--kss-sans);
  font-size:0.92rem;
  line-height:1.7;
  color:var(--kss-muted);
  max-width:380px;
  margin:0;
  text-align:justify;
  text-justify:inter-word;
}
.kff-split-hero-slider .kss-desc p{
  margin:0 0 0.65rem;
}
.kff-split-hero-slider .kss-desc p:last-child{
  margin-bottom:0;
}
.kff-split-hero-slider .kss-desc a,
.kff-split-hero-slider .kss-desc .kss-link{
  color:var(--kss-teal);
  text-decoration:none;
  transition:opacity 0.2s ease;
}
.kff-split-hero-slider .kss-desc a:hover,
.kff-split-hero-slider .kss-desc .kss-link:hover{
  opacity:0.8;
}

/* CTA — KFF .btn */
.elementor-widget-kff_split_hero_slider .kff-split-hero-slider .kss-btn,
.kff-split-hero-slider .kss-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:0.55rem;
  background:var(--kss-sage) !important;
  background-color:var(--kss-sage) !important;
  color:var(--kss-charcoal) !important;
  font-family:var(--kss-sans) !important;
  font-size:0.8rem !important;
  font-weight:500 !important;
  letter-spacing:0.09em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  border:none !important;
  border-radius:0 !important;
  box-shadow:0 6px 18px rgba(58,58,58,0.08) !important;
  padding:0.9rem 1.9rem !important;
  line-height:1.2 !important;
  margin-top:auto;
  flex-shrink:0;
  align-self:flex-start;
  transition:background 0.32s ease, background-color 0.32s ease, transform 0.32s ease, box-shadow 0.32s ease !important;
}
.elementor-widget-kff_split_hero_slider .kff-split-hero-slider .kss-btn svg,
.kff-split-hero-slider .kss-btn svg{
  width:16px;
  height:12px;
  flex-shrink:0;
  display:block;
  transition:transform 0.32s ease;
}
.elementor-widget-kff_split_hero_slider .kff-split-hero-slider .kss-btn:hover,
.kff-split-hero-slider .kss-btn:hover{
  background:var(--kss-gold) !important;
  background-color:var(--kss-gold) !important;
  color:var(--kss-charcoal) !important;
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(58,58,58,0.16) !important;
}
.elementor-widget-kff_split_hero_slider .kff-split-hero-slider .kss-btn:hover svg,
.kff-split-hero-slider .kss-btn:hover svg{
  transform:translateX(4px);
}

/* Right panel — image slider */
.kff-split-hero-slider .kss-right{
  position:relative;
  flex:0 0 var(--kss-right-width);
  max-width:var(--kss-right-width);
  min-height:inherit;
  background:var(--kss-teal-deep);
}

.kff-split-hero-slider .kss-media{
  position:absolute;
  inset:0;
  bottom:var(--kss-bar-height);
}

.kff-split-hero-slider .kss-image-slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 0.55s var(--kss-ease);
  pointer-events:none;
}
.kff-split-hero-slider .kss-image-slide.is-active{
  opacity:1;
  pointer-events:auto;
}

.kff-split-hero-slider .kss-image-slide::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(8,57,53,0.12) 0%, rgba(8,57,53,0.45) 100%);
  pointer-events:none;
  z-index:1;
}

.kff-split-hero-slider .kss-image{
  width:100%;
  height:100%;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:grayscale(8%) saturate(1.05) contrast(1.03) brightness(0.88);
}

/* Nav on split line — center by default */
.kff-split-hero-slider .kss-nav{
  position:absolute;
  left:var(--kss-left-width);
  top:auto;
  bottom:50%;
  transform:translate(-50%, 50%);
  z-index:12;
  display:flex;
  align-items:stretch;
  background:var(--kss-nav-bg);
  box-shadow:0 8px 24px rgba(8,57,53,0.22);
}

.kff-split-hero-slider.kss-nav-bottom{
  overflow:visible;
}
.kff-split-hero-slider.kss-nav-bottom .kss-nav{
  bottom:-70px;
  transform:translateX(-50%);
}

.kff-split-hero-slider .kss-nav-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:36px;
  padding:0;
  margin:0;
  border:none;
  background:transparent;
  color:var(--kss-white);
  cursor:pointer;
  transition:background 0.25s ease;
}
.kff-split-hero-slider .kss-nav-btn:hover,
.kff-split-hero-slider .kss-nav-btn:focus-visible{
  background:rgba(255,255,255,0.14);
  outline:none;
}
.kff-split-hero-slider .kss-nav-btn svg{
  width:14px;
  height:14px;
  display:block;
}
.kff-split-hero-slider .kss-nav-btn + .kss-nav-btn{
  border-left:1px solid rgba(255,255,255,0.18);
}

/* Vertical progress — right edge */
.kff-split-hero-slider .kss-progress{
  position:absolute;
  right:28px;
  top:calc((100% - var(--kss-bar-height)) / 2);
  transform:translateY(-50%);
  z-index:8;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  pointer-events:none;
}

.kff-split-hero-slider .kss-progress-num{
  font-family:var(--kss-sans);
  font-size:0.68rem;
  font-weight:500;
  letter-spacing:0.12em;
  color:var(--kss-white);
  line-height:1;
  text-shadow:0 1px 8px rgba(0,0,0,0.35);
}

.kff-split-hero-slider .kss-progress-track{
  position:relative;
  width:1px;
  height:118px;
  background:rgba(255,255,255,0.35);
}

.kff-split-hero-slider .kss-progress-thumb{
  position:absolute;
  left:50%;
  top:0;
  width:7px;
  height:7px;
  margin-left:-3.5px;
  margin-top:-3.5px;
  border-radius:50%;
  background:var(--kss-gold);
  box-shadow:0 0 0 2px rgba(194,163,107,0.35);
  transition:top 0.55s var(--kss-ease);
}

/* Video preview card */
.kff-split-hero-slider .kss-video-wrap{
  position:absolute;
  right:36px;
  bottom:calc(var(--kss-bar-height) + 22px);
  z-index:9;
  width:154px;
  height:102px;
  border-radius:0;
  overflow:hidden;
  box-shadow:0 12px 32px rgba(8,57,53,0.28);
  opacity:0;
  visibility:hidden;
  transform:none;
  transition:opacity 0.45s var(--kss-ease), visibility 0.45s var(--kss-ease);
}
.kff-split-hero-slider .kss-video-wrap.is-active{
  opacity:1;
  visibility:visible;
  transform:none;
}

.kff-split-hero-slider .kss-video-link{
  display:block;
  position:relative;
  width:100%;
  height:100%;
  text-decoration:none !important;
}

.kff-split-hero-slider .kss-video-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:grayscale(8%) saturate(1.05) contrast(1.03) brightness(0.9);
}

.kff-split-hero-slider .kss-play{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:38px;
  height:38px;
  border-radius:50%;
  background:rgba(255,255,255,0.92);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform 0.25s ease, background 0.25s ease;
}
.kff-split-hero-slider .kss-video-link:hover .kss-play{
  transform:translate(-50%, -50%) scale(1.06);
  background:#fff;
}
.kff-split-hero-slider .kss-play svg{
  width:12px;
  height:12px;
  margin-left:2px;
  display:block;
}

/* Bottom stats bar */
.kff-split-hero-slider .kss-stats-bar{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:7;
  min-height:var(--kss-bar-height);
  background:var(--kss-bar);
  border-radius:0;
  padding:22px 80px 20px;
}

.kff-split-hero-slider .kss-stats-stack{
  position:relative;
  min-height:52px;
}

.kff-split-hero-slider .kss-stats-slide{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  opacity:0;
  visibility:hidden;
  transform:none;
  transition:opacity 0.55s var(--kss-ease), visibility 0.55s var(--kss-ease);
}
.kff-split-hero-slider .kss-stats-slide.is-active{
  opacity:1;
  visibility:visible;
  transform:none;
}

.kff-split-hero-slider .kss-stat{
  display:flex;
  flex-direction:column;
  gap:0.35rem;
}

.kff-split-hero-slider .kss-stat-label{
  font-family:var(--kss-sans);
  font-size:0.68rem;
  font-weight:500;
  color:var(--kss-gold-light);
  letter-spacing:0.08em;
  text-transform:uppercase;
  line-height:1.3;
}

.kff-split-hero-slider .kss-stat-value{
  font-family:var(--kss-serif);
  font-size:0.98rem;
  font-weight:400;
  color:var(--kss-white);
  line-height:1.35;
}

.kff-split-hero-slider.kss-no-stats{
  --kss-bar-height:0px;
}
.kff-split-hero-slider.kss-no-stats .kss-left{
  padding-bottom:72px;
}
.kff-split-hero-slider.kss-no-stats .kss-progress{
  top:50%;
}
.kff-split-hero-slider.kss-no-stats .kss-video-wrap{
  bottom:22px;
}

/* Elementor editor — show active slide */
.elementor-editor-active .kff-split-hero-slider .kss-content-slide:first-child,
.elementor-edit-area .kff-split-hero-slider .kss-content-slide:first-child,
.elementor-editor-active .kff-split-hero-slider .kss-image-slide:first-child,
.elementor-edit-area .kff-split-hero-slider .kss-image-slide:first-child,
.elementor-editor-active .kff-split-hero-slider .kss-stats-slide:first-child,
.elementor-edit-area .kff-split-hero-slider .kss-stats-slide:first-child,
.elementor-editor-active .kff-split-hero-slider .kss-video-wrap:first-child,
.elementor-edit-area .kff-split-hero-slider .kss-video-wrap:first-child{
  opacity:1;
  visibility:visible;
  transform:none;
}

@media(max-width:1080px){
  .kff-split-hero-slider{
    --kss-left-width:48%;
    --kss-right-width:52%;
  }
  .kff-split-hero-slider .kss-left{
    padding:56px 40px calc(var(--kss-bar-height) + 40px) 0;
  }
  .kff-split-hero-slider .kss-stats-bar{
    padding:20px 48px 18px;
  }
}

@media(max-width:860px){
  .kff-split-hero-slider{
    min-height:0;
  }

  .kff-split-hero-slider .kss-inner{
    flex-direction:column;
  }

  .kff-split-hero-slider .kss-left,
  .kff-split-hero-slider .kss-right{
    flex:0 0 auto;
    max-width:100%;
    width:100%;
  }

  .kff-split-hero-slider .kss-right{
    min-height:min(58vw, 440px);
    order:-1;
  }

  .kff-split-hero-slider .kss-media{
    bottom:0;
  }

  .kff-split-hero-slider .kss-left{
    order:1;
    padding:32px 24px 0 0;
  }

  .kff-split-hero-slider .kss-nav{
    position:relative;
    left:auto;
    top:auto;
    bottom:auto;
    order:2;
    align-self:flex-start;
    margin:16px 0 calc(var(--kss-bar-height) + 24px);
    transform:none;
    z-index:12;
    width:max-content;
  }

  .kff-split-hero-slider.kss-nav-bottom .kss-nav{
    position:absolute;
    left:40px;
    right:auto;
    top:auto;
    bottom:-20px;
    order:unset;
    align-self:auto;
    margin:0;
    transform:none;
  }

  .kff-split-hero-slider.kss-no-stats .kss-left{
    padding-bottom:0;
  }

  .kff-split-hero-slider.kss-no-stats .kss-nav{
    margin-bottom:32px;
  }

  .kff-split-hero-slider.kss-nav-bottom.kss-no-stats .kss-nav{
    margin-bottom:0;
  }

  .kff-split-hero-slider .kss-progress{
    right:18px;
    top:50%;
    transform:translateY(-50%);
  }

  .kff-split-hero-slider.kss-no-stats .kss-progress{
    top:50%;
  }

  .kff-split-hero-slider .kss-video-wrap{
    right:20px;
    bottom:calc(var(--kss-bar-height) + 16px);
    width:130px;
    height:86px;
  }

  .kff-split-hero-slider.kss-no-stats .kss-video-wrap{
    bottom:16px;
  }

  .kff-split-hero-slider .kss-stats-bar{
    padding:18px 24px 16px;
  }

  .kff-split-hero-slider .kss-stats-slide{
    grid-template-columns:1fr;
    gap:14px;
  }

  .kff-split-hero-slider .kss-content-stack{
    min-height:0;
    flex:none;
  }

  .kff-split-hero-slider .kss-content-slide{
    position:relative;
    inset:auto;
    height:0;
    overflow:hidden;
    transform:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.45s var(--kss-ease), visibility 0.45s;
  }

  .kff-split-hero-slider .kss-content-slide.is-active{
    height:auto;
    overflow:visible;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .kff-split-hero-slider .kss-copy{
    flex:none;
    justify-content:flex-start;
  }

  .kff-split-hero-slider .kss-desc{
    max-width:none;
    margin-bottom:2rem;
  }

  .kff-split-hero-slider .kss-btn{
    margin-top:0;
  }

  .kff-split-hero-slider .kss-title{
    font-size:clamp(1.5rem, 6.5vw, 2rem);
  }
}

@media(max-width:480px){
  .kff-split-hero-slider .kss-right{
    min-height:min(64vw, 360px);
  }

  .kff-split-hero-slider .kss-left{
    padding:28px 20px 0 0;
  }

  .kff-split-hero-slider.kss-no-stats .kss-left{
    padding-bottom:0;
  }

  .kff-split-hero-slider .kss-nav-btn{
    width:38px;
    height:32px;
  }

  .kff-split-hero-slider .kss-progress-track{
    height:88px;
  }

  .kff-split-hero-slider .kss-video-wrap{
    width:112px;
    height:74px;
    right:14px;
  }
}

@media (prefers-reduced-motion: reduce){
  .kff-split-hero-slider .kss-content-slide,
  .kff-split-hero-slider .kss-image-slide,
  .kff-split-hero-slider .kss-stats-slide,
  .kff-split-hero-slider .kss-video-wrap,
  .kff-split-hero-slider .kss-progress-thumb,
  .kff-split-hero-slider .kss-btn,
  .kff-split-hero-slider .kss-btn svg{
    transition:none !important;
  }
}
