:root{
    --bg:#dde8ff;--bg-2:#e9f0ff;--surface:#eef3ff;--surface-d:#dce6fb;
    --ink:#26315a;--ink-2:#566091;--muted:#8a93b8;
    --blue:#4f7cff;--blue-d:#3a5fd9;--cyan:#3fc8ff;--mint:#54e0c0;--peach:#ffb27a;--lilac:#9d8cff;
    --r:26px;--r-sm:18px;
    --clay:8px 8px 18px rgba(60,90,180,.22),-8px -8px 18px rgba(255,255,255,.85),inset 2px 2px 5px rgba(255,255,255,.7),inset -3px -3px 8px rgba(60,90,180,.12);
    --clay-press:inset 5px 5px 12px rgba(60,90,180,.22),inset -5px -5px 12px rgba(255,255,255,.85);
    --maxw:1160px;font-family:'Nunito',system-ui,sans-serif;
  }
  *{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
  body{background:radial-gradient(120% 80% at 50% -10%,#eaf1ff,var(--bg));color:var(--ink);line-height:1.6}
  h1,h2,h3,.disp{font-family:'Baloo 2',cursive;line-height:1.08;font-weight:800;letter-spacing:-.01em}
  a{color:inherit;text-decoration:none}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
  :focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:10px}::selection{background:var(--blue);color:#fff}

  header{position:sticky;top:14px;z-index:50;margin-top:14px}
  nav{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 18px;border-radius:999px;background:var(--surface);box-shadow:var(--clay)}
  .brand{display:flex;align-items:center;gap:10px;font-family:'Baloo 2';font-weight:800;font-size:1.2rem}
  .logo{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:inset 2px 2px 4px rgba(255,255,255,.5),inset -3px -3px 6px rgba(0,0,40,.2),4px 4px 10px rgba(60,90,180,.3)}
  .logo svg{width:22px;height:22px;stroke:#fff}
  .nav-links{display:flex;gap:26px;color:var(--ink-2);font-weight:600;font-size:.95rem}.nav-links a:hover{color:var(--blue)}
  .btn{display:inline-flex;align-items:center;gap:8px;font-family:'Baloo 2';font-weight:700;font-size:.98rem;padding:11px 22px;border-radius:999px;cursor:pointer;border:none;transition:transform .12s,box-shadow .15s}
  .btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;box-shadow:5px 5px 14px rgba(60,90,180,.4),inset 2px 2px 4px rgba(255,255,255,.3),inset -2px -2px 5px rgba(0,0,40,.2)}
  .btn-primary:hover{transform:translateY(-2px)}.btn-primary:active{transform:translateY(1px);box-shadow:inset 4px 4px 10px rgba(0,0,40,.3)}
  .btn-soft{background:var(--surface);color:var(--ink);box-shadow:var(--clay)}.btn-soft:hover{transform:translateY(-2px)}.btn-soft:active{box-shadow:var(--clay-press)}
  .menu-btn{display:none;border:none;background:var(--surface);box-shadow:var(--clay);width:46px;height:46px;border-radius:14px;cursor:pointer;color:var(--ink)}

  /* confían (carrusel de logos) */
  .carousel{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
  .car-track{display:flex;gap:22px;width:max-content;animation:carrusel 32s linear infinite}
  .carousel:hover .car-track{animation-play-state:paused}
  @keyframes carrusel{to{transform:translateX(-50%)}}
  .car-item{flex:0 0 auto;width:200px;height:100px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#ffffff,#eef3ff);border-radius:var(--r-sm);box-shadow:var(--clay);padding:16px;transition:transform .2s}
  .car-item:hover{transform:translateY(-4px)}
  .car-item img{width:100%;height:64px;object-fit:contain;object-position:center}
  .car-name{font-family:'Baloo 2';font-weight:700;font-size:1.15rem;color:var(--ink-2);text-align:center}

  /* HERO */
  .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:30px 0 18px}
  .pill{display:inline-flex;align-items:center;gap:8px;font-family:'Baloo 2';font-weight:700;font-size:.85rem;color:var(--blue-d);background:var(--surface);padding:9px 16px;border-radius:999px;box-shadow:var(--clay)}
  .pill .e{font-size:1rem}
  h1{font-size:clamp(2.6rem,6vw,4.3rem);margin:22px 0 16px}
  h1 .g{background:linear-gradient(120deg,var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
  .lead{font-size:1.16rem;color:var(--ink-2);max-width:46ch;margin-bottom:28px;font-weight:500}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:26px}
  .chips{display:flex;gap:10px;flex-wrap:wrap}
  .chip{font-family:'Baloo 2';font-weight:600;font-size:.82rem;color:var(--ink-2);background:var(--surface);padding:8px 14px;border-radius:999px;box-shadow:var(--clay)}

  /* clay terminal (adaptado de V13) */
  .term-stage{perspective:1300px;padding:6px;position:relative;z-index:0}
  .term-stage::before{content:"";position:absolute;inset:-22px;z-index:-1;border-radius:48px;background:conic-gradient(from 0deg,#4f7cff,#3fc8ff,#9d8cff,#54e0c0,#ffb27a,#4f7cff);filter:blur(38px);opacity:.5;animation:auraSpin 14s linear infinite}
  .term-stage::after{content:"";position:absolute;inset:-8px;z-index:-1;border-radius:36px;background:radial-gradient(closest-side,rgba(79,124,255,.38),transparent);filter:blur(20px);opacity:.75;animation:auraPulse 4.5s ease-in-out infinite}
  @keyframes auraSpin{to{transform:rotate(360deg)}}
  @keyframes auraPulse{50%{opacity:.4;transform:scale(1.06)}}
  .term::after{content:"";position:absolute;top:0;left:0;width:55%;height:100%;z-index:4;pointer-events:none;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.45) 50%,transparent 100%);transform:translateX(-170%) skewX(-12deg);animation:termShine 6.5s ease-in-out infinite}
  @keyframes termShine{0%,70%{transform:translateX(-170%) skewX(-12deg)}86%,100%{transform:translateX(280%) skewX(-12deg)}}
  .term{position:relative;display:flex;flex-direction:column;height:480px;transform-style:preserve-3d;transform:rotateY(-7deg) rotateX(4deg);transition:transform .3s;border-radius:var(--r);background:var(--surface);box-shadow:18px 18px 40px rgba(60,90,180,.32),-10px -10px 26px rgba(255,255,255,.85),inset 2px 2px 5px rgba(255,255,255,.7),inset -3px -3px 8px rgba(60,90,180,.12);overflow:hidden}
  .term-bar{flex:0 0 auto;display:flex;align-items:center;gap:8px;padding:14px 18px;background:var(--surface-d);border-bottom:1px solid rgba(60,90,180,.12)}
  .term-bar i{width:13px;height:13px;border-radius:50%;box-shadow:inset 1px 1px 2px rgba(255,255,255,.6),inset -1px -1px 2px rgba(0,0,50,.15)}
  .term-bar i:nth-child(1){background:var(--peach)}.term-bar i:nth-child(2){background:#ffd86b}.term-bar i:nth-child(3){background:var(--mint)}
  .term-bar span{margin-left:8px;font-family:'Baloo 2';font-weight:600;font-size:.85rem;color:var(--ink-2)}
  .term-body{padding:18px;flex:1 1 auto;min-height:0;overflow-y:auto;font-size:.9rem;line-height:1.6;background:var(--bg-2);scroll-behavior:smooth}
  .term-body::-webkit-scrollbar{width:8px}.term-body::-webkit-scrollbar-thumb{background:rgba(60,90,180,.2);border-radius:8px}
  /* chat bubbles */
  .msg{display:flex;margin:8px 0}.msg.bot{justify-content:flex-start}.msg.user{justify-content:flex-end}
  .bubble{max-width:84%;padding:10px 15px;border-radius:18px;font-family:'Nunito',sans-serif;font-size:.92rem;line-height:1.5;font-weight:500}
  .msg.bot .bubble{background:var(--surface);color:var(--ink);border-bottom-left-radius:6px;box-shadow:4px 4px 10px rgba(60,90,180,.16),-3px -3px 8px rgba(255,255,255,.8)}
  .msg.user .bubble{background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;border-bottom-right-radius:6px;box-shadow:4px 4px 10px rgba(60,90,180,.3)}
  .cursor{display:inline-block;width:7px;height:1em;background:var(--blue);vertical-align:-1px;border-radius:2px;animation:cblink 1.1s steps(1) infinite}
  @keyframes cblink{50%{opacity:0}}
  /* controls */
  .cmds{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:10px;padding:16px 18px;background:var(--surface);max-height:140px;overflow-y:auto}
  .cmd{font-family:'Baloo 2';font-weight:600;font-size:.82rem;color:var(--blue-d);border:none;background:var(--surface);padding:9px 15px;border-radius:999px;cursor:pointer;box-shadow:var(--clay);transition:transform .12s,box-shadow .12s}
  .cmd:hover{transform:translateY(-2px)}.cmd:active{box-shadow:var(--clay-press)}
  .chatform{display:flex;gap:8px;width:100%}
  .chatform input{flex:1;min-width:0;border:none;background:var(--bg-2);box-shadow:var(--clay-press);border-radius:999px;padding:11px 16px;font-family:'Nunito',sans-serif;font-size:.92rem;color:var(--ink)}
  .chatform input:focus{outline:2px solid var(--blue)}
  .send{font-family:'Baloo 2';font-weight:700;font-size:.85rem;color:#fff;border:none;background:linear-gradient(135deg,var(--blue),var(--blue-d));padding:11px 18px;border-radius:999px;cursor:pointer;box-shadow:4px 4px 10px rgba(60,90,180,.3)}
  .wa-btn{display:inline-flex;align-items:center;gap:8px;font-family:'Baloo 2';font-weight:700;font-size:.92rem;color:#fff;background:linear-gradient(135deg,#25d366,#14a44a);padding:12px 20px;border-radius:999px;text-decoration:none;box-shadow:5px 5px 14px rgba(20,160,80,.4);transition:transform .12s}
  .wa-btn:hover{transform:translateY(-2px)}
  .term-cap{text-align:center;color:var(--muted);font-weight:600;font-size:.85rem;margin-top:14px}

  section{padding:48px 0}
  .sec-head{text-align:center;max-width:60ch;margin:0 auto 30px}.sec-head .pill{margin-bottom:14px}
  h2{font-size:clamp(2rem,4.4vw,3rem)}.sec-head p{color:var(--ink-2);margin-top:14px;font-size:1.06rem;font-weight:500}

  .services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .svc{background:var(--surface);border-radius:var(--r);padding:28px 22px;box-shadow:var(--clay);transition:transform .25s}
  .svc:hover{transform:translateY(-8px)}
  .svc .ic{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;margin-bottom:16px;box-shadow:inset 2px 2px 4px rgba(255,255,255,.5),inset -3px -3px 7px rgba(0,0,50,.18),5px 5px 10px rgba(60,90,180,.25)}
  .svc:nth-child(1) .ic{background:linear-gradient(135deg,var(--blue),var(--blue-d))}
  .svc:nth-child(2) .ic{background:linear-gradient(135deg,var(--cyan),#2aa8e0)}
  .svc:nth-child(3) .ic{background:linear-gradient(135deg,var(--mint),#2bbf9e)}
  .svc:nth-child(4) .ic{background:linear-gradient(135deg,var(--lilac),#7a64e0)}
  .svc .ic svg{width:30px;height:30px;stroke:#fff}
  .svc h3{font-size:1.24rem;margin-bottom:6px}.svc p{color:var(--ink-2);font-size:.93rem;font-weight:500}

  .feat{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
  .feat-img{border-radius:var(--r);overflow:hidden;aspect-ratio:5/4;background:var(--surface);box-shadow:var(--clay);position:relative}
  .feat-img img{width:100%;height:100%;object-fit:cover}
  .feat-list{margin-top:22px;display:flex;flex-direction:column;gap:16px}
  .fl{display:flex;gap:14px;align-items:center}
  .fl .chk{flex:0 0 auto;width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--mint),#2bbf9e);box-shadow:inset 2px 2px 4px rgba(255,255,255,.5),inset -2px -2px 5px rgba(0,0,50,.15),4px 4px 8px rgba(60,90,180,.22)}
  .fl .chk svg{width:20px;height:20px;stroke:#fff}
  .fl h4{font-family:'Baloo 2';font-size:1.08rem}.fl p{color:var(--ink-2);font-size:.92rem;font-weight:500}

  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
  .stat{background:var(--surface);border-radius:var(--r);padding:32px 18px;text-align:center;box-shadow:var(--clay)}
  .stat .num{font-family:'Baloo 2';font-size:clamp(2.2rem,4.5vw,3rem);background:linear-gradient(120deg,var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
  .stat .lbl{color:var(--ink-2);font-weight:600;font-size:.9rem;margin-top:2px}

  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .q{background:var(--surface);border-radius:var(--r);padding:26px;box-shadow:var(--clay)}
  .q .st{color:var(--peach);font-size:1.05rem;letter-spacing:2px}
  .q p{font-weight:600;margin:12px 0 16px;color:var(--ink)}
  .q .who{display:flex;align-items:center;gap:12px}.q .who img{width:46px;height:46px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--blue),var(--cyan));box-shadow:var(--clay)}
  .q .who b{display:block;font-family:'Baloo 2'}.q .who span{color:var(--muted);font-size:.82rem;font-weight:600}

  .cta{border-radius:34px;background:linear-gradient(135deg,var(--blue),var(--lilac));color:#fff;padding:64px 36px;text-align:center;box-shadow:14px 14px 34px rgba(60,90,180,.4),inset 3px 3px 8px rgba(255,255,255,.3),inset -4px -4px 12px rgba(0,0,50,.2)}
  .cta h2{margin-bottom:14px}
  .cta p{font-weight:500;max-width:50ch;margin:0 auto 26px;color:rgba(255,255,255,.92)}
  .cta .hero-cta{justify-content:center;margin-bottom:0}
  .cta .btn-soft{background:#fff;color:var(--blue-d)}
  .cta .btn-primary{background:rgba(255,255,255,.18);box-shadow:inset 2px 2px 5px rgba(255,255,255,.3),inset -2px -2px 6px rgba(0,0,50,.2)}

  footer{padding:54px 0 30px;color:var(--ink-2)}
  .foot{background:var(--surface);border-radius:var(--r);padding:38px;box-shadow:var(--clay);display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:30px}
  .foot h5{font-family:'Baloo 2';color:var(--ink);font-size:1rem;margin-bottom:12px}
  .foot a{display:block;font-size:.9rem;margin-bottom:8px;color:var(--ink-2);font-weight:500}.foot a:hover{color:var(--blue)}
  .foot p{font-size:.92rem;max-width:32ch;font-weight:500}
  .copy{margin-top:24px;text-align:center;font-size:.85rem;color:var(--muted);font-weight:600}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}.reveal.in{opacity:1;transform:none}

  @media(max-width:1000px){.hero,.feat{grid-template-columns:1fr;gap:36px}.services{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.quotes{grid-template-columns:1fr}.foot{grid-template-columns:1fr 1fr}.nav-links,.nav .btn-soft{display:none}.menu-btn{display:grid;place-items:center}.term{transform:none}}
  @media(max-width:560px){.services,.stats,.foot{grid-template-columns:1fr}.term{height:430px}}
  @media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}.term{transform:none}}
  .chat-fab{position:fixed;right:20px;bottom:20px;z-index:90;display:none;align-items:center;gap:9px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--blue),var(--blue-d));color:#fff;font-family:'Baloo 2';font-weight:700;font-size:.95rem;padding:14px 20px;border-radius:999px;box-shadow:6px 6px 18px rgba(60,90,180,.5);transition:transform .15s}
  .chat-fab.show{display:inline-flex;animation:fabin .35s ease}
  .chat-fab:hover{transform:translateY(-2px)}
  @keyframes fabin{from{opacity:0;transform:translateY(24px)}}
  .chat-fab svg{width:22px;height:22px;stroke:#fff}.chat-fab .fab-ic{font-size:22px;line-height:1}
  .chat-modal{position:fixed;inset:0;z-index:95;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(20,30,70,.55);backdrop-filter:blur(6px)}
  .chat-modal.open{display:flex;animation:fabin .25s ease}
  .chat-modal .panel{position:relative;width:100%;max-width:560px}
  .chat-modal .term{transform:none}
  .chat-modal .term-cap{display:none}
  .chat-close{position:absolute;top:-16px;right:-4px;z-index:3;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;background:var(--surface);box-shadow:var(--clay);color:var(--ink);display:grid;place-items:center}
  .chat-close:hover{transform:translateY(-2px)}
  .chat-close svg{width:20px;height:20px;stroke:var(--ink)}
  .fab-bot{position:fixed;right:18px;bottom:86px;z-index:91;display:flex;align-items:flex-end;gap:8px;opacity:0;transform:translateY(16px) scale(.92);transition:opacity .4s,transform .4s;pointer-events:none}
  .fab-bot.show{opacity:1;transform:none;pointer-events:auto}
  .fab-bot .fb-img{width:92px;height:auto;cursor:pointer;filter:drop-shadow(0 10px 16px rgba(60,90,180,.4));animation:botFloat 2.2s ease-in-out infinite}
  .fab-bot .fb-emoji{display:block;font-size:62px;line-height:1;cursor:pointer;filter:drop-shadow(0 8px 12px rgba(60,90,180,.4))}
  .fab-bot .fb-bubble{max-width:185px;background:var(--surface);color:var(--ink);font-family:'Baloo 2';font-weight:700;font-size:.86rem;line-height:1.3;padding:10px 14px;border-radius:16px 16px 4px 16px;box-shadow:var(--clay);cursor:pointer}
  @keyframes botFloat{50%{transform:translateY(-8px)}}
/* Tóner destacado + marcas */
.svc-feat{grid-column:1/-1;display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}
.svc-badge{display:inline-block;font-family:'Baloo 2';font-weight:700;font-size:.82rem;color:var(--blue-d);background:rgba(79,124,255,.12);padding:6px 14px;border-radius:999px;margin:0 0 10px}
.svc-cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:'Baloo 2';font-weight:700;font-size:.92rem;color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-d));padding:11px 20px;border-radius:999px;box-shadow:5px 5px 14px rgba(60,90,180,.4);text-decoration:none;transition:transform .12s}
.svc-cta:hover{transform:translateY(-2px)}
.svc-cta-soft{background:var(--surface);color:var(--blue-d);box-shadow:var(--clay)}
.brands{display:flex;flex-wrap:wrap;gap:12px;align-content:center;justify-content:center}
.brands .brand{background:#fff;border-radius:14px;box-shadow:var(--clay);height:54px;min-width:92px;display:flex;align-items:center;justify-content:center;padding:8px 14px}
.brands .brand img{max-height:30px;max-width:80px;object-fit:contain}
.brands .brand b{display:none;font-family:'Baloo 2';color:var(--ink-2);font-size:.92rem}
@media(max-width:1000px){.svc-feat{grid-template-columns:1fr}}

/* Landing Page 3D */
.l3d{border-radius:34px;background:linear-gradient(135deg,var(--blue),var(--lilac));color:#fff;padding:48px;display:grid;grid-template-columns:1.3fr .7fr;gap:30px;align-items:center;box-shadow:14px 14px 34px rgba(60,90,180,.4),inset 3px 3px 8px rgba(255,255,255,.3),inset -4px -4px 12px rgba(0,0,50,.2)}
.l3d h2{margin:14px 0 12px}
.l3d p{color:rgba(255,255,255,.92);font-weight:500}
.l3d .pill{background:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.l3d .svc-cta{background:#fff;color:var(--blue-d)}
.l3d-visual{font-size:7rem;text-align:center;animation:botFloat 3s ease-in-out infinite}
@media(max-width:1000px){.l3d{grid-template-columns:1fr;padding:32px}.l3d-visual{display:none}}

/* Boton WhatsApp en footer */
.foot-wa{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#25d366,#14a44a);color:#fff;font-family:'Baloo 2';font-weight:700;font-size:.88rem;padding:9px 16px;border-radius:999px;box-shadow:4px 4px 12px rgba(20,160,80,.35);text-decoration:none;transition:transform .12s}
.foot-wa:hover{transform:translateY(-2px)}
.foot-wa svg{width:18px;height:18px;fill:#fff}
