/* Estilos de v3000-pro.html */
:root {
    --cftp-navy:   var(--edi-navy);
    --cftp-deep:   var(--edi-deep);
    --cftp-gold:   var(--edi-accent);
    --cftp-gold-l: var(--edi-accent-soft);
    --cftp-gold-b: var(--edi-accent-lighter);
    --cftp-light:  var(--edi-soft);
    --cftp-border: var(--edi-line);
    --cftp-muted:  var(--edi-muted);
    --cftp-text:   var(--edi-text);
  }

  /* ── INTRO ── */
  .cftp-intro { background: #fff; padding: 72px 24px; border-bottom: 1px solid var(--edi-line); }
  .cftp-intro__inner { max-width: 900px; margin: 0 auto; text-align: center; }
  .cftp-intro__label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cftp-navy); margin-bottom: 14px; }
  .cftp-intro__title { font-size: clamp(24px, 3vw, 38px); font-weight: 800; color: var(--cftp-navy); letter-spacing: -0.025em; line-height: 1.1; font-family: var(--edi-font); margin-bottom: 16px; }
  .cftp-intro__body { font-size: 16px; color: var(--cftp-muted); line-height: 1.75; max-width: 680px; margin: 0 auto 20px; }
  .cftp-intro__note { font-size: 15px; color: var(--cftp-text); font-weight: 600; padding: 20px 28px; background: var(--cftp-light); border: 1px solid var(--cftp-border); border-radius: 10px; display: inline-block; margin-bottom: 32px; }

  /* ── TIMELINE ── */
  .cftp-tl-wrap { background: var(--cftp-navy); padding: 48px 24px; }
  .cftp-tl { max-width: 1100px; margin: 0 auto; display: flex; align-items: flex-start; }

  .cftp-tl-step { display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; }

  .cftp-tl-connector {
    flex: 1; height: 2px; background: rgba(255,255,255,.15);
    margin-top: 20px; align-self: flex-start;
  }

  .cftp-tl-dot {
    width: 40px; height: 40px; border-radius: 50%;
    background: rgba(255,255,255,.08); border: 2px solid rgba(255,255,255,.2);
    display: flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 800; color: rgba(255,255,255,.5);
    margin-bottom: 12px; flex-shrink: 0;
  }

  .cftp-tl-step--gold .cftp-tl-dot { background: var(--cftp-gold); border-color: var(--cftp-gold); color: #fff; }

  .cftp-tl-name { font-size: 12px; font-weight: 700; color: rgba(255,255,255,.5); text-align: center; }
  .cftp-tl-step--gold .cftp-tl-name { color: #fff; }

  /* ── STEPS ── */
  .cftp-steps { background: #fff; padding: 96px 24px; border-bottom: 1px solid var(--edi-line); }
  .cftp-steps__inner { max-width: 1100px; margin: 0 auto; }
  .cftp-steps__label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cftp-navy); margin-bottom: 14px; }
  .cftp-steps__title { font-size: clamp(28px, 3.5vw, 46px); font-weight: 800; color: var(--cftp-navy); letter-spacing: -0.025em; line-height: 1.1; font-family: var(--edi-font); margin-bottom: 14px; }
  .cftp-steps__subtitle { font-size: 16px; color: var(--cftp-muted); line-height: 1.75; max-width: 640px; margin-bottom: 52px; }

  .cftp-steps__list { display: flex; flex-direction: column; gap: 6px; }

  .cftp-step {
    display: grid; grid-template-columns: 88px 1fr;
    background: #fff; border-radius: 14px; border: 1px solid var(--cftp-border);
    overflow: hidden; transition: border-color .2s, box-shadow .2s;
  }

  .cftp-step:hover { border-color: var(--cftp-navy); box-shadow: 0 4px 20px rgba(10,26,63,.07); }

  .cftp-step__aside {
    background: var(--cftp-light); border-right: 1px solid var(--cftp-border);
    display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
    padding: 32px 0 32px; gap: 6px;
  }

  .cftp-step__num {
    font-size: 26px; font-weight: 900; color: var(--cftp-navy);
    font-family: var(--edi-font); line-height: 1;
  }

  .cftp-step__paso { font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cftp-gold); }

  .cftp-step__body { padding: 32px 36px; }

  .cftp-step__title {
    font-size: 19px; font-weight: 800; color: var(--cftp-navy);
    font-family: var(--edi-font); letter-spacing: -0.02em; margin-bottom: 10px;
  }

  .cftp-step__desc { font-size: 14.5px; color: var(--cftp-muted); line-height: 1.75; margin-bottom: 18px; max-width: 680px; }

  .cftp-step__bullets { list-style: none; display: flex; flex-direction: column; gap: 7px; }

  .cftp-step__bullets li {
    font-size: 13.5px; color: var(--cftp-text); font-weight: 500;
    display: flex; align-items: flex-start; gap: 8px; line-height: 1.4;
  }

  .cftp-step__bullets li::before {
    content: ""; width: 6px; height: 6px; border-radius: 50%;
    background: var(--cftp-gold); flex-shrink: 0; margin-top: 5px;
  }

  .cftp-step__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 16px; }

  .cftp-step__tag {
    background: var(--cftp-light); border: 1px solid var(--cftp-border);
    border-radius: 6px; padding: 4px 10px;
    font-size: 12px; font-weight: 600; color: var(--cftp-navy);
  }

  .cftp-step__tag--green {
    background: #ecfdf5; border-color: #a7f3d0;
    color: #065f46;
  }

  /* ── MODELOS (reglas) ── */
  .cftp-modelos { background: var(--cftp-navy); padding: 96px 24px; }
  .cftp-modelos__inner { max-width: 1100px; margin: 0 auto; }
  .cftp-modelos__label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 16px; }
  .cftp-modelos__title { font-size: clamp(28px, 3.5vw, 44px); font-weight: 800; color: #fff; letter-spacing: -0.025em; line-height: 1.1; font-family: var(--edi-font); margin-bottom: 14px; }
  .cftp-modelos__sub { font-size: 16px; color: rgba(255,255,255,.5); line-height: 1.75; margin-bottom: 52px; max-width: 640px; }

  .cftp-modelos__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: rgba(255,255,255,.08); border-radius: 16px; overflow: hidden; }

  .cftp-modelo { background: rgba(255,255,255,.04); padding: 32px 26px; }
  .cftp-modelo--hl { background: rgba(255,255,255,.09); }

  .cftp-modelo__name { font-size: 15px; font-weight: 800; color: #fff; font-family: var(--edi-font); letter-spacing: -0.01em; margin-bottom: 3px; }
  .cftp-modelo__type { font-size: 11px; font-weight: 600; color: rgba(255,255,255,.3); margin-bottom: 18px; letter-spacing: .04em; }

  .cftp-modelo__items { list-style: none; display: flex; flex-direction: column; gap: 11px; }

  .cftp-modelo__items li {
    font-size: 13px; color: rgba(255,255,255,.7); line-height: 1.45;
    display: flex; align-items: flex-start; gap: 8px;
  }

  .cftp-modelo__items li::before { content: "✓"; color: var(--cftp-gold); font-size: 12px; font-weight: 700; flex-shrink: 0; margin-top: 1px; }

  .cftp-modelos__closing { margin-top: 40px; font-size: 18px; font-weight: 700; color: #fff; letter-spacing: -0.01em; }

  /* ── PLATAFORMA (integración) ── */
  .cftp-plat { background: #f9fafb; padding: 96px 24px; border-bottom: 1px solid var(--edi-line); }
  .cftp-plat__inner { max-width: 1100px; margin: 0 auto; }
  .cftp-plat__label { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cftp-navy); margin-bottom: 14px; }
  .cftp-plat__title { font-size: clamp(28px, 3.5vw, 44px); font-weight: 800; color: var(--cftp-navy); letter-spacing: -0.025em; line-height: 1.1; font-family: var(--edi-font); margin-bottom: 14px; }
  .cftp-plat__sub { font-size: 16px; color: var(--cftp-muted); line-height: 1.75; max-width: 640px; margin-bottom: 52px; }

  .cftp-plat__grid { display: flex; flex-wrap: wrap; gap: 2px; background: var(--edi-line); border-radius: 14px; overflow: hidden; margin-bottom: 24px; }

  .cftp-plat-item { background: #fff; padding: 32px 28px; flex: 1 1 calc(33.333% - 2px); }

  .cftp-plat-item__icon {
    width: 44px; height: 44px; background: var(--edi-line); border-radius: 10px;
    display: flex; align-items: center; justify-content: center;
    color: var(--cftp-navy); margin-bottom: 18px;
  }

  .cftp-plat-item__title { font-size: 16px; font-weight: 700; color: var(--cftp-navy); letter-spacing: -0.01em; margin-bottom: 10px; }
  .cftp-plat-item__desc { font-size: 13.5px; color: var(--cftp-muted); line-height: 1.65; }

  .cftp-plat__close {
    margin-top: 4px; background: var(--cftp-navy); border-radius: 14px;
    padding: 40px 48px; display: flex; align-items: center; justify-content: space-between; gap: 32px; flex-wrap: wrap;
  }

  .cftp-plat__close-text p:first-child { font-size: 17px; font-weight: 700; color: #fff; margin-bottom: 6px; letter-spacing: -0.01em; }
  .cftp-plat__close-text p:last-child { font-size: 13.5px; color: rgba(255,255,255,.5); line-height: 1.65; margin: 0; }

  /* ── CTA ── */
  .cftp-cta { background: var(--cftp-navy); padding: 96px 24px; border-top: 2px solid rgba(255,255,255,.08); }
  .cftp-cta__inner { max-width: 780px; margin: 0 auto; text-align: center; }
  .cftp-cta__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.3); margin-bottom: 20px; }
  .cftp-cta__title { font-size: clamp(30px, 4vw, 52px); font-weight: 800; color: #fff; letter-spacing: -0.03em; line-height: 1.05; font-family: var(--edi-font); margin-bottom: 20px; }
  .cftp-cta__body { font-size: 16px; color: rgba(255,255,255,.6); line-height: 1.75; margin-bottom: 12px; }
  .cftp-cta__tagline { font-size: 13px; color: rgba(255,255,255,.3); font-style: italic; margin-bottom: 40px; }
  .cftp-cta__actions { display: flex; justify-content: center; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
  .cftp-cta__btn { display: inline-flex; align-items: center; gap: 8px; padding: 14px 28px; border-radius: 8px; font-size: 14px; font-weight: 700; text-decoration: none; letter-spacing: -0.01em; transition: opacity .15s, transform .15s; }
  .cftp-cta__btn:hover { opacity: .88; transform: translateY(-1px); }
  .cftp-cta__btn--primary   { background: #fff; color: var(--cftp-navy); }
  .cftp-cta__btn--secondary { background: rgba(255,255,255,.1); color: #fff; border: 1px solid rgba(255,255,255,.25); }
  .cftp-cta__note { font-size: 12px; color: rgba(255,255,255,.22); margin-top: 8px; }

  /* ── PREGUNTAS (problema) ── */
  .problem__questions {
    list-style: none; display: grid; grid-template-columns: repeat(2, 1fr);
    gap: 12px 28px; max-width: 760px; margin: 0 0 40px;
  }
  .problem__questions li {
    font-size: 15px; font-weight: 600; color: var(--edi-navy);
    display: flex; align-items: flex-start; gap: 10px; line-height: 1.4;
  }
  .problem__questions li::before {
    content: "?"; color: var(--edi-accent); font-weight: 800; font-size: 14px; flex-shrink: 0;
  }

  /* ── DOS NIVELES: layout de 2 tarjetas ── */
  .models__grid--split2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-width: 780px; margin-left: auto; margin-right: auto;
  }

  /* ── RESPONSIVE ── */
  @media (max-width: 1000px) {
    .cftp-modelos__grid   { grid-template-columns: repeat(2, 1fr); }
    .cftp-plat-item       { flex-basis: calc(50% - 2px); }
    .cftp-plat__close     { flex-direction: column; }
  }

  @media (max-width: 700px) {
    .cftp-modelos__grid   { grid-template-columns: 1fr; }
    .cftp-plat-item       { flex-basis: 100%; }
    .cftp-step            { grid-template-columns: 1fr; }
    .cftp-step__aside     { flex-direction: row; border-right: none; border-bottom: 1px solid var(--cftp-border); padding: 16px 24px; justify-content: flex-start; gap: 10px; align-items: center; }
    .cftp-step__num       { font-size: 20px; }
    .cftp-tl-wrap         { display: none; }
    .problem__questions   { grid-template-columns: 1fr; }
    .models__grid--split2 { grid-template-columns: 1fr; }
  }

/* ── OVERRIDES: mantener look institucional (navy/gold) ── */
body { background: var(--edi-soft); color: var(--edi-text); }

/* ── HERO ── */
.hero { background: var(--edi-soft); }
.hero__inner { background: transparent; }
.hero__badge { background: var(--edi-accent-soft); border: 1px solid var(--edi-accent-lighter); color: var(--edi-accent); }
.hero__subtitle { color: var(--edi-navy); }
.hero__body     { color: var(--edi-muted); }
.indicator__value { color: var(--edi-navy); }
.indicator__label { color: var(--edi-muted); }
.hero__tag { background: #fff; border: 1px solid var(--edi-line); color: var(--edi-navy); }

/* ── SECCIONES CLARAS ── */
.problem  { background: #f9fafb; }
.critical { background: #fff; }
.trust    { background: #fff; }

/* ── EYEBROWS / LABELS en secciones claras → oro ── */
.problem__label { color: var(--edi-accent); }
.critical__label{ color: var(--edi-accent); }
.models__label  { color: var(--edi-accent); }
.trust__label   { color: var(--edi-accent); }

/* ── TÍTULOS DE SECCIÓN → navy ── */
.problem__title,
.critical__title,
.models__title,
.models__close-title,
.trust__title { color: var(--edi-navy); }

/* ── SUBTÍTULOS / LEAD ── */
.problem__subtitle, .problem__body,
.models__subtitle, .trust__subtitle { color: var(--edi-muted); }

/* ── PROBLEM SECTION ── */
.problem__close-title { color: var(--edi-navy); }
.problem__close-body  { color: var(--edi-muted); }

/* ── CRITICAL SECTION: tarjetas claras ── */
.critical__card       { background: #fff; border: 1px solid var(--edi-line); }
.critical__card:hover { border-color: var(--edi-navy); }
.critical__card-icon  { background: var(--edi-line); }
.critical__card-title { color: var(--edi-navy); }
.critical__card-desc  { color: var(--edi-muted); }
.critical__tag        { background: var(--edi-soft); border: 1px solid var(--edi-line); color: var(--edi-navy); }

/* ── MODELS: tarjetas claras (V3000 / V3000 PRO) ── */
.models__card:not(.models__card--dark) { background: #fff; border: 1px solid var(--edi-line); }
.models__card:not(.models__card--dark):hover { border-color: var(--edi-navy); }
.models__card:not(.models__card--dark) .models__card-name    { color: var(--edi-navy); }
.models__card:not(.models__card--dark) .models__card-sub     { color: var(--edi-muted); }
.models__card:not(.models__card--dark) .models__card-desc    { color: var(--edi-muted); }
.models__card:not(.models__card--dark) .models__section-label { color: var(--edi-accent); }
.models__card:not(.models__card--dark) .models__card-icon    { background: var(--edi-soft); color: var(--edi-navy); }
.models__card:not(.models__card--dark) .models__benefits li  { color: var(--edi-navy); }

.models__card-cta { background: var(--edi-soft); border: 1.5px solid var(--edi-line); color: var(--edi-navy); }
.models__card-cta:hover      { border-color: var(--edi-navy); background: var(--edi-line); }
.models__card-cta--featured  { background: var(--edi-navy); color: #fff; border-color: var(--edi-navy); }
.models__card-cta--featured:hover { background: var(--edi-deep); border-color: var(--edi-deep); }

.models__card--featured { border-color: var(--edi-navy) !important; box-shadow: 0 4px 24px rgba(10,26,63,.14) !important; }
.models__featured-badge { background: var(--edi-navy); color: #fff; }

/* ── TRUST / INDUSTRIAS ── */
.trust__industries-label { color: var(--edi-accent); }
.trust__industry span  { color: var(--edi-text); }

/* ── FOOTER: se conserva sin cambios (definido en styles.css) ── */

/* ── PRODUCT HERO (idéntico al usado en las demás páginas del sitio) ── */
.pg-hero { background: linear-gradient(145deg,var(--edi-deep) 0%,var(--edi-navy) 55%,var(--edi-navy-2) 100%); padding: 100px 24px 80px; }
.pg-hero__inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr 300px; gap: 56px; align-items: center; }
.pg-hero__eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--s-gold); border: 1px solid rgba(16,88,240,.3); background: rgba(16,88,240,.08); border-radius: 100px; padding: 6px 16px; margin-bottom: 20px; }
.pg-hero__dot { width: 7px; height: 7px; border-radius: 50%; background: #2ecc71; flex-shrink: 0; }
.pg-hero__title { font-size: clamp(1.9rem, 4vw, 2.9rem); font-weight: 800; color: #fff; line-height: 1.1; letter-spacing: -0.02em; font-family: var(--edi-font); margin: 0 0 16px; }
.pg-hero__sub { font-size: 16px; color: rgba(255,255,255,.7); line-height: 1.7; margin: 0 0 32px; max-width: 560px; }
.pg-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 36px; }
.pg-hero__btn { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; padding: 13px 28px; border-radius: 8px; text-decoration: none; transition: opacity .15s, transform .15s; }
.pg-hero__btn:hover { opacity: .88; transform: translateY(-1px); }
.pg-hero__btn--gold { background: var(--s-gold); color: #fff; }
.pg-hero__btn--ghost { background: rgba(255,255,255,.12); color: #fff; border: 1px solid rgba(255,255,255,.2); }
.pg-hero__trust { display: flex; gap: 20px; flex-wrap: wrap; }
.pg-hero__trust-item { font-size: 12.5px; color: rgba(255,255,255,.65); display: flex; align-items: center; gap: 6px; }
.pg-hero__trust-item span { color: #2ecc71; font-weight: 700; }
.pg-hero__side { display: flex; align-items: center; justify-content: center; }
.pg-hero__badge-box { border-radius: 20px; overflow: hidden; box-shadow: 0 24px 64px rgba(0,0,0,.25); }
.pg-hero__badge-img { display: block; width: 100%; height: auto; }
.pg-hero__badge-eyebrow { display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--s-gold); margin-bottom: 10px; }
.pg-hero__badge-name { display: block; font-size: clamp(1.4rem, 2.5vw, 2rem); font-weight: 900; color: #fff; line-height: 1.2; font-family: var(--edi-font); }
@media (max-width: 900px) { .pg-hero__inner { grid-template-columns: 1fr; } .pg-hero__side { display: none; } }
@media (max-width: 560px) { .pg-hero { padding: 72px 16px 56px; } .pg-hero__btn { width: 100%; justify-content: center; } .pg-hero__trust { flex-direction: column; gap: 10px; } }
