:root{
    --purple-dark:#2a1748;
    --purple:#6d28d9;
    --purple-light:#f3edfd;
    --pink:#ec4899;
    --gray-bg:#f4f2fa;
    --border:#e6e2f1;
    --text:#231b33;
    --text-soft:#6b6478;
    --base:#3b82f6;
    --control:#9256c4;
    --firma:#ec4899;
    --fidelizacion:#22c55e;
    --marketing:#eab308;
    --trabajos:#71717a;
    --automatismos:#14b8a6;
    --gold:#c98a06;
    --gold-light:#fff7e6;
  }
  *,*::before,*::after{box-sizing:border-box; margin:0; padding:0;}
  html,body{max-width:100%; overflow-x:hidden;}
  html{scroll-behavior:smooth;}
  body{font-family:'Inter',system-ui,sans-serif; color:var(--text); background:#fff; line-height:1.5;}
  a{color:inherit;}
  img{max-width:100%; display:block;}
  ul{list-style:none;}
  section{position:relative;}

  /* ── NAV ─────────────────────────────────────────── */
  .nav{display:flex; align-items:center; justify-content:space-between; padding:14px 40px; background:#fff; border-bottom:1px solid var(--border); position:sticky; top:0; z-index:50;}
  .nav .logo{font-weight:800; font-size:19px; color:var(--purple-dark); display:flex; align-items:center; gap:7px; text-decoration:none;}
  .nav .logo .bars{display:flex; gap:3px; align-items:flex-end;}
  .nav .logo .bar{width:4px; border-radius:2px;}
  .nav .logo .b1{height:16px; background:var(--pink);}
  .nav .logo .b2{height:12px; background:var(--purple);}
  .nav .logo .b3{height:16px; background:var(--marketing);}
  .nav .logo .b4{height:9px; background:var(--fidelizacion);}
  .nav .links{display:flex; gap:28px; font-size:14px; font-weight:600; color:var(--text-soft);}
  .nav .actions{display:flex; align-items:center; gap:14px;}
  .btn{padding:10px 20px; border-radius:99px; font-weight:700; font-size:13.5px; text-decoration:none; display:inline-block; cursor:pointer; border:none; transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:var(--purple); color:#fff; box-shadow:0 10px 22px -12px rgba(109,40,217,.55);}
  .btn-primary:hover{background:#5b21b6;}
  .btn-ghost{background:transparent; color:var(--purple-dark);}
  .btn-partners{display:inline-flex; align-items:center; gap:6px; background:linear-gradient(135deg,#fff7e6,#fdf2e0); border:1.5px solid #f59e0b; color:#d97706;}
  @media (max-width:900px){.nav .links{display:none;}}
  @media (max-width:520px){
    .nav{padding:12px 16px; gap:8px;}
    .nav .actions{gap:8px;}
    .nav .actions .btn-ghost{display:none;}
    .btn{padding:9px 14px; font-size:12.5px; white-space:nowrap;}
  }

  .wrap{max-width:1200px; margin:0 auto; padding:0 40px;}
  @media (max-width:640px){.wrap{padding:0 20px;}}

  /* ── generic section head ─────────────────────────── */
  .eyebrow-pill{display:inline-flex; align-items:center; gap:8px; font-size:12.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--purple); background:var(--purple-light); padding:7px 16px; border-radius:999px; margin-bottom:16px;}
  .section-head{max-width:680px; margin:0 auto 40px; text-align:center;}
  .section-head.left{margin:0 0 34px; text-align:left;}
  .section-head h2{font-size:clamp(24px,3vw,33px); font-weight:800; color:var(--purple-dark); line-height:1.2; margin-bottom:12px;}
  .section-head p{font-size:15px; color:var(--text-soft); line-height:1.6;}

  /* ── HERO ────────────────────────────────────────── */
  .hero{background:radial-gradient(circle at 15% 0%, #faf8ff 0%, var(--gray-bg) 60%); padding:60px 40px 0;}
  .hero-grid{max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center; padding-bottom:44px;}
  .hero-eyebrow{font-size:13px; font-weight:700; color:var(--purple); text-transform:uppercase; letter-spacing:.08em; margin-bottom:16px;}
  .hero h1{font-size:clamp(30px,4.4vw,44px); line-height:1.14; font-weight:800; color:var(--purple-dark); margin-bottom:18px;}
  .hero-sub{font-size:15.5px; color:var(--text-soft); line-height:1.65; margin-bottom:26px; max-width:520px;}
  .hero-sub b{color:var(--text); font-weight:700;}
  .hero-bullets{display:flex; flex-direction:column; gap:10px; margin-bottom:28px;}
  .hero-bullets li{display:flex; align-items:center; gap:10px; font-size:14.5px; color:var(--text); font-weight:600;}
  .hero-bullets .bico{width:20px; height:20px; border-radius:50%; background:var(--purple-light); color:var(--purple); display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:800; flex-shrink:0;}
  .hero-ctas{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:18px;}
  .hero-trust{display:flex; gap:18px; font-size:12px; color:var(--text-soft); font-weight:600; flex-wrap:wrap;}
  .hero-trust span{display:flex; align-items:center; gap:5px;}
  .hero-image{position:relative;}
  .hero-image img{width:100%; height:auto; display:block;}
  @media (max-width:900px){.hero-grid{grid-template-columns:1fr;}.hero-image{order:-1; max-width:340px; margin:0 auto;}}

  /* Lottie del hero: mismo posicionamiento que /software-crm-empresas-consultoria (sector-consulting-hero-layer-*) */
  .sector-consulting-hero-layer-1{width: 120px; height: 120px; bottom: 68px; right: 4px;}
  .sector-consulting-hero-layer-2{width: 24px; height: 24px; bottom: 83px; right: 398px;}
  .sector-consulting-hero-layer-3{width: 25px; height: 25px; bottom: 82px; right: 273px;}
  .sector-consulting-hero-layer-4{width: 25px; height: 50px; bottom: 68px; right: 360px;}
  .sector-consulting-hero-layer-5{width: 25px; height: 50px; bottom: 68px; right: 500px;}

  /* trust strip */
  .trust-strip{border-top:1px solid var(--border); padding:26px 0; text-align:center;}
  .trust-strip .label{font-size:11.5px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--text-soft); margin-bottom:18px;}
  .trust-logos{display:flex; align-items:center; justify-content:center; gap:44px; flex-wrap:wrap; opacity:.8;}
  .trust-logos img{height:26px; width:auto; object-fit:contain; filter:grayscale(1); opacity:.75;}
  @media (max-width:640px){.trust-logos{gap:24px;} .trust-logos img{height:20px;}}

  /* ── PIPELINE (dominant #1) ───────────────────────── */
  .pipeline-section{padding:72px 40px 64px; max-width:1200px; margin:0 auto; text-align:center;}
  .ww-partners-page .ww-mflow-row{display:flex; align-items:stretch; justify-content:center; gap:18px; flex-wrap:wrap; max-width:1040px; margin:38px auto 20px;}
  .ww-partners-page .ww-mflow-box{
    --ww-accent:#6d28d9; display:flex; flex:1 1 0; min-width:0; min-height:56px;
    align-items:center; gap:8px; background:var(--ww-accent); color:#fff; font-size:13.5px; font-weight:700;
    padding:12px 26px 12px 16px; margin:0;
    clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
    box-shadow:0 10px 24px -12px rgba(34,38,58,.35);
    position:relative; z-index:1;
  }
  .ww-partners-page .ww-mflow-box .ww-num{width:20px; height:20px; border-radius:50%; background:rgba(255,255,255,.28); display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0;}
  .pipeline-caption{font-size:15px; font-weight:600; color:var(--text-soft); margin-top:8px;}
  .pipeline-caption b{color:var(--purple-dark);}
  @media (max-width:900px){
    .ww-partners-page .ww-mflow-row{flex-direction:column; align-items:stretch; gap:16px;}
    .ww-partners-page .ww-mflow-box{clip-path:none; border-radius:12px; margin:0; justify-content:center; padding:16px 22px;}
  }
  @media (max-width:640px){.ww-partners-page .ww-mflow-box{font-size:14px;}}

  /* ── STEP CARDS (section 3) ───────────────────────── */
  .steps-section{padding:24px 40px 72px; max-width:1000px; margin:0 auto;}
  .step-card{display:flex; gap:24px; background:#fff; border:1px solid var(--border); border-left:5px solid var(--accent,var(--purple)); border-radius:16px; padding:28px 30px; margin-bottom:18px; box-shadow:0 14px 30px -24px rgba(35,27,51,.35);}
  .step-card .step-icon{width:52px; height:52px; border-radius:14px; background:color-mix(in srgb, var(--accent,var(--purple)) 14%, white); display:flex; align-items:center; justify-content:center; flex-shrink:0;}
  .step-card .step-body{flex:1; min-width:0;}
  .step-tag{display:inline-block; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#fff; background:var(--accent,var(--purple)); padding:4px 12px; border-radius:999px; margin-bottom:10px;}
  .step-card h3{font-size:19px; font-weight:800; color:var(--purple-dark); margin-bottom:8px;}
  .step-card .step-desc{font-size:14px; color:var(--text-soft); line-height:1.6; margin-bottom:14px;}
  .step-chips{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:16px;}
  .step-chip{font-size:12px; font-weight:600; color:var(--text); background:#f7f7f9; border:1px solid var(--border); border-radius:999px; padding:5px 12px;}
  .sell-row{display:flex; align-items:flex-start; gap:10px; padding-top:14px; border-top:1px dashed var(--border);}
  .sell-label{font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--accent,var(--purple)); flex-shrink:0; margin-top:2px;}
  .sell-items{font-size:13.5px; font-weight:600; color:var(--text); line-height:1.6;}
  @media (max-width:640px){.step-card{flex-direction:column; padding:22px;}}

  /* ── LIFECYCLE DIVIDER (section 4) ────────────────── */
  .lifecycle-divider{padding:52px 40px; text-align:center; background:var(--purple-dark);}
  .lifecycle-divider h2{font-size:clamp(22px,3vw,30px); font-weight:800; color:#fff; max-width:760px; margin:0 auto; line-height:1.3;}

  /* ── BENEFITS GRID (section 5) ────────────────────── */
  .benefits-section{padding:72px 40px; max-width:1200px; margin:0 auto;}
  .ww-partners-page .benefits-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px;}
  .benefit-card{border:1px solid var(--border); border-radius:14px; padding:22px 20px; transition:box-shadow .15s ease, transform .15s ease;}
  .benefit-card:hover{box-shadow:0 14px 30px -20px rgba(35,27,51,.35); transform:translateY(-2px);}
  .benefit-card .b-icon{width:42px; height:42px; border-radius:12px; background:var(--purple-light); display:flex; align-items:center; justify-content:center; margin-bottom:14px;}
  .benefit-card .b-title{font-size:14.5px; font-weight:800; color:var(--purple-dark); margin-bottom:8px;}
  .benefit-card .b-desc{font-size:12.5px; color:var(--text-soft); line-height:1.55;}
  @media (max-width:980px){.ww-partners-page .benefits-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
  @media (max-width:560px){.ww-partners-page .benefits-grid{grid-template-columns:1fr;}}

  /* ── SECTOR / REPLICA (section 6) ─────────────────── */
  .sector-section{padding:64px 40px; max-width:1000px; margin:0 auto; text-align:center;}
  .sector-example{background:#fff; border:1px solid var(--border); border-radius:20px; padding:32px; margin:30px 0 26px; box-shadow:0 20px 44px -28px rgba(35,27,51,.3);}
  .sector-example .ex-tag{font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--purple); background:var(--purple-light); padding:5px 14px; border-radius:999px; display:inline-block; margin-bottom:18px;}
  .mini-flow{display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:8px; margin-bottom:22px;}
  .mini-box{--accent:var(--purple-dark); --ink:#fff; background:var(--accent); color:var(--ink); font-size:12.5px; font-weight:700; padding:9px 16px; border-radius:8px; clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 0 100%);}
  .replica-row{display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap; margin-bottom:8px;}
  .replica-box{background:linear-gradient(135deg,var(--purple),#8b5cf6); color:#fff; font-size:15px; font-weight:800; padding:12px 26px; border-radius:10px; box-shadow:0 12px 24px -12px rgba(109,40,217,.55);}
  .replica-arrow{color:var(--purple); font-size:18px; font-weight:800;}
  .sector-example .ex-note{font-size:13.5px; color:var(--text-soft); margin-top:14px;}
  .sector-chips{display:flex; flex-wrap:wrap; justify-content:center; gap:8px;}
  .sector-chip{font-size:13px; font-weight:600; color:var(--text); background:#f7f7f9; border:1px solid var(--border); border-radius:999px; padding:7px 16px;}

  /* ── TWO WAYS (section 7, dominant #2) ────────────── */
  .earn-section{padding:72px 40px; background:linear-gradient(180deg,#fff 0%, var(--gray-bg) 100%);}
  .earn-card{max-width:1000px; margin:0 auto; background:#fff; border:1px solid var(--border); border-radius:26px; box-shadow:0 30px 60px -30px rgba(35,27,51,.35); overflow:hidden;}
  .earn-grid{display:grid; grid-template-columns:1fr auto 1fr; align-items:center;}
  .earn-col{padding:40px 36px;}
  .earn-col-num{display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--purple); margin-bottom:12px;}
  .earn-col h3{font-size:20px; font-weight:800; color:var(--purple-dark); margin-bottom:8px;}
  .earn-col p{font-size:13.5px; color:var(--text-soft); margin-bottom:16px;}
  .earn-chips{display:flex; flex-wrap:wrap; gap:8px; margin-bottom:14px;}
  .earn-chip{font-size:12.5px; font-weight:700; color:var(--purple-dark); background:var(--purple-light); border-radius:999px; padding:6px 14px;}
  .earn-note{font-size:12.5px; font-weight:700; color:var(--purple);}
  .earn-plus{font-size:30px; font-weight:800; color:var(--border); padding:0 8px;}
  .earn-col.commission{background:linear-gradient(160deg,var(--gold-light),#fff); text-align:center;}
  .earn-col.commission .amt{font-size:64px; font-weight:900; color:var(--gold); line-height:1;}
  .earn-col.commission .amt-label{font-size:14px; font-weight:700; color:var(--text); margin:6px 0 10px;}
  .earn-col.commission p{max-width:280px; margin-left:auto; margin-right:auto;}
  .earn-bottom{border-top:1px solid var(--border); padding:22px 30px; text-align:center; font-size:16px; font-weight:800; color:var(--purple-dark); background:#fbfaff;}
  @media (max-width:820px){.earn-grid{grid-template-columns:1fr;} .earn-plus{transform:rotate(90deg); padding:6px 0;} .earn-col{text-align:center;}}

  /* ── PARTNER TYPES (section 8) ────────────────────── */
  .types-section{padding:72px 40px; max-width:1200px; margin:0 auto;}
  .types-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px;}
  .type-card{border:1px solid var(--border); border-radius:14px; padding:24px 18px; text-align:center;}
  .type-card .t-icon{width:46px; height:46px; border-radius:12px; background:var(--purple-light); display:flex; align-items:center; justify-content:center; margin:0 auto 14px;}
  .type-card h4{font-size:14px; font-weight:800; color:var(--purple-dark); margin-bottom:8px;}
  .type-card p{font-size:12px; color:var(--text-soft); line-height:1.55;}
  @media (max-width:980px){.types-grid{grid-template-columns:repeat(3,1fr);}}
  @media (max-width:640px){.types-grid{grid-template-columns:repeat(2,1fr);}}

  /* ── STATEMENT (section 9) ────────────────────────── */
  .statement-section{padding:70px 40px; text-align:center; background:var(--purple-dark); color:#fff;}
  .statement-section h2{font-size:clamp(24px,3.4vw,34px); font-weight:800; max-width:820px; margin:0 auto 18px; line-height:1.3;}
  .statement-section p{font-size:15px; color:rgba(255,255,255,.75); max-width:640px; margin:0 auto 10px; line-height:1.65;}
  .statement-section p b{color:#fff;}

  /* ── FINAL CTA (section 10) ───────────────────────── */
  .final-cta{padding:76px 40px; text-align:center;}
  .final-cta-card{max-width:900px; margin:0 auto; background:linear-gradient(135deg,var(--purple),#8b5cf6); border-radius:28px; padding:56px 44px; color:#fff; box-shadow:0 34px 70px -30px rgba(109,40,217,.55);}
  .final-cta-card h2{font-size:clamp(24px,3.4vw,32px); font-weight:800; margin-bottom:16px; line-height:1.25;}
  .final-cta-card p{font-size:15px; color:rgba(255,255,255,.85); max-width:560px; margin:0 auto 22px; line-height:1.6;}
  .final-cta-formula{display:inline-flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; background:rgba(255,255,255,.14); border-radius:999px; padding:10px 22px; font-size:13px; font-weight:700; margin-bottom:28px;}
  .final-cta-formula span{opacity:.55; margin:0 2px;}
  .final-cta-ctas{display:flex; gap:14px; justify-content:center; flex-wrap:wrap; margin-bottom:16px;}
  .final-cta-card .btn-primary{background:#fff; color:var(--purple-dark); box-shadow:none;}
  .final-cta-card .btn-primary:hover{background:#f1eeff;}
  .final-cta-card .btn-ghost{border:1.5px solid rgba(255,255,255,.4); color:#fff;}
  .final-cta-card .btn-ghost:hover{border-color:#fff;}
  .final-cta-note{font-size:12.5px; color:rgba(255,255,255,.7); font-weight:600;}

  /* ── FINAL CTA FORM ────────────────────────────────── */
  .partner-form{text-align:left; margin-top:8px;}
  .pf-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px 24px;}
  .pf-field{margin-bottom:20px;}
  .pf-field label{display:block; font-size:14px; font-weight:700; color:#fff; margin-bottom:8px;}
  .pf-field input,.pf-field textarea{width:100%; border:1.5px solid rgba(255,255,255,.35); background:rgba(255,255,255,.96); color:var(--text); border-radius:10px; padding:12px 14px; font-family:inherit; font-size:14px; resize:vertical;}
  .pf-field input:focus,.pf-field textarea:focus{outline:none; border-color:#fff;}
  .pf-field textarea{min-height:110px;}
  .pf-checkbox{display:flex; align-items:flex-start; gap:10px; margin-bottom:12px; font-size:13.5px; color:rgba(255,255,255,.9); line-height:1.5;}
  .pf-checkbox input{width:18px; height:18px; margin-top:1px; flex-shrink:0; accent-color:#fff;}
  .pf-checkbox a{color:#fff; text-decoration:underline;}
  .pf-error{display:block; font-size:12.5px; font-weight:700; color:#fecaca; margin:-14px 0 12px;}
  .pf-result{font-size:14px; font-weight:700; padding:12px 18px; border-radius:10px; margin-bottom:22px; background:rgba(255,255,255,.14); color:#fff;}
  .pf-result.is-danger{background:rgba(239,68,68,.25);}
  .pf-submit-row{display:flex; justify-content:flex-end;}
  @media (max-width:640px){.pf-grid{grid-template-columns:1fr;} .pf-submit-row{justify-content:stretch;} .pf-submit-row .btn{width:100%; text-align:center;}}

  /* ── FOOTER ────────────────────────────────────────── */
  .footer{background:var(--purple-dark); color:#fff; padding:56px 40px 28px;}
  .footer-inner{max-width:1200px; margin:0 auto;}
  .footer-top{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding-bottom:32px; border-bottom:1px solid rgba(255,255,255,.12); margin-bottom:32px;}
  .footer-logo{font-weight:800; font-size:20px; color:#fff; display:flex; align-items:center; gap:7px; text-decoration:none;}
  .footer-cta-title{font-size:16px; font-weight:800; margin-bottom:3px;}
  .footer-cta-sub{font-size:12.5px; color:rgba(255,255,255,.65);}
  .footer-cta-actions{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
  .footer-cta-actions .fca-link{color:rgba(255,255,255,.85); text-decoration:none; font-weight:600; font-size:12.5px;}
  .footer-btn-light{background:#fff; color:var(--purple-dark);}
  .footer-btn-ghost{background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.35);}
  .footer-social{display:flex; gap:10px; flex-shrink:0;}
  .footer-social a{width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; text-decoration:none; color:#fff; font-weight:700; font-size:13px;}
  .footer-mid{display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; margin-bottom:36px;}
  .footer-columns{display:grid; grid-template-columns:repeat(4,1fr); gap:28px; flex:1;}
  .footer-col-title{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:rgba(255,255,255,.48); margin-bottom:14px;}
  .footer-col ul{display:flex; flex-direction:column; gap:9px;}
  .footer-col a{font-size:12.5px; color:rgba(255,255,255,.82); text-decoration:none; line-height:1.4;}
  .footer-col a:hover{color:#fff;}
  .footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:12.5px; color:rgba(255,255,255,.65); padding-top:20px; border-top:1px solid rgba(255,255,255,.12); margin-bottom:20px;}
  .footer-bottom a{color:rgba(255,255,255,.85); font-weight:600; text-decoration:none;}
  .footer-badges{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
  .footer-badges .badge-chip{background:#fff; border-radius:10px; padding:8px 12px; display:flex; align-items:center;}
  .footer-badges img{height:32px; width:auto; object-fit:contain;}
  @media (max-width:900px){.footer-columns{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:640px){.footer{padding:40px 20px 24px;} .footer-top{flex-direction:column; align-items:flex-start;}}
