:root {
  --bg:      #f7f8fa;
  --white:   #ffffff;
  --navy:    #0f2547;
  --navy2:   #1a3a6e;
  --blue:    #1a6ef5;
  --blue-lt: #e8f0fe;
  --teal:    #0fa88a;
  --amber:   #f59e0b;
  --purple:  #7c3aed;
  --red:     #ef4444;
  --cyan:    #0891b2;
  --emerald: #059669;
  --text:    #1e2a3a;
  --muted:   #6b7a8d;
  --border:  #e2e8f0;
  --shadow:  0 2px 24px rgba(15,37,71,.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Outfit',sans-serif;line-height:1.15;color:var(--navy);font-weight:600}
a{text-decoration:none;color:inherit}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:500;background:rgba(255,255,255,.93);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:0 7%;height:68px;display:flex;align-items:center;justify-content:space-between;cursor:auto}
.logo{display:flex;align-items:center;gap:.65rem}
.logo-mark{width:36px;height:36px;background:var(--navy);border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:600;font-size:.9rem;color:#fff}
.logo-text strong{font-family:'Outfit',sans-serif;font-weight:600;font-size:1.02rem;color:var(--navy);letter-spacing:-.01em;display:block}
.logo-text span{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.nav-links{display:flex;gap:2.2rem;list-style:none;font-size:.83rem;font-weight:500}
.nav-links a{color:var(--muted);transition:color .2s}
.nav-links a:hover{color:var(--navy)}
.nav-cta{background:var(--navy);color:#fff;font-family:'DM Sans',sans-serif;font-weight:600;font-size:.83rem;padding:.5rem 1.3rem;border-radius:7px;transition:background .2s,transform .15s}
.nav-cta:hover{background:var(--navy2);transform:translateY(-1px)}

/* HERO */
.hero{min-height:100vh;padding:0 7%;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:60px 60px;opacity:.5}
.hero-content{position:relative;z-index:1;padding-top:5rem}
.badge{display:inline-flex;align-items:center;gap:.5rem;padding:.28rem .9rem;border-radius:99px;background:var(--blue-lt);border:1px solid rgba(26,110,245,.2);font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:1.5rem}
.badge-dot{width:6px;height:6px;background:var(--blue);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-size:clamp(2.6rem,4.2vw,4.2rem);font-weight:600;letter-spacing:-.02em;margin-bottom:1.4rem;line-height:1.15}
.hero h1 em{font-style:italic;color:var(--blue)}
.hero-sub{font-size:1rem;color:var(--muted);line-height:1.8;max-width:460px;margin-bottom:2.4rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem}
.btn-primary{background:var(--navy);color:#fff;font-weight:600;font-size:.9rem;padding:.82rem 1.9rem;border-radius:8px;transition:background .2s,transform .15s,box-shadow .2s;box-shadow:0 4px 20px rgba(15,37,71,.2);display:inline-flex;align-items:center;gap:.5rem}
.btn-primary:hover{background:var(--navy2);transform:translateY(-2px);box-shadow:0 8px 32px rgba(15,37,71,.28)}
.btn-ghost{background:transparent;color:var(--navy);font-weight:600;font-size:.9rem;padding:.82rem 1.9rem;border-radius:8px;border:1.5px solid var(--border);transition:border-color .2s,background .2s;display:inline-flex;align-items:center;gap:.5rem}
.btn-ghost:hover{border-color:var(--navy);background:rgba(15,37,71,.04)}
.hero-stats{display:flex;gap:2.5rem;flex-wrap:wrap}
.stat .s-num{font-family:'Outfit',sans-serif;font-weight:600;font-size:1.9rem;color:var(--navy);line-height:1}
.stat .s-accent{color:var(--blue)}
.stat .s-label{font-size:.73rem;color:var(--muted);margin-top:.2rem}

/* MASCOT AREA */
.hero-mascot{position:relative;z-index:1;padding-top:5rem;display:flex;flex-direction:column;align-items:center;gap:1.8rem}
#robot-wrap{width:260px;height:280px;position:relative;filter:drop-shadow(0 18px 40px rgba(15,37,71,.16))}
#robot-wrap:hover{filter:drop-shadow(0 22px 50px rgba(26,110,245,.25))}
#robot-svg{transition:transform .35s cubic-bezier(.25,.46,.45,.94)}

@media (max-width: 768px) {
  .hero-container {
    display: flex;
    flex-direction: column;
    text-align: center; /* Centrar ayuda a que no se vea amontonado a la izquierda */
    padding: 40px 20px;
    gap: 20px;
  }

  .hero-content h1 {
    font-size: 1.8rem; /* Reduce un poco el tamaño de letra */
    line-height: 1.2;
  }
}
@media (max-width: 480px) {
  .hero-btns {
    display: flex;
    flex-direction: column; /* Botones uno sobre otro */
    width: 100%;
  }
  
  .btn-primary {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
    padding: 15px; /* Más alto para que sea fácil de picar */
  }
}

/* bubbles around mascot */
.bbl{position:absolute;background:var(--white);border:1px solid var(--border);border-radius:12px;padding:.58rem .85rem;box-shadow:var(--shadow);font-size:.73rem;display:flex;align-items:center;gap:.48rem;white-space:nowrap;animation:floaty 3.5s ease-in-out infinite alternate}
.bbl.b1{top:-8px;right:-50px;animation-delay:0s}
.bbl.b2{bottom:30px;left:-60px;animation-delay:-1.7s}
.bbl.b3{top:90px;left:-65px;animation-delay:-.9s}
@keyframes floaty{from{transform:translateY(0)}to{transform:translateY(-10px)}}
.bbl strong{color:var(--navy);font-weight:600;font-size:.7rem;display:block}
.bbl span{color:var(--muted);font-size:.66rem}

#speech-bubble{background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:.9rem 1.2rem;box-shadow:var(--shadow);max-width:300px;font-size:.84rem;color:var(--text);line-height:1.55;position:relative;text-align:center;min-height:56px;display:flex;align-items:center;justify-content:center;transition:border-color .2s,box-shadow .2s}
#speech-bubble:hover{border-color:var(--blue);box-shadow:0 4px 20px rgba(26,110,245,.12)}
#speech-bubble::before{content:'';position:absolute;top:-9px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:9px solid var(--border)}
#speech-bubble::after{content:'';position:absolute;top:-7px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid var(--white)}
#speech-text{transition:opacity .35s}
.sbot-chip{font-size:.71rem;font-weight:500;padding:.28rem .7rem;border-radius:99px;border:1.5px solid var(--border);background:var(--bg);color:var(--navy);cursor:pointer;transition:all .18s;font-family:'DM Sans',sans-serif}
.sbot-chip:hover{background:var(--navy);color:#fff;border-color:var(--navy)}

/* MARQUEE */
.marquee-band{background:var(--navy);padding:1.1rem 0;overflow:hidden}
.marquee-track{display:flex;gap:3.5rem;width:max-content;animation:marquee 35s linear infinite;font-size:.74rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.marquee-track .sep{color:var(--blue);font-size:.5rem}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
section{padding:7rem 7%}
.eyebrow-tag{display:inline-flex;align-items:center;gap:.45rem;padding:.26rem .85rem;border-radius:99px;background:var(--blue-lt);border:1px solid rgba(26,110,245,.2);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin-bottom:1.1rem}
.section-title{font-size:clamp(1.85rem,2.8vw,2.6rem);font-weight:600;letter-spacing:-.01em;margin-bottom:1rem;max-width:640px;line-height:1.18}
.section-title em{font-style:italic;color:var(--blue)}
.section-sub{color:var(--muted);max-width:500px;line-height:1.8;font-size:.96rem}

/* SERVICIOS */
#servicios{background:var(--white)}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3.5rem;flex-wrap:wrap}
.tab-bar{display:flex;gap:.4rem;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:.3rem}
.tab-btn{font-family:'DM Sans',sans-serif;font-size:.78rem;font-weight:600;padding:.42rem 1rem;border-radius:6px;border:none;cursor:pointer;transition:all .2s;color:var(--muted);background:transparent}
.tab-btn.active{background:var(--navy);color:#fff;box-shadow:0 2px 10px rgba(15,37,71,.2)}
.tab-btn:hover:not(.active){color:var(--navy)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.svc{background:var(--bg);border:1px solid var(--border);border-radius:15px;padding:1.9rem;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s;cursor:default}
.svc:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(15,37,71,.1);border-color:transparent}
.svc::before{content:'';position:absolute;top:0;left:0;right:0;height:2.5px;border-radius:2px 2px 0 0;opacity:0;transition:opacity .3s}
.svc:hover::before{opacity:1}
.c-blue::before{background:var(--blue)}.c-teal::before{background:var(--teal)}.c-amber::before{background:var(--amber)}.c-red::before{background:var(--red)}.c-purple::before{background:var(--purple)}.c-cyan::before{background:var(--cyan)}.c-emerald::before{background:var(--emerald)}.c-indigo::before{background:#4f46e5}.c-slate::before{background:#475569}.c-green-dark::before{background:#166534}
.svc-icon{width:48px;height:48px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:1.2rem;border:1px solid var(--border);background:var(--white)}
.svc h3{font-size:1rem;font-weight:700;margin-bottom:.45rem;letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.svc h3 .hashtag{font-size:.62rem;font-weight:700;color:var(--blue);background:var(--blue-lt);padding:.18rem .55rem;border-radius:99px;letter-spacing:.05em;text-transform:uppercase;font-family:'DM Sans',sans-serif}
.c-teal h3 .hashtag{color:var(--teal);background:#ccfbf1}
.c-amber h3 .hashtag{color:var(--amber);background:#fef3c7}
.c-red h3 .hashtag{color:var(--red);background:#fee2e2}
.c-purple h3 .hashtag{color:var(--purple);background:#ede9fe}
.c-cyan h3 .hashtag{color:var(--cyan);background:#cffafe}
.c-emerald h3 .hashtag{color:var(--emerald);background:#d1fae5}
.c-indigo h3 .hashtag{color:#4f46e5;background:#e0e7ff}.c-slate h3 .hashtag{color:#475569;background:#f1f5f9}.c-green-dark h3 .hashtag{color:#166534;background:#dcfce7}
.svc>p{font-size:.84rem;color:var(--muted);line-height:1.7}
.svc-list{list-style:none;margin-top:1rem;display:flex;flex-direction:column;gap:.28rem}
.svc-list li{font-size:.8rem;color:var(--muted);display:flex;align-items:flex-start;gap:.4rem;line-height:1.5}
.svc-list li::before{content:'—';color:var(--blue);font-size:.75rem;flex-shrink:0;margin-top:.1rem}
.hidden-tab{display:none!important}

/* TWO-COL */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
/* ── RITMO VISUAL DE SECCIONES ── */
#epicor{background:var(--navy);color:#fff;position:relative;overflow:hidden}
#epicor::after{content:'';position:absolute;right:-120px;top:-120px;width:500px;height:500px;border-radius:50%;background:rgba(26,110,245,.07);pointer-events:none}
#epicor .eyebrow-tag{background:rgba(26,110,245,.18);border-color:rgba(26,110,245,.35);color:#93c5fd}
#epicor .section-title{color:#fff}
#epicor .section-title em{color:#60a5fa}
#epicor .section-sub{color:rgba(255,255,255,.55)}
#epicor .feat h4{color:#fff}
#epicor .feat p{color:rgba(255,255,255,.5)}
#epicor .feat .fi{color:#60a5fa}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:2.2rem}
.feat{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:1.2rem;transition:border-color .2s,box-shadow .2s}
.feat:hover{border-color:rgba(26,110,245,.25);box-shadow:0 4px 20px rgba(26,110,245,.08)}
.feat .fi{font-size:1.2rem;margin-bottom:.4rem}
.feat h4{font-size:.82rem;font-weight:700;margin-bottom:.2rem}
.feat p{font-size:.75rem;color:var(--muted);line-height:1.55}
/* Feat cards en fondos oscuros — fondo translúcido, no blanco */
#epicor .feat{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1)}
#epicor .feat:hover{background:rgba(255,255,255,.11);border-color:rgba(96,165,250,.35)}
#cctv .feat{background:rgba(255,255,255,.06);border-color:rgba(94,234,212,.15)}
#cctv .feat:hover{background:rgba(94,234,212,.1);border-color:rgba(94,234,212,.4)}

/* MOCK CARDS */
.mock-card{background:var(--white);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:var(--shadow),0 20px 60px rgba(15,37,71,.08)}
.mock-bar{background:var(--navy);padding:.9rem 1.3rem;display:flex;align-items:center;gap:.6rem}
.mock-bar span{font-size:.68rem;color:rgba(255,255,255,.45);margin-left:.3rem}
.pd{width:9px;height:9px;border-radius:50%}.pd-r{background:#ff5f57}.pd-y{background:#febc2e}.pd-g{background:#28c840}
.mock-live{display:flex;align-items:center;gap:.4rem;font-size:.68rem;color:#16a34a;font-weight:500;margin-left:auto}
.mock-live::before{content:'';width:6px;height:6px;background:#16a34a;border-radius:50%;animation:pulse 2s infinite}
.mock-body{padding:1.2rem}
.mock-nav{display:flex;gap:.4rem;margin-bottom:1rem;flex-wrap:wrap}
.mn{font-size:.64rem;font-weight:600;padding:.2rem .65rem;border-radius:6px;color:var(--muted);background:var(--bg);border:1px solid var(--border);cursor:default}
.mn.active{background:var(--navy);color:#fff;border-color:transparent}
.mock-table{width:100%;border-collapse:collapse}
.mock-table th{font-size:.62rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;padding:.35rem .5rem;text-align:left}
.mock-table td{font-size:.72rem;color:var(--text);padding:.38rem .5rem;border-top:1px solid var(--border)}
.mock-table tr:hover td{background:var(--bg)}
.estatus{display:inline-flex;align-items:center;gap:.28rem;font-size:.63rem;font-weight:600;padding:.14rem .5rem;border-radius:99px}
.es-g{background:#dcfce7;color:#16a34a}.es-b{background:#dbeafe;color:#1d4ed8}.es-a{background:#fef3c7;color:#b45309}
.mock-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-top:.9rem}
.mtag{font-size:.64rem;font-weight:600;padding:.18rem .6rem;border-radius:99px}
.t-navy{background:rgba(15,37,71,.08);color:var(--navy)}.t-blue{background:#dbeafe;color:#1d4ed8}.t-teal{background:#ccfbf1;color:#0d9488}.t-amber{background:#fef3c7;color:#b45309}.t-pur{background:#ede9fe;color:#5b21b6}.t-emerald{background:#d1fae5;color:#065f46}

/* SIE */
#sie{background:var(--white)}
.sie-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.26rem .85rem;border-radius:99px;background:#ccfbf1;border:1px solid rgba(13,148,136,.25);font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--teal);margin-bottom:1rem}
.sie-feats{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:2rem}
.sf{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.1rem;transition:border-color .2s,box-shadow .2s}
.sf:hover{border-color:rgba(15,168,138,.3);box-shadow:0 4px 20px rgba(15,168,138,.08)}
.sf .sfi{font-size:1.15rem;margin-bottom:.4rem}
.sf h4{font-size:.82rem;font-weight:700;margin-bottom:.2rem}
.sf p{font-size:.74rem;color:var(--muted);line-height:1.52}
.sie-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1rem}
.sk{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.8rem}
.sk-lbl{font-size:.61rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.sk-val{font-family:'Outfit',sans-serif;font-weight:600;font-size:1.2rem;color:var(--navy);margin-top:.15rem}
.sk-delta{font-size:.63rem;margin-top:.1rem}
.up{color:#16a34a}.dn{color:#dc2626}
.mini-chart{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.9rem;margin-bottom:1rem}
.mc-title{font-size:.71rem;font-weight:600;color:var(--navy);margin-bottom:.6rem}
.chart-svg{width:100%;height:65px}

/* PROCESO */

.process-header{text-align:center;margin-bottom:4rem}
.process-header .section-title,.process-header .section-sub{max-width:100%}
.process-header .section-sub{margin:0 auto}
.steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem;position:relative}
.steps-grid::before{content:'';position:absolute;top:26px;left:10%;right:10%;height:1px;background:repeating-linear-gradient(90deg,var(--border) 0,var(--border) 8px,transparent 8px,transparent 16px)}
.step{text-align:center;position:relative}
.step-num{width:52px;height:52px;border-radius:50%;background:var(--white);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:600;font-size:.88rem;color:var(--muted);margin:0 auto 1.3rem;position:relative;z-index:1;transition:background .2s,border-color .2s,color .2s,box-shadow .2s}
.step:hover .step-num{background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 4px 20px rgba(15,37,71,.25)}
.step h3{font-size:.88rem;font-weight:700;margin-bottom:.35rem}
.step p{font-size:.78rem;color:var(--muted);line-height:1.6}

/* NOSOTROS */
#nosotros{background:var(--navy);color:#fff}
#nosotros h2,#nosotros h4{color:#fff}
#nosotros .section-sub{color:rgba(255,255,255,.55)}
#nosotros .eyebrow-tag{background:rgba(26,110,245,.15);border-color:rgba(26,110,245,.3);color:#93c5fd}
.why-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.why-items{display:flex;flex-direction:column;gap:2rem;margin-top:2.5rem}
.why-item{display:flex;gap:1.2rem;align-items:flex-start;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.08)}
.why-item:last-child{border-bottom:none;padding-bottom:0}
.why-num{font-family:'Outfit',sans-serif;font-weight:600;font-size:2.2rem;color:rgba(255,255,255,.1);line-height:1;flex-shrink:0;width:44px;text-align:right}
.why-item h4{font-size:.92rem;font-weight:700;margin-bottom:.25rem;color:#fff}
.why-item p{font-size:.83rem;color:rgba(255,255,255,.5);line-height:1.7}
.why-certs{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cert{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:1.7rem 1.2rem;text-align:center;transition:background .2s,border-color .2s,transform .2s}
.cert:hover{background:rgba(255,255,255,.09);border-color:rgba(26,110,245,.35);transform:translateY(-2px)}
.cert .ci{font-size:2rem;margin-bottom:.6rem}
.cert h4{font-size:.83rem;font-weight:700;margin-bottom:.22rem;color:#fff}
.cert p{font-size:.73rem;color:rgba(255,255,255,.45);line-height:1.5}

/* CTA */
.cta-strip{background:var(--blue-lt);border-top:1px solid rgba(26,110,245,.15);border-bottom:1px solid rgba(26,110,245,.15);padding:5rem 7%;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:center}
.cta-strip h2{font-size:clamp(1.8rem,3vw,2.6rem);letter-spacing:-.03em;max-width:540px}
.cta-strip p{color:var(--muted);margin-top:.5rem;font-size:.95rem}
.cta-btns{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}

/* CONTACTO */
#contacto{background:var(--bg)}
.contact-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start}
.c-info h2{margin-bottom:1rem}
.c-info>p{color:var(--muted);line-height:1.8;margin-bottom:2rem;font-size:.95rem}
.c-details{display:flex;flex-direction:column;gap:.75rem}
.c-detail{display:flex;align-items:center;gap:.75rem;font-size:.88rem;color:var(--muted)}
.c-ico{width:34px;height:34px;background:var(--white);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0}
.ch-cards{display:flex;flex-direction:column;gap:.8rem}
.ch{display:flex;align-items:center;gap:1rem;background:var(--white);border:1.5px solid var(--border);border-radius:13px;padding:1rem 1.3rem;text-decoration:none;color:var(--text);cursor:none;transition:border-color .2s,transform .18s,box-shadow .2s;position:relative;overflow:hidden}
.ch::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:3px 0 0 3px;opacity:0;transition:opacity .2s}
.ch:hover{transform:translateX(4px);box-shadow:0 8px 28px rgba(15,37,71,.1)}
.ch:hover::before{opacity:1}
.ch-wa::before{background:#25d366}.ch:hover.ch-wa{border-color:rgba(37,211,102,.4)}
.ch-tel::before{background:var(--blue)}.ch:hover.ch-tel{border-color:rgba(26,110,245,.4)}
.ch-mail::before{background:var(--navy)}.ch:hover.ch-mail{border-color:rgba(15,37,71,.3)}
.ch-li::before{background:#0077b5}.ch:hover.ch-li{border-color:rgba(0,119,181,.4)}
/* Original ch-card styles */
.ch-card{display:flex;align-items:center;gap:1.1rem;background:var(--white);border:1.5px solid var(--border);border-radius:14px;padding:1.1rem 1.4rem;text-decoration:none;color:var(--text);transition:border-color .22s,box-shadow .22s,transform .18s;position:relative;overflow:hidden}
.ch-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px 0 0 4px;transition:opacity .2s;opacity:0}
.ch-card:hover{transform:translateX(4px);box-shadow:0 8px 28px rgba(15,37,71,.1)}
.ch-card:hover::before{opacity:1}
.ch-wa::before{background:#25d366}.ch-card:hover.ch-wa{border-color:rgba(37,211,102,.4)}
.ch-tel::before{background:var(--blue)}.ch-card:hover.ch-tel{border-color:rgba(26,110,245,.4)}
.ch-mail::before{background:var(--navy)}.ch-card:hover.ch-mail{border-color:rgba(15,37,71,.3)}
.ch-ig::before{background:linear-gradient(135deg,#f58529,#dd2a7b,#8134af)}.ch-card:hover.ch-ig{border-color:rgba(221,42,123,.3)}
.ch-li-c::before{background:#0077b5}.ch-card:hover.ch-li-c{border-color:rgba(0,119,181,.4)}
.ch-fb::before{background:#1877f2}.ch-card:hover.ch-fb{border-color:rgba(24,119,242,.4)}
.ch-icon-wrap{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bg-ig{background:#fdf0f5}.bg-fb{background:#edf3fc}
.ch-arrow{font-size:.9rem;color:var(--muted);transition:transform .2s,color .2s;flex-shrink:0}
.ch-card:hover .ch-arrow{transform:translateX(4px);color:var(--navy)}
.ch-pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
/* original chatbot-wrap */
.chatbot-wrap{background:var(--white);border:1.5px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 4px 24px rgba(15,37,71,.08)}
.cb-header{background:var(--navy);padding:1rem 1.4rem;display:flex;align-items:center;gap:.8rem}
.cb-avatar{width:36px;height:36px;background:rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.cb-header-info strong{display:block;font-size:.88rem;color:#fff;font-weight:600}
.cb-header-info span{font-size:.72rem;color:rgba(255,255,255,.55);display:flex;align-items:center;gap:.3rem}
.cb-header-info span::before{content:'';width:6px;height:6px;background:#4ade80;border-radius:50%;animation:pulse 2s infinite}
.cb-messages{padding:1.2rem;max-height:300px;overflow-y:auto;display:flex;flex-direction:column;gap:.8rem;background:#f8fafc;scroll-behavior:smooth}
.cb-messages::-webkit-scrollbar{width:4px}.cb-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}
.msg2{display:flex;gap:.6rem;align-items:flex-end;animation:msgIn .3s ease}
.msg2.bot{flex-direction:row}.msg2.user{flex-direction:row-reverse}
.msg-avatar2{width:28px;height:28px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#fff;flex-shrink:0}
.msg2.user .msg-avatar2{background:var(--blue)}
.msg-bubble2{max-width:78%;padding:.6rem .9rem;border-radius:12px;font-size:.82rem;line-height:1.55}
.msg2.bot .msg-bubble2{background:var(--white);border:1px solid var(--border);color:var(--text);border-radius:4px 12px 12px 12px}
.msg2.user .msg-bubble2{background:var(--navy);color:#fff;border-radius:12px 4px 12px 12px}
.msg-time2{font-size:.65rem;color:var(--muted);margin-top:.2rem}.msg2.bot .msg-time2{text-align:left}.msg2.user .msg-time2{text-align:right}
.cb-options{padding:.7rem 1.2rem;display:flex;flex-wrap:wrap;gap:.5rem;border-top:1px solid var(--border);background:var(--white)}
.cb-footer{padding:.8rem 1.2rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:.7rem;background:var(--white)}
.cb-input2{flex:1;border:1.5px solid var(--border);border-radius:8px;padding:.55rem .9rem;font-family:'DM Sans',sans-serif;font-size:.83rem;color:var(--text);outline:none;transition:border-color .2s;background:var(--bg)}
.cb-input2:focus{border-color:var(--blue)}
.cb-send2{width:36px;height:36px;background:var(--navy);border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:.9rem;transition:background .18s,transform .15s;flex-shrink:0}
.cb-send2:hover{background:var(--navy2);transform:scale(1.05)}
.cb-wa-cta{width:100%;background:#25d366;color:#fff;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.85rem;padding:.75rem;border-radius:8px;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;gap:.5rem;transition:background .2s,transform .15s;text-decoration:none}
.cb-wa-cta:hover{background:#1ebe5c;transform:translateY(-1px)}
.cb-wa-cta.show{display:flex}
.eyebrow-sm{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:.8rem;display:flex;align-items:center;gap:.5rem}
.eyebrow-sm::before{content:'';width:18px;height:2px;background:var(--blue);border-radius:2px}
.contact-channels{display:flex;flex-direction:column;gap:1rem}
.ch-icon{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0}
.bg-wa{background:#e7fdf0}.bg-tel{background:var(--blue-lt)}.bg-mail{background:rgba(15,37,71,.07)}.bg-li{background:#e8f4fb}
.ch-info{flex:1;min-width:0}
.ch-info strong{display:block;font-size:.88rem;font-weight:700;color:var(--navy);margin-bottom:.07rem}
.ch-info span{font-size:.77rem;color:var(--muted)}
.ch-arr{font-size:.85rem;color:var(--muted);transition:transform .2s,color .2s;flex-shrink:0}
.ch:hover .ch-arr{transform:translateX(4px);color:var(--navy)}

/* CHATBOT */
.chatbot-box{background:var(--white);border:1.5px solid var(--border);border-radius:15px;overflow:hidden;box-shadow:0 4px 24px rgba(15,37,71,.08);margin-top:1.3rem}
.cb-head{background:var(--navy);padding:.95rem 1.3rem;display:flex;align-items:center;gap:.75rem}
.cb-av{width:33px;height:33px;background:rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.cb-head-info strong{display:block;font-size:.86rem;color:#fff;font-weight:600}
.cb-head-info span{font-size:.69rem;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:.3rem}
.cb-head-info span::before{content:'';width:6px;height:6px;background:#4ade80;border-radius:50%;animation:pulse 2s infinite}
.cb-msgs{padding:1rem;max-height:240px;overflow-y:auto;display:flex;flex-direction:column;gap:.7rem;background:#f8fafc;scroll-behavior:smooth}
.cb-msgs::-webkit-scrollbar{width:3px}.cb-msgs::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.msg{display:flex;gap:.55rem;align-items:flex-end;animation:msgIn .3s ease}
@keyframes msgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.msg.bot{flex-direction:row}.msg.user{flex-direction:row-reverse}
.m-av{width:26px;height:26px;border-radius:50%;background:var(--navy);display:flex;align-items:center;justify-content:center;font-size:.68rem;color:#fff;flex-shrink:0;font-weight:600}
.msg.user .m-av{background:var(--blue)}
.m-bubble{max-width:80%;padding:.55rem .82rem;border-radius:12px;font-size:.79rem;line-height:1.55}
.msg.bot .m-bubble{background:var(--white);border:1px solid var(--border);color:var(--text);border-radius:4px 12px 12px 12px}
.msg.user .m-bubble{background:var(--navy);color:#fff;border-radius:12px 4px 12px 12px}
.m-time{font-size:.61rem;color:var(--muted);margin-top:.15rem}
.msg.bot .m-time{text-align:left}.msg.user .m-time{text-align:right}
.cb-opts{padding:.62rem 1.1rem;display:flex;flex-wrap:wrap;gap:.42rem;border-top:1px solid var(--border);background:var(--white)}
.cb-opt{font-size:.75rem;font-weight:500;padding:.3rem .75rem;border-radius:99px;border:1.5px solid var(--border);background:var(--bg);color:var(--navy);cursor:pointer;transition:all .18s;font-family:'DM Sans',sans-serif}
.cb-opt:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.cb-opt:disabled{opacity:.4;cursor:default;pointer-events:none}
.cb-foot{padding:.7rem 1.1rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:.6rem;background:var(--white)}
.cb-input{flex:1;border:1.5px solid var(--border);border-radius:7px;padding:.48rem .82rem;font-family:'DM Sans',sans-serif;font-size:.79rem;color:var(--text);outline:none;transition:border-color .2s;background:var(--bg)}
.cb-input:focus{border-color:var(--blue)}
.cb-send{width:33px;height:33px;background:var(--navy);border:none;border-radius:7px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;font-size:.85rem;transition:background .18s,transform .15s;flex-shrink:0}
.cb-send:hover{background:var(--navy2);transform:scale(1.05)}
.cb-wa{width:100%;background:#25d366;color:#fff;font-family:'DM Sans',sans-serif;font-weight:700;font-size:.82rem;padding:.7rem;border-radius:8px;border:none;cursor:pointer;display:none;align-items:center;justify-content:center;gap:.45rem;transition:background .2s,transform .15s;text-decoration:none}
.cb-wa:hover{background:#1ebe5c;transform:translateY(-1px)}
.cb-wa.show{display:flex}

/* FOOTER */
footer{background:var(--navy);padding:3.5rem 7% 1.8rem;color:rgba(255,255,255,.6)}
.footer-main{display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-brand{display:flex;flex-direction:column;gap:1rem}
footer .logo-mark{background:rgba(255,255,255,.15)}
footer .logo-text strong{color:#fff}footer .logo-text span{color:rgba(255,255,255,.35)}
.f-tagline{font-size:.84rem;color:rgba(255,255,255,.45);font-style:italic;line-height:1.6;max-width:280px}
.footer-info{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.footer-info-block{font-size:.83rem;color:rgba(255,255,255,.55);line-height:1.7}
.footer-info-block strong{display:block;color:#fff;font-family:'Outfit',sans-serif;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.55rem}
.footer-info-block a{color:rgba(255,255,255,.55);transition:color .15s}
.footer-info-block a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.8rem}
.f-copy{font-size:.78rem;color:rgba(255,255,255,.35)}
.f-links{display:flex;gap:1.6rem;list-style:none;font-size:.78rem;color:rgba(255,255,255,.35);flex-wrap:wrap}
.f-links a{color:rgba(255,255,255,.4);transition:color .15s}
.f-links a:hover{color:#fff}
@media(max-width:880px){
  .footer-main{grid-template-columns:1fr;gap:2.5rem}
  .footer-info{grid-template-columns:1fr;gap:1.5rem}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:1rem}
}

/* ROBOT GREETING ANIMATION */
@keyframes waveArm{0%,100%{transform:rotate(0deg)}20%{transform:rotate(-25deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-20deg)}80%{transform:rotate(8deg)}}
@keyframes bounceIn{0%{opacity:0;transform:translateY(16px) scale(.92)}60%{transform:translateY(-4px) scale(1.02)}100%{opacity:1;transform:none}}
@keyframes typingDots{0%,80%,100%{opacity:0}40%{opacity:1}}
.robot-greeting{animation:bounceIn .7s cubic-bezier(.34,1.56,.64,1) forwards}
#speech-bubble{animation:bounceIn .8s .4s cubic-bezier(.34,1.56,.64,1) both}
#greeting-typing{display:flex;gap:4px;align-items:center;justify-content:center;padding:.1rem 0}
#greeting-typing span{width:7px;height:7px;background:var(--blue);border-radius:50%;animation:typingDots 1.2s ease infinite}
#greeting-typing span:nth-child(2){animation-delay:.2s}
#greeting-typing span:nth-child(3){animation-delay:.4s}

/* ANIMATIONS — más sutiles, solo en secciones clave */
.fade-up{opacity:0;transform:translateY(18px);transition:opacity .55s ease-out,transform .55s ease-out}
.fade-up.vis{opacity:1;transform:none}

/* SVG ICON BASE */
.svc-icon svg,.feat .fi svg,.cert .ci svg,.sf .sfi svg,.svg-ico{width:1em;height:1em;stroke-width:1.7;stroke:currentColor;fill:none;stroke-linecap:round;stroke-linejoin:round;display:block}
.svc-icon{color:var(--blue)}
.c-blue .svc-icon{color:var(--blue)}.c-teal .svc-icon{color:var(--teal)}.c-amber .svc-icon{color:var(--amber)}.c-red .svc-icon{color:var(--red)}.c-purple .svc-icon{color:var(--purple)}.c-cyan .svc-icon{color:var(--cyan)}.c-emerald .svc-icon{color:var(--emerald)}.c-indigo .svc-icon{color:#4f46e5}.c-slate .svc-icon{color:#475569}.c-green-dark .svc-icon{color:#166534}
.feat .fi{color:var(--blue);font-size:1.35rem;width:1em;height:1em;display:inline-block}
.cert .ci{color:#93c5fd;font-size:2rem;width:1em;height:1em;margin:0 auto .6rem;display:block}
.sf .sfi{color:var(--teal);font-size:1.3rem;width:1em;height:1em;display:inline-block}

/* URGENT BAR — botón flotante de emergencia */
.urgent-bar{position:fixed;bottom:20px;right:20px;z-index:600;background:var(--red);color:#fff;border-radius:99px;padding:.85rem 1.4rem .85rem 1.1rem;display:inline-flex;align-items:center;gap:.65rem;font-family:'DM Sans',sans-serif;font-weight:600;font-size:.84rem;text-decoration:none;box-shadow:0 8px 28px rgba(239,68,68,.4);transition:transform .2s,box-shadow .2s;animation:urgentPulse 2.5s ease-in-out infinite}
.urgent-bar:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(239,68,68,.55)}
.urgent-bar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.urgent-bar .urgent-pulse{position:absolute;top:50%;left:1.45rem;transform:translateY(-50%);width:10px;height:10px;border-radius:50%;background:#fff;animation:urgentBlink 1.4s ease-in-out infinite}
@keyframes urgentPulse{0%,100%{box-shadow:0 8px 28px rgba(239,68,68,.4)}50%{box-shadow:0 12px 36px rgba(239,68,68,.7)}}
@keyframes urgentBlink{0%,100%{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.4;transform:translateY(-50%) scale(.7)}}
@media(max-width:680px){
  .urgent-bar{bottom:14px;right:14px;padding:.7rem 1.1rem .7rem .9rem;font-size:.78rem}
}

/* HAMBURGER MENU MÓVIL */
.nav-burger{display:none;background:none;border:none;cursor:pointer;width:38px;height:38px;align-items:center;justify-content:center;border-radius:8px;color:var(--navy);transition:background .15s}
.nav-burger:hover{background:rgba(15,37,71,.06)}
.nav-burger svg{width:22px;height:22px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.mobile-menu{position:fixed;top:68px;left:0;right:0;bottom:0;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);z-index:400;display:flex;flex-direction:column;padding:2rem 7%;transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .35s ease,opacity .25s ease}
.mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
.mobile-menu a{font-family:'Outfit',sans-serif;font-size:1.3rem;font-weight:500;color:var(--navy);padding:1rem 0;border-bottom:1px solid var(--border)}
.mobile-menu a:hover{color:var(--blue)}
.mobile-menu .mobile-cta{margin-top:1.5rem;background:var(--navy);color:#fff;padding:1rem;border-radius:8px;text-align:center;font-weight:600;border:none}

/* TESTIMONIOS */

.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.testi{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:1.8rem;display:flex;flex-direction:column;gap:1.1rem;transition:border-color .25s,box-shadow .25s,transform .2s}
.testi:hover{border-color:rgba(26,110,245,.25);box-shadow:0 8px 28px rgba(15,37,71,.08);transform:translateY(-2px)}
.testi-metric{display:flex;align-items:baseline;gap:.6rem;padding:.7rem 1rem;background:linear-gradient(135deg,rgba(26,110,245,.08),rgba(26,110,245,.02));border-radius:8px;border:1px solid rgba(26,110,245,.12)}
.testi-metric strong{font-family:'Outfit',sans-serif;font-weight:600;font-size:1.55rem;color:var(--blue);line-height:1;letter-spacing:-.02em}
.testi-metric span{font-size:.74rem;color:var(--muted);line-height:1.3}
.testi-quote{font-size:.92rem;line-height:1.65;color:var(--text);font-style:italic;position:relative;padding-left:1rem;border-left:3px solid var(--blue)}
.testi-author{display:flex;align-items:center;gap:.85rem;padding-top:1rem;border-top:1px solid var(--border)}
.testi-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Outfit',sans-serif;font-weight:600;font-size:1rem;flex-shrink:0}
.testi-info strong{display:block;font-size:.85rem;font-weight:700;color:var(--navy)}
.testi-info span{font-size:.74rem;color:var(--muted)}
.testi-disclaimer{margin-top:2.5rem;padding:.95rem 1.3rem;background:#fef9c3;border-left:3px solid var(--amber);border-radius:6px;font-size:.78rem;color:#78350f;line-height:1.6}

/* LEAD MAGNET */
#lead-magnet{background:linear-gradient(135deg,var(--navy) 0%,var(--navy2) 100%);color:#fff;padding:5rem 7%}
.lm-wrap{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;max-width:1100px;margin:0 auto}
.lm-eyebrow{display:inline-flex;align-items:center;gap:.5rem;padding:.32rem .9rem;border-radius:99px;background:rgba(26,110,245,.18);border:1px solid rgba(96,165,250,.3);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#93c5fd;margin-bottom:1.2rem}
#lead-magnet h2{font-size:clamp(1.7rem,2.6vw,2.3rem);color:#fff;margin-bottom:1rem;line-height:1.2}
#lead-magnet h2 em{font-style:italic;color:#60a5fa}
#lead-magnet p{color:rgba(255,255,255,.7);line-height:1.75;margin-bottom:1.8rem;font-size:.95rem}
.lm-bullets{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem}
.lm-bullets li{font-size:.86rem;color:rgba(255,255,255,.85);display:flex;gap:.6rem;align-items:flex-start;line-height:1.55;list-style:none}
.lm-bullets li::before{content:'✓';color:#60a5fa;font-weight:700;flex-shrink:0;font-size:1rem}
.lm-form{display:flex;gap:.6rem;flex-wrap:wrap}
.lm-input{flex:1;min-width:200px;padding:.85rem 1.1rem;border:1.5px solid rgba(255,255,255,.15);border-radius:8px;background:rgba(255,255,255,.08);color:#fff;font-family:'DM Sans',sans-serif;font-size:.92rem;outline:none;transition:border-color .2s,background .2s}
.lm-input::placeholder{color:rgba(255,255,255,.4)}
.lm-input:focus{border-color:#60a5fa;background:rgba(255,255,255,.13)}
.lm-btn{background:#fff;color:var(--navy);font-family:'DM Sans',sans-serif;font-weight:700;font-size:.9rem;padding:.85rem 1.7rem;border-radius:8px;border:none;cursor:pointer;transition:transform .15s,box-shadow .2s;white-space:nowrap}
.lm-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.lm-mock{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:2rem;display:flex;flex-direction:column;gap:1rem;backdrop-filter:blur(10px);position:relative}
.lm-mock::before{content:'PDF';position:absolute;top:-12px;right:1.5rem;background:var(--amber);color:#fff;font-family:'Outfit',sans-serif;font-weight:700;font-size:.7rem;padding:.25rem .8rem;border-radius:5px;letter-spacing:.05em}
.lm-mock-title{font-family:'Outfit',sans-serif;font-weight:600;font-size:1.05rem;color:#fff;line-height:1.3}
.lm-mock-meta{font-size:.74rem;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.08em}
.lm-mock-lines{display:flex;flex-direction:column;gap:.5rem;margin-top:.6rem}
.lm-mock-lines div{height:8px;background:rgba(255,255,255,.13);border-radius:4px}
.lm-mock-lines div:nth-child(1){width:90%}.lm-mock-lines div:nth-child(2){width:75%}.lm-mock-lines div:nth-child(3){width:85%}.lm-mock-lines div:nth-child(4){width:62%}.lm-mock-lines div:nth-child(5){width:78%}
.lm-form-note{font-size:.7rem;color:rgba(255,255,255,.4);margin-top:.7rem}

/* TARIFAS */
#tarifas{background:var(--white)}
.tarifas-header{text-align:center;max-width:600px;margin:0 auto 3.5rem}
.tarifas-header .section-title,.tarifas-header .section-sub{max-width:100%;margin-left:auto;margin-right:auto}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;max-width:1050px;margin:0 auto}
.plan{background:var(--bg);border:1px solid var(--border);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1.4rem;position:relative;transition:transform .25s,box-shadow .25s,border-color .25s}
.plan:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(15,37,71,.1)}
.plan.featured{border-color:var(--blue);background:#fff;box-shadow:0 4px 24px rgba(26,110,245,.1)}
.plan.featured::before{content:'Más popular';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--blue);color:#fff;font-family:'Outfit',sans-serif;font-weight:600;font-size:.7rem;padding:.32rem .9rem;border-radius:99px;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.plan h3{font-family:'Outfit',sans-serif;font-size:1.05rem;font-weight:700;color:var(--navy)}
.plan-desc{font-size:.82rem;color:var(--muted);line-height:1.55}
.plan-price{display:flex;align-items:baseline;gap:.4rem;padding-top:.5rem;border-top:1px solid var(--border)}
.plan-price-from{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.plan-price-amount{font-family:'Outfit',sans-serif;font-weight:600;font-size:1.7rem;color:var(--navy);line-height:1}
.plan-price-period{font-size:.78rem;color:var(--muted)}
.plan-features{display:flex;flex-direction:column;gap:.55rem;flex:1}
.plan-features li{font-size:.83rem;color:var(--text);display:flex;gap:.55rem;align-items:flex-start;line-height:1.5;list-style:none}
.plan-features li::before{content:'✓';color:var(--teal);font-weight:700;flex-shrink:0;font-size:.95rem;line-height:1.5}
.plan-cta{display:block;padding:.85rem;background:transparent;color:var(--navy);font-family:'DM Sans',sans-serif;font-weight:600;font-size:.86rem;text-align:center;border:1.5px solid var(--border);border-radius:8px;transition:background .15s,border-color .15s,color .15s}
.plan-cta:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.plan.featured .plan-cta{background:var(--navy);color:#fff;border-color:var(--navy)}
.plan.featured .plan-cta:hover{background:var(--navy2)}
.plan-note{margin-top:2rem;text-align:center;font-size:.78rem;color:var(--muted);max-width:560px;margin-left:auto;margin-right:auto}

/* RECURSOS / BLOG */

.recursos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.resource-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s,border-color .25s}
.resource-card:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(15,37,71,.1);border-color:transparent}
.resource-thumb{height:140px;background:linear-gradient(135deg,var(--navy),var(--blue));position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Outfit',sans-serif;font-weight:600}
.resource-thumb.thumb-2{background:linear-gradient(135deg,var(--teal),var(--emerald))}
.resource-thumb.thumb-3{background:linear-gradient(135deg,var(--purple),#a855f7)}
.resource-thumb svg{width:54px;height:54px;opacity:.9;stroke:#fff;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.resource-body{padding:1.4rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.resource-tag{font-size:.65rem;font-weight:700;letter-spacing:.1em;color:var(--blue);text-transform:uppercase}
.resource-card h3{font-size:1rem;font-weight:700;color:var(--navy);line-height:1.4}
.resource-card p{font-size:.8rem;color:var(--muted);line-height:1.6;flex:1}
.resource-link{font-size:.79rem;color:var(--navy);font-weight:600;display:inline-flex;align-items:center;gap:.35rem;margin-top:.4rem}
.resource-link::after{content:'→';transition:transform .2s}
.resource-card:hover .resource-link::after{transform:translateX(3px)}
.resource-status{display:inline-block;font-size:.65rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.18rem .55rem;border-radius:99px;background:#fef3c7;color:#b45309;margin-bottom:.3rem;align-self:flex-start}

/* FOUNDER / NOSOTROS EXPANDED */
.founder-card{background:var(--white);border:1px solid var(--border);border-radius:18px;padding:2.5rem;margin-top:3.5rem;display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}
.founder-photo{width:170px;height:170px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Outfit',sans-serif;font-size:3.5rem;font-weight:600;flex-shrink:0;position:relative;overflow:hidden;border:4px solid var(--white);box-shadow:0 12px 36px rgba(15,37,71,.18)}
.founder-photo-tag{position:absolute;bottom:-4px;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.95);font-size:.6rem;font-weight:700;color:var(--navy);padding:.18rem .55rem;border-radius:99px;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.founder-info h3{font-family:'Outfit',sans-serif;font-size:1.4rem;font-weight:600;color:#fff;margin-bottom:.25rem}
.founder-info .founder-role{font-size:.82rem;color:#93c5fd;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:1.1rem}
.founder-info p{color:rgba(255,255,255,.65);line-height:1.75;font-size:.92rem;margin-bottom:1rem}
.founder-info .founder-quote{font-style:italic;border-left:3px solid var(--blue);padding-left:1rem;color:rgba(255,255,255,.85)}

/* SECTORES */

.sectores-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.sector{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:transform .25s,box-shadow .25s,border-color .25s;text-align:center;position:relative;overflow:hidden}
.sector:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(15,37,71,.1);border-color:transparent}
.sector::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--blue);opacity:0;transition:opacity .25s}
.sector:hover::before{opacity:1}
.sector-icon{width:64px;height:64px;border-radius:14px;background:var(--blue-lt);display:flex;align-items:center;justify-content:center;margin:0 auto;color:var(--blue)}
.sector-icon svg{width:32px;height:32px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.sector h3{font-size:1.05rem;font-weight:700;color:var(--navy);margin:0}
.sector p{font-size:.85rem;color:var(--muted);line-height:1.65}
.sector-tags{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:.4rem}
.sector-tags span{font-size:.66rem;font-weight:600;padding:.18rem .55rem;border-radius:99px;background:var(--bg);color:var(--navy);border:1px solid var(--border)}

/* ROLES — segmentación por rol (estilo Smartekh) */
#roles{background:var(--navy);color:#fff}
#roles .section-title,#roles h3,#roles h4{color:#fff}
#roles .section-sub{color:rgba(255,255,255,.55)}
#roles .eyebrow-tag{background:rgba(26,110,245,.15);border-color:rgba(26,110,245,.3);color:#93c5fd}
.roles-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:3rem}
.role{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:2rem;display:flex;flex-direction:column;gap:1rem;transition:transform .25s,border-color .25s,background .25s}
.role:hover{transform:translateY(-3px);background:rgba(255,255,255,.06);border-color:rgba(96,165,250,.4)}
.role-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#93c5fd;align-self:flex-start;padding:.22rem .65rem;border-radius:99px;background:rgba(26,110,245,.15)}
.role h3{font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:-.01em}
.role-pain{font-size:.9rem;color:rgba(255,255,255,.7);font-style:italic;line-height:1.65}
.role-promise{font-size:.85rem;color:rgba(255,255,255,.85);line-height:1.7;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.08)}
.role-promise strong{color:#60a5fa;font-weight:700}
.role-hashtag{font-size:.7rem;font-weight:600;color:#60a5fa;letter-spacing:.05em;margin-top:.4rem;display:block}

/* PARTNERS / TECNOLOGIAS */

.partners-header{text-align:center;max-width:600px;margin:0 auto 2.5rem}
.partners-header .section-title,.partners-header .section-sub{max-width:100%;margin-left:auto;margin-right:auto}
.partners-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem;align-items:center;justify-items:center;max-width:1100px;margin:0 auto}
.partner{height:80px;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.3rem;color:var(--muted);font-family:'Outfit',sans-serif;font-weight:600;font-size:.85rem;transition:transform .2s,border-color .2s,color .2s,background .2s;padding:.8rem;text-align:center;line-height:1.15}
.partner:hover{transform:translateY(-2px);border-color:var(--blue);color:var(--navy);background:var(--white)}
.partner small{font-size:.6rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.partners-disclaimer{margin-top:2rem;padding:.95rem 1.3rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;font-size:.78rem;color:var(--muted);line-height:1.6;text-align:center;max-width:780px;margin-left:auto;margin-right:auto}

/* LOGO BAR (clientes) */
#clientes-bar{background:var(--white);padding:3rem 7%;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.clientes-wrap{max-width:1100px;margin:0 auto;text-align:center}
.clientes-label{font-size:.75rem;font-weight:600;letter-spacing:.12em;color:var(--muted);text-transform:uppercase;margin-bottom:1.5rem}
.clientes-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.2rem;align-items:center;justify-items:center}
.cliente-logo{height:54px;width:100%;background:var(--bg);border:1px dashed var(--border);border-radius:10px;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-weight:500;font-size:.74rem;color:var(--muted);text-align:center;padding:.5rem;line-height:1.2;transition:border-color .2s,color .2s}
.cliente-logo:hover{border-color:var(--blue);color:var(--navy);border-style:solid}
.clientes-note{margin-top:1.4rem;font-size:.74rem;color:var(--muted);font-style:italic}

/* TIMELINE */
.timeline{position:relative;margin-top:3rem;padding-left:2rem;border-left:2px solid var(--border)}
.tl-item{position:relative;padding-bottom:1.7rem}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:'';position:absolute;left:-2.55rem;top:.2rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--white);border:2px solid var(--blue)}
.tl-item.done::before{background:var(--blue)}
.tl-day{font-family:'Outfit',sans-serif;font-weight:600;font-size:.78rem;color:var(--blue);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.2rem}
.tl-title{font-family:'Outfit',sans-serif;font-size:1rem;font-weight:600;color:var(--navy);margin-bottom:.25rem}
.tl-desc{font-size:.83rem;color:var(--muted);line-height:1.6}

/* ── DISEÑO VISUAL DE SECCIONES ── */

/* Aspel — blanco limpio con borde superior accent */
#aspel{background:var(--white);border-top:4px solid var(--amber)}

/* CCTV — oscuro dramático con acento verde */
#cctv{background:#0a0f1e!important;color:#fff;position:relative;overflow:hidden}
#cctv::before{content:'';position:absolute;left:-150px;bottom:-150px;width:500px;height:500px;border-radius:50%;background:rgba(15,168,138,.06);pointer-events:none}
#cctv .eyebrow-tag{background:rgba(15,168,138,.18);border-color:rgba(15,168,138,.35);color:#5eead4}
#cctv .section-title{color:#fff}
#cctv .section-title em{color:#5eead4}
#cctv .section-sub{color:rgba(255,255,255,.5)}
#cctv .feat h4{color:#fff}
#cctv .feat p{color:rgba(255,255,255,.45)}
#cctv .feat .fi{color:#5eead4}

/* Zenda — degradado azul eléctrico sutil */
#Zenda{background:linear-gradient(135deg,#eef4ff 0%,#f0f9ff 60%,#f0fdf4 100%);border-top:3px solid var(--blue)}

/* Proceso — navy sólido con dot grid */
#proceso{background:var(--navy);color:#fff;position:relative;overflow:hidden}
#proceso::before{content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(26,110,245,.15) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
#proceso .eyebrow-tag{background:rgba(26,110,245,.18);border-color:rgba(26,110,245,.35);color:#93c5fd}
#proceso .section-title{color:#fff}
#proceso .section-title em{color:#60a5fa}
#proceso .section-sub{color:rgba(255,255,255,.55)}
#proceso .step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px}
#proceso .step h3{color:#fff}
#proceso .step p{color:rgba(255,255,255,.55)}
#proceso .step-num{color:rgba(26,110,245,.5)!important}

/* Sectores — fondo con línea superior amber */
#sectores{background:var(--white);border-top:4px solid var(--amber)}
#sectores .sector{background:var(--bg);border:1px solid var(--border)}
#sectores .sector:hover{border-color:var(--amber);box-shadow:0 8px 32px rgba(245,158,11,.1)}
#sectores .sector-icon{color:var(--amber)}

/* Roles — profundo navy con patrón */
#roles{background:var(--navy);color:#fff;position:relative;overflow:hidden}
#roles::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(26,110,245,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(26,110,245,.06) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}

/* Partners — blanco con tinte muy sutil */
#partners{background:var(--white)}

/* Testimonios — degradado marino sutil */
#testimonios{background:linear-gradient(160deg,#f0f6ff 0%,var(--white) 50%,#f0f9f6 100%)}

/* Recursos — fondo oscuro con destellos */
#recursos{background:var(--navy);color:#fff;position:relative;overflow:hidden}
#recursos::before{content:'';position:absolute;right:-80px;bottom:-80px;width:360px;height:360px;border-radius:50%;background:rgba(15,168,138,.08);pointer-events:none}
#recursos .eyebrow-tag{background:rgba(26,110,245,.18);border-color:rgba(26,110,245,.35);color:#93c5fd}
#recursos .section-title{color:#fff}
#recursos .section-title em{color:#60a5fa}
#recursos .section-sub{color:rgba(255,255,255,.55)}
#recursos .recurso{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
#recursos .recurso h3{color:#fff}
#recursos .recurso p{color:rgba(255,255,255,.5)}
#recursos .rec-tag{background:rgba(26,110,245,.2);color:#93c5fd;border:none}
#recursos .rec-link{color:#60a5fa}

/* Nosotros — ya era navy, agregamos pattern diagonal */
#nosotros{position:relative;overflow:hidden}
#nosotros::before{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,rgba(26,110,245,.04) 0px,rgba(26,110,245,.04) 1px,transparent 1px,transparent 28px);pointer-events:none}

/* PROCESO: ajuste de step cards en contexto oscuro */
.step{padding:1.8rem;border-radius:16px;transition:transform .25s,box-shadow .25s}
.step:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.25)}

/* SECTORES en fondo blanco: sector icon fondo amber suave */
.sector-icon{background:#fef3c7;border-radius:12px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.sector-icon svg{width:22px;height:22px}

/* Separadores decorativos entre secciones */
#servicios{border-bottom:1px solid var(--border)}
#aspel{border-bottom:1px solid rgba(245,158,11,.15)}
#partners{border-top:1px solid var(--border)}

/* RESPONSIVE */
@media(max-width:1050px){
  .hero,.two-col,.why-grid,.contact-wrap,.lm-wrap{grid-template-columns:1fr;gap:3rem}
  .services-grid,.testi-grid,.recursos-grid,.sectores-grid,.roles-grid{grid-template-columns:1fr 1fr}
  .partners-grid,.clientes-grid{grid-template-columns:repeat(3,1fr)}
  .steps-grid{grid-template-columns:1fr 1fr}
  .steps-grid::before{display:none}
  .cta-strip{grid-template-columns:1fr}
  .hero-mascot{display:none}
  .hero{min-height:auto;padding-top:8rem;padding-bottom:5rem}
}
@media(max-width:680px){
  section,#lead-magnet,#clientes-bar{padding:5rem 5%}
  .services-grid,.testi-grid,.recursos-grid,.sectores-grid,.roles-grid{grid-template-columns:1fr}
  .partners-grid,.clientes-grid{grid-template-columns:repeat(2,1fr)}
  .feat-grid,.sie-feats,.why-certs{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr 1fr}
  .nav-links{display:none}
  .nav-burger{display:flex}
  .cta-strip{padding:3.5rem 5%}
  .lm-form{flex-direction:column}
  .lm-input,.lm-btn{width:100%}
  nav{padding:0 5%}
  #clientes-bar{padding:2.5rem 5%}
}
@media(max-width:880px){
  .nav-links{display:none}
  .nav-burger{display:flex}
}
