:root{
  --jf-index-green-950:#0d2c20;
  --jf-index-green-900:#143c2d;
  --jf-index-green-800:#1b4b38;
  --jf-index-green-700:#2d6a4f;
  --jf-index-green-500:#52b788;
  --jf-index-green-200:#b7e4c7;
  --jf-index-green-100:#dff5e5;
  --jf-index-cream:#f7f8f6;
  --jf-index-gold:#e1b640;
  --jf-index-ink:#1f2b25;
  --jf-index-muted:#69756f;
  --jf-index-line:rgba(20,60,45,.12);
  --jf-index-shadow:0 22px 65px rgba(13,44,32,.09)
}

#jf-index-expansion-v1304{
  color:var(--jf-index-ink);
  background:
    radial-gradient(circle at 8% 8%,rgba(183,228,199,.33),transparent 29rem),
    radial-gradient(circle at 94% 48%,rgba(225,182,64,.12),transparent 25rem),
    linear-gradient(180deg,#f8faf8 0%,#f2f6f3 100%);
  overflow:hidden
}

#jf-index-expansion-v1304 *{
  box-sizing:border-box
}

.jf-index-container{
  width:min(calc(100% - 32px),1440px);
  margin-inline:auto
}

.jf-index-section{
  padding:88px 0
}

.jf-index-section + .jf-index-section{
  border-top:1px solid rgba(20,60,45,.08)
}

.jf-index-kicker{
  width:fit-content;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  border:1px solid rgba(45,106,79,.15);
  border-radius:999px;
  color:var(--jf-index-green-900);
  background:rgba(223,245,229,.88);
  font-size:.75rem;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase
}

.jf-index-heading{
  max-width:980px;
  margin:18px 0 14px;
  color:var(--jf-index-green-950);
  font-size:clamp(2.35rem,5.5vw,5.7rem);
  line-height:.96;
  letter-spacing:-.065em
}

.jf-index-lead{
  max-width:850px;
  margin:0;
  color:var(--jf-index-muted);
  font-size:clamp(1.02rem,1.7vw,1.28rem);
  line-height:1.7
}

.jf-index-groups{
  display:grid;
  gap:18px;
  margin-top:40px
}

.jf-index-group{
  padding:24px;
  border:1px solid rgba(20,60,45,.08);
  border-radius:26px;
  background:rgba(255,255,255,.84);
  box-shadow:var(--jf-index-shadow);
  backdrop-filter:blur(10px)
}

.jf-index-group-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px
}

.jf-index-group-label{
  display:grid;
  gap:5px
}

.jf-index-group-label span{
  color:var(--jf-index-green-700);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase
}

.jf-index-group-label h3{
  margin:0;
  color:var(--jf-index-green-950);
  font-size:1.32rem
}

.jf-index-group-count{
  flex:0 0 auto;
  min-width:46px;
  min-height:46px;
  display:grid;
  place-items:center;
  border-radius:14px;
  color:var(--jf-index-green-950);
  background:var(--jf-index-green-100);
  font-weight:900
}

.jf-index-feature-grid{
  display:grid;
  gap:12px
}

.jf-index-feature{
  min-height:126px;
  padding:17px;
  border:1px solid var(--jf-index-line);
  border-radius:18px;
  background:#fff;
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease
}

.jf-index-feature:hover{
  transform:translateY(-3px);
  border-color:rgba(45,106,79,.27);
  box-shadow:0 16px 36px rgba(13,44,32,.08)
}

.jf-index-feature-icon{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  margin-bottom:13px;
  border-radius:13px;
  background:linear-gradient(145deg,#dff5e5,#b7e4c7);
  font-size:1.28rem
}

.jf-index-feature h4{
  margin:0 0 7px;
  color:var(--jf-index-green-950);
  font-size:1rem
}

.jf-index-feature p{
  margin:0;
  color:var(--jf-index-muted);
  font-size:.86rem;
  line-height:1.52
}

.jf-index-flow-wrap{
  position:relative;
  margin-top:42px;
  padding:28px;
  border-radius:30px;
  color:#fff;
  background:
    linear-gradient(135deg,rgba(13,44,32,.95),rgba(27,75,56,.92)),
    url("/module-hero-vegetacion-v1.20.6.png?v=1.30.4");
  background-size:cover;
  background-position:center;
  box-shadow:0 34px 90px rgba(13,44,32,.24)
}

.jf-index-flow{
  display:grid;
  gap:14px
}

.jf-index-step{
  position:relative;
  min-height:150px;
  padding:19px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:19px;
  background:rgba(255,255,255,.075);
  backdrop-filter:blur(8px)
}

.jf-index-step-number{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:11px;
  color:var(--jf-index-green-950);
  background:linear-gradient(145deg,#f7df8d,#e1b640);
  font-weight:950
}

.jf-index-step h4{
  margin:0 0 8px;
  font-size:1.02rem
}

.jf-index-step p{
  margin:0;
  color:rgba(255,255,255,.74);
  font-size:.84rem;
  line-height:1.5
}

.jf-index-highlight{
  display:grid;
  gap:24px;
  align-items:center
}

.jf-index-highlight-panel{
  padding:28px;
  border:1px solid var(--jf-index-line);
  border-radius:28px;
  background:#fff;
  box-shadow:var(--jf-index-shadow)
}

.jf-index-highlight-panel h3{
  margin:16px 0 12px;
  color:var(--jf-index-green-950);
  font-size:clamp(1.75rem,3.5vw,3rem);
  letter-spacing:-.045em
}

.jf-index-highlight-panel p{
  margin:0;
  color:var(--jf-index-muted);
  line-height:1.65
}

.jf-index-points{
  display:grid;
  gap:11px;
  margin:22px 0 0;
  padding:0;
  list-style:none
}

.jf-index-points li{
  display:flex;
  gap:11px;
  align-items:flex-start;
  color:var(--jf-index-green-900);
  font-size:.94rem;
  font-weight:720;
  line-height:1.45
}

.jf-index-points li::before{
  content:"✓";
  flex:0 0 auto;
  width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:var(--jf-index-green-950);
  background:var(--jf-index-green-100);
  font-size:.78rem;
  font-weight:950
}

.jf-index-dashboard{
  padding:26px;
  border-radius:29px;
  color:#fff;
  background:linear-gradient(145deg,var(--jf-index-green-950),var(--jf-index-green-800));
  box-shadow:0 30px 85px rgba(13,44,32,.25)
}

.jf-index-dashboard-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px
}

.jf-index-dashboard-top span{
  color:rgba(255,255,255,.64);
  font-size:.78rem;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.08em
}

.jf-index-dashboard-top strong{
  color:#f7df8d
}

.jf-index-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px
}

.jf-index-stat{
  min-height:118px;
  padding:16px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;
  background:rgba(255,255,255,.07)
}

.jf-index-stat span{
  display:block;
  color:rgba(255,255,255,.65);
  font-size:.68rem;
  font-weight:850;
  text-transform:uppercase
}

.jf-index-stat strong{
  display:block;
  margin-top:12px;
  color:#fff;
  font-size:clamp(1.45rem,3vw,2.2rem)
}

.jf-index-stat small{
  display:block;
  margin-top:6px;
  color:#a7dcb9;
  font-size:.72rem
}

.jf-index-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:38px 28px;
  border-radius:31px;
  color:#fff;
  background:
    radial-gradient(circle at 85% 15%,rgba(225,182,64,.22),transparent 20rem),
    linear-gradient(135deg,#102d22,#245a43);
  box-shadow:0 30px 85px rgba(13,44,32,.23)
}

.jf-index-cta::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-110px;
  bottom:-180px;
  width:380px;
  height:380px;
  border:55px solid rgba(183,228,199,.08);
  border-radius:50%
}

.jf-index-cta h3{
  max-width:820px;
  margin:16px 0 12px;
  font-size:clamp(2rem,4.8vw,4.6rem);
  line-height:.98;
  letter-spacing:-.06em
}

.jf-index-cta p{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.75);
  line-height:1.65
}

.jf-index-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:24px
}

.jf-index-button{
  min-height:50px;
  padding:12px 17px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:900;
  text-decoration:none;
  transition:transform .18s ease
}

.jf-index-button:hover{
  transform:translateY(-2px)
}

.jf-index-button-primary{
  color:var(--jf-index-green-950);
  background:linear-gradient(145deg,#f8df8c,#e1b640)
}

.jf-index-button-secondary{
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08)
}

.jf-index-reveal{
  opacity:0;
  transform:translateY(22px);
  transition:
    opacity .55s ease,
    transform .55s ease
}

.jf-index-reveal.jf-visible{
  opacity:1;
  transform:none
}

@media(min-width:680px){
  .jf-index-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .jf-index-flow{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
}

@media(min-width:980px){
  .jf-index-groups{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .jf-index-highlight{
    grid-template-columns:1.02fr .98fr
  }

  .jf-index-flow{
    grid-template-columns:repeat(3,minmax(0,1fr))
  }

  .jf-index-section{
    padding:112px 0
  }

  .jf-index-cta{
    padding:52px
  }
}

@media(min-width:1280px){
  .jf-index-feature-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))
  }

  .jf-index-flow{
    grid-template-columns:repeat(6,minmax(0,1fr))
  }
}

@media(max-width:680px){
  .jf-index-section{
    padding:70px 0
  }

  .jf-index-group,
  .jf-index-flow-wrap,
  .jf-index-highlight-panel,
  .jf-index-dashboard{
    padding:20px
  }

  .jf-index-stats{
    grid-template-columns:1fr
  }
}

@media(prefers-reduced-motion:reduce){
  .jf-index-reveal{
    opacity:1;
    transform:none;
    transition:none
  }
}
/* JardínFlow Index Visible Fix v1.30.5 */
#jf-index-expansion-v1304 .jf-index-reveal,
#jf-index-expansion-v1304 .jf-index-reveal.jf-visible,
#jf-index-expansion-v1304.jf-index-static-visible .jf-index-reveal{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
  transition:none!important;
}

#jf-index-expansion-v1304 .jf-index-group,
#jf-index-expansion-v1304 .jf-index-flow-wrap,
#jf-index-expansion-v1304 .jf-index-highlight-panel,
#jf-index-expansion-v1304 .jf-index-dashboard,
#jf-index-expansion-v1304 .jf-index-cta{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}

