/* ------------------------------------------------------------------
   Lionlink hero slider — replaces Slider Revolution 6.5.31
   Self-contained: no plugin, no external JS dependency.
------------------------------------------------------------------ */
.lls-hero{position:relative;width:100%;overflow:hidden;background:#111;
  --lls-accent:#f07320;--lls-dark:#050505}
.lls-hero__viewport{position:relative;width:100%;height:clamp(460px,46vw,760px)}
.lls-hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;
  transition:opacity .9s ease,visibility .9s ease}
.lls-hero__slide.is-active{opacity:1;visibility:visible;z-index:2}
.lls-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;
  transform:scale(1.06);transition:transform 7s linear}
.lls-hero__slide.is-active .lls-hero__bg{transform:scale(1)}
.lls-hero__scrim{position:absolute;inset:0}
.lls-hero__slide--s3 .lls-hero__scrim{background:rgba(0,0,0,.33)}

.lls-hero__inner{position:relative;z-index:3;height:100%;display:flex;align-items:center;
  max-width:1200px;margin:0 auto;padding:0 24px;gap:40px}
.lls-hero__copy{max-width:640px}

.lls-hero__eyebrow{display:block;color:var(--lls-accent);font-size:clamp(15px,1.5vw,20px);
  font-weight:600;letter-spacing:.06em;margin:0 0 .5rem;
  opacity:0;transform:translateY(24px)}
.lls-hero__title{font-size:clamp(38px,5.4vw,78px);line-height:1.04;font-weight:700;margin:0 0 .6rem;
  opacity:0;transform:translateY(28px)}
.lls-hero__sub{font-size:clamp(17px,1.9vw,25px);line-height:1.4;margin:0 0 1.6rem;
  opacity:0;transform:translateY(28px)}
.lls-hero__sub span{color:var(--lls-accent)}
.lls-hero__cta{display:inline-flex;align-items:center;gap:.6rem;
  background:var(--lls-accent);color:#fff;text-decoration:none;
  padding:15px 34px;border-radius:4px;font-weight:600;font-size:16px;
  opacity:0;transform:translateY(28px);transition:background .25s ease,transform .25s ease}
.lls-hero__cta:hover{background:#d8630f;color:#fff}
.lls-hero__cta svg{width:17px;height:17px;fill:currentColor}

/* light slides (slide 2) use dark text */
.lls-hero__slide--light .lls-hero__title,
.lls-hero__slide--light .lls-hero__sub{color:var(--lls-dark)}
.lls-hero__slide--dark  .lls-hero__title,
.lls-hero__slide--dark  .lls-hero__sub{color:#fff}

/* promo panel (slide 1) */
.lls-hero__promo{background:rgba(0,0,0,.55);backdrop-filter:blur(3px);
  border-radius:8px;padding:28px 30px;max-width:360px;color:#fff;
  opacity:0;transform:translateY(28px)}
.lls-hero__promo h3{color:#fff;font-size:21px;margin:0 0 .5rem;font-weight:700}
.lls-hero__promo p{color:rgba(255,255,255,.8);font-size:15px;line-height:1.5;margin:0 0 1rem}
.lls-hero__promo ul{list-style:none;margin:0;padding:0}
.lls-hero__promo li{position:relative;padding-left:24px;margin:.45rem 0;font-size:15px;color:#fff}
.lls-hero__promo li::before{content:"";position:absolute;left:0;top:.45em;
  width:9px;height:9px;border-radius:50%;background:var(--lls-accent)}

.lls-hero__art{position:absolute;right:4%;bottom:8%;z-index:3;max-width:34%;
  pointer-events:none;opacity:0;transform:translateY(28px)}
.lls-hero__art img{display:block;width:100%;height:auto}

/* entrance animation, staggered — mirrors the original reveal */
.lls-hero__slide.is-active .lls-hero__eyebrow,
.lls-hero__slide.is-active .lls-hero__title,
.lls-hero__slide.is-active .lls-hero__sub,
.lls-hero__slide.is-active .lls-hero__cta,
.lls-hero__slide.is-active .lls-hero__promo,
.lls-hero__slide.is-active .lls-hero__art{
  animation:lls-rise .8s cubic-bezier(.22,.8,.3,1) forwards}
.lls-hero__slide.is-active .lls-hero__title{animation-delay:.12s}
.lls-hero__slide.is-active .lls-hero__sub{animation-delay:.24s}
.lls-hero__slide.is-active .lls-hero__cta{animation-delay:.36s}
.lls-hero__slide.is-active .lls-hero__promo{animation-delay:.30s}
.lls-hero__slide.is-active .lls-hero__art{animation-delay:.20s}
@keyframes lls-rise{to{opacity:1;transform:translateY(0)}}

/* controls */
.lls-hero__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:5;
  width:46px;height:46px;border:0;border-radius:50%;cursor:pointer;
  background:rgba(255,255,255,.22);color:#fff;display:grid;place-items:center;
  transition:background .2s ease}
.lls-hero__nav:hover{background:var(--lls-accent)}
.lls-hero__nav--prev{left:18px}
.lls-hero__nav--next{right:18px}
.lls-hero__nav svg{width:20px;height:20px;fill:currentColor}
.lls-hero__dots{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
  z-index:5;display:flex;gap:10px}
.lls-hero__dot{width:11px;height:11px;border-radius:50%;border:0;padding:0;cursor:pointer;
  background:rgba(255,255,255,.45);transition:background .2s ease,width .2s ease}
.lls-hero__dot.is-active{background:var(--lls-accent);width:26px;border-radius:6px}

@media (max-width:1024px){
  .lls-hero__promo{display:none}
  .lls-hero__art{max-width:42%;opacity:.85}
}
@media (max-width:767px){
  .lls-hero__viewport{height:clamp(420px,86vw,540px)}
  .lls-hero__art{display:none}
  .lls-hero__inner{padding:0 20px}
  .lls-hero__nav{width:38px;height:38px}
  .lls-hero__nav--prev{left:8px}.lls-hero__nav--next{right:8px}
}
@media (prefers-reduced-motion:reduce){
  .lls-hero__slide,.lls-hero__bg{transition:none}
  .lls-hero__slide.is-active *{animation:none!important;opacity:1!important;transform:none!important}
}
