/* EntregaChef — logo, iconografía grid, bloques de contenido */

.ec-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  text-decoration: none;
  color: var(--ink);
  line-height: 1;
  flex-shrink: 0;
  height: 100%;
}

a.feGbBz {
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  overflow: visible;
  min-height: 3.25rem;
  max-width: none;
}

.cZLQUC,
.cZLQUC .kEWrJc,
.cZLQUC .feGbBz,
.cZLQUC .ec-brand {
  overflow: visible !important;
}

.ec-brand__lockup {
  display: block;
  width: auto;
  max-width: none;
  height: auto;
  object-fit: contain;
  object-position: center center;
  flex-shrink: 0;
}

.ec-brand__lockup--full {
  max-height: clamp(2.5rem, 4.2vw, 3.25rem);
}

.ec-brand__lockup--compact {
  display: none;
  max-height: 2.5rem;
}

@media (max-width: 520px) {
  .ec-brand__lockup--full {
    display: none;
  }

  .ec-brand__lockup--compact {
    display: block;
    max-height: 3.35rem;
  }

  a.feGbBz {
    min-height: 3.75rem;
  }
}

@media (max-width: 768px) {
  .cZLQUC .ec-brand__lockup--full {
    max-height: clamp(3rem, 10vw, 3.85rem);
  }

  .cZLQUC .ec-brand__lockup--compact {
    max-height: clamp(3rem, 11vw, 3.75rem);
  }

  .cZLQUC a.feGbBz {
    min-height: 3.85rem;
  }
}

.ec-brand__text {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: -0.02em;
}

.ec-brand__accent {
  color: var(--heat);
}

.sc-92414a77-0 img[src*="grid-icons"] {
  width: 72px;
  height: 72px;
  object-fit: contain;
}

/* Características — grids de tarjetas */
#modulos .iPKsGD.juGHLC,
#plataforma .ec-features-grid--index,
.ec-features-grid--full {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2rem;
}

.ec-features-grid--full {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ec-feature-card .huhnXB {
  text-align: center;
  line-height: 1.45;
}

#modulos .ec-feature-card {
  position: relative;
  text-align: left;
  align-items: flex-start;
  padding-bottom: 3.25rem;
}

#modulos .ec-feature-card .kugkhQ,
#modulos .ec-feature-card .huhnXB {
  text-align: left;
  width: 100%;
}

#modulos .ec-feature-card .kugkhQ {
  font-size: 2rem;
  line-height: 1.25;
}

#modulos .ec-feature-card .huhnXB {
  font-size: 1.55rem;
  color: var(--ec-ink-3);
}

.ec-feature-plan-badges {
  position: absolute;
  right: 0.75rem;
  bottom: 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: flex-end;
  max-width: 82%;
}

.ec-feature-plan-badge {
  font-family: var(--font-mono, "JetBrains Mono", ui-monospace, monospace);
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  padding: 0.32rem 0.65rem;
  border-radius: 999px;
  line-height: 1.25;
  white-space: nowrap;
}

.ec-feature-plan-badge--standard {
  background: #fff;
  color: var(--slate, #0f172a);
  border: 1px solid #cbd5e1;
}

.ec-feature-plan-badge--plus {
  background: rgba(249, 115, 22, 0.12);
  color: #c2410c;
  border: 1px solid rgba(249, 115, 22, 0.35);
}

.ec-feature-plan-badge--premium {
  background: var(--slate, #0f172a);
  color: #fff;
}

.ec-feature-plan-badge--annual {
  background: #f1f5f9;
  color: #475569;
  border: 1px solid #cbd5e1;
}

.ec-features-plan-legend {
  white-space: normal;
  margin-top: 0.5rem;
  font-size: 0.92em;
  opacity: 0.92;
}

.ec-features-intro-note {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
  max-width: 44rem;
  margin: 0 auto 2rem;
  text-align: center;
  color: var(--slate);
  line-height: 1.6;
}

.ec-features-intro-line {
  display: block;
  white-space: nowrap;
}

#caracteristicas .ec-features-intro-note {
  margin-inline: auto;
}

@media (max-width: 768px) {
  .ec-features-intro-line {
    white-space: normal;
    text-wrap: balance;
  }
}

@media (max-width: 1024px) {
  #modulos .iPKsGD.juGHLC,
  #plataforma .ec-features-grid--index,
  .ec-features-grid--full {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  #modulos .iPKsGD.juGHLC,
  #plataforma .ec-features-grid--index,
  .ec-features-grid--full {
    grid-template-columns: 1fr;
  }
}

.ec-transparency {
  padding: 3rem 0;
  text-align: center;
}

.ec-transparency .dlwjbS {
  max-width: 42rem;
  margin: 0.75rem auto 0;
}

.ec-scale-band {
  margin-top: var(--ec-gap-lg);
  padding: var(--ec-gap-lg);
  border: var(--ec-card-stroke);
  border-radius: var(--ec-radius);
  box-shadow: var(--ec-card-shadow);
}

/* Index #escala — grid de tarjetas a ancho completo (como ec-ba-grid / ec-eval-grid) */
.ec-scale-grid {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  margin-top: var(--ec-gap-lg);
  padding: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent !important;
  display: grid;
  gap: var(--ec-gap-md);
  grid-template-columns: 1fr;
  align-items: stretch;
}

.ec-scale-grid .ec-scale-item {
  height: 100%;
  text-align: left;
}

.ec-scale-grid .ec-scale-item p {
  flex: 1;
  line-height: 1.55;
}

.ec-landing-section:not(.ec-landing-section--mist) .ec-scale-band:not(.ec-scale-grid) {
  background: var(--mist);
}

.ec-landing-section--mist .ec-scale-band:not(.ec-scale-grid) {
  background: var(--white);
}

.ec-scale-band ul {
  margin: 1rem 0 0;
  padding-left: 1.25rem;
}

.ec-scale-band li {
  margin-bottom: 0.5rem;
  color: var(--slate);
}

.pricing-faq-answer p {
  margin: 0;
}

.ec-faq-answer p + p {
  margin-top: 0.85rem;
}

.ec-faq-answer-cta {
  margin-top: 1rem;
}

.ec-faq-answer-cta .ec-faq-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.ec-faq-answer-cta--row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.sc-784803cd-0.ecYgmb {
  margin-top: 3rem;
}

/* Contacto — FAQ como sección (separación visual antes del footer oscuro) */
.ec-contact-faq {
  margin-bottom: 0;
}

.ec-contact-faq .ecYgmb {
  margin-top: 0 !important;
}

.ec-landing-section#faq .ecYgmb {
  margin-top: 0 !important;
}

/* FAQ — dos columnas (6 + 6) */
.ec-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ec-gap-md);
  align-items: start;
}

.ec-faq-col {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
}

.ec-faq-col .hQXyLc {
  width: 100%;
}

.ecYgmb > .ec-faq-grid {
  margin-top: var(--ec-gap-lg);
}

@media (max-width: 900px) {
  .ec-faq-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}

.ec-faq-footer {
  margin-top: var(--ec-gap-lg);
  text-align: center;
}

.ec-faq-crosslinks {
  max-width: 42rem;
  margin-inline: auto;
  line-height: 1.6;
}

.ec-faq-crosslinks__sep {
  color: var(--slate);
  margin-inline: 0.35rem;
}

.ec-page-faq--contact .ec-faq-crosslinks {
  max-width: none;
  white-space: nowrap;
}

.ec-page-faq {
  padding-block: clamp(3rem, 6vw, 5rem);
}

.ec-page-faq .ecYgmb,
.ec-page-faq .ec-faq-block {
  margin-top: 0;
}

.ec-pricing-notes {
  margin-bottom: 0;
}

.ec-page-faq--pricing {
  padding-top: 2rem;
}

/* Index — planes resumidos (#precios) */
.ec-index-pricing__head {
  max-width: 40rem;
}

.ec-index-pricing__stack {
  margin-top: var(--ec-gap-lg);
}

.ec-index-price {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

.ec-index-price span {
  font-family: var(--font);
  font-size: 0.875em;
  font-weight: 600;
}

/* Precio Plus — un poco más grande que Estándar y Premium */
.pricing-plans-stack .ec-plan--featured .hMuOeF.js-plan-price,
.ec-index-pricing__stack .ec-plan--featured .hMuOeF.ec-index-price {
  font-size: clamp(4.55rem, 5.9vw, 5.15rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.03em;
  margin: 0.15rem 0 0.65rem;
}

.pricing-plans-stack .ec-plan--featured .hMuOeF.js-plan-price .js-price-value {
  font-weight: 800 !important;
}

.pricing-plans-stack .ec-plan--featured .hMuOeF.js-plan-price .js-price-suffix,
.ec-index-pricing__stack .ec-plan--featured .hMuOeF.ec-index-price > span {
  font-size: 2.15rem !important;
  font-weight: 500 !important;
}

@media (max-width: 768px) {
  .pricing-plans-stack .ec-plan--featured .hMuOeF.js-plan-price,
  .ec-index-pricing__stack .ec-plan--featured .hMuOeF.ec-index-price {
    font-size: clamp(3.75rem, 11.5vw, 4.45rem) !important;
  }

  .pricing-plans-stack .ec-plan--featured .hMuOeF.js-plan-price .js-price-suffix,
  .ec-index-pricing__stack .ec-plan--featured .hMuOeF.ec-index-price > span {
    font-size: 1.85rem !important;
  }
}

.ec-pricing-iva-note {
  text-align: center;
  max-width: 34rem;
  margin: 1.5rem auto 0;
  line-height: 1.6;
  color: var(--slate);
  opacity: 1;
}

/* pricing.html — disclaimer legal antes del footer */
.ec-pricing-disclaimer {
  background: #f8fafc;
  border-top: 1px solid rgba(15, 23, 42, 0.08);
  padding: 1rem 1.5rem 1.25rem;
  text-align: center;
}

.ec-pricing-disclaimer__text {
  max-width: 42rem;
  margin: 0 auto;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--slate);
}

.ec-pricing-disclaimer__text strong {
  color: var(--ink);
  font-weight: 600;
}

.ec-pricing-contract-note {
  max-width: 42rem;
  margin: 1.25rem auto 0;
  text-align: center;
  color: var(--ec-ink-3);
  font-size: 1.02rem;
  line-height: 1.55;
}

.ec-pricing-corporate-note {
  margin-top: 1.5rem;
  text-align: center;
}

/* Switch mensual/anual — thumb centrado en la pista */
.pricing-cycle-slider::before {
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
}

.pricing-cycle-toggle-wrap:has(#pricing-billing-annual:checked) .pricing-cycle-slider::before {
  transform: translate(2.15rem, -50%) !important;
}

/* Estándar — solo facturación anual en pricing */
.ec-plan-annual-only.ec-plan--monthly-unavailable {
  opacity: 0.88;
}

.pricing-plans-stack .ec-plan-cta--disabled,
.pricing-plans-stack .ec-plan-annual-only.ec-plan--monthly-unavailable a.fiSGdP,
.pricing-plans-stack .ec-plan-annual-only.ec-plan--monthly-unavailable .fiSGdP {
  pointer-events: none !important;
  cursor: not-allowed !important;
  background: #94a3b8 !important;
  border-color: #94a3b8 !important;
  color: #fff !important;
  opacity: 1 !important;
  font-size: 1.5rem !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  text-align: center;
  box-shadow: none !important;
}

.pricing-plans-stack .ec-plan-cta--disabled:hover,
.pricing-plans-stack .ec-plan-cta--disabled:focus,
.pricing-plans-stack .ec-plan-cta--disabled:focus-visible {
  background: #94a3b8 !important;
  border-color: #94a3b8 !important;
  color: #fff !important;
  transform: none !important;
}

/* pricing.html — listas detalladas por tier (index sin cambios) */
.pricing-plans-stack .ec-pricing-features {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.pricing-plans-stack .ec-pricing-features li {
  position: relative;
  margin: 0.55rem 0;
  padding-left: 1.65rem;
  font-size: 1.55rem;
  line-height: 1.42;
  color: var(--ec-ink-3);
}

.pricing-plans-stack .ec-pricing-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45em;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: var(--slate);
}

.pricing-plans-stack .ec-pricing-features--estandar li::before {
  background: var(--slate);
}

.pricing-plans-stack .ec-pricing-features--plus li::before {
  background: var(--profit);
}

.pricing-plans-stack .ec-pricing-features--premium li::before {
  background: var(--heat);
}

.pricing-plans-stack .ec-pricing-features__inherit {
  display: block;
  font-weight: 700;
  color: var(--ink);
  margin-bottom: 0.25rem;
}

.pricing-plans-stack .ec-pricing-features--plus .ec-pricing-features__inherit {
  color: var(--ec-profit-d);
}

.pricing-plans-stack .ec-pricing-features--premium .ec-pricing-features__inherit {
  color: var(--heat-d);
}

.pricing-plans-stack .ec-pricing-features--plus li strong,
.pricing-plans-stack .ec-pricing-features--premium li strong {
  color: var(--ink);
}

.pricing-plans-stack .ec-pricing-tier--premium {
  border-color: rgba(249, 115, 22, 0.18);
}

.ec-index-pricing__corporate {
  text-align: center;
  margin-top: 1.25rem;
}

/* Index #precios — 3 CTAs: mismo tamaño que hero, centrados en el bloque */
.ec-index-pricing__cta {
  display: flex !important;
  flex-flow: row nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 1rem !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 1.75rem auto 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
  overflow: visible !important;
  text-align: center;
}

/* Anula .eYuagO > * { margin-right: 2rem } — causa desalineación */
.ec-index-pricing__cta.eYuagO > a,
.ec-index-pricing__cta.eYuagO > .bDjvej,
.ec-index-pricing__cta.eYuagO > .cKWTai {
  margin: 0 !important;
  width: auto !important;
  flex: 0 0 auto !important;
}

.ec-index-pricing__cta > .bDjvej,
.ec-index-pricing__cta > .cKWTai,
.ec-index-pricing__cta > a.bDjvej,
.ec-index-pricing__cta > a.cKWTai {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap;
  text-transform: none !important;
  letter-spacing: 0.01em;
  line-height: 1.15;
  padding: 1.5rem 2.25rem !important;
  font-size: clamp(1.2rem, 1.85vw, 1.55rem) !important;
  min-height: 4.25rem;
  border-radius: 0.65rem;
}

.ec-index-pricing__cta > .bDjvej span,
.ec-index-pricing__cta > .cKWTai span,
.ec-index-pricing__cta > a.bDjvej span,
.ec-index-pricing__cta > a.cKWTai span {
  margin-left: 0.45rem !important;
}

.ec-index-pricing__notes {
  margin-top: 1.5rem;
  width: 100%;
  max-width: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.ec-index-pricing__notes::-webkit-scrollbar {
  display: none;
}

.ec-index-pricing__note-line {
  margin: 0;
  padding: 0.15rem 0.5rem;
  text-align: center;
  color: var(--slate);
  font-size: clamp(0.78rem, 0.52rem + 0.48vw, 0.9375rem);
  line-height: 1.4;
  white-space: nowrap;
  max-width: none;
}

.ec-index-pricing__note-line + .ec-index-pricing__note-line {
  margin-top: 0.35rem;
}

.ec-index-pricing__note-line strong {
  color: var(--ink);
  font-weight: 600;
}

.ec-index-pricing__note-line a {
  color: var(--heat);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ec-index-pricing__details,
.ec-index-pricing__footnote {
  text-align: center;
  max-width: 40rem;
  margin: 1rem auto 0;
}

[id] {
  scroll-margin-top: 6.5rem;
}

/* Cierre oscuro: CTA final + footer (sin ola SVG del template) */
.wquXK {
  background: var(--ink) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: var(--ec-section-pad) !important;
  padding-bottom: var(--ec-gap-lg) !important;
  position: relative;
  overflow: hidden;
}

.wquXK::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--heat), var(--profit), var(--heat));
}

.fhICMX {
  background: var(--ink) !important;
  margin: 0 !important;
  padding-top: var(--ec-gap-lg) !important;
  padding-bottom: var(--ec-gap-lg) !important;
}

/* Cabecera oscura — Características, Planes, Contacto, Blog */
.kMVLIF .jvMpbf.ktMUaI,
.kMVLIF .ktMUaI {
  color: var(--white) !important;
  text-shadow: 0 1px 2px rgba(15, 23, 42, 0.2);
}

.kMVLIF .erYynt {
  font-family: var(--font) !important;
  font-weight: 400 !important;
  font-size: clamp(1.55rem, 1.75vw, 1.8rem) !important;
  line-height: 1.65 !important;
  font-style: italic;
  color: var(--ec-text-on-dark) !important;
  opacity: 1 !important;
  max-width: min(44rem, 92%);
  margin-top: 0.25rem;
}

@media (max-width: 768px) {
  .kMVLIF .erYynt {
    max-width: 100%;
    padding-inline: 1.25rem;
    line-height: 1.55 !important;
  }
}

/* Contacto — 3 líneas fijas; tipografía igual que .kMVLIF .erYynt (Planes / Características) */
.kMVLIF .ec-contact-hero-lead {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
  margin-inline: auto;
  max-width: min(50rem, 94%);
}

.kMVLIF .ec-contact-hero-line {
  display: block;
  white-space: nowrap;
}

@media (max-width: 768px) {
  .kMVLIF .ec-contact-hero-lead {
    max-width: 100%;
  }

  .kMVLIF .ec-contact-hero-line {
    white-space: normal;
    text-wrap: balance;
  }
}

/* Sin franja clara bajo el pie (padding 16rem del template + min-height del body) */
body.next-light-theme {
  min-height: 0;
}

html,
body {
  margin: 0;
  padding: 0;
}

#__next {
  margin-bottom: 0;
  padding-bottom: 0;
}

/* ── Index landing sections (copy Landing → Next) ── */
:root {
  --ec-line: rgba(15, 23, 42, 0.08);
  --ec-line-strong: rgba(15, 23, 42, 0.14);
  --ec-surface-border: rgba(15, 23, 42, 0.16);
  --ec-surface-border-strong: rgba(15, 23, 42, 0.22);
  --ec-input-bg: #f8fafc;
  --ec-input-border: rgba(15, 23, 42, 0.24);
  --ec-input-border-hover: rgba(15, 23, 42, 0.32);
  --ec-shadow: var(--ec-elev-2);
  --ec-shadow-lg: var(--ec-elev-3);
  --ec-radius: 0.6rem;
  --ec-radius-sm: 0.6rem;
  --ec-ink-3: #334155;
  --ec-slate-1: #475569;
  --ec-slate-2: #64748b;
  --ec-text-on-dark: #e2e8f0;
  --ec-text-on-dark-muted: #cbd5e1;
  --ec-profit-d: #15803d;
  --ec-section-pad: clamp(2.5rem, 3.5vw, 3.25rem);
  --ec-gap-xs: 0.75rem;
  --ec-gap-sm: 1.25rem;
  --ec-gap-md: 2rem;
  --ec-gap-lg: 2.5rem;
  --ec-gap-xl: 3rem;
  /* Tarjetas — trazo fino gris + sombra paralela difusa sutil */
  --ec-card-stroke: 1px solid rgba(148, 163, 184, 0.32);
  --ec-card-stroke-dark: 1px solid rgba(255, 255, 255, 0.1);
  --ec-card-shadow: 2px 3px 10px rgba(15, 23, 42, 0.055);
  --ec-card-shadow-hover: 2px 4px 14px rgba(15, 23, 42, 0.08);
  --ec-card-shadow-dark: 2px 3px 10px rgba(0, 0, 0, 0.14);
  --ec-hero-shadow-color: rgba(15, 23, 42, 0.5);
  --ec-btn-ghost-border: rgba(249, 115, 22, 0.62);
  --ec-btn-ghost-border-hover: rgba(234, 88, 12, 0.88);
  --ec-btn-ghost-ring: rgba(15, 23, 42, 0.14);
}

/* ── Botones secundarios (fondo blanco + borde naranja tenue) ── */
#inicio .cKWTai,
.ec-landing-section .cKWTai,
.ec-landing-section a.cKWTai,
.ec-card .cKWTai,
.ec-card a.cKWTai,
.ec-demo-showcase .cKWTai,
.ec-demo-showcase a.cKWTai,
.ec-demo-ctas .cKWTai,
.ec-demo-ctas a.cKWTai,
.ec-landing-section__cta .cKWTai,
.ec-index-pricing__cta .cKWTai,
.gtWuaL .cKWTai,
.gtWuaL a.cKWTai,
#contacto.iHXKrY .cKWTai,
#contacto.iHXKrY a.cKWTai {
  background: var(--white) !important;
  border: 1.5px solid var(--ec-btn-ghost-border) !important;
  box-shadow: 0 0 0 1px var(--ec-btn-ghost-ring) !important;
  color: var(--ink) !important;
}

#inicio .cKWTai span,
.ec-landing-section .cKWTai span,
.ec-landing-section a.cKWTai span,
.ec-card .cKWTai span,
.ec-card a.cKWTai span,
.ec-demo-showcase .cKWTai span,
.ec-demo-showcase a.cKWTai span,
.ec-demo-ctas .cKWTai span,
.ec-demo-ctas a.cKWTai span,
.ec-landing-section__cta .cKWTai span,
.ec-index-pricing__cta .cKWTai span,
.gtWuaL .cKWTai span,
.gtWuaL a.cKWTai span,
#contacto.iHXKrY .cKWTai span,
#contacto.iHXKrY a.cKWTai span {
  color: var(--heat) !important;
}

#inicio .cKWTai:hover,
#inicio .cKWTai:focus-visible,
.ec-landing-section .cKWTai:hover,
.ec-landing-section .cKWTai:focus-visible,
.ec-landing-section a.cKWTai:hover,
.ec-landing-section a.cKWTai:focus-visible,
.ec-card .cKWTai:hover,
.ec-card .cKWTai:focus-visible,
.ec-card a.cKWTai:hover,
.ec-card a.cKWTai:focus-visible,
.ec-demo-showcase .cKWTai:hover,
.ec-demo-showcase .cKWTai:focus-visible,
.ec-demo-showcase a.cKWTai:hover,
.ec-demo-showcase a.cKWTai:focus-visible,
.ec-demo-ctas .cKWTai:hover,
.ec-demo-ctas .cKWTai:focus-visible,
.ec-demo-ctas a.cKWTai:hover,
.ec-demo-ctas a.cKWTai:focus-visible,
.gtWuaL .cKWTai:hover,
.gtWuaL .cKWTai:focus-visible,
.gtWuaL a.cKWTai:hover,
.gtWuaL a.cKWTai:focus-visible,
#contacto.iHXKrY .cKWTai:hover,
#contacto.iHXKrY .cKWTai:focus-visible,
#contacto.iHXKrY a.cKWTai:hover,
#contacto.iHXKrY a.cKWTai:focus-visible {
  border-color: var(--ec-btn-ghost-border-hover) !important;
  background: rgba(249, 115, 22, 0.04) !important;
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.28) !important;
  color: var(--ink) !important;
}

/* Botones blancos sobre superficies oscuras — borde más visible */
.ec-case-study__math .cKWTai,
.ec-case-study__math a.cKWTai,
.ec-ba-card--after .cKWTai,
.ec-ba-card--after a.cKWTai {
  border: 1.5px solid rgba(249, 115, 22, 0.72) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.22),
    0 0 0 2px rgba(15, 23, 42, 0.18) !important;
}

.ec-case-study__math .cKWTai:hover,
.ec-case-study__math .cKWTai:focus-visible,
.ec-case-study__math a.cKWTai:hover,
.ec-case-study__math a.cKWTai:focus-visible,
.ec-ba-card--after .cKWTai:hover,
.ec-ba-card--after .cKWTai:focus-visible,
.ec-ba-card--after a.cKWTai:hover,
.ec-ba-card--after a.cKWTai:focus-visible {
  border-color: rgba(249, 115, 22, 0.92) !important;
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.28),
    0 0 0 2px rgba(249, 115, 22, 0.24) !important;
}

/* Banda oscura #contacto — mantener botones claros sobre fondo ink */
.wquXK .cKWTai.fCovjk,
.wquXK a.cKWTai.fCovjk {
  background: transparent !important;
  border: 1.5px solid rgba(255, 255, 255, 0.52) !important;
  color: var(--white) !important;
}

.wquXK .cKWTai.fCovjk span,
.wquXK a.cKWTai.fCovjk span {
  color: inherit !important;
}

.wquXK .cKWTai.fCovjk:hover,
.wquXK a.cKWTai.fCovjk:hover {
  border-color: rgba(255, 255, 255, 0.62) !important;
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--white) !important;
}

/* Primarios — texto blanco solo sobre fondo naranja */
#inicio .bDjvej,
.ec-landing-section .bDjvej,
.ec-landing-section a.bDjvej,
.ec-card .bDjvej,
.ec-card a.bDjvej,
.ec-demo-showcase .bDjvej,
.ec-demo-showcase a.bDjvej,
.ec-demo-ctas .bDjvej,
.ec-demo-ctas a.bDjvej,
.ec-index-pricing__cta .bDjvej,
.gtWuaL .bDjvej,
.gtWuaL a.bDjvej,
#contacto.iHXKrY .bDjvej,
#contacto.iHXKrY a.bDjvej,
.pricing-plans-stack .bDjvej.fiSGdP:not(.ec-plan-cta--disabled):not(.ec-plan-cta--secondary),
.ec-index-pricing__stack .bDjvej.fiSGdP:not(.ec-plan-cta--secondary),
.sc-8bc59261-0.bDjvej.eYTbqM {
  color: var(--white) !important;
  background: var(--heat) !important;
  border-color: var(--heat) !important;
}

#inicio .bDjvej span,
.ec-landing-section .bDjvej span,
.ec-card .bDjvej span,
.ec-demo-showcase .bDjvej span,
.ec-demo-ctas .bDjvej span,
.pricing-plans-stack .bDjvej.fiSGdP:not(.ec-plan-cta--disabled) span {
  color: inherit !important;
}

.wquXK .bDjvej,
.wquXK a.bDjvej {
  color: var(--white) !important;
  background: var(--heat) !important;
  border-color: var(--heat) !important;
}

/* Contraste — nunca texto claro sobre fondo blanco en superficies claras */
.ec-landing-section,
.ec-landing-section--mist,
.gtWuaL,
#modulos,
#contacto.iHXKrY,
.ec-index-pricing {
  color: var(--ink);
}

.ec-landing-section .ec-card:not(.ec-ba-card--after) .hRwyNG,
.ec-card:not(.ec-ba-card--after) .hRwyNG,
.ec-landing-section--mist .hRwyNG,
.gtWuaL .hRwyNG,
#modulos .hRwyNG,
#contacto.iHXKrY .hRwyNG {
  color: var(--ink) !important;
}

.ec-landing-section .kugkhQ,
#modulos .kugkhQ,
#plataforma .kugkhQ {
  color: var(--ink-2) !important;
}

.ec-landing-section .huhnXB,
.ec-landing-section .ec-card:not(.ec-ba-card--after) .jmpCRK,
.ec-landing-section .dlwjbS,
.ec-landing-section .jmpCRK:not(.ec-case-study__note),
.gtWuaL .dlwjbS,
.gtWuaL .dnlpoE,
.gtWuaL .jmpCRK,
#modulos .huhnXB {
  color: var(--ec-ink-3) !important;
  opacity: 1 !important;
}

/* Descripciones bajo títulos — cursiva + contraste legible */
.ec-landing-section__lead,
.ec-contact-final__lead,
.ec-features-intro-note,
#inicio .duzary,
.kMVLIF .erYynt,
.ec-plan-subtitle {
  font-style: italic;
  font-weight: 400;
}

.ec-landing-section__lead,
#inicio .duzary {
  color: var(--slate) !important;
  opacity: 1 !important;
}

.ec-landing-section--mist .ec-landing-section__lead {
  color: var(--ec-ink-3) !important;
}

#inicio .duzary {
  font-family: var(--font) !important;
  line-height: 1.6;
}

.huhnXB {
  opacity: 1 !important;
}

.jmpCRK {
  opacity: 1 !important;
}

.ec-mono {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
}

/* Tipografía alineada al template (html 62.5% → 1.8rem = cuerpo, 2rem = card title, 4rem = stat) */
.ec-stat {
  display: block;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1;
}

.ec-calc-mini__label {
  display: block;
  font-size: 1.8rem;
  line-height: 1.4;
  color: var(--slate);
  margin-bottom: var(--ec-gap-xs);
}

.ec-card {
  padding: 2.5rem;
  background: rgb(var(--cardBackground));
  border: var(--ec-card-stroke);
  border-radius: var(--ec-radius);
  box-shadow: var(--ec-card-shadow);
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

/* Recuadros, tarjetas y formularios — trazo fino + sombra difusa */
.ec-calc-mini__fields,
.ec-calc-mini__results,
.ec-calc-panel,
form.ec-calc-panel,
.ec-scale-item,
.ec-compare-table,
.ec-annual-highlight,
.ec-social-honest,
#contacto.iHXKrY .jpuOME,
#contacto.iHXKrY .eStIuS,
.ec-landing-section .hQXyLc,
.iPKsGD > .kAPVQr,
#modulos .kAPVQr,
.pricing-plans-stack .kpCdUU,
.pricing-plans-stack .dMhuoV,
.pricing-plans-stack .ksdSPk,
.wquXK .ec-contact-form.ec-card,
.wquXK .ec-calc-panel {
  border: var(--ec-card-stroke) !important;
  box-shadow: var(--ec-card-shadow) !important;
}

.ec-ba-card--after,
.ec-case-study__math {
  border: var(--ec-card-stroke-dark) !important;
  box-shadow: var(--ec-card-shadow-dark) !important;
}

/* Recuadros de la misma fila → altura del más alto */
.ec-fit-grid,
.ec-ba-grid,
.ec-ba-split,
.ec-why-grid,
.ec-eval-grid,
.ec-scale-grid,
.ec-pain-bar,
.ec-impl-timeline,
.ec-calc-mini__grid,
.ec-calc-layout,
.ec-case-study,
#modulos .juGHLC,
.iPKsGD {
  align-items: stretch;
}

.ec-calc-panel,
.ec-calc-mini__results,
.ec-case-study__math,
form.ec-calc-panel {
  height: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.ec-fit-card .jmpCRK,
.ec-ba-card .jmpCRK,
.ec-why-card p,
.ec-impl-step p,
.ec-scale-item p,
.ec-eval-card .jmpCRK {
  flex: 1;
}

.ec-card > .bDjvej,
.ec-card > .cKWTai,
.ec-card > a.bDjvej,
.ec-card > a.cKWTai,
.ec-lead-form__submit,
.ec-contact-form__submit,
.ec-calc-mini__results > .bDjvej,
.ec-calc-mini__results > a.bDjvej {
  margin-top: auto;
}

.ec-card .hRwyNG {
  width: 100%;
  display: block;
  overflow: visible;
  text-overflow: unset;
  -webkit-line-clamp: unset;
  margin: 0 0 1rem;
}

.ec-field-label {
  display: block;
  margin-bottom: 0.75rem;
  line-height: 1.4 !important;
}

.ec-calc-mini__field .idrxjM.ec-field-label::before,
.ec-calc-panel .idrxjM.ec-field-label::before {
  display: none;
}

.ec-calc-mini__field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ec-calc-mini__field .eTdnKC,
.ec-calc-panel .eTdnKC {
  width: 100%;
  box-sizing: border-box;
}

.ec-calc-panel .eTdnKC {
  margin-bottom: 1.5rem;
}

/* Listas custom sobre .jmpCRK (evita marcador «L» del template) */
.jmpCRK.ec-list-check li,
.jmpCRK.ec-list-cross li,
.jmpCRK.ec-inaction-list li,
.jmpCRK.ec-case-study__params li {
  padding-left: 2.4rem;
}

.jmpCRK.ec-list-check li::before {
  content: "✓";
  transform: none;
  font-family: inherit;
  color: var(--ec-profit-d);
  font-weight: 700;
}

.jmpCRK.ec-list-cross li::before {
  content: "✕";
  transform: none;
  font-family: inherit;
  color: var(--loss);
  font-weight: 700;
}

.jmpCRK.ec-inaction-list li::before {
  content: "→";
  transform: none;
  font-family: inherit;
  color: var(--heat);
  font-weight: 700;
}

.jmpCRK.ec-case-study__params li::before {
  display: none;
}

.jmpCRK.ec-case-study__params li {
  padding-left: 0;
}

.ec-ba-card .jmpCRK ul {
  list-style: disc;
  padding-left: 2rem;
}

.ec-ba-card .jmpCRK li {
  padding-left: 0;
}

.ec-ba-card .jmpCRK li::before {
  display: none;
}

.ec-landing-section {
  width: 100%;
  display: block;
  flex: 0 0 100%;
  max-width: 100%;
  padding: var(--ec-section-pad) 0;
}

.ec-landing-section--mist {
  background: var(--mist);
}

.ec-landing-section > .kYSsOr {
  width: 100%;
}

.ec-landing-section__head {
  margin-bottom: var(--ec-gap-lg);
}

.ec-landing-section__head--center {
  text-align: center;
  margin-inline: auto;
  max-width: 48rem;
}

/* Identificador de sección (eyebrow) — más aire antes del título */
.ec-landing-section__head > .idrxjM:not(.ec-field-label),
.ec-index-pricing__head > .idrxjM,
.ec-case-study__story > .idrxjM:first-of-type,
.ec-contact-final > .idrxjM.ec-contact-final__eyebrow {
  display: block;
  margin-bottom: clamp(1.5rem, 2.8vw, 2rem);
}

.ec-landing-section__lead {
  margin-top: var(--ec-gap-sm);
  max-width: min(100%, 52rem);
  margin-inline: auto;
  text-wrap: balance;
  line-height: 1.55;
  font-style: italic;
}

.ec-landing-section__head--center .ec-landing-section__lead {
  text-align: center;
}

.ec-landing-section__cta {
  margin-top: var(--ec-gap-lg);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--ec-gap-sm);
  width: 100%;
  text-align: center;
}

.ec-landing-section__cta .cKWTai,
.ec-landing-section__cta .bDjvej,
.ec-landing-section__cta a.cKWTai,
.ec-landing-section__cta a.bDjvej {
  width: auto;
  flex: 0 1 auto;
}

/* Contraste por contexto de sección */
.ec-landing-section .jvMpbf,
.ec-landing-section .kuHjMB,
.ec-landing-section .ec-card:not(.ec-ba-card--after) .hRwyNG,
.ec-landing-section .ec-feature-category__title {
  color: var(--ink);
}

.ec-landing-section .idrxjM {
  line-height: 1.4 !important;
  color: var(--heat-d);
}

.ec-landing-section:not(.ec-landing-section--mist) .dlwjbS,
.ec-landing-section:not(.ec-landing-section--mist) .ec-card:not(.ec-ba-card--after) .jmpCRK,
.ec-landing-section:not(.ec-landing-section--mist) .jmpCRK:not(.ec-case-study__note) {
  color: var(--slate);
}

.ec-landing-section--mist .dlwjbS,
.ec-landing-section--mist .ec-card:not(.ec-ba-card--after) .jmpCRK,
.ec-landing-section--mist .jmpCRK:not(.ec-case-study__note) {
  color: var(--ec-ink-3);
}

.ec-landing-section--mist .idrxjM {
  color: var(--slate);
}

.ec-landing-section--mist .ec-card:not(.ec-ba-card--after),
.ec-landing-section:not(.ec-landing-section--mist) .ec-card:not(.ec-ba-card--after) {
  background: var(--white);
}

.wquXK .dzUGST {
  margin-bottom: var(--ec-gap-lg) !important;
}

/* Hero — copy izquierda; ilustración derecha (hero.png, ajuste paso a paso) */
.gXvFm#inicio.ec-hero {
  padding-top: var(--ec-section-pad);
  padding-bottom: var(--ec-section-pad);
  padding-inline: 2rem;
  box-sizing: border-box;
  align-items: stretch !important;
  overflow: visible;
}

#inicio.ec-hero .bVvYng {
  position: relative;
  z-index: 1;
  flex: 1 1 56%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#inicio .ec-hero-visual.kjBgca {
  flex: 1 1 44%;
  min-width: 0;
  min-height: 0;
  margin-top: 0 !important;
  align-self: stretch !important;
  display: flex;
  align-items: center;
  justify-content: flex-end !important;
  position: relative;
  z-index: 0;
  overflow: visible;
}

#inicio .ec-hero-visual .ec-hero-illustration {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  margin: 0;
  aspect-ratio: 1200 / 896;
  object-fit: contain;
  object-position: right center;
  transform: scale(1.45);
  transform-origin: right center;
}

@media (max-width: 1024px) {
  #inicio.ec-hero {
    align-items: center !important;
  }

  #inicio.ec-hero .bVvYng {
    z-index: 2;
    width: 100%;
  }

  #inicio .ec-hero-ctas {
    position: relative;
    z-index: 3;
  }

  #inicio .ec-hero-visual.kjBgca {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
    flex: 0 0 0 !important;
  }

  #inicio .ec-hero-visual .ec-hero-illustration {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
  }
}

/* Hero — solo móvil: pantalla completa; copy distribuido en alto y ancho */
@media (max-width: 768px) {
  .kYSsOr.gXvFm#inicio.ec-hero,
  .gXvFm#inicio.ec-hero {
    --ec-mobile-nav-h: 8rem;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    min-height: calc(100dvh - var(--ec-mobile-nav-h));
    min-height: calc(100svh - var(--ec-mobile-nav-h));
    padding: clamp(0.75rem, 2.5vh, 1.25rem) clamp(1rem, 4.5vw, 1.25rem)
      clamp(0.75rem, 2.5vh, 1.25rem) !important;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: center !important;
  }

  #inicio.ec-hero .bVvYng {
    flex: 1 1 auto;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: clamp(0.35rem, 1.5vh, 0.85rem);
  }

  #inicio .ec-hero-visual.kjBgca {
    display: none !important;
    margin: 0 !important;
  }

  #inicio .ec-hero-title,
  #inicio .duzary,
  #inicio .ec-hero-disclaimer,
  #inicio .ec-trust-line,
  #inicio .ec-hero-badges {
    width: 100%;
    max-width: 100%;
  }

  #inicio .ec-hero-title {
    font-size: clamp(2.35rem, 9.2vw, 3.65rem) !important;
    line-height: 1.1 !important;
    margin-bottom: 0;
  }

  #inicio .duzary {
    font-size: clamp(1.05rem, 3.6vw, 1.35rem);
    line-height: 1.45;
    margin-top: clamp(0.25rem, 1vh, 0.5rem);
  }

  #inicio .idrxjM.iQxMko {
    max-width: 100%;
    align-self: flex-start;
  }

  #inicio .ec-hero-badges {
    margin-top: clamp(0.35rem, 1.2vh, 0.75rem);
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }

  #inicio .ec-hero-ctas {
    width: 100%;
    max-width: 100%;
    margin-top: clamp(0.5rem, 1.5vh, 1rem);
    flex-flow: column nowrap !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    gap: 0.65rem;
  }

  #inicio .ec-hero-ctas > a {
    width: 100% !important;
    flex: 1 1 auto;
    white-space: normal;
    text-align: center;
    justify-content: center;
    min-height: 3.35rem;
    padding: 1rem 1.25rem !important;
    font-size: clamp(1rem, 3.8vw, 1.15rem) !important;
  }

  #inicio .ec-hero-disclaimer,
  #inicio .ec-trust-line {
    margin-top: clamp(0.35rem, 1vh, 0.65rem);
    font-size: clamp(0.88rem, 3.1vw, 1.05rem);
    line-height: 1.35;
  }
}

@media (max-width: 768px) and (max-height: 700px) {
  #inicio .ec-hero-title {
    font-size: clamp(2.05rem, 8.2vw, 2.85rem) !important;
  }

  #inicio .ec-hero-ctas > a {
    min-height: 3rem;
    padding: 0.85rem 1.1rem !important;
  }

  #inicio.ec-hero .bVvYng {
    gap: 0.25rem;
  }
}

#inicio .idrxjM.iQxMko {
  line-height: 1.4 !important;
  color: var(--slate);
}

#inicio .duzary {
  color: var(--slate) !important;
  opacity: 1 !important;
}

/* Hero — CTAs en una sola fila */
#inicio .ec-hero-ctas {
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.85rem 1rem;
  margin-top: 4rem;
  width: 100%;
  max-width: 100%;
}

#inicio .ec-hero-ctas > a {
  width: auto !important;
  margin: 0 !important;
  flex: 0 1 auto;
  white-space: nowrap;
  text-transform: none !important;
  letter-spacing: 0.01em;
  padding: 1.5rem 2.25rem !important;
  font-size: clamp(1.2rem, 1.85vw, 1.55rem) !important;
  line-height: 1.15;
  min-height: 4.25rem;
  border-radius: 0.65rem;
}

#inicio .ec-hero-ctas .bDjvej span,
#inicio .ec-hero-ctas .cKWTai span {
  margin-left: 0.45rem !important;
}

@media (max-width: 520px) {
  #inicio .ec-hero-ctas {
    gap: 0.55rem;
  }

  #inicio .ec-hero-ctas > a {
    padding: 1.15rem 1.4rem !important;
    font-size: 1.08rem !important;
    min-height: 3.5rem;
  }

  #inicio .ec-hero-ctas .bDjvej span,
  #inicio .ec-hero-ctas .cKWTai span {
    margin-left: 0.35rem !important;
  }
}

#inicio .ec-hero-disclaimer {
  margin-top: var(--ec-gap-sm);
  padding: 0.55rem 0 0.55rem 0.75rem;
  border-left: 2px solid var(--heat);
  font-size: clamp(1rem, 1.15vw, 1.2rem);
  font-style: normal;
  font-weight: 500;
  line-height: 1.35;
  color: var(--slate);
  max-width: 52rem;
  opacity: 1;
}

#inicio .jvMpbf {
  color: var(--ink);
  text-align: left;
}

/* Hero H1 — 6 líneas balanceadas; tamaño ajustado al ancho de columna */
#inicio .ec-hero-title {
  --ec-hero-stroke: 0.08em;
  --ec-hero-shadow-offset: clamp(2px, 0.05em, 3px);
  font-size: clamp(3.35rem, 4.75vw, 6.15rem);
  font-weight: 800;
  line-height: 1.14;
  letter-spacing: -0.03em;
  color: var(--ink);
  text-align: left;
  margin-bottom: var(--ec-gap-md);
  padding-bottom: var(--ec-hero-shadow-offset);
  max-width: 100%;
  -webkit-text-stroke: var(--ec-hero-stroke) #ffffff;
  paint-order: stroke fill;
  filter: drop-shadow(
    var(--ec-hero-shadow-offset) var(--ec-hero-shadow-offset) 0
      var(--ec-hero-shadow-color)
  );
}

/* Trazo blanco en negro y naranja (hereda filter del h1) */
#inicio .ec-hero-title .ec-hero-mark {
  color: var(--heat);
  -webkit-text-stroke: var(--ec-hero-stroke) #ffffff;
  paint-order: stroke fill;
}

/* Hero H1 — líneas con longitud visual parecida */
#inicio .ec-hero-title .ec-hero-line {
  display: block;
}

@media (min-width: 521px) {
  #inicio .ec-hero-title .ec-hero-line {
    white-space: nowrap;
  }
}

@media (min-width: 1025px) {
  #inicio .ec-hero-title {
    font-size: clamp(3.75rem, 4.55vw, 6.15rem);
  }
}

@media (max-width: 520px) {
  #inicio .ec-hero-title {
    font-size: clamp(2.85rem, 11vw, 3.95rem);
    line-height: 1.12;
  }
}

/* Títulos de sección — máximo 2 líneas, interlineado compacto */
.ec-section-title,
.kMVLIF .jvMpbf.ktMUaI,
.wquXK .jvMpbf.dzUGST,
.ecYgmb.ec-faq-block > .jvMpbf {
  display: flex;
  flex-direction: column;
  gap: 0.06em;
  font-size: clamp(2.35rem, 3.5vw, 3.75rem) !important;
  line-height: 1 !important;
  letter-spacing: -0.03em;
  text-wrap: balance;
  max-width: min(100%, 36rem);
  margin-inline: auto;
}

/* Heroes de página (Planes y precios, Características) — una sola línea */
.kMVLIF .jvMpbf.ktMUaI:not(.ec-section-title) {
  display: block !important;
  white-space: nowrap;
  max-width: none;
  text-wrap: nowrap;
}

/* Banda CTA antes del footer — una sola línea, centrado */
.wquXK .ec-footer-cta-title {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  white-space: nowrap;
  max-width: none !important;
  width: 100%;
  text-wrap: nowrap;
  text-align: center !important;
  margin-inline: auto !important;
}

.wquXK .ec-footer-cta-title .ec-title-line {
  white-space: nowrap;
  text-align: center;
}

.ec-title-br {
  display: none;
}

/* Cada línea del título; nowrap evita 3ª línea por reflow */
.ec-section-title .ec-title-line {
  display: block;
  line-height: 1;
  margin: 0;
  padding: 0;
}

.ec-section-title:not(.ec-section-title--split) .ec-title-line {
  white-space: nowrap;
}

/* Una sola línea: sin <br>, el flex columna apilaba texto y <span> */
.ec-section-title:not(:has(> .ec-title-br)) {
  display: block;
  white-space: nowrap;
  max-width: none;
  text-wrap: nowrap;
}

.ec-landing-section__head--center .ec-section-title,
.wquXK .ec-section-title,
.ecYgmb.ec-faq-block > .jvMpbf {
  text-align: center;
  align-items: center;
}

.ec-case-study .ec-section-title {
  text-align: left;
  align-items: flex-start;
  margin-inline: 0;
  max-width: min(100%, 28rem);
  font-size: clamp(2.1rem, 3.2vw, 3.25rem) !important;
  line-height: 1.08 !important;
}

.ec-case-study .ec-section-title .ec-title-line {
  white-space: nowrap;
}

.ec-calc-layout__main .ec-section-title {
  text-align: left;
  align-items: flex-start;
  margin-inline: 0;
  max-width: none;
}

#proyeccion-12-meses .ec-calc-layout__main .ec-landing-section__head {
  text-align: center;
}

#proyeccion-12-meses .ec-calc-layout__main .ec-section-title {
  text-align: center;
  align-items: center;
  margin-inline: auto;
}

#proyeccion-12-meses .ec-calc-layout__main .ec-section-title .ec-title-line {
  white-space: nowrap;
}

#proyeccion-12-meses .ec-calc-layout__main .ec-landing-section__lead {
  text-align: center;
  margin-inline: auto;
}

/* Qué obtienes — cabecera e iconos centrados */
#plataforma .ec-feature-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#plataforma .ec-feature-card img {
  display: block;
  margin-inline: auto;
}

#plataforma .ec-feature-card .kugkhQ,
#plataforma .ec-feature-card .huhnXB {
  text-align: center;
  width: 100%;
}

#plataforma .ec-features-grid--index {
  margin-inline: auto;
}

.ec-scale-band .ec-section-title {
  text-align: center;
}

/* Bloque escala en features — ancho del catálogo, grid 2×2 */
.ec-features-scale {
  width: 100%;
  margin-top: clamp(2.5rem, 4vw, 3.75rem);
}

.ec-scale-band--features {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  padding: clamp(1.75rem, 3vw, 2.75rem);
  text-align: center;
  background: var(--mist);
  border: var(--ec-card-stroke);
  border-radius: var(--ec-radius);
  box-shadow: var(--ec-card-shadow);
  box-sizing: border-box;
}

.ec-features-scale__title {
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
  font-size: clamp(2rem, 3.4vw, 2.85rem) !important;
  line-height: 1.12 !important;
  max-width: none;
}

.ec-scale-grid--features {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  box-shadow: none;
  background: transparent !important;
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
  grid-template-columns: 1fr;
  text-align: left;
}

.ec-scale-item--features {
  height: 100%;
  padding: clamp(1.15rem, 2vw, 1.5rem);
  background: var(--white);
  border: var(--ec-card-stroke);
  border-radius: var(--ec-radius-sm);
  box-shadow: var(--ec-card-shadow);
}

.ec-scale-item--features .ec-scale-item__range {
  font-size: clamp(1.35rem, 2.2vw, 1.75rem);
  margin-bottom: 0.35rem;
}

.ec-scale-item--features .ec-scale-item__text {
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  line-height: 1.5;
  color: var(--ec-ink-3) !important;
  margin: 0;
}

.ec-features-scale__cta {
  margin: clamp(1.25rem, 2.5vw, 1.75rem) 0 0;
  text-align: center;
  font-size: clamp(1rem, 1.5vw, 1.1rem);
}

/* Bloque escala legacy (lista) — otras páginas */
.ec-scale-band:not(.ec-scale-grid):not(.ec-scale-band--features) {
  text-align: center;
  max-width: 48rem;
  margin-inline: auto;
}

@media (max-width: 768px) {
  .ec-section-title,
  .ec-landing-section .jvMpbf.ec-section-title,
  .ec-landing-section .kuHjMB.ec-section-title,
  .jvMpbf.ktMUaI.ec-section-title,
  .wquXK .jvMpbf.dzUGST:not(.ec-footer-cta-title),
  .ecYgmb.ec-faq-block > .jvMpbf {
    font-size: clamp(2rem, 6.8vw, 2.85rem) !important;
    max-width: min(100%, 22rem);
    text-align: center;
    align-items: center;
    margin-inline: auto;
  }

  .ec-section-title .ec-title-line {
    white-space: normal;
    text-align: center;
    text-wrap: balance;
  }

  .ec-section-title:not(:has(> .ec-title-br)) {
    white-space: normal;
    text-wrap: balance;
    text-align: center;
  }

  .ec-landing-section__head--center > .idrxjM:not(.ec-field-label) {
    margin-inline: auto;
    text-align: center;
  }

  .ec-landing-section__head--center .ec-landing-section__lead {
    text-align: center;
    margin-inline: auto;
  }

  .wquXK .ec-footer-cta-title {
    font-size: clamp(1.65rem, 5.2vw, 2.85rem) !important;
    max-width: none !important;
    justify-content: center !important;
  }
}

/* Títulos de sección — frase persuasiva en naranja */
.ec-section-mark {
  color: var(--heat);
}

.kMVLIF .ec-section-mark,
.wquXK .ec-section-mark {
  color: var(--heat);
}

.kuHjMB .ec-section-mark {
  color: var(--heat);
}

/* Hero — viñetas en una línea */
.ec-hero-badges {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  margin: var(--ec-gap-md) 0 0;
  padding: 0;
  list-style: none;
}

.ec-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  white-space: nowrap;
  font-family: var(--font);
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--slate);
  text-transform: none;
  letter-spacing: normal;
}

.ec-hero-badge::before {
  content: "✓";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 50%;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--heat);
  background: rgba(249, 115, 22, 0.12);
}

.ec-hero-badge:not(:last-child) {
  margin-right: 1.25rem;
  padding-right: 1.25rem;
  border-right: 1px solid var(--ec-line);
}

@media (max-width: 1024px) {
  .ec-hero-badges {
    flex-wrap: wrap;
    row-gap: 0.75rem;
  }

  .ec-hero-badge:not(:last-child) {
    margin-right: 0;
    padding-right: 0;
    border-right: none;
  }

  .ec-hero-badge:not(:last-child)::after {
    content: "·";
    margin-left: 1.25rem;
    color: var(--ec-slate-2);
    font-weight: 400;
  }
}

.ec-trust-line {
  margin-top: var(--ec-gap-md);
  max-width: 72rem;
  margin-inline: 0;
  text-align: left;
}

/* Calculadora */
.ec-calc-mini__grid {
  display: grid;
  gap: var(--ec-gap-lg);
  align-items: stretch;
}

.ec-calc-mini__fields {
  display: flex;
  flex-direction: column;
  gap: 0;
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  padding: 2.5rem;
  background: var(--white);
  border-radius: var(--ec-radius);
  box-sizing: border-box;
}

.ec-calc-mini__fields-grid {
  display: grid;
  gap: 1.25rem 1.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  flex: 1 1 auto;
}

.ec-calc-mini__field label::before {
  display: none;
}

.ec-calc-mini__results {
  background: rgb(var(--cardBackground));
  border-radius: var(--ec-radius);
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.ec-calc-mini__result {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.ec-calc-result__label {
  display: block;
  font-size: 1.6rem;
  line-height: 1.4;
  color: var(--ec-slate-2);
  font-weight: 500;
}

.ec-calc-result__value {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.1;
  white-space: nowrap;
}

.ec-calc-result__unit {
  font-family: var(--font);
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--slate);
  margin-left: 0.4rem;
}

.ec-calc-mini__result--loss .ec-calc-result__value {
  color: var(--heat);
}

.ec-calc-mini__result--gain .ec-calc-result__value {
  color: var(--ec-profit-d);
}

.ec-calc-mini__hint {
  margin: 0;
}

/* index — enlace breve a aviso legal (texto completo en aviso-proyecciones.html) */
.ec-legal-notice-link {
  margin: 1.15rem auto 0;
  max-width: 52rem;
  padding: 0.85rem 1rem;
  border-top: 3px solid var(--heat);
  border-radius: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.6;
  text-align: center;
  color: var(--ink) !important;
  background: rgba(255, 255, 255, 0.92);
}

.ec-legal-notice-link strong {
  color: var(--ink) !important;
  font-weight: 700;
}

.ec-legal-notice-link a {
  color: var(--heat) !important;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.ec-legal-notice-link a:hover,
.ec-legal-notice-link a:focus-visible {
  color: var(--ink) !important;
}

#calculadora .ec-legal-notice-link,
#proyeccion-12-meses .ec-legal-notice-link {
  font-size: 1rem;
}

#proyeccion-12-meses .ec-legal-notice-link {
  margin-top: 1.35rem;
  max-width: none;
  width: 100%;
  text-align: center;
}

#caso-numero .ec-legal-notice-link {
  max-width: none;
  margin-top: 1rem;
  grid-column: 1 / -1;
}

/* Páginas legales — privacidad, cookies, aviso proyecciones */
.gtWuaL .jtNIum:has(.ec-legal-notice-page) {
  margin-top: clamp(2rem, 4vw, 4rem) !important;
  margin-bottom: clamp(3rem, 6vw, 6rem) !important;
}

.iBIJwH:has(.ec-legal-notice-page) {
  width: 100%;
  max-width: 90rem;
  margin-inline: auto;
  padding-inline: clamp(1.5rem, 3.5vw, 2.5rem);
  box-sizing: border-box;
}

.ec-legal-notice-page {
  width: 100%;
  max-width: 100%;
  margin: 0;
  text-align: left;
}

.ec-legal-notice-page__title {
  margin: 0 0 1.25rem;
  font-family: var(--font-heading);
  font-size: clamp(2.4rem, 2.8vw, 3.2rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--ink);
  text-wrap: balance;
}

.ec-legal-notice-page__lead,
.ec-legal-notice-page__text {
  margin: 0;
  font-family: var(--font);
  font-size: 1.8rem;
  line-height: 1.6;
  color: var(--slate);
}

.ec-legal-notice-page__lead {
  margin-bottom: 1rem;
  max-width: min(100%, 72rem);
}

.ec-legal-notice-page__text + .ec-legal-notice-page__text {
  margin-top: 0.85rem;
}

.ec-legal-notice-page strong {
  color: var(--ink);
  font-weight: 600;
}

.ec-legal-notice-page a {
  color: var(--heat-d);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.ec-legal-notice-page a:hover,
.ec-legal-notice-page a:focus-visible {
  color: var(--heat);
}

.ec-legal-notice-page__section {
  margin-top: clamp(1.75rem, 3vw, 2.25rem);
}

.ec-legal-notice-page__section-title {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--ink);
}

.ec-legal-notice-page__list {
  margin: 0.5rem 0 0.85rem;
  padding-left: 1.5rem;
  font-family: var(--font);
  font-size: 1.8rem;
  line-height: 1.6;
  color: var(--slate);
}

.ec-legal-notice-page__list li + li {
  margin-top: 0.35rem;
}

@media (max-width: 1024px) {
  .ec-legal-notice-page__lead,
  .ec-legal-notice-page__text,
  .ec-legal-notice-page__list {
    font-size: 1.5rem;
  }

  .ec-legal-notice-page__section-title {
    font-size: 1.75rem;
  }
}

@media (max-width: 768px) {
  .iBIJwH:has(.ec-legal-notice-page) {
    padding-inline: 1.25rem;
  }

  .ec-legal-notice-page__title {
    font-size: clamp(2.1rem, 6.5vw, 2.6rem);
  }
}

.ec-calc-layout {
  display: grid;
  gap: var(--ec-gap-lg);
  align-items: stretch;
}

.ec-calc-layout__main {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 100%;
}

.ec-calc-layout__main .ec-calc-panel {
  flex: 1;
}

.ec-calc-panel {
  background: rgb(var(--cardBackground));
  border-radius: var(--ec-radius);
  padding: 2.5rem;
}

.ec-calc-panel label::before {
  display: none;
}

.ec-calc-breakdown {
  display: flex;
  flex-direction: column;
}

.ec-calc-breakdown__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--ec-gap-md);
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--ec-line);
}

.ec-calc-breakdown__label {
  font-size: 1.6rem;
  line-height: 1.45;
  color: var(--ec-slate-2);
  font-weight: 500;
}

.ec-calc-breakdown__value {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
  color: var(--ink);
}

.ec-calc-breakdown__suffix {
  font-family: var(--font);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--slate);
  margin-left: 0.4rem;
  white-space: nowrap;
}

.ec-calc-breakdown__row--loss .ec-calc-breakdown__value {
  color: var(--loss);
}

.ec-calc-breakdown__row--gross .ec-calc-breakdown__value {
  color: var(--ec-profit-d);
}

.ec-calc-breakdown__row--cost .ec-calc-breakdown__value {
  color: var(--ec-ink-3);
}

.ec-calc-breakdown__row--gain .ec-calc-breakdown__value {
  color: var(--ec-profit-d);
}

.ec-calc-breakdown__row--annual {
  margin-top: 0.25rem;
  padding-top: 1.25rem;
  border-top: 1px dashed var(--ec-line-strong);
  border-bottom: none;
}

.ec-calc-breakdown__value--annual {
  font-size: 2.4rem;
}

.ec-lead-form__submit,
.ec-contact-form__submit {
  width: 100%;
  justify-content: center;
  margin-top: 1rem;
}

.ec-contact-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ec-gap-sm);
  margin-top: 1rem;
}

.ec-contact-form__actions .ec-contact-form__submit,
.ec-contact-form__actions .ec-contact-form__wa {
  flex: 1 1 12rem;
  width: auto;
  margin-top: 0;
  justify-content: center;
}

.ec-field-label--small {
  display: block;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--ec-ink-3);
  text-transform: none;
  letter-spacing: normal;
}

.ec-field-required {
  color: var(--heat);
  font-weight: 700;
  margin-left: 0.1em;
}

.ec-field-optional {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--ec-ink-3);
  margin-left: 0.35em;
  text-transform: none;
  letter-spacing: normal;
}

.ec-form-required-note {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--ec-ink-3);
}

.ec-calc-mini__fields .ec-form-required-note {
  margin: 1.25rem 0 0;
  align-self: flex-start;
}

#calculadora .ec-calc-mini__fields .ec-calc-mini__field label {
  margin-bottom: 0.45rem;
  font-size: 1.45rem;
  line-height: 1.35;
}

#calculadora .ec-calc-mini__fields .eTdnKC {
  width: 100%;
  box-sizing: border-box;
  padding: 1rem 1.15rem;
  font-size: 1.5rem;
  line-height: 1.2;
  min-height: 0;
  border-radius: 0.55rem;
}

.ec-lead-form .ec-form-required-note {
  margin-top: -0.25rem;
}

.ec-form-hint {
  margin-top: 1rem;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--ec-ink-3);
  opacity: 1;
}

.ec-form-hint--phone {
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
}

/* Caso numérico */
.ec-case-study {
  display: grid;
  gap: var(--ec-gap-lg);
  align-items: stretch;
}

.ec-case-study__story {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.ec-case-study__params {
  margin: var(--ec-gap-md) 0 0;
  display: grid;
  gap: var(--ec-gap-sm);
}

.ec-case-study__params span {
  font-family: var(--font-mono);
  font-weight: 700;
  color: rgb(var(--text));
  margin-right: 0.5rem;
}

.ec-case-study__math {
  background: var(--ink);
  color: var(--white);
  border-radius: var(--ec-radius);
  padding: 2.5rem;
  border: var(--ec-card-stroke-dark);
  box-shadow: var(--ec-card-shadow-dark);
}

.ec-case-study__math .jmpCRK,
.ec-case-study__math .ec-case-study__note {
  color: var(--ec-text-on-dark) !important;
  opacity: 1 !important;
}

.ec-case-study__math .ec-case-study__note {
  font-style: italic;
}

.ec-case-study__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--ec-gap-md);
  padding: 1.25rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.ec-case-study__label {
  font-size: 1.6rem;
  line-height: 1.45;
  color: var(--ec-text-on-dark);
  font-weight: 500;
}

.ec-case-study__value {
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
}

.ec-case-study__suffix {
  font-family: var(--font);
  font-size: 1.35rem;
  font-weight: 600;
  color: var(--ec-text-on-dark-muted);
  margin-left: 0.4rem;
}

.ec-case-study__row--loss .ec-case-study__value {
  color: var(--heat);
}

.ec-case-study__row--gain .ec-case-study__value {
  color: var(--profit);
}

.ec-case-study__row--annual {
  margin-top: 0.25rem;
  padding-top: 1.25rem;
  border-top: 1px dashed rgba(255, 255, 255, 0.2);
  border-bottom: none;
}

.ec-case-study__row--annual .ec-case-study__value {
  font-size: 2.4rem;
}

.ec-case-study__note {
  margin: 1.5rem 0;
  color: var(--ec-text-on-dark) !important;
  opacity: 1;
  font-style: italic;
}

/* Comparación */
.ec-compare-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.ec-compare-table {
  width: 100%;
  min-width: 52rem;
  border-collapse: collapse;
  background: rgb(var(--cardBackground));
  border-radius: var(--ec-radius);
  overflow: hidden;
}

.ec-compare-table th,
.ec-compare-table td {
  padding: 1.5rem 2rem;
  text-align: left;
  border-bottom: 1px solid var(--ec-line);
  font-size: 1.8rem;
  line-height: 1.5;
}

.ec-compare-table thead th {
  font-family: var(--font-heading);
  font-size: 2rem;
  font-weight: bold;
  background: rgb(var(--tertiary));
}

.ec-compare-table tbody th {
  font-weight: 600;
  color: var(--ec-ink-3);
  width: 38%;
}

.ec-compare-table tbody td {
  color: var(--ec-ink-3);
}

.ec-compare-table__us {
  background: rgba(22, 163, 74, 0.06);
  color: rgb(var(--text)) !important;
}

.ec-compare-table tbody tr:last-child th,
.ec-compare-table tbody tr:last-child td {
  border-bottom: none;
}

/* Para quién */
.ec-fit-grid {
  display: grid;
  gap: var(--ec-gap-md);
}

.ec-fit-card--yes {
  background: rgba(22, 163, 74, 0.06);
}

.ec-fit-card--no {
  background: rgb(var(--cardBackground));
}

/* #para-quien — checks / cruces; sin viñetas de punto del template */
#para-quien .ec-fit-card .jmpCRK.ec-list-check,
#para-quien .ec-fit-card .jmpCRK.ec-list-cross {
  list-style: none;
  padding-left: 0;
}

#para-quien .ec-fit-card .jmpCRK.ec-list-check li,
#para-quien .ec-fit-card .jmpCRK.ec-list-cross li {
  list-style: none;
  padding-left: 2.4rem;
  position: relative;
}

#para-quien .ec-fit-card .jmpCRK.ec-list-check li::before,
#para-quien .ec-fit-card .jmpCRK.ec-list-cross li::before {
  position: absolute;
  left: 0;
  top: 0;
  transform: none;
  font-family: inherit;
  font-weight: 700;
}

#para-quien .ec-fit-card .jmpCRK.ec-list-check li::before {
  content: "✓";
  color: var(--ec-profit-d);
}

#para-quien .ec-fit-card .jmpCRK.ec-list-cross li::before {
  content: "✕";
  color: var(--loss);
}

/* Problema / inacción */
.ec-pain-bar {
  display: grid;
  gap: var(--ec-gap-md);
  margin-top: var(--ec-gap-md);
}

.ec-pain-bar__item {
  border: var(--ec-card-stroke);
  border-left: 4px solid var(--loss);
  border-radius: 0 var(--ec-radius-sm) var(--ec-radius-sm) 0;
}

.ec-inaction-list {
  display: grid;
  gap: var(--ec-gap-sm);
}

/* #inaccion — flechas; sin viñetas de punto del template */
#inaccion .jmpCRK.ec-inaction-list {
  list-style: none;
  padding-left: 0;
}

#inaccion .jmpCRK.ec-inaction-list li {
  list-style: none;
  padding-left: 2.4rem;
  position: relative;
}

#inaccion .jmpCRK.ec-inaction-list li::before {
  content: "→";
  position: absolute;
  left: 0;
  top: 0;
  transform: none;
  font-family: inherit;
  font-weight: 700;
  color: var(--heat);
}

/* Antes / después */
.ec-ba-grid {
  display: grid;
  gap: var(--ec-gap-md);
  margin-top: var(--ec-gap-md);
}

/* #solucion — dos columnas 50/50 en escritorio; apilado solo en móvil */
#solucion .ec-ba-split {
  display: grid;
  grid-template-columns: 1fr;
  width: 100%;
  max-width: 100%;
}

@media (min-width: 768px) {
  #solucion .ec-ba-split {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch;
  }

  #solucion .ec-ba-column {
    min-width: 0;
    width: 100%;
  }
}

.ec-ba-card--before.ec-card {
  background: var(--white) !important;
}

.ec-ba-card--before .jmpCRK,
.ec-ba-card--before .jmpCRK li {
  color: var(--ec-ink-3) !important;
  opacity: 1 !important;
}

.ec-ba-card--after.ec-card {
  background: var(--ink) !important;
  border: var(--ec-card-stroke-dark) !important;
  box-shadow: var(--ec-card-shadow-dark) !important;
  color: var(--white);
}

.ec-ba-card--after .hRwyNG {
  color: var(--white) !important;
}

.ec-ba-card--after .jmpCRK,
.ec-ba-card--after .jmpCRK li {
  color: var(--ec-text-on-dark) !important;
  opacity: 1 !important;
}

/* Por qué */
.ec-why-grid {
  display: grid;
  gap: var(--ec-gap-md);
}

.ec-why-card p {
  margin: 0;
}

/* Evalúa */
.ec-eval-grid {
  display: grid;
  gap: var(--ec-gap-md);
}

.ec-eval-card {
  display: flex;
  flex-direction: column;
  gap: var(--ec-gap-sm);
}

.ec-eval-card--featured {
  background: rgba(22, 163, 74, 0.04);
}

.ec-eval-card .idrxjM::before {
  display: none;
}

.ec-eval-card .idrxjM {
  color: var(--ec-profit-d);
  line-height: 1.4;
}

.ec-eval-card p {
  margin: 0;
  flex: 1;
}

.ec-eval-card .bDjvej,
.ec-eval-card .cKWTai {
  margin-top: auto;
  align-self: flex-start;
}

/* No contrates hasta probarla — demo showcase */
.ec-demo-showcase {
  display: grid;
  gap: var(--ec-gap-md);
  margin-top: var(--ec-gap-md);
}

@media (min-width: 900px) {
  .ec-demo-showcase {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
}

.ec-demo-showcase__card {
  display: flex;
  flex-direction: column;
  gap: var(--ec-gap-sm);
}

.ec-demo-showcase__card--featured {
  background: linear-gradient(165deg, rgba(249, 115, 22, 0.08), rgba(22, 163, 74, 0.05));
  border-color: rgba(249, 115, 22, 0.35) !important;
  box-shadow: 0 12px 40px rgba(249, 115, 22, 0.1);
}

.ec-demo-showcase__card--step-2 {
  border-color: rgba(15, 23, 42, 0.12) !important;
}

.ec-demo-showcase__card--optional {
  border-style: dashed;
  border-color: rgba(15, 23, 42, 0.16) !important;
  background: rgba(248, 250, 252, 0.65);
}

.ec-demo-showcase__card--optional .cKWTai {
  margin-top: auto;
  align-self: flex-start;
}

.ec-demo-step {
  font-weight: 700;
  color: var(--heat);
  letter-spacing: 0.04em;
}

.ec-demo-step--muted {
  color: var(--ec-ink-3);
}

.ec-calc-mini__secondary-cta {
  margin-top: 0.75rem;
  text-align: center;
}

.ec-calc-mini__secondary-cta .bDjvej {
  display: inline-flex;
  width: 100%;
  justify-content: center;
  box-sizing: border-box;
}

/* ── Página 404 ── */
.ec-404-page {
  padding-top: var(--ec-gap-lg);
  padding-bottom: var(--ec-gap-xl);
}

.ec-404-shell {
  max-width: 42rem;
  margin: 0 auto;
  text-align: center;
}

.ec-404-eyebrow {
  display: inline-block;
  margin: 0 0 0.75rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: #fff7ed;
  color: var(--heat, #f97316);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ec-404-title {
  margin-bottom: 0.85rem;
}

.ec-404-lead {
  max-width: 36rem;
  margin: 0 auto 1.5rem;
}

.ec-404-card {
  text-align: left;
  margin-top: 1.25rem;
  padding: 1.35rem 1.4rem;
  border-radius: 16px;
  background: #fff;
  border: 1px solid #e2e8f0;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.ec-404-card__title {
  margin: 0 0 0.75rem;
  font-family: Manrope, sans-serif;
  font-size: 1.05rem;
  color: var(--ink, #0f172a);
}

.ec-404-card__list {
  margin: 0 0 1.25rem;
  padding-left: 1.15rem;
  color: var(--ec-ink-2, #475569);
  line-height: 1.55;
}

.ec-404-card__list li + li {
  margin-top: 0.45rem;
}

.ec-404-actions {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.ec-404-actions .bDjvej,
.ec-404-actions .cKWTai {
  width: 100%;
  justify-content: center;
  box-sizing: border-box;
}

.ec-404-links {
  margin: 1rem 0 0;
  text-align: center;
  font-size: 0.95rem;
}

@media (min-width: 640px) {
  .ec-404-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

  .ec-404-actions .bDjvej,
  .ec-404-actions .cKWTai {
    width: auto;
    flex: 1 1 12rem;
  }
}

.ec-plataforma-more {
  margin-top: var(--ec-gap-md);
  text-align: center;
}

.ec-contact-actions--funnel {
  flex-direction: column;
  align-items: center;
  gap: 0.85rem;
}

.ec-contact-actions--funnel .bDjvej {
  min-width: min(100%, 20rem);
  justify-content: center;
}

.ec-contact-actions__secondary {
  margin: 0;
}

.ec-index-pricing__compare {
  margin: 0;
}

.ec-demo-trust {
  margin: 1.75rem auto 0;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.ec-demo-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
  margin-top: 1.5rem;
}

.ec-demo-honest-note {
  max-width: 42rem;
  margin: 1.25rem auto 0;
  text-align: center;
  color: var(--ec-ink-3);
  font-size: 1.05rem;
  line-height: 1.55;
}

.ec-demo-card-intro {
  margin: 0;
  color: var(--ec-ink-3);
  font-size: 0.98rem;
  line-height: 1.5;
}

.ec-demo-card-footnote {
  margin: 0;
  font-size: 0.92rem;
  color: var(--ec-ink-3);
  font-style: italic;
}

.ec-soporte-grid {
  display: grid;
  gap: var(--ec-gap-md);
  margin-top: var(--ec-gap-md);
}

@media (min-width: 768px) {
  .ec-soporte-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
}

.ec-soporte-card {
  display: flex;
  flex-direction: column;
  gap: var(--ec-gap-sm);
}

.ec-vision-lead {
  margin-top: var(--ec-gap-sm);
  width: 100%;
  max-width: none;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.ec-vision-lead::-webkit-scrollbar {
  display: none;
}

.ec-vision-lead__line {
  margin: 0;
  padding: 0 0.5rem;
  max-width: none;
  text-align: center;
  line-height: 1.55;
  white-space: nowrap;
  text-wrap: unset;
}

.ec-vision-lead__line + .ec-vision-lead__line {
  margin-top: 0.5rem;
}

.ec-strategic-quote {
  max-width: 42rem;
  margin: 1.75rem auto 0;
  padding: 1.25rem 1.5rem;
  text-align: center;
  border-left: 4px solid var(--ec-orange, #f97316);
}

.ec-strategic-quote p {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  color: var(--ec-ink-3);
}

/* Comparativa proveedores */
.ec-compare-table--providers .ec-compare-table__them {
  color: var(--ec-slate-1);
}

.ec-compare-table--providers tbody td.ec-compare-table__us {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.ec-compare-table--providers tbody td.ec-compare-table__us::before {
  content: "✓";
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  margin-top: 0.12em;
  border-radius: 50%;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  color: var(--ec-profit-d);
  background: rgba(22, 163, 74, 0.14);
}

/* Plan Plus destacado */
.ec-plan-badge {
  display: inline-block;
  padding: 0.5rem 0.85rem;
  border-radius: 6px;
  background: var(--heat-d);
  color: var(--white);
  font-size: 0.875rem;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: 0.015em;
  text-wrap: balance;
  -webkit-font-smoothing: antialiased;
}

.ec-plan-badge--corner {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 4;
  margin: 0;
  max-width: min(16rem, 48vw);
  text-align: center;
  transform: translate(10%, -48%);
  border: 2px solid #c2410c;
  box-shadow: var(--ec-plan-badge-shadow);
}

@media (max-width: 720px) {
  .ec-plan-badge--corner {
    transform: translate(4%, -42%);
    max-width: min(14rem, 54vw);
    font-size: 0.8125rem;
    padding: 0.42rem 0.65rem;
    box-shadow: var(--ec-plan-badge-shadow-sm);
  }
}

.ec-plan-calc-note {
  margin: 0.45rem 0 0.65rem !important;
  font-size: 0.82rem;
  line-height: 1.45;
  font-weight: 600;
  font-style: italic;
  color: var(--heat);
  opacity: 0.95;
}

.ec-plan-subtitle {
  margin: 0 0 0.5rem !important;
}

.ec-plan-roi {
  margin: 0.75rem 0 1rem !important;
  padding: 0.65rem 0.85rem;
  border-left: 3px solid var(--heat);
  background: rgba(249, 115, 22, 0.06);
  font-size: 0.92rem;
  line-height: 1.45;
}

.sc-bf8861a7-0.ec-plan--featured,
.sc-bf8861a7-0.lnguyz.ec-plan--featured {
  position: relative;
  overflow: visible;
  z-index: 3;
  border: 2px solid var(--ec-plan-plus-border) !important;
  border-radius: 1.35rem;
  box-shadow: var(--ec-plan-plus-shadow) !important;
  background: var(--white) !important;
  transform: none !important;
}

@media (min-width: 1025px) {
  .sc-bf8861a7-0.ec-plan--featured {
    padding: 3.2rem 2.75rem !important;
  }
}

/* Planes Estándar / Premium — neutros, sin competir con Plus */
.pricing-plans-stack .kpCdUU:not(.ec-plan--featured),
.ec-index-pricing__stack .kpCdUU:not(.ec-plan--featured),
.pricing-plans-stack .ec-pricing-tier--premium {
  border: var(--ec-card-stroke) !important;
  box-shadow: var(--ec-card-shadow) !important;
  transform: none !important;
  background: var(--white) !important;
}

/* CTAs — Plus dominante; Estándar/Premium secundarios */
.pricing-plans-stack .ec-plan-cta--secondary.fiSGdP:not(.ec-plan-cta--disabled),
.ec-index-pricing__stack .ec-plan-cta--secondary.fiSGdP {
  color: var(--heat) !important;
  background: var(--white) !important;
  border: 1.5px solid rgba(249, 115, 22, 0.42) !important;
  box-shadow: none !important;
  font-weight: 600;
}

.pricing-plans-stack .ec-plan-cta--secondary.fiSGdP:not(.ec-plan-cta--disabled):hover,
.pricing-plans-stack .ec-plan-cta--secondary.fiSGdP:not(.ec-plan-cta--disabled):focus-visible,
.ec-index-pricing__stack .ec-plan-cta--secondary.fiSGdP:hover,
.ec-index-pricing__stack .ec-plan-cta--secondary.fiSGdP:focus-visible {
  background: rgba(249, 115, 22, 0.07) !important;
  border-color: rgba(249, 115, 22, 0.55) !important;
}

.pricing-plans-stack .ec-plan-cta--featured.fiSGdP,
.ec-index-pricing__stack .ec-plan-cta--featured.fiSGdP {
  color: var(--white) !important;
  background: var(--heat) !important;
  border-color: var(--heat) !important;
  box-shadow:
    0 8px 22px rgba(249, 115, 22, 0.38),
    0 3px 8px rgba(249, 115, 22, 0.24) !important;
  font-weight: 700;
  padding-top: 0.95rem !important;
  padding-bottom: 0.95rem !important;
}

.pricing-plans-stack .ec-plan-cta--featured.fiSGdP:hover,
.pricing-plans-stack .ec-plan-cta--featured.fiSGdP:focus-visible,
.ec-index-pricing__stack .ec-plan-cta--featured.fiSGdP:hover,
.ec-index-pricing__stack .ec-plan-cta--featured.fiSGdP:focus-visible {
  box-shadow:
    0 10px 26px rgba(249, 115, 22, 0.42),
    0 4px 10px rgba(249, 115, 22, 0.28) !important;
  filter: brightness(1.03);
}

.pricing-plans-stack .ec-plan-cta--secondary.fiSGdP span,
.ec-index-pricing__stack .ec-plan-cta--secondary.fiSGdP span,
.pricing-plans-stack .ec-plan-cta--featured.fiSGdP span,
.ec-index-pricing__stack .ec-plan-cta--featured.fiSGdP span {
  color: inherit !important;
}

/* Features por categoría — títulos protagonistas, centrados */
.ec-features-catalog {
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 5vw, 4rem);
  width: 100%;
}

.ec-feature-category {
  width: 100%;
  text-align: center;
}

.ec-feature-category__title {
  display: block;
  width: 100%;
  margin: 0 auto 2rem;
  padding-bottom: 0.85rem;
  font-family: var(--font-heading);
  font-size: clamp(1.85rem, 3.2vw, 2.65rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.025em;
  color: var(--ink) !important;
  text-align: center;
  text-wrap: balance;
}

#modulos .ec-feature-category .ec-features-grid--category {
  text-align: left;
}

.ec-features-grid--category {
  margin-top: 0;
}

/* Implementación — 3 pasos en fila en desktop */
.ec-impl-timeline {
  display: grid;
  gap: var(--ec-gap-md);
  margin-top: var(--ec-gap-md);
}

@media (min-width: 768px) {
  .ec-impl-timeline {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
  }
}

.ec-impl-step {
  display: flex;
  flex-direction: column;
  gap: var(--ec-gap-sm);
  position: relative;
  padding: 1.5rem 1.5rem 1.5rem calc(1.5rem + 3rem);
}

.ec-impl-step__num {
  position: absolute;
  left: 1.5rem;
  top: 1.5rem;
  width: 2.8rem;
  height: 2.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--profit);
  color: var(--white);
  font-family: var(--font-heading);
  font-size: 1.6rem;
  font-weight: 700;
}

.ec-impl-step p {
  margin: 0;
}

.ec-annual-highlight {
  margin-top: var(--ec-gap-lg);
  padding: var(--ec-gap-md) var(--ec-gap-lg);
  border-radius: var(--ec-radius);
  background: rgba(22, 163, 74, 0.08);
}

.ec-social-honest {
  padding: var(--ec-gap-lg);
  border-radius: var(--ec-radius);
  background: var(--white);
  text-align: center;
  max-width: none;
  margin: var(--ec-gap-lg) 0 0;
}

/* Escala index — tarjetas */
.ec-scale-item {
  padding: var(--ec-gap-md);
  border-radius: var(--ec-radius-sm);
  background: var(--white);
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  box-sizing: border-box;
}

.ec-scale-item__range {
  display: block;
  font-family: var(--font-mono);
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--heat);
  margin-bottom: 0.5rem;
}

.ec-scale-item p {
  margin: 0;
}

/* Contacto final */
.ec-contact-final {
  text-align: center;
  width: 100%;
  max-width: none;
  margin-inline: auto;
}

.ec-contact-final__eyebrow {
  color: var(--accent-on-dark) !important;
  margin-bottom: clamp(1.5rem, 2.8vw, 2rem);
}

.ec-contact-final__eyebrow::before {
  background-color: var(--heat) !important;
}

.wquXK .dzUGST,
.wquXK .jvMpbf {
  color: var(--white) !important;
  text-align: center;
}

.ec-contact-final__lead {
  margin-top: var(--ec-gap-sm);
}

.wquXK .ec-contact-final__lead,
.wquXK .ec-contact-final__lead.dlwjbS,
.wquXK .ec-contact-final__lead.ec-landing-section__lead {
  color: var(--white) !important;
  opacity: 1 !important;
}

.ec-contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ec-gap-sm);
  justify-content: center;
  margin: var(--ec-gap-lg) 0;
}

.ec-contact-form {
  max-width: 48rem;
  margin: 2rem auto 0;
  text-align: left;
}

.ec-cal-embed {
  margin-top: 2rem;
  padding: 2rem;
  border: 2px dashed rgba(255, 255, 255, 0.28);
  border-radius: var(--ec-radius);
  min-height: 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ec-text-on-dark-muted);
}

.ec-cal-embed iframe {
  width: 100%;
  min-height: 42rem;
  border: 0;
  border-radius: var(--ec-radius-sm);
}

.ec-risk-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin-top: 2rem;
}

.ec-risk-badge {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.18);
  color: var(--ec-text-on-dark) !important;
  line-height: 1.4 !important;
}

.ec-risk-badge::before {
  display: none !important;
}

/* ── Elevación global — recuadros y tarjetas del sitio ── */
.cZLQUC {
  box-shadow: var(--ec-elev-1) !important;
}

.kAPVQr,
.hQXyLc,
.kpCdUU,
.sc-bf8861a7-0.kpCdUU,
.dMhuoV,
.ksdSPk,
.ikuuKu,
.bSICVw {
  border: var(--ec-card-stroke) !important;
  box-shadow: var(--ec-card-shadow) !important;
}

/* Plan Plus — anular scale(1.1) del template; destacar solo con .ec-plan--featured */
.pricing-plans-stack .lnguyz,
.ec-index-pricing__stack .lnguyz,
.sc-bf8861a7-0.lnguyz {
  transform: none !important;
}

@media (max-width: 1024px) {
  .sc-bf8861a7-0.ec-plan--featured {
    box-shadow: var(--ec-plan-plus-shadow-sm) !important;
  }
}

/* Pricing — tres planes alineados; Plus ~7% más ancho (5–10% máx.) */
@media (min-width: 1025px) {
  .pricing-plans-stack .iPKsGD,
  .ec-index-pricing__stack .iPKsGD {
    --autofit-grid-item-size: unset;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.07fr) minmax(0, 1fr);
    gap: 2rem;
    align-items: stretch;
  }

  .pricing-plans-stack .kpCdUU:not(.ec-plan--featured),
  .ec-index-pricing__stack .kpCdUU:not(.ec-plan--featured) {
    max-width: 98%;
    justify-self: center;
  }
}

/* Campos y paneles de formulario sobre fondos claros */
.ec-landing-section .eTdnKC,
#contacto.iHXKrY .eTdnKC,
.gtWuaL .eTdnKC,
.eTdnKC {
  background: var(--ec-input-bg) !important;
  border: 1px solid var(--ec-input-border) !important;
  color: var(--ink) !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.05) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.ec-landing-section .eTdnKC::placeholder,
#contacto.iHXKrY .eTdnKC::placeholder,
.gtWuaL .eTdnKC::placeholder,
.eTdnKC::placeholder {
  color: var(--slate);
  opacity: 1;
}

.ec-landing-section .eTdnKC:hover,
#contacto.iHXKrY .eTdnKC:hover,
.gtWuaL .eTdnKC:hover,
.eTdnKC:hover {
  border-color: var(--ec-input-border-hover) !important;
}

.ec-landing-section .eTdnKC:focus,
#contacto.iHXKrY .eTdnKC:focus,
.gtWuaL .eTdnKC:focus,
.eTdnKC:focus {
  background: var(--white) !important;
  border-color: rgba(249, 115, 22, 0.55) !important;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04), 0 0 0 3px rgba(249, 115, 22, 0.14) !important;
  outline: none;
}

.ec-landing-section .ec-card:not(.ec-ba-card--after),
.ec-landing-section .ec-calc-panel,
.ec-landing-section .ec-calc-mini__fields,
.ec-landing-section .ec-calc-mini__results,
#contacto.iHXKrY .jpuOME,
#contacto.iHXKrY .eStIuS {
  background: var(--white) !important;
  border: var(--ec-card-stroke) !important;
  box-shadow: var(--ec-card-shadow) !important;
}

#contacto.iHXKrY {
  align-items: stretch;
  gap: var(--ec-gap-lg);
  width: 100%;
}

#contacto.iHXKrY .jpuOME,
#contacto.iHXKrY .eStIuS {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 2.5rem;
  border-radius: var(--ec-radius);
  min-height: 100%;
  height: auto;
  align-self: stretch;
}

#contacto.iHXKrY .jpuOME {
  margin-right: 0;
  margin-bottom: 0;
}

@media (min-width: 769px) {
  #contacto.iHXKrY {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    align-items: stretch;
  }

  #contacto.iHXKrY .jpuOME,
  #contacto.iHXKrY .eStIuS {
    height: 100%;
  }
}

.ec-contact-sidebar {
  justify-content: flex-start;
}

.ec-contact-sidebar__title {
  font-family: var(--font-heading);
  font-size: clamp(1.65rem, 2.4vw, 2.1rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  color: var(--ink) !important;
  margin: 0 0 1.25rem;
}

.ec-contact-sidebar__text {
  font-size: clamp(1.05rem, 1.55vw, 1.2rem);
  line-height: 1.6;
  color: var(--ec-ink-3) !important;
  margin: 0 0 1rem;
  font-weight: 400;
  opacity: 1 !important;
}

.ec-contact-sidebar__text:last-child {
  margin-bottom: 0;
}

.ec-contact-sidebar__text--emphasis {
  color: var(--ink-2) !important;
  font-weight: 500;
}

.ec-contact-sidebar__text strong {
  color: var(--ink);
  font-weight: 600;
}

#contacto.iHXKrY .cGdDUW,
#contacto.iHXKrY .eStIuS form {
  flex: 1;
  display: flex;
  flex-direction: column;
}

#contacto.iHXKrY .cGdDUW button,
#contacto.iHXKrY .eStIuS form button {
  margin-top: auto;
}

/* Características / plataforma — tarjetas del grid */
.iPKsGD > .kAPVQr,
#modulos .kAPVQr {
  height: 100%;
  box-sizing: border-box;
}

.pricing-plans-stack .kpCdUU,
.pricing-plans-stack .lnguyz,
.pricing-plans-stack .dMhuoV,
.pricing-plans-stack .ksdSPk {
  height: 100%;
  box-sizing: border-box;
}

.ec-pain-bar__item {
  height: 100%;
}

.scroll-to-top {
  box-shadow: var(--ec-elev-3) !important;
}

.kAPVQr,
.dMhuoV,
.kpCdUU,
.hQXyLc {
  transition: box-shadow 0.22s ease, transform 0.22s ease;
}

.kAPVQr:hover,
.dMhuoV:hover,
.hQXyLc:hover,
.ec-card:hover {
  box-shadow: var(--ec-card-shadow-hover) !important;
}

.wquXK .ec-contact-form.ec-card,
.wquXK .ec-calc-panel {
  border: var(--ec-card-stroke-dark) !important;
  box-shadow: var(--ec-card-shadow-dark) !important;
}

.wquXK .ec-contact-form.ec-card {
  background: rgba(255, 255, 255, 0.06);
}

.wquXK .ec-calc-panel {
  background: rgba(0, 0, 0, 0.2);
}

.wquXK .ec-calc-panel label {
  color: var(--ec-text-on-dark);
}

.wquXK .ec-calc-panel .eTdnKC,
.wquXK .ec-contact-form .eTdnKC {
  background: rgba(0, 0, 0, 0.25) !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  color: var(--white) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.22) !important;
}

.wquXK .ec-calc-panel .eTdnKC:hover,
.wquXK .ec-contact-form .eTdnKC:hover {
  border-color: rgba(255, 255, 255, 0.32) !important;
}

.wquXK .ec-calc-panel .eTdnKC:focus,
.wquXK .ec-contact-form .eTdnKC:focus {
  background: rgba(0, 0, 0, 0.32) !important;
  border-color: rgba(249, 115, 22, 0.65) !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.18), 0 0 0 3px rgba(249, 115, 22, 0.2) !important;
}

.wquXK .ec-calc-panel .eTdnKC::placeholder,
.wquXK .ec-contact-form .eTdnKC::placeholder {
  color: var(--ec-text-on-dark-muted);
  opacity: 1;
}

.wquXK .ec-form-hint {
  color: var(--ec-text-on-dark-muted);
  opacity: 1;
}

.fhICMX .fDfgeg {
  color: var(--ec-text-on-dark);
}

.fhICMX .fkGEdP a {
  color: var(--ec-text-on-dark-muted);
}

.fhICMX .fkGEdP a:hover {
  color: var(--white);
}

.fhICMX .jjJTJe {
  margin-top: 1.5rem;
  color: var(--ec-text-on-dark-muted);
}

.bJCFqq,
.bJCFqq .lhMRFf,
.fhICMX .bJCFqq {
  overflow: visible !important;
}

/* Redes — ocultas temporalmente (sin perfiles activos aún); logo y copyright visibles */
.fhICMX .sc-1fb91c2f-6.lhMRFf {
  display: none !important;
}

.ec-footer-brand {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 1.25rem;
  overflow: visible;
  padding: 0.35rem 1.25rem;
  box-sizing: border-box;
}

.ec-footer-brand img {
  display: block;
  width: auto;
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: center center;
  opacity: 0.98;
  flex-shrink: 0;
}

.ec-footer-brand__lockup {
  max-height: clamp(1.85rem, 3.2vw, 2.35rem);
}

.ec-footer-brand__wordmark {
  height: 1.75rem;
  max-width: min(14rem, 88vw);
}

/* Márgenes huérfanos del template */
.ec-index-pricing .jtNIum,
.ec-landing-section .jtNIum {
  margin: 0 !important;
}

/* Toast */
.ec-toast {
  position: fixed;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%) translateY(120px);
  background: var(--ink);
  color: rgb(var(--tertiary));
  padding: 1.5rem 2rem;
  border-radius: var(--ec-radius-sm);
  font-size: 1.6rem;
  font-weight: 600;
  box-shadow: var(--ec-shadow-lg);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.35s, opacity 0.35s;
  z-index: 200;
  max-width: 90vw;
  text-align: center;
}

.ec-toast.is-visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}

@media (min-width: 640px) {
  .ec-pain-bar {
    grid-template-columns: repeat(3, 1fr);
  }

  .ec-ba-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ec-scale-grid:not(.ec-scale-grid--features) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ec-scale-grid--features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ec-scale-band:not(.ec-scale-grid):not(.ec-scale-band--features) {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 768px) {
  .ec-calc-mini__grid {
    grid-template-columns: 1fr 1fr;
    align-items: stretch;
  }

  .ec-calc-layout {
    grid-template-columns: 1.1fr 0.9fr;
  }

  .ec-case-study {
    grid-template-columns: 1fr 1fr;
  }

  .ec-fit-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ec-why-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .ec-eval-grid {
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
  }

  .ec-impl-step {
    padding: calc(1.5rem + 3rem) 1.25rem 1.5rem;
    text-align: center;
  }

  .ec-impl-step__num {
    left: 50%;
    top: 1.25rem;
    transform: translateX(-50%);
  }
}

@media (min-width: 1024px) {
  .ec-why-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .ec-scale-grid:not(.ec-scale-grid--features) {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ec-scale-grid--features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ═══════════════════════════════════════════════════════════════
   Superficies oscuras — contraste legible (prioridad máxima)
   Las reglas genéricas .ec-landing-section .ec-card { background:#fff }
   empataban en especificidad y ganaban por cascada → texto claro ilegible.
   ═══════════════════════════════════════════════════════════════ */
.ec-surface-dark,
.ec-landing-section .ec-ba-card.ec-ba-card--after.ec-card,
.ec-ba-card.ec-ba-card--after.ec-card,
.ec-case-study__math {
  background: var(--ink) !important;
  border: var(--ec-card-stroke-dark) !important;
  box-shadow: var(--ec-card-shadow-dark) !important;
  color: var(--ec-text-on-dark) !important;
}

.ec-surface-dark .hRwyNG,
.ec-landing-section .ec-ba-card--after .hRwyNG,
.ec-ba-card--after .hRwyNG {
  color: var(--white) !important;
}

.ec-surface-dark .jmpCRK,
.ec-surface-dark .jmpCRK li,
.ec-surface-dark .jmpCRK p,
.ec-surface-dark .dlwjbS,
.ec-surface-dark p:not(.ec-legal-notice-link),
.ec-landing-section .ec-ba-card--after .jmpCRK,
.ec-landing-section .ec-ba-card--after .jmpCRK li,
.ec-ba-card--after .jmpCRK,
.ec-ba-card--after .jmpCRK li,
.ec-case-study__math .jmpCRK,
.ec-case-study__math .ec-case-study__note {
  color: var(--ec-text-on-dark) !important;
  opacity: 1 !important;
}

.ec-case-study__math .ec-case-study__label {
  color: var(--ec-text-on-dark) !important;
}

.ec-case-study__math .ec-case-study__suffix {
  color: var(--ec-text-on-dark-muted) !important;
}

/* Fondo claro — nunca heredar color de texto de superficie oscura */
.ec-landing-section .ec-card:not(.ec-ba-card--after):not(.ec-surface-dark),
.ec-card:not(.ec-surface-dark):not(.ec-ba-card--after) {
  color: var(--ink);
}

.ec-landing-section .ec-card:not(.ec-ba-card--after):not(.ec-surface-dark) .jmpCRK,
.ec-landing-section .ec-card:not(.ec-ba-card--after):not(.ec-surface-dark) .jmpCRK li,
.ec-card:not(.ec-surface-dark):not(.ec-ba-card--after) .jmpCRK,
.ec-card:not(.ec-surface-dark):not(.ec-ba-card--after) .jmpCRK li {
  color: var(--ec-ink-3) !important;
  opacity: 1 !important;
}
