/* LaranSys v6.0.3 - Soluções para sua empresa
   Correção definitiva do pinning no desktop:
   - troca overflow-x:hidden global por overflow-x:clip, preservando o bloqueio horizontal sem criar scroll-container;
   - volta a usar position:sticky nativo no palco;
   - JavaScript controla apenas progresso e deslocamento dos cards.
   Nenhum wheel/touch é interceptado. */

.ls-solutions-v601{
  --ls601-bg:#030604;
  --ls601-bg-2:#081008;
  --ls601-card:#09110b;
  --ls601-card-2:#111a12;
  --ls601-green:#8cc63f;
  --ls601-lime:#c7ed36;
  --ls601-green-deep:#3d6514;
  --ls601-silver:#c7ccca;
  --ls601-graphite:#5f6663;
  --ls601-text:#f4f8f2;
  --ls601-muted:#95a097;
  --ls601-line:rgba(199,237,54,.16);
  position:relative;
  min-height:auto;
  height:auto;
  background:
    radial-gradient(circle at 54% 45%, rgba(140,198,63,.105), transparent 29%),
    radial-gradient(circle at 82% 20%, rgba(199,237,54,.05), transparent 23%),
    linear-gradient(180deg, #050805 0%, var(--ls601-bg) 50%, #060a06 100%);
  color:var(--ls601-text);
  isolation:isolate;
}

/* evita que o reveal global altere o contexto do sticky */
body[data-v600-animations="1"] .ls-solutions-v601.ls-reveal{
  opacity:1 !important;
  transform:none !important;
  transition:none !important;
}

.ls-solutions-v601::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:
    linear-gradient(rgba(140,198,63,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(140,198,63,.04) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%);
}

.ls-solutions-v601::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(0,0,0,.62) 0 28%, transparent 47%),
    radial-gradient(circle at 11% 55%, rgba(140,198,63,.08), transparent 18%);
}

.ls-solutions-v601__sticky{
  position:relative;
  top:auto;
  left:auto;
  right:auto;
  width:100%;
  min-height:720px;
  height:100svh;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:clamp(108px, 11vh, 138px) 0 clamp(42px, 6vh, 72px);
}

/*
  v6.0.3: sticky nativo.
  O projeto antigo usa `html, body { overflow-x:hidden; }`, o que em navegadores Chromium
  pode transformar o ancestral em scroll-container e fazer o sticky sair da tela.
  `clip` mantém o corte horizontal, mas NÃO cria scroll-container.
*/
@media (min-width:992px){
  html, body{
    overflow-x:clip !important;
  }

  #conteudo-principal{
    overflow:visible !important;
  }

  .ls-solutions-v601[data-ls-pin-ready="true"]{
    height:var(--ls603-section-height, 4300px);
    min-height:calc(100svh + 1px);
    overflow:visible !important;
  }

  .ls-solutions-v601[data-ls-pin-ready="true"] .ls-solutions-v601__sticky{
    position:sticky !important;
    position:-webkit-sticky !important;
    top:0 !important;
    left:auto;
    right:auto;
    bottom:auto;
    width:100%;
    z-index:8;
  }
}


.ls-solutions-v601__layout{
  width:100%;
  display:grid;
  grid-template-columns:minmax(330px, 34vw) minmax(0, 1fr);
  align-items:center;
  gap:clamp(16px, 2vw, 42px);
}

.ls-solutions-v601__intro{
  position:relative;
  z-index:3;
  padding-left:clamp(28px, 4.2vw, 82px);
  padding-right:clamp(24px, 2.5vw, 48px);
}

.ls-solutions-v601__logo{
  display:block;
  width:clamp(118px, 10vw, 176px);
  height:auto;
  margin:0 0 22px;
  filter:drop-shadow(0 12px 30px rgba(140,198,63,.16));
}

.ls-solutions-v601__kicker{
  display:flex;
  align-items:center;
  gap:10px;
  color:var(--ls601-lime);
  font-size:11px;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:800;
  margin-bottom:20px;
}

.ls-solutions-v601__kicker::before{
  content:"";
  width:24px;
  height:1px;
  background:linear-gradient(90deg, var(--ls601-lime), transparent);
  box-shadow:0 0 18px rgba(199,237,54,.55);
}

.ls-solutions-v601__title{
  margin:0;
  max-width:520px;
  font-size:clamp(44px, 4.25vw, 78px);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:420;
  text-wrap:balance;
}

.ls-solutions-v601__title strong{
  display:block;
  color:var(--ls601-lime);
  font-weight:520;
  text-shadow:0 0 36px rgba(199,237,54,.13);
}

.ls-solutions-v601__lead{
  max-width:470px;
  margin:26px 0 0;
  color:var(--ls601-muted);
  font-size:clamp(14px, 1.05vw, 17px);
  line-height:1.7;
}

.ls-solutions-v601__counter-wrap{
  display:flex;
  align-items:center;
  gap:26px;
  margin-top:46px;
}

.ls-solutions-v601__counter{
  min-width:112px;
  display:flex;
  align-items:baseline;
  gap:8px;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.03em;
}

.ls-solutions-v601__counter-current{
  color:var(--ls601-lime);
  font-size:34px;
  font-weight:400;
}

.ls-solutions-v601__counter-sep,
.ls-solutions-v601__counter-total{
  color:#556157;
  font-size:24px;
  font-weight:350;
}

.ls-solutions-v601__progress{
  position:relative;
  width:min(150px, 11vw);
  height:2px;
  background:rgba(199,237,54,.11);
  overflow:hidden;
}

.ls-solutions-v601__progress-fill{
  position:absolute;
  inset:0 auto 0 0;
  width:16.666%;
  background:linear-gradient(90deg, var(--ls601-green), var(--ls601-lime));
  box-shadow:0 0 16px rgba(199,237,54,.7);
  transform-origin:left center;
  transition:width .16s linear;
}

.ls-solutions-v601__scroll-hint{
  margin-top:18px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#657168;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ls-solutions-v601__scroll-hint i{
  display:block;
  width:18px;
  height:28px;
  border:1px solid rgba(199,237,54,.28);
  border-radius:999px;
  position:relative;
}

.ls-solutions-v601__scroll-hint i::after{
  content:"";
  position:absolute;
  width:3px;
  height:6px;
  border-radius:999px;
  background:var(--ls601-lime);
  left:50%;
  top:6px;
  transform:translateX(-50%);
  animation:ls601ScrollDot 1.7s ease-in-out infinite;
}

@keyframes ls601ScrollDot{
  0%,100%{opacity:.25; transform:translate(-50%,0)}
  45%{opacity:1}
  75%{opacity:.15; transform:translate(-50%,8px)}
}

.ls-solutions-v601__viewport{
  position:relative;
  width:100%;
  min-width:0;
  overflow:visible;
  z-index:2;
}

.ls-solutions-v601__track{
  display:flex;
  align-items:stretch;
  gap:clamp(28px, 3vw, 58px);
  width:max-content;
  padding:18px clamp(42px, 9vw, 170px) 24px;
  will-change:transform;
  transform:translate3d(0,0,0);
}

.ls-solutions-v601__card{
  --focus:.28;
  position:relative;
  flex:0 0 clamp(430px, 34vw, 590px);
  height:clamp(510px, 67vh, 650px);
  min-height:0;
  padding:clamp(34px, 3vw, 52px);
  border:1px solid rgba(199,237,54,.105);
  border-radius:28px;
  overflow:hidden;
  background:
    radial-gradient(circle at 86% 12%, rgba(199,237,54,.055), transparent 22%),
    linear-gradient(145deg, rgba(18,28,18,.96), rgba(4,10,5,.985) 66%);
  box-shadow:
    0 34px 86px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.025);
  opacity:.28;
  filter:blur(4.5px) saturate(.65) brightness(.62);
  transform:scale(.94) translateY(12px);
  transform-origin:center center;
  transition:
    opacity .5s cubic-bezier(.2,.8,.2,1),
    filter .5s cubic-bezier(.2,.8,.2,1),
    transform .58s cubic-bezier(.2,.8,.2,1),
    border-color .45s ease,
    box-shadow .45s ease;
}

.ls-solutions-v601__card[data-near="true"]{
  opacity:.48;
  filter:blur(2.6px) saturate(.82) brightness(.78);
  transform:scale(.97) translateY(6px);
}

.ls-solutions-v601__card[data-active="true"]{
  opacity:1;
  filter:none;
  transform:scale(1) translateY(0);
  border-color:rgba(199,237,54,.32);
  box-shadow:
    0 42px 110px rgba(0,0,0,.5),
    0 0 0 1px rgba(140,198,63,.055),
    0 0 56px rgba(140,198,63,.08),
    inset 0 1px 0 rgba(255,255,255,.045);
}

.ls-solutions-v601__card::before{
  content:"";
  position:absolute;
  width:300px;
  height:300px;
  right:-150px;
  top:-165px;
  border-radius:50%;
  background:var(--ls601-lime);
  filter:blur(110px);
  opacity:0;
  transition:opacity .5s ease;
  pointer-events:none;
}

.ls-solutions-v601__card[data-active="true"]::before{opacity:.11}

.ls-solutions-v601__card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:34px 34px;
  mask-image:linear-gradient(135deg, transparent 38%, #000 100%);
}

.ls-solutions-v601__topline{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.ls-solutions-v601__number{
  color:var(--ls601-lime);
  font-size:clamp(66px, 5.2vw, 96px);
  line-height:.84;
  letter-spacing:-.075em;
  font-weight:320;
  text-shadow:0 0 30px rgba(199,237,54,.11);
}

.ls-solutions-v601__status{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 10px;
  border:1px solid rgba(199,237,54,.16);
  border-radius:999px;
  color:#a9b5aa;
  background:rgba(255,255,255,.025);
  font-size:9px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.ls-solutions-v601__status::before{
  content:"";
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--ls601-lime);
  box-shadow:0 0 12px rgba(199,237,54,.72);
}

.ls-solutions-v601__eyebrow{
  position:relative;
  z-index:1;
  display:block;
  margin:26px 0 14px;
  color:#7da34a;
  font-size:10px;
  font-weight:850;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.ls-solutions-v601__card h3{
  position:relative;
  z-index:1;
  margin:0;
  max-width:510px;
  color:var(--ls601-text);
  font-size:clamp(30px, 2.45vw, 44px);
  line-height:1.04;
  letter-spacing:-.04em;
  font-weight:470;
  text-wrap:balance;
}

.ls-solutions-v601__card-copy{
  position:relative;
  z-index:1;
  max-width:505px;
  margin:24px 0 0;
  color:#a7b2a8;
  font-size:clamp(14px, 1vw, 16px);
  line-height:1.72;
}

.ls-solutions-v601__chips{
  position:absolute;
  z-index:1;
  left:clamp(34px, 3vw, 52px);
  right:clamp(34px, 3vw, 52px);
  bottom:clamp(32px, 3vw, 48px);
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  padding-top:18px;
  border-top:1px solid rgba(199,237,54,.09);
}

.ls-solutions-v601__chips span{
  padding:7px 9px;
  border-radius:7px;
  background:rgba(140,198,63,.055);
  border:1px solid rgba(140,198,63,.12);
  color:#9bb776;
  font-size:9px;
  line-height:1;
  letter-spacing:.11em;
  text-transform:uppercase;
  font-weight:800;
}

/* card dashboard */
.ls-solutions-v601__card--dashboard .ls-solutions-v601__card-copy{
  max-width:480px;
  margin-top:17px;
  line-height:1.58;
}

.ls601-mini-dashboard{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  margin-top:18px;
}

.ls601-mini-dashboard div{
  min-width:0;
  padding:10px 9px;
  border:1px solid rgba(199,237,54,.11);
  border-radius:11px;
  background:rgba(255,255,255,.024);
}

.ls601-mini-dashboard strong{
  display:block;
  color:#dfe6df;
  font-size:15px;
  line-height:1;
  font-variant-numeric:tabular-nums;
}

.ls601-mini-dashboard span{
  display:block;
  margin-top:6px;
  color:#667368;
  font-size:8px;
  line-height:1.15;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.ls601-mini-dashboard div:nth-child(1) strong{color:#c7ed36}
.ls601-mini-dashboard div:nth-child(2) strong{color:#d7c95c}
.ls601-mini-dashboard div:nth-child(3) strong{color:#b8c1bb}
.ls601-mini-dashboard div:nth-child(4) strong{color:#8cc63f}

.ls-solutions-v601__card[data-active="true"] .ls601-mini-dashboard div{
  animation:ls601MetricPulse 2.8s ease-in-out infinite;
}
.ls-solutions-v601__card[data-active="true"] .ls601-mini-dashboard div:nth-child(2){animation-delay:.18s}
.ls-solutions-v601__card[data-active="true"] .ls601-mini-dashboard div:nth-child(3){animation-delay:.36s}
.ls-solutions-v601__card[data-active="true"] .ls601-mini-dashboard div:nth-child(4){animation-delay:.54s}

@keyframes ls601MetricPulse{
  0%,100%{border-color:rgba(199,237,54,.11); transform:translateY(0)}
  50%{border-color:rgba(199,237,54,.24); transform:translateY(-2px)}
}

@media (max-width:1199.98px) and (min-width:992px){
  .ls-solutions-v601__layout{grid-template-columns:minmax(315px, 36vw) minmax(0,1fr)}
  .ls-solutions-v601__intro{padding-left:30px;padding-right:24px}
  .ls-solutions-v601__logo{width:120px}
  .ls-solutions-v601__lead{font-size:14px}
  .ls-solutions-v601__card{flex-basis:470px}
}

/* Tablet/mobile: sem pinning. O gesto horizontal fica natural e acessível. */
@media (max-width:991.98px){
  .ls-solutions-v601{
    min-height:auto;
    height:auto !important;
    padding:98px 0 88px;
    overflow:hidden;
  }
  .ls-solutions-v601::after{background:radial-gradient(circle at 35% 10%, rgba(140,198,63,.1), transparent 24%)}
  .ls-solutions-v601__sticky{
    position:relative;
    top:auto;
    min-height:0;
    height:auto;
    display:block;
    overflow:visible;
    padding:0;
  }
  .ls-solutions-v601__layout{display:block}
  .ls-solutions-v601__intro{padding:0 24px 42px}
  .ls-solutions-v601__logo{width:132px;margin-bottom:18px}
  .ls-solutions-v601__title{font-size:clamp(42px, 11vw, 62px);max-width:690px}
  .ls-solutions-v601__lead{max-width:650px}
  .ls-solutions-v601__counter-wrap{margin-top:30px}
  .ls-solutions-v601__progress{width:120px}
  .ls-solutions-v601__scroll-hint{display:none}
  .ls-solutions-v601__viewport{
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    padding-bottom:8px;
  }
  .ls-solutions-v601__viewport::-webkit-scrollbar{display:none}
  .ls-solutions-v601__track{
    gap:18px;
    padding:12px 24px 24px;
    transform:none !important;
  }
  .ls-solutions-v601__card,
  .ls-solutions-v601__card[data-near="true"],
  .ls-solutions-v601__card[data-active="true"]{
    flex-basis:min(82vw, 560px);
    height:560px;
    opacity:1;
    filter:none;
    transform:none;
    scroll-snap-align:center;
    scroll-snap-stop:always;
  }
}

@media (max-width:575.98px){
  .ls-solutions-v601{padding-top:82px;padding-bottom:70px}
  .ls-solutions-v601__intro{padding-left:18px;padding-right:18px}
  .ls-solutions-v601__logo{width:112px}
  .ls-solutions-v601__title{font-size:clamp(38px, 12.5vw, 52px)}
  .ls-solutions-v601__lead{font-size:14px;line-height:1.62}
  .ls-solutions-v601__counter-current{font-size:28px}
  .ls-solutions-v601__counter-sep,.ls-solutions-v601__counter-total{font-size:20px}
  .ls-solutions-v601__track{padding-left:18px;padding-right:18px}
  .ls-solutions-v601__card,
  .ls-solutions-v601__card[data-near="true"],
  .ls-solutions-v601__card[data-active="true"]{
    flex-basis:calc(100vw - 36px);
    height:585px;
    padding:30px 26px;
    border-radius:24px;
  }
  .ls-solutions-v601__number{font-size:66px}
  .ls-solutions-v601__card h3{font-size:30px}
  .ls-solutions-v601__card-copy{font-size:14px;line-height:1.62}
  .ls-solutions-v601__chips{left:26px;right:26px;bottom:28px}
  .ls601-mini-dashboard{grid-template-columns:repeat(2,1fr)}
}

@media (prefers-reduced-motion:reduce){
  .ls-solutions-v601__scroll-hint i::after,
  .ls-solutions-v601__card[data-active="true"] .ls601-mini-dashboard div{animation:none !important}
  .ls-solutions-v601__card{transition:none !important}
}
