/* Ajustes responsivos puntuales para INDEX
   Objetivo: mejorar móvil/tablet sin alterar escritorio */

body[data-page='index']{
  overflow-x:hidden;
}

body[data-page='index'] .soluciones-grid > a.card,
body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .benefit-card,
body[data-page='index'] .casos-beneficios-grid .benefit-card,
body[data-page='index'] .feature-band .cta-copy,
body[data-page='index'] .feature-band .cta-visual{
  min-width:0;
}

/* ===== TABLET ===== */
@media (max-width: 1100px){
  body[data-page='index'] .section,
  body[data-page='index'] .section.light,
  body[data-page='index'] .cta-section{
    padding-left:1.4rem !important;
    padding-right:1.4rem !important;
  }

  body[data-page='index'] .soluciones-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1rem !important;
    max-width:980px !important;
    align-items:stretch !important;
  }
  body[data-page='index'] .soluciones-grid > a.card,
  body[data-page='index'] .soluciones-grid > a.card:nth-child(1),
  body[data-page='index'] .soluciones-grid > a.card:nth-child(2),
  body[data-page='index'] .soluciones-grid > a.card:nth-child(3),
  body[data-page='index'] .soluciones-grid > a.card:nth-child(4),
  body[data-page='index'] .soluciones-grid > a.card:nth-child(5){
    grid-column:auto !important;
    min-height:100% !important;
    padding:1.2rem !important;
    border-radius:28px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    justify-content:flex-start !important;
  }
  body[data-page='index'] .soluciones-grid .service-thumb{
    width:100% !important;
    max-width:260px !important;
    height:140px !important;
    padding:.85rem !important;
    margin:0 auto 1rem !important;
    object-fit:contain !important;
  }
  body[data-page='index'] .soluciones-grid > a.card h3{
    min-height:auto !important;
    margin-bottom:.7rem !important;
  }
  body[data-page='index'] .soluciones-grid > a.card p{
    max-width:34ch;
    margin:0 auto;
  }

  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1rem !important;
    align-items:stretch !important;
  }
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .benefit-card,
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .expandable-card{
    min-height:100% !important;
    height:auto !important;
    padding:1.3rem 1.15rem !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    border-radius:28px !important;
  }
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .benefit-card > i,
  body[data-page='index'] .casos-beneficios-grid .benefit-card > i{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .expandable-card > h3{
    min-height:auto !important;
    margin-bottom:.75rem !important;
  }
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .expandable-card .benefit-summary,
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .expandable-card .benefit-summary p{
    display:block !important;
    -webkit-line-clamp:unset !important;
    line-clamp:unset !important;
  }
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .expandable-card .benefit-summary{
    min-height:0 !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    text-align:center !important;
    margin-bottom:.85rem !important;
  }
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .expandable-card .benefit-summary::after,
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .expandable-card .benefit-summary p::after{
    display:none !important;
    content:none !important;
  }
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .expandable-card .expand-toggle{
    margin-top:auto !important;
    align-self:center !important;
  }

  body[data-page='index'] .casos-uso-nuevo .casos-beneficios-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1rem !important;
  }
  body[data-page='index'] .casos-uso-nuevo .benefit-card{
    min-height:100% !important;
    height:auto !important;
    padding:1.3rem 1.15rem !important;
  }

  body[data-page='index'] .feature-band .talento-cta{
    grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) !important;
    align-items:stretch !important;
    gap:1rem !important;
    padding:1rem !important;
  }
  body[data-page='index'] .feature-band .cta-copy,
  body[data-page='index'] .feature-band .cta-visual{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    height:100% !important;
  }
  body[data-page='index'] .feature-band .cta-copy h2{
    max-width:none !important;
  }
  body[data-page='index'] .cta-image-slider{
    aspect-ratio:4 / 3 !important;
    min-height:0 !important;
    height:100% !important;
    max-height:420px !important;
  }
  body[data-page='index'] .cta-slide,
  body[data-page='index'] .cta-slide img{
    border-radius:24px !important;
  }

  body[data-page='index'] #contacto-footer .footer-grid-modern{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1.2rem !important;
  }
  body[data-page='index'] #contacto-footer .footer-brand-col,
  body[data-page='index'] #contacto-footer .footer-menu-col,
  body[data-page='index'] #contacto-footer .footer-contact-col,
  body[data-page='index'] #contacto-footer .footer-actions-col{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    text-align:center !important;
    justify-content:flex-start !important;
  }
  body[data-page='index'] #contacto-footer .footer-brand-col p,
  body[data-page='index'] #contacto-footer .contact-info,
  body[data-page='index'] #contacto-footer .contact-info p,
  body[data-page='index'] #contacto-footer .footer-office-link,
  body[data-page='index'] #contacto-footer .footer-hours,
  body[data-page='index'] #contacto-footer .footer-menu,
  body[data-page='index'] #contacto-footer .copyright{
    text-align:center !important;
    justify-content:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body[data-page='index'] #contacto-footer .footer-office-link,
  body[data-page='index'] #contacto-footer .footer-action-btn--compact{
    width:100% !important;
    max-width:420px !important;
  }
  body[data-page='index'] #contacto-footer .social,
  body[data-page='index'] .mobile-social{
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
  }
}

/* ===== MOBILE ===== */
@media (max-width: 900px){
  body[data-page='index'] .section,
  body[data-page='index'] .section.light,
  body[data-page='index'] .cta-section{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }

  body[data-page='index'] .soluciones-grid,
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid),
  body[data-page='index'] .casos-uso-nuevo .casos-beneficios-grid,
  body[data-page='index'] .grid-3{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }

  body[data-page='index'] .soluciones-grid > a.card,
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .benefit-card,
  body[data-page='index'] .casos-uso-nuevo .benefit-card,
  body[data-page='index'] .grid-3 > .card{
    width:100% !important;
    max-width:680px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    border-radius:26px !important;
  }

  body[data-page='index'] .soluciones-grid .service-thumb{
    height:130px !important;
    max-width:220px !important;
  }

  body[data-page='index'] .feature-band .talento-cta{
    grid-template-columns:1fr !important;
    padding:.9rem !important;
  }
  body[data-page='index'] .feature-band .cta-copy,
  body[data-page='index'] .feature-band .cta-visual{
    padding:1.15rem !important;
    border-radius:24px !important;
  }
  body[data-page='index'] .feature-band .cta-copy{
    order:1;
  }
  body[data-page='index'] .feature-band .cta-visual{
    order:2;
  }
  body[data-page='index'] .cta-image-slider{
    aspect-ratio:1 / 1 !important;
    max-height:none !important;
    min-height:260px !important;
  }

  body[data-page='index'] .mobile-social{
    margin-top:.8rem !important;
    gap:.75rem !important;
  }

  body[data-page='index'] #contacto-footer .footer-grid-modern{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }
  body[data-page='index'] #contacto-footer h3{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body[data-page='index'] #contacto-footer .footer-logo{
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body[data-page='index'] #contacto-footer .footer-menu{
    gap:.5rem !important;
  }
  body[data-page='index'] #contacto-footer .contact-info p,
  body[data-page='index'] #contacto-footer .footer-office-link,
  body[data-page='index'] #contacto-footer .footer-action-btn--compact{
    align-items:center !important;
    text-align:center !important;
  }
}

@media (max-width: 560px){
  body[data-page='index'] .hero{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
  body[data-page='index'] .soluciones-grid > a.card,
  body[data-page='index'] .beneficios-grid:not(.casos-beneficios-grid) .benefit-card,
  body[data-page='index'] .casos-uso-nuevo .benefit-card,
  body[data-page='index'] .grid-3 > .card{
    padding:1.1rem 1rem !important;
  }
  body[data-page='index'] .soluciones-grid .service-thumb{
    height:118px !important;
    max-width:190px !important;
    padding:.75rem !important;
  }
  body[data-page='index'] .feature-band .cta-copy h2{
    font-size:clamp(1.5rem,8vw,1.95rem) !important;
  }
  body[data-page='index'] .feature-band .cta-copy p{
    font-size:.96rem !important;
    line-height:1.65 !important;
  }
  body[data-page='index'] .cta-image-slider{
    min-height:230px !important;
  }
  body[data-page='index'] #contacto-footer{
    padding-left:1rem !important;
    padding-right:1rem !important;
  }
}


/* ===== BENEFICIOS INDEX · ajuste final estable ===== */
body[data-page='index'] .section-beneficios-index{
  position:relative;
}

body[data-page='index'] .section-beneficios-index .beneficios-grid--index-benefits{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1.2rem !important;
  align-items:stretch !important;
  max-width:1200px;
  margin:0 auto;
}

body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card{
  position:relative;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  min-width:0;
  width:100%;
  height:auto !important;
  padding:1.45rem 1.2rem !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid rgba(243,127,39,.14) !important;
  box-shadow:0 18px 40px rgba(15,23,42,.08) !important;
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease;
}

body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card:hover,
body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card.is-expanded{
  transform:translateY(-4px);
  box-shadow:0 24px 48px rgba(15,23,42,.12) !important;
  border-color:rgba(243,127,39,.3) !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card > i{
  width:62px;
  height:62px;
  display:grid !important;
  place-items:center;
  margin:0 auto 1rem !important;
  border-radius:50%;
  font-size:1.4rem !important;
  color:#f37f27 !important;
  background:rgba(243,127,39,.12) !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card > h3{
  width:100%;
  min-height:3.1em !important;
  margin:0 0 .8rem !important;
  font-size:1.06rem !important;
  line-height:1.42 !important;
  color:#1f2937 !important;
  text-wrap:balance;
}

body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card .benefit-summary{
  width:100%;
  margin:0 0 1rem !important;
  text-align:center !important;
  color:#4b5563 !important;
  line-height:1.68 !important;
  overflow:hidden !important;
  max-height:8.35em !important;
  min-height:8.35em;
  transition:max-height .28s ease;
}

body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card .benefit-summary p{
  margin:0 !important;
}
body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card .benefit-summary p + p{
  margin-top:.55rem !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card.is-expanded .benefit-summary{
  max-height:40em !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card .expand-toggle{
  margin-top:auto !important;
  align-self:center !important;
}

@media (max-width: 1100px){
  body[data-page='index'] .section-beneficios-index .beneficios-grid--index-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:1rem !important;
  }
}

@media (max-width: 900px){
  body[data-page='index'] .section-beneficios-index .beneficios-grid--index-benefits{
    grid-template-columns:1fr !important;
    gap:1rem !important;
  }

  body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card{
    max-width:680px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:1.2rem 1rem !important;
    border-radius:26px !important;
  }

  body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card > h3{
    min-height:auto !important;
    font-size:1.02rem !important;
  }

  body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card .benefit-summary{
    min-height:0 !important;
    max-height:8.7em !important;
  }

  body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card.is-expanded .benefit-summary{
    max-height:48em !important;
  }
}

@media (max-width: 560px){
  body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card{
    padding:1.08rem .95rem !important;
  }

  body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card > i{
    width:58px;
    height:58px;
    font-size:1.28rem !important;
    margin-bottom:.85rem !important;
  }

  body[data-page='index'] .section-beneficios-index .benefit-card.expandable-card .benefit-summary{
    font-size:.96rem !important;
    line-height:1.62 !important;
    max-height:8.1em !important;
  }
}


/* ===== FINAL FIX · hero counters 2x2 + beneficios index estable ===== */
body[data-page='index'] .hero{
  align-items:center !important;
}

body[data-page='index'] .hero-content{
  max-width:700px !important;
}

body[data-page='index'] .hero-metrics{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}

body[data-page='index'] .hero-metrics .stats,
body[data-page='index'] .hero-metrics .stats--hero-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:1.15rem !important;
  width:100%;
  max-width:430px !important;
  margin:0 auto !important;
  align-items:stretch !important;
  justify-items:stretch !important;
}

body[data-page='index'] .hero-metrics .stat{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

body[data-page='index'] .hero-metrics .stat .stat-number,
body[data-page='index'] .hero-metrics .stat span{
  width:128px !important;
  height:128px !important;
  min-width:128px !important;
  min-height:128px !important;
  max-width:128px !important;
  max-height:128px !important;
  margin:0 auto .6rem auto !important;
}

body[data-page='index'] .hero-metrics .stat .stat-label{
  max-width:13ch !important;
  margin:0 auto !important;
  min-height:3.2em !important;
}

body[data-page='index'] .section-beneficios-index .beneficios-grid--index-benefits{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:1.35rem !important;
  align-items:stretch !important;
  max-width:1240px !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index{
  position:relative;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  width:100% !important;
  min-width:0 !important;
  min-height:100% !important;
  height:auto !important;
  padding:2rem 1.45rem 1.35rem !important;
  border-radius:30px !important;
  background:#fff !important;
  border:1px solid rgba(243,127,39,.14) !important;
  box-shadow:0 20px 42px rgba(15,23,42,.08) !important;
  overflow:hidden !important;
  transform:none !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index:hover,
body[data-page='index'] .section-beneficios-index .benefit-card--index.is-expanded{
  transform:translateY(-6px) !important;
  box-shadow:0 26px 52px rgba(15,23,42,.12) !important;
  border-color:rgba(243,127,39,.28) !important;
  background:#fff !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index > i{
  width:70px !important;
  height:70px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 70px !important;
  margin:0 auto 1.15rem !important;
  border-radius:50% !important;
  background:rgba(243,127,39,.12) !important;
  color:#f37f27 !important;
  font-size:1.55rem !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index:hover > i,
body[data-page='index'] .section-beneficios-index .benefit-card--index.is-expanded > i,
body[data-page='index'] .section-beneficios-index .benefit-card--index:hover > h3,
body[data-page='index'] .section-beneficios-index .benefit-card--index.is-expanded > h3,
body[data-page='index'] .section-beneficios-index .benefit-card--index:hover .benefit-summary,
body[data-page='index'] .section-beneficios-index .benefit-card--index.is-expanded .benefit-summary,
body[data-page='index'] .section-beneficios-index .benefit-card--index:hover .benefit-summary p,
body[data-page='index'] .section-beneficios-index .benefit-card--index.is-expanded .benefit-summary p{
  color:inherit !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index > h3{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:3.25em !important;
  margin:0 0 .95rem !important;
  font-size:1.1rem !important;
  line-height:1.38 !important;
  color:#1f2937 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  text-wrap:balance !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index .benefit-summary{
  flex:1 1 auto !important;
  width:100% !important;
  margin:0 0 1rem !important;
  color:#4b5563 !important;
  line-height:1.7 !important;
  text-align:center !important;
  overflow:hidden !important;
  max-height:8.6em !important;
  min-height:8.6em !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index .benefit-summary::after,
body[data-page='index'] .section-beneficios-index .benefit-card--index .benefit-summary p::after{
  display:none !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index .benefit-summary p{
  color:#4b5563 !important;
  margin:0 !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index .benefit-summary p + p{
  margin-top:.6rem !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index.is-expanded .benefit-summary{
  max-height:42em !important;
}

body[data-page='index'] .section-beneficios-index .benefit-card--index .expand-toggle{
  margin-top:auto !important;
  align-self:center !important;
  min-width:132px;
}

@media (max-width:1200px){
  body[data-page='index'] .section-beneficios-index .beneficios-grid--index-benefits{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:900px){
  body[data-page='index'] .hero-metrics .stats,
  body[data-page='index'] .hero-metrics .stats--hero-grid{
    max-width:420px !important;
  }
  body[data-page='index'] .hero-metrics .stat .stat-number,
  body[data-page='index'] .hero-metrics .stat span{
    width:114px !important;
    height:114px !important;
    min-width:114px !important;
    min-height:114px !important;
    max-width:114px !important;
    max-height:114px !important;
  }
  body[data-page='index'] .section-beneficios-index .beneficios-grid--index-benefits{
    grid-template-columns:1fr !important;
  }
  body[data-page='index'] .section-beneficios-index .benefit-card--index{
    max-width:720px !important;
    margin-inline:auto !important;
    padding:1.25rem 1rem !important;
  }
  body[data-page='index'] .section-beneficios-index .benefit-card--index > h3{
    min-height:auto !important;
    font-size:1.02rem !important;
  }
  body[data-page='index'] .section-beneficios-index .benefit-card--index .benefit-summary{
    min-height:0 !important;
    max-height:8.8em !important;
  }
}

@media (max-width:560px){
  body[data-page='index'] .hero-metrics .stats,
  body[data-page='index'] .hero-metrics .stats--hero-grid{
    max-width:300px !important;
  }
  body[data-page='index'] .hero-metrics .stat .stat-number,
  body[data-page='index'] .hero-metrics .stat span{
    width:104px !important;
    height:104px !important;
    min-width:104px !important;
    min-height:104px !important;
    max-width:104px !important;
    max-height:104px !important;
  }
}


/* ===== BENEFICIOS INDEX · estructura final estable 3-2-2 desktop / 1 columna móvil ===== */
body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits{
  display:flex !important;
  flex-direction:column !important;
  gap:1.5rem !important;
  width:min(100%,1240px) !important;
  max-width:1240px !important;
  margin:0 auto !important;
  padding:0 !important;
}
body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row{
  display:grid !important;
  gap:1.5rem !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  align-items:stretch !important;
}
body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  min-height:100% !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  text-align:center !important;
  justify-content:flex-start !important;
  padding:1.8rem 1.35rem 1.25rem !important;
  border-radius:30px !important;
  overflow:hidden !important;
}
body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index > i{
  margin:0 auto 1rem !important;
}
body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index > h3{
  min-height:3.2em !important;
  margin:0 0 .9rem !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index .benefit-summary{
  flex:1 1 auto !important;
  min-height:8.8em !important;
  max-height:8.8em !important;
  margin:0 0 1rem !important;
  overflow:hidden !important;
}
body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index.is-expanded .benefit-summary{
  min-height:0 !important;
  max-height:42em !important;
}
body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index .expand-toggle{
  margin-top:auto !important;
  align-self:center !important;
}
@media (min-width:1025px){
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--3{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--3 > .benefit-card--index{
    grid-column:span 2 !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--2{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--2 > .benefit-card--index{
    grid-column:span 2 !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--2 > .benefit-card--index:first-child{
    grid-column:2 / span 2 !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--2 > .benefit-card--index:last-child{
    grid-column:4 / span 2 !important;
  }
}
@media (max-width:1024px){
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row{
    grid-template-columns:1fr !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index{
    max-width:720px !important;
    margin-inline:auto !important;
    padding:1.25rem 1rem !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index > h3{
    min-height:auto !important;
    font-size:1.02rem !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row > .benefit-card--index .benefit-summary{
    min-height:0 !important;
    max-height:8.8em !important;
  }
}


/* ===== BENEFICIOS INDEX · override final desktop 3 + 4 / móvil 1 ===== */
@media (min-width: 1025px){
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits{
    gap: 1.6rem !important;
    max-width: 1320px !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--3{
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 1.6rem !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--4{
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 1.35rem !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--3 > .benefit-card--index,
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--4 > .benefit-card--index{
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 100% !important;
    height: 100% !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--4 > .benefit-card--index{
    padding-inline: 1.1rem !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--4 > .benefit-card--index > h3{
    font-size: 1.05rem !important;
  }
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--4 > .benefit-card--index .benefit-summary{
    min-height: 9.4em !important;
    max-height: 9.4em !important;
  }
}

@media (max-width: 1024px){
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row,
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--3,
  body[data-page="index"] .section-beneficios-index .beneficios-grid--index-benefits > .beneficios-row--4{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }
}


/* ===== MOBILE FINAL FIX · index CTA copy centered ===== */
@media (max-width: 900px){
  body[data-page='index'] .feature-band .cta-copy{
    text-align:center !important;
    align-items:center !important;
    justify-content:center !important;
  }
  body[data-page='index'] .feature-band .cta-copy .cta-kicker,
  body[data-page='index'] .feature-band .cta-copy h2,
  body[data-page='index'] .feature-band .cta-copy p,
  body[data-page='index'] .feature-band .cta-copy .cta-copy-stack,
  body[data-page='index'] .feature-band .cta-copy .cta-copy-stack p{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    max-width:34ch !important;
  }
  body[data-page='index'] .feature-band .cta-copy .cta-buttons{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  body[data-page='index'] .feature-band .cta-copy .cta-buttons .btn{
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

@media (max-width: 560px){
  body[data-page='index'] .feature-band .cta-copy{
    padding:1.15rem .95rem !important;
  }
  body[data-page='index'] .feature-band .cta-copy .cta-kicker,
  body[data-page='index'] .feature-band .cta-copy h2,
  body[data-page='index'] .feature-band .cta-copy p,
  body[data-page='index'] .feature-band .cta-copy .cta-copy-stack,
  body[data-page='index'] .feature-band .cta-copy .cta-copy-stack p{
    max-width:100% !important;
  }
}
