/* LaranSys v6.0 - Bootstrap + identidade visual + experiência responsiva
   Cores baseadas na identidade visual: verde do logo, dourado, azul profundo e teal.
   Camada final de override: mantém estrutura Flask existente e reforça impacto visual. */
:root{
  --ls-primary: #071426;
  --ls-secondary: #0b2d4d;
  --ls-accent: #8cc63f;
  --ls-neon: #16e0c2;
  --ls-gold: #ffb13b;
  --ls-surface: #061120;
  --ls-logo-scale: 1.18;
  --ls-header-h: 82px;
  --ls-radius-xl: 34px;
  --ls-shadow-neon: 0 24px 90px rgba(22,224,194,.24);
  --ls-shadow-gold: 0 24px 80px rgba(255,177,59,.22);
}

html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 12% 8%, color-mix(in srgb, var(--ls-accent) 22%, transparent), transparent 28%),
    radial-gradient(circle at 88% 18%, color-mix(in srgb, var(--ls-neon) 28%, transparent), transparent 34%),
    linear-gradient(135deg, var(--ls-surface), var(--ls-primary) 48%, #063a36 100%) !important;
  color:#eef7ff;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
}

body[data-v600-animations="1"] .ls-reveal{
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1);
}
body[data-v600-animations="1"] .ls-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

.public-header.glass{
  min-height:var(--ls-header-h);
  padding:10px 22px !important;
  border:1px solid rgba(140,198,63,.22) !important;
  background:linear-gradient(135deg, rgba(1,15,29,.94), rgba(4,26,44,.90)) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.30), inset 0 -1px 0 rgba(22,224,194,.18) !important;
  backdrop-filter:blur(18px) saturate(1.25) !important;
  z-index:999 !important;
}

.public-header .brand{
  min-width:max-content;
  gap:14px !important;
  color:#fff !important;
  text-decoration:none;
}
.public-header .brand img,
.footer-brand img{
  width:calc(58px * var(--ls-logo-scale)) !important;
  height:calc(58px * var(--ls-logo-scale)) !important;
  max-height:78px;
  object-fit:contain;
  filter:drop-shadow(0 0 18px color-mix(in srgb, var(--ls-accent) 40%, transparent)) drop-shadow(0 8px 18px rgba(0,0,0,.35));
  background:rgba(255,255,255,.94);
  border-radius:18px;
  padding:5px;
}
.public-header .brand .brand-mark,
.footer-brand .brand-mark{
  width:calc(52px * var(--ls-logo-scale));
  height:calc(52px * var(--ls-logo-scale));
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#061120;
  background:linear-gradient(135deg, var(--ls-accent), var(--ls-gold));
  box-shadow:0 0 0 6px rgba(140,198,63,.13), 0 18px 50px rgba(0,0,0,.28);
}
.public-header .brand span:last-child{
  font-size:clamp(16px,1.05vw,20px);
  font-weight:950;
  letter-spacing:-.03em;
  text-shadow:0 1px 18px rgba(255,255,255,.15);
}

.public-nav{gap:8px !important;}
.public-nav a{
  position:relative;
  padding:10px 11px !important;
  border-radius:999px;
  color:#eef7ff !important;
  font-weight:900 !important;
  transition:color .2s ease, background .2s ease, transform .2s ease;
}
.public-nav a::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--ls-accent), var(--ls-neon), var(--ls-gold));
  opacity:0;
  transform:scaleX(.25);
  transition:opacity .2s ease, transform .2s ease;
}
.public-nav a:hover,
.public-nav a.is-active{
  color:#fff !important;
  background:rgba(255,255,255,.08);
  transform:translateY(-1px);
}
.public-nav a:hover::after,
.public-nav a.is-active::after{opacity:1;transform:scaleX(1);}

.v58-hero-slider[data-v600-home]{
  min-height:calc(100vh - var(--ls-header-h));
  color:#fff;
  background-image:
    linear-gradient(90deg, rgba(2,12,27,.82), rgba(3,25,46,.68), rgba(2,56,50,.30)),
    var(--v600-hero-bg, none),
    radial-gradient(circle at 18% 35%, rgba(140,198,63,.18), transparent 22%),
    radial-gradient(circle at 76% 32%, rgba(22,224,194,.20), transparent 30%),
    linear-gradient(135deg,#061120 0%, #092949 45%, #073c37 100%) !important;
  background-size:cover, cover, auto, auto, cover !important;
  background-position:center center !important;
  overflow:hidden;
}
.v58-hero-slider[data-v600-home]::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.65), transparent 88%);
}
.v58-hero-slider[data-v600-home] .v58-slide{
  padding:clamp(80px, 8vw, 140px) clamp(32px, 5vw, 88px) clamp(130px, 10vw, 170px) !important;
  align-items:center !important;
  gap:clamp(34px,5vw,84px) !important;
}
.v589-kicker,.v58-kicker{
  display:inline-flex !important;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  padding:10px 18px !important;
  border-radius:999px !important;
  border:1px solid color-mix(in srgb, var(--ls-accent) 48%, transparent) !important;
  background:linear-gradient(135deg, rgba(140,198,63,.18), rgba(22,224,194,.10)) !important;
  color:#eafff3 !important;
  box-shadow:0 0 0 7px rgba(140,198,63,.06), 0 18px 50px rgba(22,224,194,.10);
  letter-spacing:.08em !important;
  font-weight:950 !important;
}
.v589-kicker::before,.v58-kicker::before{
  content:"";
  width:12px;
  height:12px;
  border-radius:999px;
  background:var(--ls-accent);
  box-shadow:0 0 0 7px rgba(140,198,63,.13), 0 0 24px rgba(140,198,63,.82);
}
.v58-title,.v589-title,.v591-title{
  font-size:clamp(54px, 6.3vw, 112px) !important;
  line-height:.88 !important;
  letter-spacing:-.08em !important;
  font-weight:1000 !important;
  text-shadow:0 18px 45px rgba(0,0,0,.26);
}
.v589-highlight,.v591-highlight-line{
  color:var(--ls-neon) !important;
  text-shadow:0 0 28px color-mix(in srgb, var(--ls-neon) 28%, transparent) !important;
}
.v58-subtitle,.v589-subtitle,.v591-subtitle{
  font-size:clamp(19px,1.25vw,23px) !important;
  line-height:1.6 !important;
  color:rgba(238,247,255,.88) !important;
  max-width:720px !important;
}
.v589-btn,.v58-btn,.btn.primary,.floating-contact{
  border-radius:999px !important;
  font-weight:950 !important;
}
.v589-btn.primary,.v58-btn.primary,.btn.primary{
  color:#041120 !important;
  background:linear-gradient(135deg, var(--ls-accent), var(--ls-neon) 55%, #15a7ff) !important;
  border:0 !important;
  box-shadow:0 20px 55px color-mix(in srgb, var(--ls-neon) 28%, transparent), inset 0 1px 0 rgba(255,255,255,.34) !important;
}
.v589-btn.primary:hover,.v58-btn.primary:hover,.btn.primary:hover{transform:translateY(-3px);}
.v589-btn.secondary,.v58-btn.secondary{
  color:#fff !important;
  border:1px solid rgba(255,255,255,.24) !important;
  background:rgba(255,255,255,.07) !important;
  backdrop-filter:blur(14px);
}
.v589-metric-icon,.v591-feature span{
  color:var(--ls-neon) !important;
  background:linear-gradient(135deg, rgba(22,224,194,.18), rgba(140,198,63,.13)) !important;
  border-color:rgba(22,224,194,.42) !important;
  box-shadow:0 0 32px rgba(22,224,194,.14);
}
.v58-visual img,
.v58-admin-slide-image{
  border-radius:var(--ls-radius-xl) !important;
  box-shadow:0 34px 100px rgba(0,0,0,.34), 0 0 0 1px rgba(22,224,194,.20), 0 0 90px rgba(22,224,194,.15) !important;
  transform-origin:center;
}
.v58-slide.is-visible .v58-visual img{animation:lsV600Float 7s ease-in-out infinite;}
@keyframes lsV600Float{0%,100%{transform:translateY(0) rotateX(0)}50%{transform:translateY(-10px) rotateX(1deg)}}
.v58-float{
  border:1px solid rgba(255,255,255,.22) !important;
  box-shadow:0 18px 55px rgba(0,0,0,.24) !important;
}
.v58-progress{
  left:50% !important;
  right:auto !important;
  bottom:clamp(24px,3.4vw,54px) !important;
  transform:translateX(-50%) !important;
  display:flex !important;
  z-index:30 !important;
  padding:8px !important;
  gap:8px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(2,10,24,.48) !important;
  backdrop-filter:blur(18px) saturate(1.2) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.22) !important;
}
.v58-progress a{
  min-width:44px !important;
  height:44px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:999px !important;
  color:#dceefe !important;
  background:rgba(255,255,255,.08) !important;
  text-decoration:none !important;
  font-weight:950 !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
.v58-progress a.is-active{
  color:#061120 !important;
  background:linear-gradient(135deg, var(--ls-accent), var(--ls-neon)) !important;
  box-shadow:0 0 0 8px rgba(22,224,194,.09), 0 14px 40px rgba(22,224,194,.25) !important;
}
.v58-nav button{
  border-color:rgba(140,198,63,.30) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.28), 0 0 35px rgba(22,224,194,.16) !important;
}

/* Seções abaixo do hero: aparência mais comercial e tecnológica. */
.v53-section,.v50-section,section[id]{position:relative;}
.v53-section h2,.v50-section h2,.section-title,h2{
  letter-spacing:-.055em;
}
.card,.v53-card,.service-card,.case-card,.diagnostic-card{
  border-radius:28px !important;
  border:1px solid rgba(11,45,77,.16) !important;
  box-shadow:0 24px 70px rgba(6,17,32,.10) !important;
}
.card:hover,.v53-card:hover,.service-card:hover,.case-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 82px rgba(6,17,32,.14), 0 0 0 1px rgba(22,224,194,.16) !important;
}

.public-footer.premium-footer{
  background:linear-gradient(135deg,#040b17,#061120 52%, #051f24) !important;
  border-top:1px solid rgba(140,198,63,.20) !important;
}
.footer-topline a,.footer-cta{color:#061120 !important;background:linear-gradient(135deg,var(--ls-gold),#ff914d) !important;}
.floating-contact{
  color:#061120 !important;
  background:linear-gradient(135deg,var(--ls-gold),#ff914d) !important;
  box-shadow:0 18px 50px rgba(255,177,59,.28) !important;
  z-index:1000 !important;
}
.floating-contact span{
  background:rgba(5,17,32,.14) !important;
}

.ls-video-cta{display:none;}
body[data-v600-video="true"] .ls-video-cta{display:inline-flex;}

@media (max-width: 1180px){
  .public-header.glass{margin:10px !important;border-radius:24px !important;}
  .public-nav{font-size:13px;}
  .v58-hero-slider[data-v600-home] .v58-slide{grid-template-columns:1fr !important;min-height:auto !important;}
  .v58-visual{max-width:900px;margin-inline:auto;}
}
@media (max-width: 820px){
  .public-header .brand img{width:58px !important;height:58px !important;}
  .public-header .brand span:last-child{font-size:15px;}
  .v58-title,.v589-title,.v591-title{font-size:clamp(44px, 13vw, 68px) !important;letter-spacing:-.075em !important;}
  .v58-hero-slider[data-v600-home] .v58-slide{padding:110px 22px 150px !important;}
  .v58-actions,.v589-actions,.v591-actions{gap:12px !important;}
  .v589-btn,.v58-btn{width:100%;min-height:52px !important;}
  .v589-metrics,.v591-feature-grid{grid-template-columns:1fr !important;gap:10px !important;}
  .v58-progress a{min-width:38px !important;height:38px !important;font-size:13px !important;}
  .floating-contact{right:14px !important;bottom:14px !important;padding:13px 16px !important;}
  .floating-contact strong{font-size:13px;}
}

.ls-v600-ripple{position:absolute;width:18px;height:18px;border-radius:999px;background:rgba(255,255,255,.45);transform:translate(-50%,-50%) scale(1);animation:lsV600Ripple .65s ease-out forwards;pointer-events:none;}
.btn,.v589-btn,.v58-btn,.floating-contact{position:relative;overflow:hidden;}
@keyframes lsV600Ripple{to{opacity:0;transform:translate(-50%,-50%) scale(12)}}
.public-header.is-scrolled{box-shadow:0 20px 60px rgba(0,0,0,.38), inset 0 -1px 0 rgba(140,198,63,.24) !important;}
.v600-slide-enter .v589-kicker,.v600-slide-enter .v58-kicker,.v600-slide-enter .v58-title,.v600-slide-enter .v589-title,.v600-slide-enter .v58-subtitle,.v600-slide-enter .v589-subtitle,.v600-slide-enter .v58-actions,.v600-slide-enter .v589-metrics,.v600-slide-enter .v591-feature-grid{animation:lsV600Enter .72s cubic-bezier(.2,.8,.2,1) both;}
@keyframes lsV600Enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
