/* =========================================================
   IDEALAB — EFFECTS  (keyframes del audit + clases de efecto)
   ========================================================= */

/* ---------- keyframes ---------- */
@keyframes ix-reveal{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes ix-gradient{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes ix-spin{to{transform:rotate(360deg)}}
@keyframes ix-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
@keyframes ix-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes ix-pulse-glow{0%,100%{filter:drop-shadow(0 0 14px rgba(44,255,5,.35))}50%{filter:drop-shadow(0 0 30px rgba(44,255,5,.7))}}
@keyframes ix-pop{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}

/* ---------- scroll reveal ---------- */
.ix-reveal{opacity:0;transform:translateY(28px);will-change:opacity,transform}
.ix-reveal.is-visible{animation:ix-reveal .6s var(--ix-ease) forwards}
.ix-reveal-group.is-visible>*{animation:ix-reveal .6s var(--ix-ease) both}
.ix-reveal-group.is-visible>*:nth-child(2){animation-delay:.06s}
.ix-reveal-group.is-visible>*:nth-child(3){animation-delay:.12s}
.ix-reveal-group.is-visible>*:nth-child(4){animation-delay:.18s}
.ix-reveal-group.is-visible>*:nth-child(5){animation-delay:.24s}
.ix-reveal-group.is-visible>*:nth-child(6){animation-delay:.3s}
.ix-reveal-group.is-visible>*:nth-child(n+7){animation-delay:.36s}

/* ---------- gradiente animado (texto/acento) ---------- */
.ix-grad-animate{
  background:linear-gradient(120deg,var(--ix-green),var(--ix-green-mint),#7af8ff,var(--ix-green));
  background-size:300% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:ix-gradient 8s ease infinite;
}

/* ---------- glow orbs (decorativo girando, tipo halo del bombillo) ---------- */
.ix-glow-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.5;pointer-events:none;z-index:0;
  background:radial-gradient(circle,rgba(44,255,5,.45),transparent 70%);animation:ix-spin 26s linear infinite}
.ix-glow-orb--slow{animation-duration:40s}
.ix-float{animation:ix-float 6s ease-in-out infinite}
.ix-pulse-glow{animation:ix-pulse-glow 2.6s ease-in-out infinite}

/* ---------- tilt (Atropos) ---------- */
.atropos{width:100%}
.atropos-inner{border-radius:var(--r-lg);overflow:visible}
.ix-tilt .atropos-highlight{border-radius:var(--r-lg)}
.ix-tilt:hover .atropos-inner{box-shadow:var(--ix-glow)}

/* ---------- shimmer (skeleton de carga de imágenes) ---------- */
.ix-shimmer{background:linear-gradient(100deg,var(--ix-surface) 30%,var(--ix-surface-2) 50%,var(--ix-surface) 70%);
  background-size:200% 100%;animation:ix-shimmer 1.5s linear infinite}

/* ---------- marquesina ---------- */
.ix-marquee{overflow:hidden;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.ix-marquee__track{display:inline-flex;gap:var(--sp-7);animation:ix-marquee 28s linear infinite}
@keyframes ix-marquee{to{transform:translateX(-50%)}}

/* =========================================================
   WhatsApp flotante (spec del audit: fixed, right20 bottom24, pill, shadow)
   ========================================================= */
.ix-whatsapp{
  position:fixed;right:20px;bottom:24px;z-index:19;
  width:58px;height:58px;display:flex;align-items:center;justify-content:center;
  background:var(--ix-green);color:var(--ix-on-green);border-radius:var(--r-pill);
  box-shadow:0 8px 24px rgba(0,0,0,.35),var(--ix-glow);
  transition:transform .2s var(--ix-ease),box-shadow .2s var(--ix-ease);
}
.ix-whatsapp:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 28px rgba(0,0,0,.4),var(--ix-glow-strong)}

/* =========================================================
   MODAL (detalle de servicio)
   ========================================================= */
.ix-modal{position:fixed;inset:0;z-index:var(--z-modal);display:none;place-items:center;padding:var(--ix-gutter)}
.ix-modal.is-open{display:grid}
.ix-modal__scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
.ix-modal__panel{position:relative;max-width:560px;width:100%;padding:var(--sp-6);
  background:#141417;border:1px solid var(--ix-border-strong);border-radius:var(--r-lg);
  box-shadow:var(--ix-shadow);animation:ix-pop .26s var(--ix-ease)}
.ix-modal__close{position:absolute;top:14px;right:14px;width:40px;height:40px;display:grid;place-items:center;
  background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r-pill);color:var(--ix-text);cursor:pointer}
.ix-modal__close:hover{border-color:var(--ix-green);color:var(--ix-green)}

/* =========================================================
   prefers-reduced-motion → estados finales estáticos
   ========================================================= */
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .ix-reveal,.ix-reveal-group>*{opacity:1!important;transform:none!important}
  .ix-glow-orb,.ix-float,.ix-pulse-glow,.ix-grad-animate,.ix-marquee__track{animation:none!important}
  .ix-grad-animate{color:var(--ix-green)}
}

/* ========================= HEADER GLOBAL (nav) ========================= */
.ix-nav{position:sticky;top:0;z-index:var(--z-nav);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px clamp(16px,5vw,48px);background:rgba(10,10,10,.55);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid transparent;transition:background .25s,border-color .25s}
.ix-nav.is-scrolled{background:rgba(10,10,10,.85);border-bottom-color:var(--ix-border)}
.ix-nav__brand{font-family:var(--ix-font-display);font-weight:800;font-size:1.15rem;letter-spacing:-.02em;color:#fff;text-decoration:none;display:inline-flex;align-items:baseline;gap:6px}
.ix-nav__brand b{color:var(--ix-green)}
.ix-nav__brand span{font-family:var(--ix-font-mono);font-size:.55rem;letter-spacing:.22em;color:var(--ix-text-3)}
.ix-nav__menu{display:flex;align-items:center;gap:22px}
.ix-nav__menu>a{color:var(--ix-text-2);font-size:.95rem;font-weight:500}
.ix-nav__menu>a:hover,.ix-nav__menu>a[aria-current=page]{color:var(--ix-green)}
.ix-nav__cta{color:var(--ix-on-green)!important;font-size:.92rem;padding:9px 18px;min-height:40px}
.ix-nav__wa{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:var(--r-pill);border:1px solid var(--ix-border);color:var(--ix-green)}
.ix-nav__wa:hover{border-color:var(--ix-green);background:rgba(44,255,5,.1)}
.ix-nav__drop{position:relative}
.ix-nav__dropbtn{background:none;border:none;color:var(--ix-text-2);font-family:var(--ix-font-body);font-size:.95rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px;padding:0}
.ix-nav__dropbtn:hover{color:var(--ix-green)}
.ix-nav__panel{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);min-width:210px;background:#141417;border:1px solid var(--ix-border-strong);border-radius:var(--r);box-shadow:var(--ix-shadow);padding:8px;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:opacity .2s,transform .2s,visibility .2s;z-index:10}
.ix-nav__drop:hover .ix-nav__panel,.ix-nav__drop:focus-within .ix-nav__panel,.ix-nav__drop.is-open .ix-nav__panel{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.ix-nav__panel a{color:var(--ix-text-2);padding:10px 12px;border-radius:8px;font-size:.92rem}
.ix-nav__panel a:hover{background:var(--ix-surface);color:var(--ix-green)}
.ix-nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.ix-nav__toggle span{width:24px;height:2px;background:var(--ix-text);border-radius:2px;transition:.25s}
.ix-nav.is-open .ix-nav__toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.ix-nav.is-open .ix-nav__toggle span:nth-child(2){opacity:0}
.ix-nav.is-open .ix-nav__toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:920px){
  .ix-nav__toggle{display:flex}
  .ix-nav__menu{position:fixed;inset:62px 0 auto 0;flex-direction:column;align-items:stretch;gap:2px;background:rgba(10,10,10,.98);backdrop-filter:blur(16px);padding:16px clamp(16px,5vw,48px) 28px;border-bottom:1px solid var(--ix-border);transform:translateY(-14px);opacity:0;visibility:hidden;transition:.25s}
  .ix-nav.is-open .ix-nav__menu{transform:none;opacity:1;visibility:visible}
  .ix-nav__menu>a,.ix-nav__dropbtn{padding:13px 4px;font-size:1.05rem}
  .ix-nav__drop{width:100%}
  .ix-nav__panel{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:none;background:rgba(255,255,255,.03);min-width:0;margin:0 0 8px;display:none}
  .ix-nav__drop.is-open .ix-nav__panel{display:flex}
  .ix-nav__cta{text-align:center;margin-top:10px}
  .ix-nav__wa{width:auto;justify-content:center;gap:8px;margin-top:6px}
}
/* ========================= FOOTER GLOBAL ========================= */
.ix-foot{border-top:1px solid var(--ix-border);background:#0b0b0d;padding:clamp(48px,7vw,80px) clamp(16px,5vw,48px) 28px;margin-top:40px}
.ix-foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:36px;max-width:1200px;margin:0 auto}
.ix-foot__brand p{max-width:40ch;margin-top:14px}
.ix-foot a{color:var(--ix-text-2);display:block;margin:7px 0;font-size:.92rem}
.ix-foot a:hover{color:var(--ix-green)}
.ix-foot .ix-eyebrow{margin-bottom:6px}
.ix-foot__social{display:flex;gap:14px;margin-top:12px}
.ix-foot__social a{display:inline}
.ix-foot__legal{text-align:center;color:var(--ix-text-3);font-size:.8rem;margin-top:48px;border-top:1px solid var(--ix-border);padding-top:24px;max-width:1200px;margin-inline:auto}
@media(max-width:860px){.ix-foot__grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ix-foot__grid{grid-template-columns:1fr}}
:target{scroll-margin-top:90px}

/* ===== Logo icono ===== */
.ix-nav__brand{align-items:center}
.ix-nav__brand::before{content:'';width:30px;height:30px;flex:0 0 auto;background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDAiIHpvb21BbmRQYW49Im1hZ25pZnkiIHZpZXdCb3g9IjAgMCAzNzUgMzc0Ljk5OTk5MSIgaGVpZ2h0PSI0MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmVyc2lvbj0iMS4wIj48ZGVmcz48Zy8+PGNsaXBQYXRoIGlkPSI2N2ZhMjQxY2ExIj48cGF0aCBkPSJNIDIyNiAyMTUgTCAzMDQuNDYwOTM4IDIxNSBMIDMwNC40NjA5MzggMzAxLjI4OTA2MiBMIDIyNiAzMDEuMjg5MDYyIFogTSAyMjYgMjE1ICIgY2xpcC1ydWxlPSJub256ZXJvIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjRlYWJiZmNlZmUiPjxwYXRoIGQ9Ik0gNzAuNDYwOTM4IDIxNSBMIDE0OCAyMTUgTCAxNDggMzAxLjI4OTA2MiBMIDcwLjQ2MDkzOCAzMDEuMjg5MDYyIFogTSA3MC40NjA5MzggMjE1ICIgY2xpcC1ydWxlPSJub256ZXJvIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImYzMDAwZWI1NTkiPjxwYXRoIGQ9Ik0gMjE4IDY3LjI4OTA2MiBMIDMwNC40NjA5MzggNjcuMjg5MDYyIEwgMzA0LjQ2MDkzOCAxNTQgTCAyMTggMTU0IFogTSAyMTggNjcuMjg5MDYyICIgY2xpcC1ydWxlPSJub256ZXJvIi8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9IjBjZDdlMGFiMDMiPjxwYXRoIGQ9Ik0gNzAuNDYwOTM4IDY3LjI4OTA2MiBMIDE1NyA2Ny4yODkwNjIgTCAxNTcgMTU0IEwgNzAuNDYwOTM4IDE1NCBaIE0gNzAuNDYwOTM4IDY3LjI4OTA2MiAiIGNsaXAtcnVsZT0ibm9uemVybyIvPjwvY2xpcFBhdGg+PGNsaXBQYXRoIGlkPSJiYzkwM2U0MjllIj48cmVjdCB4PSIwIiB3aWR0aD0iNDYiIHk9IjAiIGhlaWdodD0iMTc0Ii8+PC9jbGlwUGF0aD48L2RlZnM+PGcgY2xpcC1wYXRoPSJ1cmwoIzY3ZmEyNDFjYTEpIj48cGF0aCBmaWxsPSIjMmNmZjA1IiBkPSJNIDI5Ni43MjY1NjIgMjE1LjUzNTE1NiBDIDI5Mi40MTQwNjIgMjE1LjUzNTE1NiAyODguOTI1NzgxIDIxOS4wMjM0MzggMjg4LjkyNTc4MSAyMjMuMzM1OTM4IEwgMjg4LjkyNTc4MSAyODUuNzUzOTA2IEwgMjM0Ljc4OTA2MiAyODUuNzUzOTA2IEMgMjMwLjQ3NjU2MiAyODUuNzUzOTA2IDIyNi45ODQzNzUgMjg5LjI0NjA5NCAyMjYuOTg0Mzc1IDI5My41NTg1OTQgQyAyMjYuOTg0Mzc1IDI5Ny44NzEwOTQgMjMwLjQ3NjU2MiAzMDEuMzU5Mzc1IDIzNC43ODkwNjIgMzAxLjM1OTM3NSBMIDI5Ni43MjY1NjIgMzAxLjM1OTM3NSBDIDMwMS4wMzkwNjIgMzAxLjM1OTM3NSAzMDQuNTMxMjUgMjk3Ljg3MTA5NCAzMDQuNTMxMjUgMjkzLjU1ODU5NCBMIDMwNC41MzEyNSAyMjMuMzM1OTM4IEMgMzA0LjUzMTI1IDIxOS4wMjM0MzggMzAxLjAzOTA2MiAyMTUuNTM1MTU2IDI5Ni43MjY1NjIgMjE1LjUzNTE1NiBaIE0gMjk2LjcyNjU2MiAyMTUuNTM1MTU2ICIgZmlsbC1vcGFjaXR5PSIxIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48L2c+PGcgY2xpcC1wYXRoPSJ1cmwoIzRlYWJiZmNlZmUpIj48cGF0aCBmaWxsPSIjMmNmZjA1IiBkPSJNIDc4LjI2MTcxOSAzMDEuMzU5Mzc1IEwgMTQwLjE5NTMxMiAzMDEuMzU5Mzc1IEMgMTQ0LjUwMzkwNiAzMDEuMzU5Mzc1IDE0OCAyOTcuODcxMDk0IDE0OCAyOTMuNTU4NTk0IEMgMTQ4IDI4OS4yNDYwOTQgMTQ0LjUwMzkwNiAyODUuNzUzOTA2IDE0MC4xOTUzMTIgMjg1Ljc1MzkwNiBMIDg2LjA2MjUgMjg1Ljc1MzkwNiBMIDg2LjA2MjUgMjIzLjMzNTkzOCBDIDg2LjA2MjUgMjE5LjAyMzQzOCA4Mi41NzAzMTIgMjE1LjUzNTE1NiA3OC4yNjE3MTkgMjE1LjUzNTE1NiBDIDczLjk1MzEyNSAyMTUuNTM1MTU2IDcwLjQ2MDkzOCAyMTkuMDIzNDM4IDcwLjQ2MDkzOCAyMjMuMzM1OTM4IEwgNzAuNDYwOTM4IDI5My41NTg1OTQgQyA3MC40NjA5MzggMjk3Ljg3MTA5NCA3My45NTMxMjUgMzAxLjM1OTM3NSA3OC4yNjE3MTkgMzAxLjM1OTM3NSBaIE0gNzguMjYxNzE5IDMwMS4zNTkzNzUgIiBmaWxsLW9wYWNpdHk9IjEiIGZpbGwtcnVsZT0ibm9uemVybyIvPjwvZz48ZyBjbGlwLXBhdGg9InVybCgjZjMwMDBlYjU1OSkiPjxwYXRoIGZpbGw9IiMyY2ZmMDUiIGQ9Ik0gMjk2LjcyNjU2MiA2Ny4yODkwNjIgTCAyMjYuNTA3ODEyIDY3LjI4OTA2MiBDIDIyMi4xOTUzMTIgNjcuMjg5MDYyIDIxOC43MDMxMjUgNzAuNzc3MzQ0IDIxOC43MDMxMjUgNzUuMDg5ODQ0IEMgMjE4LjcwMzEyNSA3OS40MDYyNSAyMjIuMTk1MzEyIDgyLjg5NDUzMSAyMjYuNTA3ODEyIDgyLjg5NDUzMSBMIDI4OC45MjU3ODEgODIuODk0NTMxIEwgMjg4LjkyNTc4MSAxNDUuMzEyNSBDIDI4OC45MjU3ODEgMTQ5LjYyNSAyOTIuNDE0MDYyIDE1My4xMTMyODEgMjk2LjcyNjU2MiAxNTMuMTEzMjgxIEMgMzAxLjAzOTA2MiAxNTMuMTEzMjgxIDMwNC41MzEyNSAxNDkuNjI1IDMwNC41MzEyNSAxNDUuMzEyNSBMIDMwNC41MzEyNSA3NS4wODk4NDQgQyAzMDQuNTMxMjUgNzAuNzc3MzQ0IDMwMS4wMzkwNjIgNjcuMjg5MDYyIDI5Ni43MjY1NjIgNjcuMjg5MDYyIFogTSAyOTYuNzI2NTYyIDY3LjI4OTA2MiAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjxnIGNsaXAtcGF0aD0idXJsKCMwY2Q3ZTBhYjAzKSI+PHBhdGggZmlsbD0iIzJjZmYwNSIgZD0iTSA3OC4yNjE3MTkgMTUzLjExMzI4MSBDIDgyLjU3MDMxMiAxNTMuMTEzMjgxIDg2LjA2MjUgMTQ5LjYyNSA4Ni4wNjI1IDE0NS4zMTI1IEwgODYuMDYyNSA4Mi44OTQ1MzEgTCAxNDguNDg0Mzc1IDgyLjg5NDUzMSBDIDE1Mi43OTI5NjkgODIuODk0NTMxIDE1Ni4yODUxNTYgNzkuNDA2MjUgMTU2LjI4NTE1NiA3NS4wODk4NDQgQyAxNTYuMjg1MTU2IDcwLjc3NzM0NCAxNTIuNzkyOTY5IDY3LjI4OTA2MiAxNDguNDg0Mzc1IDY3LjI4OTA2MiBMIDc4LjI2MTcxOSA2Ny4yODkwNjIgQyA3My45NTMxMjUgNjcuMjg5MDYyIDcwLjQ2MDkzOCA3MC43NzczNDQgNzAuNDYwOTM4IDc1LjA4OTg0NCBMIDcwLjQ2MDkzOCAxNDUuMzEyNSBDIDcwLjQ2MDkzOCAxNDkuNjI1IDczLjk1MzEyNSAxNTMuMTEzMjgxIDc4LjI2MTcxOSAxNTMuMTEzMjgxIFogTSA3OC4yNjE3MTkgMTUzLjExMzI4MSAiIGZpbGwtb3BhY2l0eT0iMSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9nPjxnIHRyYW5zZm9ybT0ibWF0cml4KDEsIDAsIDAsIDEsIDEzMywgMTE3KSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2JjOTAzZTQyOWUpIj48ZyBmaWxsPSIjZmZmZmZmIiBmaWxsLW9wYWNpdHk9IjEiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTQ3NTY5LCAxMzAuMjAwNzc5KSI+PGc+PHBhdGggZD0iTSAzOC41OTM3NSAwIEwgMTMuODQzNzUgMCBMIDEzLjg0Mzc1IC0xMjMuNzE4NzUgTCAzOC41OTM3NSAtMTIzLjcxODc1IFogTSAzOC41OTM3NSAwICIvPjwvZz48L2c+PC9nPjwvZz48L2c+PGcgZmlsbD0iIzJjZmYwNSIgZmlsbC1vcGFjaXR5PSIxIj48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjUuNjI2MDQ2LCAyNDcuMjU1NzA3KSI+PGc+PHBhdGggZD0iTSAzOC41OTM3NSAwIEwgMTMuODQzNzUgMCBMIDEzLjg0Mzc1IC0xMjMuNTQ2ODc1IEwgNjIuNDY4NzUgLTEyMy41NDY4NzUgQyA2OS4zODI4MTIgLTEyMy41NDY4NzUgNzUuMjg5MDYyIC0xMjIuMTYwMTU2IDgwLjE4NzUgLTExOS4zOTA2MjUgQyA4NS4wOTM3NSAtMTE2LjYxNzE4OCA4OC45ODgyODEgLTExMi45ODQzNzUgOTEuODc1IC0xMDguNDg0Mzc1IEMgOTQuNzU3ODEyIC0xMDMuOTkyMTg4IDk2LjY5MTQwNiAtOTkuMDAzOTA2IDk3LjY3MTg3NSAtOTMuNTE1NjI1IEMgOTguNjQ4NDM4IC04OC4wMzUxNTYgOTguNjQ4NDM4IC04Mi41ODU5MzggOTcuNjcxODc1IC03Ny4xNzE4NzUgQyA5Ni42OTE0MDYgLTcxLjc1MzkwNiA5NC43MjY1NjIgLTY2Ljc5Njg3NSA5MS43ODEyNSAtNjIuMjk2ODc1IEMgODguODQzNzUgLTU3Ljc5Njg3NSA4NC45MjE4NzUgLTU0LjE2MDE1NiA4MC4wMTU2MjUgLTUxLjM5MDYyNSBDIDc1LjExNzE4OCAtNDguNjE3MTg4IDY5LjI2OTUzMSAtNDcuMjM0Mzc1IDYyLjQ2ODc1IC00Ny4yMzQzNzUgTCAzOC41OTM3NSAtNDcuMjM0Mzc1IFogTSAzOC41OTM3NSAtNzEuMjgxMjUgTCA2MC4zOTA2MjUgLTcxLjI4MTI1IEMgNjMuNzM0Mzc1IC03MS4yODEyNSA2Ni4zODI4MTIgLTcyLjIwMzEyNSA2OC4zNDM3NSAtNzQuMDQ2ODc1IEMgNzAuMzAwNzgxIC03NS44OTg0MzggNzEuNjI1IC03OC4yMDcwMzEgNzIuMzEyNSAtODAuOTY4NzUgQyA3My4wMDc4MTIgLTgzLjczODI4MSA3My4wMDc4MTIgLTg2LjUwNzgxMiA3Mi4zMTI1IC04OS4yODEyNSBDIDcxLjYyNSAtOTIuMDUwNzgxIDcwLjMwMDc4MSAtOTQuMzU5Mzc1IDY4LjM0Mzc1IC05Ni4yMDMxMjUgQyA2Ni4zODI4MTIgLTk4LjA0Njg3NSA2My43MzQzNzUgLTk4Ljk2ODc1IDYwLjM5MDYyNSAtOTguOTY4NzUgTCAzOC41OTM3NSAtOTguOTY4NzUgWiBNIDM4LjU5Mzc1IC03MS4yODEyNSAiLz48L2c+PC9nPjwvZz48L3N2Zz4=") center/contain no-repeat}
.ix-foot__brand .ix-nav__brand::before{width:36px;height:36px}
/* ===== Ocultar header/footer nativos de Hello ===== */
.site-header,header.site-header,.site-footer,footer.site-footer{display:none!important}
/* ===== Blog en tarjetas ===== */
.blog .site-main,.archive .site-main,.search .site-main{max-width:1200px;margin-inline:auto;padding:clamp(96px,12vw,150px) clamp(16px,5vw,48px) 64px}
.blog .page-header,.archive .page-header{margin-bottom:28px}
.blog .page-content,.archive .page-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.blog article.post,.archive article.post{background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r-lg);padding:var(--sp-5);transition:border-color .25s,box-shadow .25s}
.blog article.post:hover,.archive article.post:hover{border-color:rgba(44,255,5,.45);box-shadow:var(--ix-glow)}
.blog article.post .entry-title,.archive article.post .entry-title{font-size:1.2rem;margin:0 0 .5em}
.blog article.post .entry-title a,.archive article.post .entry-title a{color:var(--ix-text)}
.blog article.post .entry-title a:hover{color:var(--ix-green)}
.blog article.post p,.archive article.post p{color:var(--ix-text-2);font-size:.92rem}
.single .site-main{max-width:760px;margin-inline:auto;padding:clamp(96px,12vw,150px) clamp(16px,5vw,48px) 64px}
.single .entry-title{font-size:clamp(2rem,4vw,3rem);margin-bottom:.4em}
.single .entry-content{font-size:1.05rem;line-height:1.75}
.single .entry-content h2{margin-top:1.4em}
.single .entry-content a{color:var(--ix-green)}

/* ========================================================= SISTEMA DE COMPONENTES UNIFICADO ========================================================= */
.ix-hero{position:relative;overflow:hidden;padding:clamp(120px,16vh,180px) 0 clamp(52px,8vw,88px)}
.ix-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(55% 60% at 18% -10%,rgba(44,255,5,.14),transparent 60%),radial-gradient(45% 55% at 100% 10%,rgba(10,255,173,.10),transparent 60%),linear-gradient(rgba(10,10,10,.80),rgba(10,10,10,.93)),url("https://d8j0ntlcm91z4.cloudfront.net/user_2yqDRR4IBpG5BjgXeOeVdGzbDP1/hf_20260612_035346_c121d2a0-b4cc-46bf-8d67-e259d8850e5c.png") center/cover no-repeat}
.ix-hero__grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(70% 60% at 28% 0%,#000,transparent 75%);mask-image:radial-gradient(70% 60% at 28% 0%,#000,transparent 75%)}
.ix-hero>.ix-container{position:relative;z-index:1}
.ix-hero h1{font-size:clamp(2.4rem,1.5rem + 3.4vw,4rem);line-height:1.05;margin:.2em 0 .4em;max-width:18ch}
.ix-hero .ix-lead{max-width:62ch}
.ix-hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.ix-hero--3d{min-height:86vh;display:flex;align-items:center;padding:0}
.ix-hero--3d .ix-hero__bg,.ix-hero--3d .ix-hero__grid{display:none}
#ix-hero-3d{position:absolute;inset:0;z-index:0}
.ix-section-head{max-width:680px;margin-bottom:clamp(30px,5vw,46px)}
.ix-section-head h2{margin-bottom:.3em}
.ix-card{display:flex;flex-direction:column;gap:9px;text-decoration:none}
.ix-card h3{font-size:1.12rem;margin:0;color:var(--ix-text)}
.ix-card p{font-size:.92rem;margin:0;color:var(--ix-text-2);flex:1}
.ix-card .ix-eyebrow{display:block}
a.ix-card:hover h3{color:var(--ix-green)}
.ix-card__more{align-self:flex-start;margin-top:4px;color:var(--ix-green);font-family:var(--ix-font-display);font-weight:600;font-size:.9rem}
.ix-grid{display:grid;gap:18px}
.ix-grid--auto{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.ix-grid--2{grid-template-columns:repeat(2,1fr)}
.ix-grid--3{grid-template-columns:repeat(3,1fr)}
.ix-grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.ix-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.ix-grid--2,.ix-grid--3{grid-template-columns:1fr}}
.ix-band{background:linear-gradient(135deg,rgba(44,255,5,.12),rgba(10,255,173,.06));border:1px solid rgba(44,255,5,.25);border-radius:var(--r-lg);padding:clamp(32px,5vw,60px);text-align:center}
.ix-band h2{margin-bottom:.25em}
.ix-band .ix-lead{margin:0 auto 22px}
.ix-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.ix-stats b{display:block;font-family:var(--ix-font-display);font-weight:800;font-size:clamp(1.8rem,3vw,2.7rem);color:var(--ix-green);line-height:1}
.ix-stats span{font-family:var(--ix-font-mono);font-size:.74rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ix-text-3)}
@media(max-width:680px){.ix-stats{grid-template-columns:repeat(2,1fr);gap:28px}}
.ixf{display:grid;gap:14px;max-width:520px}
.ixf input,.ixf textarea{width:100%;background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:12px;padding:14px 16px;color:var(--ix-text);font-family:var(--ix-font-body);font-size:1rem}
.ixf input:focus,.ixf textarea:focus{outline:2px solid var(--ix-green);border-color:transparent}
.ixf label{font-size:.78rem;color:var(--ix-text-3);font-family:var(--ix-font-mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:-6px}
.ixc-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:820px){.ixc-grid{grid-template-columns:1fr}}
.ix-cat{margin-top:8px}
/* ===== Feature: servicio con contexto (icono + qué hace + resultado) ===== */
.ix-feature{display:flex;gap:16px;align-items:flex-start;background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r-lg);padding:var(--sp-5);transition:border-color .25s,box-shadow .25s}
.ix-feature:hover{border-color:rgba(44,255,5,.4);box-shadow:var(--ix-glow)}
.ix-feature__ic{flex:0 0 auto;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:rgba(44,255,5,.1);border:1px solid rgba(44,255,5,.25);color:var(--ix-green)}
.ix-feature__b h3{font-size:1.08rem;margin:0 0 .3em}
.ix-feature__b p{font-size:.92rem;color:var(--ix-text-2);margin:0 0 .5em}
.ix-feature__out{font-family:var(--ix-font-mono);font-size:.74rem;letter-spacing:.04em;color:var(--ix-green);text-transform:uppercase}
/* ===== Testimonios (carrusel marquee, pausa al hover) ===== */
.ix-tmoni-wrap{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ix-tmoni-row{display:flex;gap:18px;width:max-content;animation:ix-marquee 50s linear infinite}
.ix-tmoni-wrap:hover .ix-tmoni-row{animation-play-state:paused}
.ix-tmoni{width:340px;flex:0 0 auto;background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r-lg);padding:var(--sp-5)}
.ix-tmoni__stars{color:var(--ix-green);letter-spacing:3px;margin-bottom:10px;font-size:.9rem}
.ix-tmoni__q{color:var(--ix-text);font-size:.96rem;line-height:1.6;margin:0 0 16px}
.ix-tmoni__a{display:flex;align-items:center;gap:12px}
.ix-tmoni__av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ix-grad);color:var(--ix-on-green);font-family:var(--ix-font-display);font-weight:800;flex:0 0 auto}
.ix-tmoni__n{font-family:var(--ix-font-display);font-weight:600;font-size:.92rem}
.ix-tmoni__r{color:var(--ix-text-3);font-size:.78rem;font-family:var(--ix-font-mono)}
@media(prefers-reduced-motion:reduce){.ix-tmoni-row{animation:none;flex-wrap:wrap;width:auto}}
/* ===== Pain card (el reto) ===== */
.ix-pain{background:var(--ix-surface);border:1px solid var(--ix-border);border-left:3px solid var(--ix-danger);border-radius:var(--r);padding:var(--sp-5)}
.ix-pain h3{font-size:1rem;margin:0 0 .3em;color:var(--ix-text)}
.ix-pain p{font-size:.9rem;color:var(--ix-text-2);margin:0}
/* ===================== HF-KIT (shelves, media cards, badges, tools, promo) ===================== */
/* shelf: fila horizontal con header + flechas */
.ix-shelf{margin-block:clamp(40px,6vw,72px)}
.ix-shelf__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.ix-shelf__title{font-family:var(--ix-font-display);font-weight:800;font-size:clamp(1.3rem,1rem + 1.6vw,2rem);letter-spacing:.01em;text-transform:uppercase;color:var(--ix-green);margin:0;line-height:1.1}
.ix-shelf__sub{color:var(--ix-text-3);font-size:.92rem;margin:4px 0 0}
.ix-shelf__nav{display:flex;gap:10px;flex:0 0 auto}
.ix-shelf__btn{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--ix-surface);border:1px solid var(--ix-border);color:var(--ix-text);cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.ix-shelf__btn:hover{border-color:var(--ix-green);color:var(--ix-green)}
.ix-shelf__btn[disabled]{opacity:.35;cursor:default}
.ix-shelf__track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 14px;scrollbar-width:none}
.ix-shelf__track::-webkit-scrollbar{display:none}
.ix-shelf__track>*{scroll-snap-align:start;flex:0 0 auto}
/* media card con overlay */
.ix-mcard{position:relative;width:min(78vw,330px);aspect-ratio:4/5;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ix-border);display:block;background:#101214;transition:transform .3s var(--ix-ease),border-color .3s,box-shadow .3s}
.ix-mcard--wide{width:min(86vw,460px);aspect-ratio:16/10}
.ix-mcard__media{position:absolute;inset:0;background:linear-gradient(rgba(10,12,10,.25),rgba(8,10,8,.78)),var(--mc-img,linear-gradient(135deg,#0f2410,#0a0a0a)) center/cover no-repeat;transition:transform .5s var(--ix-ease),filter .4s}
.ix-mcard:hover{transform:translateY(-4px);border-color:rgba(44,255,5,.5);box-shadow:var(--ix-glow)}
.ix-mcard:hover .ix-mcard__media{transform:scale(1.06);filter:brightness(1.12)}
.ix-mcard__body{position:absolute;left:0;right:0;bottom:0;padding:18px;z-index:2;background:linear-gradient(transparent,rgba(5,7,5,.88) 70%)}
.ix-mcard__tag{font-family:var(--ix-font-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ix-green)}
.ix-mcard__title{font-family:var(--ix-font-display);font-weight:800;text-transform:uppercase;letter-spacing:.01em;font-size:1.05rem;line-height:1.15;color:#fff;margin:.25em 0 .2em}
.ix-mcard__desc{font-size:.8rem;color:var(--ix-text-2);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* badges */
.ix-badge{display:inline-flex;align-items:center;font-family:var(--ix-font-mono);font-weight:700;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:6px;line-height:1}
.ix-badge--new{background:var(--ix-green);color:var(--ix-on-green)}
.ix-badge--hot{background:#fc5185;color:#fff}
.ix-badge--ghost{border:1px solid var(--ix-border-strong);color:var(--ix-text-2)}
/* tool card (bento) */
.ix-tool{position:relative;display:flex;flex-direction:column;gap:10px;background:#121417;border:1px solid var(--ix-border);border-radius:var(--r-lg);padding:20px;min-height:150px;transition:border-color .25s,box-shadow .25s,transform .25s;text-decoration:none}
.ix-tool:hover{border-color:rgba(44,255,5,.5);box-shadow:var(--ix-glow);transform:translateY(-3px)}
.ix-tool__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.ix-tool__ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(44,255,5,.1);border:1px solid rgba(44,255,5,.25);color:var(--ix-green)}
.ix-tool h3{font-size:1.05rem;margin:0;color:var(--ix-text)}
.ix-tool p{font-size:.86rem;color:var(--ix-text-3);margin:0}
/* promo band full-width */
.ix-promo{position:relative;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(110deg,#1a9f03,#2cff05 55%,#0affad);padding:clamp(26px,4.5vw,46px);display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.ix-promo h2{color:#06140a;margin:0;font-size:clamp(1.4rem,1.1rem+1.6vw,2.2rem);text-transform:uppercase;letter-spacing:.01em}
.ix-promo p{color:rgba(6,20,10,.75);margin:.3em 0 0;font-weight:500}
.ix-promo .ix-btn{background:#06140a;color:var(--ix-green);box-shadow:none}
.ix-promo .ix-btn:hover{transform:translateY(-2px)}
@media(max-width:640px){.ix-shelf__nav{display:none}.ix-mcard{width:76vw}}

/* ===================== PREMIUM FX ===================== */
.ix-nav__brand::before,.ix-foot__brand .ix-nav__brand::before{background-image:url('/wp-content/uploads/2026/06/1.png')!important}
.ix-hero__logo{height:clamp(70px,11vw,130px);width:auto;margin-bottom:20px;filter:drop-shadow(0 0 26px rgba(44,255,5,.4));animation:ix-float 7s ease-in-out infinite}
.ix-rotator{color:var(--ix-green);border-right:3px solid var(--ix-green);padding-right:4px;animation:ix-caret 1s steps(1) infinite}
@keyframes ix-caret{50%{border-color:transparent}}
.ix-spot{position:relative;overflow:hidden}
.ix-spot::before{content:'';position:absolute;inset:0;background:radial-gradient(440px circle at var(--mx,50%) var(--my,50%),rgba(44,255,5,.13),transparent 65%);opacity:0;transition:opacity .35s;pointer-events:none;z-index:0}
.ix-spot:hover::before{opacity:1}
.ix-spot>*{position:relative;z-index:1}
.ix-grain{position:relative}
.ix-grain::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg%20xmlns=%27http://www.w3.org/2000/svg%27%20width=%27160%27%20height=%27160%27%3E%3Cfilter%20id=%27n%27%3E%3CfeTurbulence%20type=%27fractalNoise%27%20baseFrequency=%270.9%27%20numOctaves=%272%27/%3E%3C/filter%3E%3Crect%20width=%27160%27%20height=%27160%27%20filter=%27url(%23n)%27%20opacity=%270.6%27/%3E%3C/svg%3E")}
.ix-scan::after{content:'';position:absolute;left:0;right:0;top:-25%;height:140px;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(44,255,5,.07),transparent);animation:ix-scan 7.5s linear infinite}
@keyframes ix-scan{to{top:125%}}
.ix-ticker{border-block:1px solid var(--ix-border);padding:14px 0;background:#0c0e10}
.ix-ticker .ix-marquee__track{gap:34px;animation-duration:36s}
.ix-ticker span{font-family:var(--ix-font-mono);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ix-text-3);display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.ix-ticker b{color:var(--ix-green);font-weight:400}
.ix-pipe{display:flex;align-items:stretch;gap:0;margin-top:8px}
.ix-pipe__node{flex:1 1 0;min-width:0;background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r);padding:18px 14px;text-align:center;position:relative;transition:border-color .25s,box-shadow .25s}
.ix-pipe__node:hover{border-color:rgba(44,255,5,.5);box-shadow:var(--ix-glow)}
.ix-pipe__ic{width:40px;height:40px;margin:0 auto 8px;border-radius:12px;display:grid;place-items:center;background:rgba(44,255,5,.1);border:1px solid rgba(44,255,5,.25);color:var(--ix-green)}
.ix-pipe__node h4{margin:0;font-size:.92rem;color:var(--ix-text)}
.ix-pipe__node p{margin:2px 0 0;font-size:.72rem;color:var(--ix-text-3);font-family:var(--ix-font-mono)}
.ix-pipe__cert{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-family:var(--ix-font-mono);font-size:.62rem;letter-spacing:.06em;color:var(--ix-green);border:1px solid rgba(44,255,5,.35);border-radius:999px;padding:3px 9px}
.ix-pipe__link{flex:0 0 clamp(22px,4vw,58px);position:relative;align-self:center;height:2px;background:rgba(44,255,5,.18)}
.ix-pipe__link::after{content:'';position:absolute;top:-2px;left:0;width:6px;height:6px;border-radius:50%;background:var(--ix-green);box-shadow:0 0 10px var(--ix-green);animation:ix-dot 2.4s linear infinite;animation-delay:var(--d,0s)}
@keyframes ix-dot{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:calc(100% - 6px);opacity:0}}
@media(max-width:860px){.ix-pipe{flex-direction:column}.ix-pipe__node{flex:0 1 auto!important}.ix-pipe__link{flex-basis:30px;width:2px;height:30px;align-self:center}.ix-pipe__link::after{left:-2px;animation-name:ix-dot-v}}
@keyframes ix-dot-v{0%{top:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:calc(100% - 6px);opacity:0}}
@media(prefers-reduced-motion:reduce){.ix-hero__logo,.ix-rotator{animation:none}.ix-scan::after,.ix-pipe__link::after{animation:none;display:none}}

/* =========================================================
   BRILLO V2 — capa de luminosidad premium (aditiva, rollback = borrar este bloque)
   ========================================================= */
:root{
  --ix-green-bloom:#5dff3f;
  --ix-glow-xl:0 0 70px rgba(44,255,5,.45);
  --ix-aurora-1:rgba(44,255,5,.22);
  --ix-aurora-2:rgba(10,255,173,.17);
  --ix-aurora-3:rgba(120,160,255,.12);
}
/* ambiance global: brillo sutil fijo detrás de TODAS las páginas */
body::before{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(42% 42% at 86% 6%,rgba(44,255,5,.06),transparent 60%),
             radial-gradient(38% 38% at 4% 94%,rgba(10,255,173,.05),transparent 60%)}

/* barra de progreso de scroll (scroll-driven, progressive enhancement) */
.ix-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);z-index:1300;
  background:linear-gradient(90deg,var(--ix-green),var(--ix-green-mint),#7af8ff);box-shadow:0 0 12px rgba(44,255,5,.6);pointer-events:none}
@supports (animation-timeline:scroll()){
  .ix-progress{animation:ix-grow linear;animation-timeline:scroll(root)}
  @keyframes ix-grow{to{transform:scaleX(1)}}
}

/* hero aurora para páginas internas (sin Vanta, pero deslumbrante) */
.ix-hero--aurora .ix-hero__bg{background:
  radial-gradient(55% 65% at 12% -8%,var(--ix-aurora-1),transparent 60%),
  radial-gradient(50% 60% at 95% 5%,var(--ix-aurora-2),transparent 60%),
  radial-gradient(45% 55% at 70% 115%,var(--ix-aurora-3),transparent 60%),
  linear-gradient(rgba(10,10,10,.55),rgba(10,10,10,.9))}
.ix-hero--aurora .ix-hero__bg::before{content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:48px 48px;-webkit-mask-image:radial-gradient(75% 70% at 30% 0%,#000,transparent 75%);mask-image:radial-gradient(75% 70% at 30% 0%,#000,transparent 75%)}
.ix-hero--aurora .ix-hero__bg::after{content:'';position:absolute;width:60vw;height:60vw;top:-25%;right:-15%;border-radius:50%;
  filter:blur(100px);background:radial-gradient(circle,var(--ix-aurora-1),transparent 65%);animation:ix-aur2 24s ease-in-out infinite alternate;will-change:transform}
@keyframes ix-aur1{to{transform:translate3d(12%,8%,0) scale(1.15)}}
@keyframes ix-aur2{to{transform:translate3d(-10%,-6%,0) scale(1.18)}}

/* bloom de titulares */
.ix-bloom{text-shadow:0 0 28px rgba(44,255,5,.35)}
.ix-stats b{text-shadow:0 0 24px rgba(44,255,5,.35)}

/* borde glow animado (anillo de luz) para tarjetas destacadas */
@property --ix-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.ix-glow-border{position:relative;isolation:isolate}
.ix-glow-border::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;z-index:0;
  background:conic-gradient(from var(--ix-a,0deg),transparent,var(--ix-green),var(--ix-green-mint),transparent 40%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  opacity:0;transition:opacity .35s}
.ix-glow-border:hover::before{opacity:1;animation:ix-ring 4s linear infinite}
.ix-glow-border>*{position:relative;z-index:1}
@keyframes ix-ring{to{--ix-a:360deg}}

/* sheen: barrido de luz al hover */
.ix-sheen{position:relative;overflow:hidden}
.ix-sheen::after{content:'';position:absolute;top:0;left:-120%;width:60%;height:100%;z-index:2;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.16),transparent);transform:skewX(-18deg)}
.ix-sheen:hover::after{animation:ix-sheen-x .9s var(--ix-ease)}
@keyframes ix-sheen-x{to{left:160%}}

/* divisor luminoso + sección con glow superior */
.ix-rule{height:1px;border:0;margin:clamp(40px,6vw,72px) auto;max-width:var(--ix-container);
  background:linear-gradient(90deg,transparent,rgba(44,255,5,.5),transparent)}
.ix-section--glow{position:relative}
.ix-section--glow::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:60%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(44,255,5,.5),transparent)}

/* steps / flujo numerado */
.ix-steps{counter-reset:ixs;display:grid;gap:18px}
.ix-steps--row{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.ix-step{position:relative;background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r-lg);padding:26px 20px 20px;transition:border-color .25s,box-shadow .25s}
.ix-step:hover{border-color:rgba(44,255,5,.4);box-shadow:var(--ix-glow)}
.ix-step::before{counter-increment:ixs;content:counter(ixs,decimal-leading-zero);position:absolute;top:-14px;left:20px;
  font-family:var(--ix-font-mono);font-size:.8rem;font-weight:700;color:var(--ix-on-green);background:var(--ix-green);
  padding:4px 10px;border-radius:999px;box-shadow:var(--ix-glow)}
.ix-step h3{font-size:1.05rem;margin:.2em 0 .3em;color:var(--ix-text)}
.ix-step p{font-size:.9rem;color:var(--ix-text-2);margin:0}

/* agent card (Frodus 13 agentes) */
.ix-agent{display:flex;gap:14px;align-items:flex-start;background:#121417;border:1px solid var(--ix-border);border-radius:var(--r-lg);padding:18px;transition:border-color .25s,box-shadow .25s,transform .25s}
.ix-agent:hover{border-color:rgba(44,255,5,.5);box-shadow:var(--ix-glow);transform:translateY(-3px)}
.ix-agent__av{flex:0 0 auto;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-family:var(--ix-font-display);font-weight:800;font-size:1.02rem;color:var(--ix-on-green);background:var(--ix-grad);box-shadow:var(--ix-glow)}
.ix-agent__b h3{font-size:1rem;margin:0 0 .15em;color:var(--ix-text);font-family:var(--ix-font-mono);letter-spacing:.02em}
.ix-agent__b p{font-size:.84rem;color:var(--ix-text-3);margin:0}

/* FAQ acordeón (nativo <details>) */
.ix-faq{display:grid;gap:12px;max-width:820px;margin-inline:auto}
.ix-faq details{background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r);padding:0 20px;transition:border-color .25s}
.ix-faq details[open]{border-color:rgba(44,255,5,.4)}
.ix-faq summary{cursor:pointer;list-style:none;padding:18px 0;font-family:var(--ix-font-display);font-weight:600;font-size:1.02rem;color:var(--ix-text);display:flex;justify-content:space-between;gap:14px;align-items:center}
.ix-faq summary::-webkit-details-marker{display:none}
.ix-faq summary::after{content:'+';color:var(--ix-green);font-size:1.4rem;font-weight:400;transition:transform .25s;line-height:1}
.ix-faq details[open] summary::after{transform:rotate(45deg)}
.ix-faq p{padding:0 0 18px;margin:0;color:var(--ix-text-2);font-size:.94rem}

/* split storytelling (texto + visual alternados) */
.ix-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
.ix-split--rev .ix-split__media{order:-1}
.ix-split__media{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ix-border);aspect-ratio:4/3;background:linear-gradient(135deg,#0f2410,#0a0a0a);display:grid;place-items:center}
.ix-split__media img{width:100%;height:100%;object-fit:cover}
@media(max-width:820px){.ix-split{grid-template-columns:1fr}.ix-split--rev .ix-split__media{order:0}}

/* trust logos / fila de confianza */
.ix-logos{display:flex;align-items:center;justify-content:center;gap:clamp(24px,5vw,60px);flex-wrap:wrap;opacity:.72}
.ix-logos span{font-family:var(--ix-font-display);font-weight:700;color:var(--ix-text-3);font-size:1.05rem;letter-spacing:.02em}

@media(prefers-reduced-motion:reduce){
  .ix-hero--aurora .ix-hero__bg::after,.ix-glow-border:hover::before,.ix-sheen:hover::after,.ix-progress{animation:none!important}
}

/* =========================================================
   FX V3 — glow buttons · stack tecnológico (CPU) · hexágonos ·
   planes · cookies · footer cinemático  (rollback = borrar este bloque)
   ========================================================= */
@property --ix-ba{syntax:'<angle>';inherits:false;initial-value:0deg}

/* ---- botones con glow animado verde-cian ---- */
.ix-btn--primary{position:relative;z-index:0}
.ix-btn--primary::after{content:'';position:absolute;inset:-2.5px;z-index:-1;border-radius:inherit;
  background:conic-gradient(from var(--ix-ba),#2cff05,#0affad,#00e8ed,#2cff05);
  filter:blur(8px);opacity:.4;animation:ix-btnspin 5s linear infinite;transition:opacity .3s}
.ix-btn--primary:hover::after{opacity:.92}
@keyframes ix-btnspin{to{--ix-ba:360deg}}

/* ---- STACK TECNOLÓGICO: circuito CPU animado ---- */
.ix-stack__cpu{max-width:560px;margin:0 auto clamp(26px,5vw,46px);color:#262b35}
.ix-stack__cpu svg{width:100%;height:auto;display:block;overflow:visible}
.cpu-architecture{offset-rotate:0deg;offset-anchor:center}
.cpu-line-1{offset-path:path("M 10 20 h 79.5 q 5 0 5 5 v 30");animation:cpu-travel 5s linear 0s infinite}
.cpu-line-2{offset-path:path("M 180 10 h -69.7 q -5 0 -5 5 v 30");animation:cpu-travel 5s linear -0.6s infinite}
.cpu-line-3{offset-path:path("M 130 20 v 21.8 q 0 5 -5 5 h -10");animation:cpu-travel 5s linear -1.2s infinite}
.cpu-line-4{offset-path:path("M 170 80 v -21.8 q 0 -5 -5 -5 h -50");animation:cpu-travel 5s linear -1.8s infinite}
.cpu-line-5{offset-path:path("M 135 65 h 15 q 5 0 5 5 v 10 q 0 5 -5 5 h -39.8 q -5 0 -5 -5 v -20");animation:cpu-travel 6s linear -2.4s infinite}
.cpu-line-6{offset-path:path("M 94.8 95 v -36");animation:cpu-travel 5s linear -3s infinite}
.cpu-line-7{offset-path:path("M 88 88 v -15 q 0 -5 -5 -5 h -10 q -5 0 -5 -5 v -5 q 0 -5 5 -5 h 14");animation:cpu-travel 5s linear -3.6s infinite}
.cpu-line-8{offset-path:path("M 30 30 h 25 q 5 0 5 5 v 6.5 q 0 5 5 5 h 20");animation:cpu-travel 5s linear -4.2s infinite}
@keyframes cpu-travel{0%{offset-distance:0%}100%{offset-distance:100%}}

/* ---- grid hexagonal de logos (mono blanco → color al hover) ---- */
.ix-hexwrap{display:flex;flex-wrap:wrap;gap:16px 14px;justify-content:center;max-width:920px;margin:0 auto;padding-bottom:8px}
.ix-hex{position:relative;width:74px;height:74px;display:grid;place-items:center;cursor:default;
  background:linear-gradient(150deg,rgba(44,255,5,.28),rgba(255,255,255,.05));
  clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);
  transition:transform .25s var(--ix-ease)}
.ix-hex::before{content:'';position:absolute;inset:1.5px;background:#0e1013;
  clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%)}
.ix-hex img{position:relative;z-index:1;width:52%;height:52%;object-fit:contain;
  filter:grayscale(1) brightness(0) invert(1) opacity(.72);transition:filter .3s,transform .3s}
.ix-hex:hover{transform:translateY(-5px) scale(1.06)}
.ix-hex:hover img{filter:none;transform:scale(1.06)}
.ix-hex b{position:absolute;bottom:-16px;left:50%;transform:translateX(-50%);font-family:var(--ix-font-mono);font-weight:400;font-size:.58rem;color:var(--ix-text-3);white-space:nowrap;opacity:0;transition:opacity .25s;pointer-events:none}
.ix-hex:hover b{opacity:1}

/* ---- PLANES (pricing premium) ---- */
.ix-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
@media(max-width:900px){.ix-plans{grid-template-columns:1fr;max-width:430px;margin-inline:auto}}
.ix-plan{position:relative;display:flex;flex-direction:column;background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r-lg);padding:30px 24px;transition:transform .3s var(--ix-ease),border-color .3s,box-shadow .3s}
.ix-plan:hover{transform:translateY(-6px);border-color:rgba(44,255,5,.4);box-shadow:var(--ix-glow)}
.ix-plan--pop{border-color:rgba(44,255,5,.55);background:linear-gradient(180deg,rgba(44,255,5,.07),var(--ix-surface));box-shadow:var(--ix-glow)}
.ix-plan__badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--ix-green);color:var(--ix-on-green);font-family:var(--ix-font-mono);font-size:.6rem;font-weight:700;letter-spacing:.1em;padding:5px 12px;border-radius:999px;box-shadow:var(--ix-glow)}
.ix-plan__name{font-family:var(--ix-font-display);font-weight:800;font-size:1.35rem;color:var(--ix-text);margin:0}
.ix-plan__desc{color:var(--ix-text-3);font-size:.85rem;margin:.25em 0 1.1em}
.ix-plan__price{display:flex;align-items:baseline;gap:6px}
.ix-plan__price b{font-family:var(--ix-font-display);font-weight:800;font-size:2.1rem;color:var(--ix-green);line-height:1}
.ix-plan__price span{color:var(--ix-text-3);font-size:.85rem}
.ix-plan__impl{display:inline-block;margin-top:9px;font-family:var(--ix-font-mono);font-size:.68rem;color:var(--ix-text-2);background:rgba(255,255,255,.05);border:1px solid var(--ix-border);padding:4px 9px;border-radius:8px}
.ix-plan__feats{list-style:none;padding:0;margin:18px 0 22px;display:grid;gap:11px}
.ix-plan__feats li{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;color:var(--ix-text-2)}
.ix-plan__feats svg{flex:0 0 auto;color:var(--ix-green);margin-top:2px}
.ix-plan .ix-btn{margin-top:auto;width:100%}

/* ---- BANNER DE COOKIES ---- */
.ix-cookie{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(150%);z-index:1250;
  width:min(560px,calc(100vw - 28px));background:rgba(13,15,18,.82);backdrop-filter:blur(18px) saturate(150%);-webkit-backdrop-filter:blur(18px) saturate(150%);
  border:1px solid var(--ix-border-strong);border-radius:var(--r-lg);padding:20px 22px;
  box-shadow:0 24px 70px -20px rgba(0,0,0,.8),var(--ix-glow);opacity:0;transition:transform .7s var(--ix-ease),opacity .7s}
.ix-cookie.is-in{transform:translateX(-50%) translateY(0);opacity:1}
.ix-cookie::before{content:'';position:absolute;inset:-1px;border-radius:inherit;z-index:-1;padding:1px;
  background:conic-gradient(from var(--ix-ba,0deg),transparent,var(--ix-green),var(--ix-green-mint),transparent 38%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:ix-btnspin 6s linear infinite}
.ix-cookie__row{display:flex;gap:14px;align-items:flex-start}
.ix-cookie__ic{flex:0 0 auto;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(44,255,5,.1);border:1px solid rgba(44,255,5,.25);color:var(--ix-green);animation:ix-float 5s ease-in-out infinite}
.ix-cookie h4{margin:0 0 4px;font-size:1rem;color:var(--ix-text)}
.ix-cookie p{margin:0;font-size:.82rem;color:var(--ix-text-2);line-height:1.55}
.ix-cookie p a{color:var(--ix-green);text-decoration:underline}
.ix-cookie__btns{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.ix-cookie__btns .ix-btn{flex:1 1 130px;min-height:42px;font-size:.9rem;padding:10px 16px}

/* ---- FOOTER CINEMÁTICO (ixf3) ---- */
.ixf3{position:relative;overflow:hidden;background:#080a0b;border-top:1px solid var(--ix-border);margin-top:60px;padding:0 0 26px;isolation:isolate}
.ixf3__aura{position:absolute;left:50%;top:34%;width:80vw;height:60vh;transform:translate(-50%,-50%);z-index:0;pointer-events:none;
  background:radial-gradient(circle at 50% 50%,rgba(44,255,5,.16),rgba(10,255,173,.08) 42%,transparent 70%);filter:blur(70px);animation:ix-float 9s ease-in-out infinite}
.ixf3__grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:54px 54px;-webkit-mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent);mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent)}
.ixf3__giant{position:absolute;bottom:-2vw;left:50%;transform:translateX(-50%);z-index:0;pointer-events:none;user-select:none;white-space:nowrap;
  font-family:var(--ix-font-display);font-weight:900;font-size:23vw;line-height:.8;letter-spacing:-.04em;color:transparent;
  -webkit-text-stroke:1px rgba(44,255,5,.1);background:linear-gradient(180deg,rgba(44,255,5,.1),transparent 65%);-webkit-background-clip:text;background-clip:text}
.ixf3__marq{position:relative;z-index:2;overflow:hidden;border-block:1px solid var(--ix-border);background:rgba(8,10,11,.6);backdrop-filter:blur(6px);transform:rotate(-1.6deg) scale(1.04);margin-top:38px;padding:12px 0}
.ixf3__marqtrack{display:inline-flex;gap:0;white-space:nowrap;animation:ix-marquee 38s linear infinite;font-family:var(--ix-font-mono);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ix-text-3)}
.ixf3__marqtrack span{padding:0 26px}.ixf3__marqtrack b{color:var(--ix-green);font-weight:400}
.ixf3__top{position:relative;z-index:2;text-align:center;padding:clamp(54px,8vw,86px) 0 clamp(36px,5vw,52px)}
.ixf3__cta-h{font-family:var(--ix-font-display);font-weight:900;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.02em;margin:0 0 26px;
  background:linear-gradient(180deg,#fff,rgba(255,255,255,.45));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(44,255,5,.18))}
.ixf3__pills{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.ixf3__pill{display:inline-flex;align-items:center;gap:9px;padding:14px 28px;border-radius:999px;font-family:var(--ix-font-display);font-weight:600;font-size:.98rem;
  background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--ix-border);color:var(--ix-text);
  backdrop-filter:blur(12px);transition:transform .35s var(--ix-ease),border-color .35s,box-shadow .35s,background .35s}
.ixf3__pill:hover{transform:translateY(-3px);border-color:var(--ix-green);box-shadow:0 14px 30px -12px rgba(0,0,0,.6),var(--ix-glow)}
.ixf3__pill--primary{background:var(--ix-green);color:var(--ix-on-green);border-color:transparent;box-shadow:var(--ix-glow)}
.ixf3__pill--primary:hover{box-shadow:var(--ix-glow-strong)}
.ixf3__cols{position:relative;z-index:2;display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px;padding-block:clamp(34px,5vw,52px);border-top:1px solid var(--ix-border)}
.ixf3__brand .ix-nav__brand{font-size:1.35rem}
.ixf3__brand p{max-width:34ch;margin:14px 0 16px;color:var(--ix-text-2);font-size:.9rem}
.ixf3__soc{display:flex;gap:10px}
.ixf3__soc a{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--ix-border);color:var(--ix-text-2);transition:.2s}
.ixf3__soc a:hover{border-color:var(--ix-green);color:var(--ix-green);background:rgba(44,255,5,.08);transform:translateY(-2px)}
.ixf3__col p{font-family:var(--ix-font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ix-green);margin:0 0 10px}
.ixf3__col a{display:block;color:var(--ix-text-2);font-size:.9rem;margin:8px 0;transition:.2s}
.ixf3__col a:hover{color:var(--ix-green);transform:translateX(3px)}
.ixf3__bottom{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;padding-top:24px;border-top:1px solid var(--ix-border);color:var(--ix-text-3);font-size:.8rem}
.ixf3__heart{color:var(--ix-green);animation:ix-pulse-glow 2.4s ease-in-out infinite;display:inline-block}
.ixf3__top-btn{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--ix-border);background:rgba(255,255,255,.03);color:var(--ix-text-2);cursor:pointer;transition:.25s}
.ixf3__top-btn:hover{border-color:var(--ix-green);color:var(--ix-green);transform:translateY(-3px)}
@media(max-width:860px){.ixf3__cols{grid-template-columns:1fr 1fr}.ixf3__brand{grid-column:1/-1}}
@media(max-width:520px){.ixf3__cols{grid-template-columns:1fr}}

@media(prefers-reduced-motion:reduce){
  .ix-btn--primary::after,.cpu-line-1,.cpu-line-2,.cpu-line-3,.cpu-line-4,.cpu-line-5,.cpu-line-6,.cpu-line-7,.cpu-line-8,
  .ix-cookie::before,.ix-cookie__ic,.ixf3__aura,.ixf3__marqtrack,.ixf3__heart{animation:none!important}
  .ix-cookie{transition:opacity .3s}
}

/* ---- PROSA LEGAL (.ix-prose) ---- */
.ix-prose{max-width:820px;margin-inline:auto}
.ix-prose>h2{font-size:clamp(1.35rem,1.2rem + .9vw,1.9rem);margin:1.7em 0 .5em;scroll-margin-top:96px;color:var(--ix-text)}
.ix-prose>h2:first-child{margin-top:0}
.ix-prose h3{font-size:1.12rem;margin:1.4em 0 .4em;color:var(--ix-text)}
.ix-prose p,.ix-prose li{color:var(--ix-text-2);font-size:.96rem;line-height:1.78}
.ix-prose ul,.ix-prose ol{margin:0 0 1.1rem;padding-left:1.35em;display:grid;gap:.45em}
.ix-prose li::marker{color:var(--ix-green)}
.ix-prose a{color:var(--ix-green);text-decoration:underline;text-underline-offset:2px}
.ix-prose strong{color:var(--ix-text);font-weight:700}
.ix-prose hr{border:0;border-top:1px solid var(--ix-border);margin:2.2em 0}
.ix-prose blockquote{margin:1.4em 0;padding:16px 20px;border:1px solid rgba(44,255,5,.3);border-left:3px solid var(--ix-green);border-radius:var(--r);background:rgba(44,255,5,.05);color:var(--ix-text-2);font-size:.95rem}
.ix-prose blockquote p:last-child{margin-bottom:0}
.ix-prose table{width:100%;border-collapse:collapse;margin:1.3em 0;font-size:.92rem}
.ix-prose table td{border:1px solid var(--ix-border);padding:10px 14px;color:var(--ix-text-2);vertical-align:top}
.ix-prose table tr:first-child td{background:rgba(44,255,5,.08);color:var(--ix-text);font-weight:600}
.ix-guia-completa{margin-top:64px;padding-top:48px;border-top:1px solid var(--ix-border)}
.ix-guia-completa__head{text-align:center;max-width:820px;margin:0 auto 32px;display:grid;gap:10px;justify-items:center}
.ix-guia-completa__head h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.1rem);margin:0}
.ix-guia-completa__head p{color:var(--ix-text-2);margin:0}
@media print{
  body *{visibility:hidden}
  .ix-guia-completa,.ix-guia-completa *{visibility:visible}
  .ix-guia-completa{position:absolute;left:0;top:0;width:100%;margin:0;padding:20px;border:0;background:#fff}
  .ix-guia-completa,.ix-guia-completa h2,.ix-guia-completa h3,.ix-guia-completa p,.ix-guia-completa li,.ix-guia-completa td,.ix-guia-completa strong{color:#111!important}
  .ix-guia-completa .ix-eyebrow{color:#0a7d0a!important}
  .ix-guia-completa table td{border-color:#999!important;background:none!important}
  .ix-guia-completa blockquote{background:#f4f4f4!important;border-color:#0a7d0a!important}
  .ix-guia-completa__pdf{display:none!important}
}
.ix-legal-updated{font-family:var(--ix-font-mono);font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ix-text-3);margin:0 0 1.6em;padding:6px 12px;border:1px solid var(--ix-border);border-radius:999px;display:inline-block}

/* ---- HERO PARALLAX (scroll-driven, filas de tarjetas en 3D) ---- */
.ix-parallax{position:relative;overflow:hidden;padding-block:clamp(30px,5vw,60px);perspective:1100px}
.ix-parallax__stage{transform-style:preserve-3d;display:grid;gap:clamp(14px,1.8vw,26px)}
.ix-parallax__row{display:flex;gap:clamp(14px,1.8vw,26px);width:max-content;will-change:transform}
.ix-parallax__row--b{margin-left:-8%}
.ix-pcard{flex:0 0 auto;width:clamp(210px,24vw,400px);aspect-ratio:16/10;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ix-border);position:relative;background:#0e1013;text-decoration:none;transition:transform .3s var(--ix-ease),border-color .3s,box-shadow .3s}
.ix-pcard:hover{transform:translateY(-6px);border-color:rgba(44,255,5,.5);box-shadow:var(--ix-glow)}
.ix-pcard__img{position:absolute;inset:0;background:var(--pc,linear-gradient(135deg,#0f2410,#0a0a0a)) center/cover no-repeat;transition:transform .5s var(--ix-ease),filter .4s}
.ix-pcard:hover .ix-pcard__img{transform:scale(1.07);filter:brightness(1.12)}
.ix-pcard__t{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 16px;background:linear-gradient(transparent,rgba(5,7,5,.9) 75%)}
.ix-pcard__t b{font-family:var(--ix-font-display);font-weight:700;font-size:.98rem;color:#fff;display:block;line-height:1.2}
.ix-pcard__t span{font-family:var(--ix-font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ix-green)}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .ix-parallax__stage{animation:ix-px-stage linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
    @keyframes ix-px-stage{from{transform:rotateX(13deg) rotateZ(3deg) translateY(44px);opacity:.35}to{transform:none;opacity:1}}
    .ix-parallax__row--a,.ix-parallax__row--c{animation:ix-px-a linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    .ix-parallax__row--b{animation:ix-px-b linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    @keyframes ix-px-a{from{transform:translateX(3%)}to{transform:translateX(-16%)}}
    @keyframes ix-px-b{from{transform:translateX(-20%)}to{transform:translateX(2%)}}
  }
}
@media(max-width:768px){.ix-parallax{perspective:none}.ix-parallax__row{flex-wrap:wrap;width:auto;justify-content:center;margin-left:0}.ix-pcard{width:clamp(150px,44vw,220px)}}
@media(prefers-reduced-motion:reduce){.ix-parallax__stage,.ix-parallax__row{transform:none!important;opacity:1!important;animation:none!important}}

/* ---- Mini gráfico de tendencia (planes) ---- */
.ix-chart{background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:var(--r-lg);padding:22px 24px;max-width:680px;margin:0 auto}
.ix-chart__h{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px}
.ix-chart__h h3{font-size:1.05rem;margin:0;color:var(--ix-text)}
.ix-chart__h p{font-size:.74rem;color:var(--ix-text-3);margin:.2em 0 0;font-family:var(--ix-font-mono)}
.ix-chart__tag{font-family:var(--ix-font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ix-green);border:1px solid rgba(44,255,5,.3);border-radius:999px;padding:4px 10px;white-space:nowrap}
.ix-chart svg{width:100%;height:auto;display:block;overflow:visible}
.ix-chart__line{fill:none;stroke:var(--ix-green);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 8px rgba(44,255,5,.4));stroke-dasharray:1000;stroke-dashoffset:1000;animation:ix-draw 2.2s var(--ix-ease) .2s forwards}
@keyframes ix-draw{to{stroke-dashoffset:0}}
.ix-chart__area{fill:url(#ixChartGrad);opacity:0;animation:ix-fadein 1s ease 1.4s forwards}
@keyframes ix-fadein{to{opacity:1}}
.ix-chart__grid{stroke:var(--ix-border);stroke-width:.6}
.ix-chart__x{font-family:var(--ix-font-mono);font-size:5px;fill:var(--ix-text-3)}
@media(prefers-reduced-motion:reduce){.ix-chart__line{animation:none;stroke-dashoffset:0}.ix-chart__area{animation:none;opacity:1}}

/* =========================================================
   CORRECCIONES FORENSES 2026-06-13 (overrides, rollback = borrar)
   ========================================================= */
/* 1) LOGO REAL de IDEALAB (wordmark transparente) en header + footer */
.ix-nav__brand{font-size:0!important;line-height:0!important;gap:0!important;color:transparent!important}
.ix-nav__brand::before{display:inline-block!important;content:''!important;width:118px!important;height:42px!important;
  background:url('/wp-content/uploads/2026/06/idealab-logo-trans.png') left center/contain no-repeat!important;filter:none!important}
.ixf3__brand .ix-nav__brand::before,.ix-foot__brand .ix-nav__brand::before{width:158px!important;height:56px!important;background-position:left center!important}
/* 2) Badge "hot/popular" fuera de marca (rosa) → verde de marca */
.ix-badge--hot{background:linear-gradient(135deg,#2cff05,#0affad)!important;color:var(--ix-on-green)!important;box-shadow:0 0 12px rgba(44,255,5,.35)}
/* 3) Botones en prosa: texto legible + sin subrayado (eran verde sobre verde) */
.ix-prose a.ix-btn{text-decoration:none!important;color:var(--ix-text)}
.ix-prose a.ix-btn--primary{color:var(--ix-on-green)!important}
.ix-prose a.ix-btn:hover{text-decoration:none!important}
/* 3b) Glow de botón menos intenso (no lavar el texto) */
.ix-btn--primary::after{opacity:.24!important;filter:blur(6px)!important}
.ix-btn--primary:hover::after{opacity:.5!important}
/* 7) CPU: cables más visibles */
.ix-stack__cpu{color:#3c4a42!important}
/* 7b) Texto gigante del footer más sutil, sin tapar contenido */
.ixf3__giant{font-size:15vw!important;bottom:-3.5vw!important;-webkit-text-stroke-color:rgba(44,255,5,.05)!important;opacity:.65}
/* 8) Galería de medios */
.ix-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px}
.ix-gallery a{position:relative;display:block;aspect-ratio:1;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ix-border);background:#0e1013}
.ix-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ix-ease),filter .3s;display:block}
.ix-gallery a:hover img{transform:scale(1.06);filter:brightness(1.08)}
.ix-gallery a::after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(5,7,5,.65));opacity:0;transition:opacity .3s}
.ix-gallery a:hover::after{opacity:1}
.ix-gallery b{position:absolute;left:12px;bottom:10px;z-index:2;color:#fff;font-family:var(--ix-font-display);font-weight:600;font-size:.82rem;opacity:0;transform:translateY(6px);transition:.3s}
.ix-gallery a:hover b{opacity:1;transform:none}
/* 5) Tarjetas de blog en shelf: alto uniforme + media arriba */
.ix-shelf .ix-card.ix-glass{display:flex;flex-direction:column;min-height:330px}
.ix-bcard__media{height:140px;border-radius:var(--r);overflow:hidden;margin:-4px -4px 14px;background:#0e1013 center/cover no-repeat}
.ix-bcard__media img{width:100%;height:100%;object-fit:cover;display:block}

/* =========================================================
   REFINAMIENTOS v2 (2026-06-13) — títulos · aliados · blog marquesina · CPU señales
   ========================================================= */
/* 14) Títulos de sección centrados y consistentes */
.ix-section-head{text-align:center!important;margin-inline:auto!important;max-width:780px}
.ix-section-head .ix-lead,.ix-section-head p{margin-inline:auto!important}

/* 13) Flechas del shelf en verde de marca (no rosado/blanco) */
.ix-shelf__btn{color:var(--ix-green)!important;border-color:rgba(44,255,5,.3)!important;background:rgba(44,255,5,.06)!important}
.ix-shelf__btn:hover{background:rgba(44,255,5,.14)!important;border-color:var(--ix-green)!important}
.ix-shelf__btn:disabled{opacity:.35}
/* 13b) Blog/shelf como barra infinita */
.ix-shelf--marquee{overflow:hidden}
.ix-shelf--marquee .ix-shelf__nav .ix-shelf__btn{display:none}
.ix-shelf--marquee .ix-shelf__track{width:max-content;animation:ix-marquee var(--mq,72s) linear infinite;overflow:visible;scroll-snap-type:none}
.ix-shelf--marquee:hover .ix-shelf__track{animation-play-state:paused}

/* 12+25+26) ALIADOS comerciales: logos monocromos SIN fondo, sobre el oscuro, barra infinita continua */
.ix-partners{position:relative;overflow:hidden;padding:14px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ix-partners__track{display:inline-flex;align-items:center;gap:62px;width:max-content;animation:ix-marquee var(--mq,46s) linear infinite;will-change:transform}
.ix-partners__logo{flex:0 0 auto;display:grid;place-items:center}
.ix-partners__logo img{height:76px;width:auto;max-width:210px;object-fit:contain;display:block;opacity:1;filter:drop-shadow(0 0 5px rgba(255,255,255,.16));transition:transform .35s var(--ix-ease),filter .35s var(--ix-ease)}
.ix-partners__logo:hover img{filter:drop-shadow(0 0 9px rgba(255,255,255,.28))}
.ix-partners__logo:hover img{opacity:1;transform:scale(1.07)}
/* compat: si quedaran chips viejos, neutralizarlos */
.ix-partners__chip{background:transparent!important;box-shadow:none!important;min-width:0!important;padding:0 18px!important;height:auto!important}
.ix-partners__chip img{height:76px!important;max-width:210px!important;filter:brightness(0) invert(1);opacity:.66}

/* 16) Logo OpenAI inline (svg blanco) en el grid hexagonal */
.ix-hex__svg{position:relative;z-index:1;width:48%;height:48%;color:#fff;opacity:.72;transition:opacity .3s}
.ix-hex:hover .ix-hex__svg{opacity:1}

/* 11) CPU: señales más visibles (glow en las luces que viajan) */
.cpu-architecture{filter:drop-shadow(0 0 4px rgba(44,255,5,.9)) drop-shadow(0 0 9px rgba(44,255,5,.4))}

@media(prefers-reduced-motion:reduce){.ix-shelf--marquee .ix-shelf__track,.ix-partners__track{animation:none!important}}

/* =========================================================
   REFINAMIENTOS v3 (2026-06-13) — header/footer limpieza · marca
   ========================================================= */
/* 22) Marca: el logo (imagen) ya dice "IDEALAB PARTNERS"; ocultar el texto redundante */
.ix-nav__brand b,.ix-nav__brand span{display:none!important}
/* 24) Footer: quitar la línea de arriba de la marquesina (dejar solo una) */
.ixf3__marq{border-top:0!important}
/* 19) Estados del nav siempre en verde de marca (matar cualquier rosado externo) */
.ix-nav__dropbtn:hover,.ix-nav__dropbtn:focus,.ix-nav__dropbtn:active,.ix-nav__dropbtn:focus-visible,
.ix-nav__drop.is-open .ix-nav__dropbtn,.ix-nav__dropbtn[aria-expanded="true"],
.ix-nav__menu>a:hover,.ix-nav__menu>a:focus,.ix-nav__menu>a:active,.ix-nav__menu>a:focus-visible,
.ix-nav__panel a:hover,.ix-nav__panel a:focus{background:transparent!important;color:var(--ix-green)!important;outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}
.ix-nav a,.ix-nav button{-webkit-tap-highlight-color:transparent}
::selection{background:rgba(44,255,5,.30);color:#fff}
::-moz-selection{background:rgba(44,255,5,.30);color:#fff}

/* =========================================================
   REFINAMIENTOS v4 (2026-06-13) — blog hero 3D · comentarios · CPU señales
   ========================================================= */
/* 33) Hero 3D de los posts: imagen full-bleed tipo canvas + título encima */
.ix-posthero{position:relative;width:100vw;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;margin-bottom:40px;min-height:clamp(330px,48vw,540px);display:flex;align-items:flex-end;overflow:hidden;perspective:1100px;background:#0e1013 center/cover no-repeat;isolation:isolate}
.ix-posthero__img{position:absolute;inset:-6%;width:112%;height:112%;object-fit:cover;z-index:0;transform:scale(1.04);transition:transform .5s var(--ix-ease);will-change:transform}
.ix-posthero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,10,10,.12),rgba(10,10,10,.5) 55%,rgba(10,10,10,.94));pointer-events:none}
.ix-posthero::before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(120% 80% at 50% 0%,rgba(44,255,5,.18),transparent 62%);mix-blend-mode:screen;pointer-events:none}
.ix-posthero__inner{position:relative;z-index:2;width:min(1180px,92vw);margin:0 auto;padding:clamp(26px,4vw,56px) clamp(20px,4vw,40px);transform-style:preserve-3d;transition:transform .25s ease-out}
.ix-posthero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:var(--ix-font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ix-green);background:rgba(44,255,5,.1);border:1px solid rgba(44,255,5,.3);padding:6px 13px;border-radius:999px;margin-bottom:18px;backdrop-filter:blur(6px);transform:translateZ(30px)}
.ix-posthero__inner h1,.ix-posthero__inner .entry-title{margin:0;color:#fff;font-size:clamp(2rem,4.8vw,3.5rem);line-height:1.05;letter-spacing:-.02em;text-shadow:0 6px 34px rgba(0,0,0,.55);max-width:20ch;transform:translateZ(46px)}
.ix-posthero__meta{margin-top:18px;display:flex;gap:18px;flex-wrap:wrap;color:var(--ix-text-2);font-size:.9rem;transform:translateZ(20px)}
.single .ix-prose>figure.ix-postimg:first-child{display:none}
@media(prefers-reduced-motion:reduce){.ix-posthero__inner{transform:none!important}.ix-posthero__img{transform:scale(1.02)!important}}

/* 34+35) Comentarios on-brand + mini-panel de datos */
.comment-respond,#respond{margin-top:48px;padding:clamp(20px,3vw,34px);background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:20px}
.comment-reply-title,#reply-title{font-size:clamp(1.4rem,3vw,1.9rem);margin:0 0 4px;line-height:1.1}
#commentform,.comment-form{display:grid;gap:14px;margin-top:14px}
.comment-form .logged-in-as{font-size:.86rem;color:var(--ix-text-2);margin:0}
.comment-form .comment-notes,.comment-form .comment-form-cookies-consent{font-size:.82rem;color:var(--ix-text-2);margin:0}
.comment-form label{display:block;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ix-text-2);margin-bottom:6px}
#comment{width:100%;min-height:120px;height:132px;max-height:280px;background:rgba(255,255,255,.04);border:1px solid var(--ix-border);border-radius:13px;color:var(--ix-text);padding:14px 16px;font-family:var(--ix-font-body);font-size:1rem;line-height:1.5;resize:vertical}
.comment-form :is(input[type=text],input[type=email],input[type=url]){width:100%;background:rgba(255,255,255,.04);border:1px solid var(--ix-border);border-radius:11px;color:var(--ix-text);padding:12px 15px;font-size:.96rem;font-family:var(--ix-font-body)}
.comment-form :is(#comment:focus,input:focus){outline:none;border-color:var(--ix-green);box-shadow:0 0 0 3px rgba(44,255,5,.15)}
.comment-form-author,.comment-form-email,.comment-form-comment,.comment-form-url{margin:0}
@media(min-width:580px){.ix-cmt-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}}
.form-submit{margin:6px 0 0}
#commentform #submit,.form-submit input[type=submit],.form-submit #submit{background:var(--ix-green)!important;color:#06140a!important;border:none!important;border-radius:999px!important;padding:13px 32px!important;font-weight:700!important;font-size:.98rem!important;cursor:pointer;box-shadow:0 10px 26px -10px rgba(44,255,5,.55);transition:transform .2s var(--ix-ease),box-shadow .2s var(--ix-ease)}
#commentform #submit:hover,.form-submit input[type=submit]:hover{transform:translateY(-2px);box-shadow:0 16px 32px -10px rgba(44,255,5,.65)}
.comments-area{margin-top:10px}
.comment-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:16px}
.comment-list .comment-body{background:var(--ix-surface);border:1px solid var(--ix-border);border-radius:16px;padding:18px 20px}

/* 32) CPU: señales eléctricas secuenciadas (organizado) + glow más fuerte */
.cpu-architecture{filter:drop-shadow(0 0 5px rgba(44,255,5,.95)) drop-shadow(0 0 12px rgba(44,255,5,.5))!important}
.cpu-line-1{animation-delay:0s!important}.cpu-line-2{animation-delay:.5s!important}.cpu-line-3{animation-delay:1s!important}.cpu-line-4{animation-delay:1.5s!important}
.cpu-line-5{animation-delay:2s!important}.cpu-line-6{animation-delay:2.5s!important}.cpu-line-7{animation-delay:3s!important}.cpu-line-8{animation-delay:3.5s!important}

/* 18) Hero: quitar el isotipo "IP" (ya tenemos el logo en header/footer) */
.ix-hero__logo{display:none!important}
/* 29) Bloque CTA (.ix-promo) rediseñado: tarjeta oscura premium con acento verde, NO bloque verde plano */
.ix-promo{background:linear-gradient(135deg,#0f1512 0%,#0a0a0a 64%)!important;border:1px solid rgba(44,255,5,.22)!important;color:#fff!important;box-shadow:0 34px 90px -46px rgba(44,255,5,.3)!important;position:relative;overflow:hidden}
.ix-promo::before{content:'';position:absolute;inset:0;background:radial-gradient(130% 150% at 0% 0%,rgba(44,255,5,.15),transparent 55%);pointer-events:none;z-index:0}
.ix-promo::after{content:'';position:absolute;right:-80px;top:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(44,255,5,.16),transparent 70%);filter:blur(26px);pointer-events:none;z-index:0}
.ix-promo>*{position:relative;z-index:1}
.ix-promo :is(h1,h2,h3,.ix-promo__title){color:#fff!important}
.ix-promo :is(h1,h2,h3) :is(b,strong,em,.ix-green,mark){color:var(--ix-green)!important;background:none!important}
.ix-promo p,.ix-promo .ix-lead{color:var(--ix-text-2)!important}
.ix-promo .ix-btn,.ix-promo .ix-btn--primary,.ix-promo a.ix-btn{background:var(--ix-green)!important;color:#06140a!important;border:none!important;box-shadow:0 12px 30px -10px rgba(44,255,5,.5)!important}
.ix-promo .ix-btn--ghost{background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.25)!important}

/* =========================================================
   REFINAMIENTOS v5 (2026-06-13) — galería de trabajos (#28) · testimonios (#30)
   ========================================================= */
/* 28) "Lo que construimos, en movimiento": imágenes reales, filas en sentidos opuestos, continuo */
.ix-works .ix-parallax__stage{display:flex;flex-direction:column;gap:18px;overflow:hidden;margin-top:34px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.ix-works .ix-parallax__row{display:flex;gap:18px;width:max-content;animation:ix-marquee var(--wm,64s) linear infinite!important;animation-timeline:auto!important;transform:none!important;will-change:transform}
.ix-works .ix-parallax__row--b{animation-direction:reverse!important;--wm:76s}
.ix-works .ix-parallax__row--c{--wm:70s}
.ix-works:hover .ix-parallax__row{animation-play-state:paused}
.ix-works .ix-pcard{flex:0 0 clamp(232px,26vw,322px);height:clamp(150px,17vw,202px);border-radius:18px;overflow:hidden;position:relative;border:1px solid var(--ix-border);display:block;box-shadow:0 18px 40px -24px rgba(0,0,0,.8)}
.ix-works .ix-pcard__img{position:absolute;inset:0;background:#0e1013 center/cover no-repeat;transition:transform .55s var(--ix-ease)}
.ix-works .ix-pcard:hover .ix-pcard__img{transform:scale(1.08)}
.ix-works .ix-pcard::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.04),rgba(10,10,10,.5) 52%,rgba(10,10,10,.88));z-index:1}
.ix-works .ix-pcard__t{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;display:flex;flex-direction:column;gap:3px}
.ix-works .ix-pcard__t span{font-family:var(--ix-font-mono);font-size:.66rem;letter-spacing:.14em;color:var(--ix-green)}
.ix-works .ix-pcard__t b{font-size:1.04rem;color:#fff;font-weight:700;letter-spacing:-.01em}
.ix-works .ix-pcard::before{content:'';position:absolute;inset:0;z-index:3;border-radius:18px;box-shadow:inset 0 0 0 1px rgba(44,255,5,0);transition:box-shadow .3s;pointer-events:none}
.ix-works .ix-pcard:hover::before{box-shadow:inset 0 0 0 1px rgba(44,255,5,.4)}
@media(prefers-reduced-motion:reduce){.ix-works .ix-parallax__row{animation:none!important}}

/* 30) Testimonios con foto */
.ix-tcard__person{display:flex;align-items:center;gap:13px;margin-top:18px}
.ix-tcard__avatar{width:50px;height:50px;border-radius:50%;object-fit:cover;border:2px solid rgba(44,255,5,.45);flex:0 0 auto;box-shadow:0 6px 16px -6px rgba(44,255,5,.4)}
.ix-tcard__who{display:flex;flex-direction:column;line-height:1.25}
.ix-tcard__who b{color:#fff;font-size:.98rem}
.ix-tcard__who span{color:var(--ix-text-2);font-size:.84rem}

/* =========================================================
   REFINAMIENTOS v6 (2026-06-13) — hero blog · .ix-spot uniforme · back-to-top
   ========================================================= */
/* 39) Hero del post: subirlo (el padding-top:150px de .site-main lo alejaba del header) */
body.single-post .site-main{padding-top:14px!important}
.ix-posthero{margin-top:0}
/* 40) .ix-spot: efecto de hover UNIFORME (no radial que sigue el cursor / ilumina la mitad) */
.ix-spot::before{background:radial-gradient(125% 135% at 50% -12%,rgba(44,255,5,.12),transparent 64%)!important}
.ix-spot:hover{border-color:rgba(44,255,5,.42)!important}
.ix-spot:hover::before{opacity:1}
/* 42) Footer back-to-top: verde de marca, sin rosado de focus, más preciso */
.ixf3__top-btn{width:46px!important;height:46px!important;border:1px solid rgba(44,255,5,.3)!important;background:rgba(44,255,5,.07)!important;color:var(--ix-green)!important;border-radius:50%!important}
.ixf3__top-btn:hover{background:rgba(44,255,5,.16)!important;border-color:var(--ix-green)!important;transform:translateY(-3px);box-shadow:0 10px 22px -8px rgba(44,255,5,.5)}
.ixf3__top-btn:focus,.ixf3__top-btn:active,.ixf3__top-btn:focus-visible{outline:none!important;background:rgba(44,255,5,.16)!important;color:var(--ix-green)!important;border-color:var(--ix-green)!important;-webkit-tap-highlight-color:transparent}

/* =========================================================
   REFINAMIENTOS v7 (2026-06-13) — escena 3D Spline interactiva [ix_robot3d]
   ========================================================= */
.ix-robot3d{position:relative;overflow:hidden;border-radius:26px;border:1px solid rgba(44,255,5,.16);background:radial-gradient(130% 130% at 82% 8%,#0c1a10,#050505 58%);min-height:clamp(440px,48vw,540px);margin:6px 0;isolation:isolate}
.ix-robot3d__grid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(44,255,5,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(44,255,5,.06) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:radial-gradient(72% 70% at 55% 35%,#000,transparent);mask-image:radial-gradient(72% 70% at 55% 35%,#000,transparent);opacity:.5;pointer-events:none}
.ix-robot3d__spot{position:absolute;z-index:1;top:-25%;left:var(--sx,40%);width:55%;height:90%;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(44,255,5,.20),rgba(44,255,5,.06) 45%,transparent 72%);filter:blur(38px);pointer-events:none;transition:left .5s cubic-bezier(.22,1,.36,1);animation:ix-robotspot 1.1s ease-out both}
@keyframes ix-robotspot{from{opacity:0;transform:translateX(-50%) translateY(-12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.ix-robot3d__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr 1fr;height:100%;min-height:inherit;align-items:center}
.ix-robot3d__text{padding:clamp(28px,4vw,56px)}
.ix-robot3d__title{font-size:clamp(2rem,4.6vw,3.3rem);line-height:1.04;letter-spacing:-.02em;margin:12px 0 16px;color:#fff;background:linear-gradient(180deg,#fff,#a7bcae);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.ix-robot3d__title b{color:var(--ix-green);-webkit-text-fill-color:var(--ix-green)}
.ix-robot3d__text .ix-lead{max-width:46ch;margin-bottom:26px;color:var(--ix-text-2)}
.ix-robot3d__stage{position:relative;z-index:2;height:100%;min-height:clamp(440px,48vw,540px)}
.ix-robot3d__stage spline-viewer{width:100%;height:100%;display:block;background:transparent}
@media(max-width:860px){.ix-robot3d__inner{grid-template-columns:1fr}.ix-robot3d__stage{min-height:clamp(320px,80vw,420px);order:-1}.ix-robot3d__text{padding-top:10px}}
@media(prefers-reduced-motion:reduce){.ix-robot3d__spot{animation:none}}

/* Robot 3D dentro del HERO (texto izquierda · robot derecha · spotlight verde) */
.ix-hero--robot{position:relative;overflow:hidden}
.ix-hero--robot::before{content:'';position:absolute;inset:0;z-index:0;background:radial-gradient(52% 72% at 78% 38%,rgba(44,255,5,.16),transparent 58%),radial-gradient(46% 60% at 16% 28%,rgba(44,255,5,.06),transparent 62%);pointer-events:none}
.ix-hero__robot{position:absolute;top:0;right:0;width:50%;height:100%;z-index:1}
.ix-hero__robot spline-viewer{width:100%;height:100%;display:block;background:transparent}
.ix-hero--robot .ix-container{position:relative;z-index:3}
.ix-hero--robot :is(.ix-eyebrow,h1,.ix-lead,.ix-hero__cta){max-width:540px}
@media(max-width:980px){
  .ix-hero__robot{position:relative;top:auto;right:auto;width:100%;height:clamp(280px,62vw,380px);margin-top:14px;z-index:1}
  .ix-hero--robot :is(.ix-eyebrow,h1,.ix-lead,.ix-hero__cta){max-width:none}
}

/* =========================================================
   RESPONSIVE NATIVO (2026-06-13) — reglas propias por dispositivo
   Desktop >=1025 · Tablet 641-1024 · Movil <=640 · Movil chico <=400
   ========================================================= */
/* Nunca scroll horizontal en ningun dispositivo (clip = no rompe sticky ni el scroll vertical) */
html{overflow-x:clip}
body{overflow-x:clip;max-width:100%}
/* fondo base del hero (cuando NO hay robot: tablet/movil) */
.ix-hero{background-image:radial-gradient(58% 70% at 72% 26%,rgba(44,255,5,.10),transparent 60%),radial-gradient(44% 56% at 12% 22%,rgba(44,255,5,.05),transparent 62%)}

/* ---------------- TABLET (<=1024px) ---------------- */
@media(max-width:1024px){
  .ix-container,.ix-section>.ix-container{padding-left:clamp(20px,4vw,34px);padding-right:clamp(20px,4vw,34px)}
  .ix-works .ix-pcard{flex-basis:clamp(210px,38vw,290px);height:clamp(140px,25vw,182px)}
  .ix-robot3d__inner{grid-template-columns:1fr}
  .ix-posthero{min-height:clamp(300px,52vw,460px)}
}

/* ---------------- MOVIL (<=640px) ---------------- */
@media(max-width:640px){
  .ix-container,.ix-section>.ix-container{padding-left:18px!important;padding-right:18px!important}
  /* hero */
  .ix-hero{min-height:auto;padding-top:16px!important;padding-bottom:48px}
  .ix-hero h1,.ix-hero .ix-rotator{font-size:clamp(2.05rem,10.5vw,2.9rem)!important;line-height:1.07!important}
  .ix-hero .ix-eyebrow{font-size:.66rem;letter-spacing:.12em}
  .ix-hero .ix-lead{font-size:1rem;line-height:1.5}
  .ix-hero__cta{display:flex;flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:360px}
  .ix-hero__cta .ix-btn{width:100%;justify-content:center;text-align:center}
  /* titulos de seccion */
  .ix-section-head{max-width:none!important}
  .ix-section-head h2,.ix-shelf__title,.ix-robot3d__title,.ix-promo :is(h2,h3){font-size:clamp(1.55rem,7.6vw,2.05rem)!important;line-height:1.14}
  .ix-lead{font-size:.98rem}
  /* botones: touch target comodo */
  .ix-btn{min-height:46px;padding-top:12px;padding-bottom:12px}
  /* contadores */
  .ix-stats{grid-template-columns:1fr 1fr!important;gap:24px 16px}
  .ix-stats [data-count],.ix-stats b{font-size:clamp(2rem,12vw,2.6rem)}
  /* aliados */
  .ix-partners{padding:8px 0}
  .ix-partners__logo img{height:46px!important}
  .ix-partners__track{gap:32px}
  /* galeria de trabajos: mantener marquee (anular wrap viejo), cards mas chicas */
  .ix-works .ix-parallax__stage{margin-top:22px}
  .ix-works .ix-parallax__row{flex-wrap:nowrap!important;width:max-content!important;margin-left:0!important;justify-content:flex-start!important}
  .ix-works .ix-pcard{flex:0 0 44vw!important;height:30vw!important;min-height:124px}
  .ix-works .ix-pcard__t b{font-size:.86rem}
  .ix-works .ix-pcard__t span{font-size:.58rem}
  .ix-works .ix-parallax__row{gap:12px!important}
  /* CPU + hexagonos */
  .ix-stack__cpu,.cpu-architecture-svg{max-width:100%;height:auto}
  .ix-hexwrap{gap:9px!important}
  .ix-hex{width:58px!important;height:58px!important;font-size:.6rem}
  .ix-hex b{font-size:.56rem}
  /* planes (1 col ya) numeros/padding */
  .ix-plans{max-width:380px}
  /* promo CTA */
  .ix-promo{padding:24px 20px!important;border-radius:18px!important}
  /* footer */
  .ixf3__giant{font-size:17vw!important;letter-spacing:-.01em}
  .ixf3__marq{font-size:.78rem}
  .ixf3__top{flex-direction:column;gap:14px;align-items:flex-start}
  /* blog post hero */
  .ix-posthero{min-height:clamp(230px,62vw,340px)}
  .ix-posthero__inner{padding:20px 18px}
  .ix-posthero__inner h1,.ix-posthero__inner .entry-title{font-size:clamp(1.55rem,7.6vw,2.2rem)!important}
  /* comentarios (name/email ya stack <580) */
  .comment-respond,#respond{padding:18px 16px}
  /* split: imagen proporcion movil */
  .ix-split__media{aspect-ratio:16/11}
  /* prose legible */
  .ix-prose{font-size:1rem}
  .ix-prose h2{font-size:1.45rem}
  /* tablas con scroll propio */
  .ix-prose table,.comment-content table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
}

/* ---------------- MOVIL CHICO (<=400px) ---------------- */
@media(max-width:400px){
  .ix-hero h1,.ix-hero .ix-rotator{font-size:clamp(1.85rem,9.5vw,2.35rem)!important}
  .ix-stats [data-count]{font-size:2rem}
  .ix-partners__logo img{height:40px!important}
  .ix-works .ix-pcard{flex:0 0 54vw!important;height:36vw!important}
  .ix-hex{width:52px!important;height:52px!important}
}

/* ---------------- MENU MOVIL: justificado a la derecha, bien estructurado ---------------- */
@media(max-width:920px){
  .ix-nav__menu{align-items:flex-end!important;text-align:right;padding:14px 22px 34px!important;gap:2px!important;overflow-y:auto;max-height:calc(100dvh - 60px);max-height:calc(100vh - 60px)}
  /* items nivel 1 */
  .ix-nav__menu>a,.ix-nav__drop,.ix-nav__dropbtn{width:100%!important}
  .ix-nav__menu>a,.ix-nav__dropbtn{display:flex!important;justify-content:flex-end!important;align-items:center;gap:8px;text-align:right!important;padding:15px 2px!important;font-size:1.15rem!important;font-weight:600;border-bottom:1px solid rgba(255,255,255,.07)}
  .ix-nav__drop{text-align:right}
  .ix-nav__dropbtn{border-bottom:1px solid rgba(255,255,255,.07)}
  /* SUBMENU: estatico, indentado, sin salirse (era absolute -> se cortaba a la izquierda) */
  .ix-nav__panel{position:static!important;left:auto!important;right:auto!important;top:auto!important;transform:none!important;display:none!important;width:100%!important;min-width:0!important;max-width:none!important;background:transparent!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:2px 0 6px!important;margin:0!important;opacity:1!important;visibility:visible!important;backdrop-filter:none!important}
  .ix-nav__drop.is-open .ix-nav__panel{display:flex!important;flex-direction:column;align-items:flex-end}
  .ix-nav__panel a{width:100%!important;display:flex;justify-content:flex-end;text-align:right!important;padding:11px 16px 11px 0!important;font-size:1rem!important;color:var(--ix-text-2)!important;border-bottom:1px solid rgba(255,255,255,.045)}
  .ix-nav__panel a:hover,.ix-nav__panel a:focus{color:var(--ix-green)!important;background:transparent!important}
  /* boton X de cerrar (toggle): sin rosado, en verde de marca */
  .ix-nav__toggle,.ix-nav__toggle:hover,.ix-nav__toggle:focus,.ix-nav__toggle:active,.ix-nav__toggle:focus-visible,.ix-nav.is-open .ix-nav__toggle{background:transparent!important;border:none!important;outline:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}
  .ix-nav__toggle span{background:#fff!important}
  .ix-nav.is-open .ix-nav__toggle span{background:var(--ix-green)!important}
  /* boton Contacto del menu: pill con glow, ancho automatico, a la derecha, texto centrado */
  .ix-nav__menu .ix-nav__cta,a.ix-nav__cta.ix-btn{display:inline-flex!important;align-self:flex-end!important;width:auto!important;max-width:none!important;justify-content:center!important;text-align:center!important;margin-top:18px!important;padding:13px 34px!important;font-size:1.05rem!important;border-bottom:none!important}
}

/* ---------------- ROBOT 3D en el hero MOVIL/TABLET: arriba, llenando el espacio ---------------- */
@media(max-width:980px){
  .ix-hero--robot{display:flex!important;flex-direction:column}
  .ix-hero--robot .ix-hero__robot{order:-1!important;width:100%!important;height:clamp(300px,80vw,420px)!important;margin:0 0 18px!important}
  .ix-hero--robot .ix-container{order:1}
}

/* ---------------- CPU: LUZ ANIMADA en las lineas (vectores de conexion / motion graphics) ---------------- */
.cpu-architecture-svg g>path{stroke:rgba(44,255,5,.5)!important;stroke-width:.65px!important;stroke-dasharray:5 15;stroke-linecap:round;filter:drop-shadow(0 0 1.2px rgba(44,255,5,.85));animation:ix-cpuflow 1.5s linear infinite}
.cpu-architecture-svg g>path:nth-of-type(2n){animation-duration:1.9s;animation-delay:.4s}
.cpu-architecture-svg g>path:nth-of-type(3n){animation-duration:1.65s;animation-delay:.8s}
@keyframes ix-cpuflow{to{stroke-dashoffset:-40}}
@media(prefers-reduced-motion:reduce){.cpu-architecture-svg g>path{animation:none!important;stroke-dasharray:none}}

/* ---------------- PIPE "datos conectados" en MOVIL: tarjetas verticales legibles ---------------- */
@media(max-width:640px){
  .ix-pipe{flex-direction:column!important;align-items:stretch!important;gap:0!important}
  .ix-pipe__node{flex:0 1 auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:18px 20px!important;text-align:center}
  .ix-pipe__ic{display:inline-flex!important;margin:0 0 10px!important}
  .ix-pipe__node h4{margin:0 0 5px!important;font-size:1.12rem!important;line-height:1.2;color:#fff!important}
  .ix-pipe__node p{margin:0!important;font-size:.9rem!important;line-height:1.4}
  .ix-pipe__node>p:empty{display:none!important}
  .ix-pipe__cert{font-size:.78rem;justify-content:center}
  .ix-pipe>p{margin:0!important;display:flex;justify-content:center}
  .ix-pipe__link{flex-basis:26px!important;width:2px!important;height:26px!important;align-self:center}
}

/* ============================================================
 * TANDA I — CPU puntos blancos + Stack 2 columnas (movil)
 * ============================================================ */

/* 1) CPU: los "puntos" de conexion en BLANCO (antes negro con borde oscuro/verde) */
.cpu-architecture-svg marker#cpu-circle-marker circle{fill:#ffffff!important;stroke:#ffffff!important;stroke-width:.3px!important}

/* 2) Stack de tecnologias: en movil, grid PAREJO de 2 columnas con etiqueta visible */
@media(max-width:640px){
  .ix-hexwrap{display:grid!important;grid-template-columns:1fr 1fr!important;gap:14px 12px!important;max-width:100%!important;margin:0 auto!important;padding:0 2px 4px!important;justify-content:stretch!important}
  .ix-hex{width:100%!important;height:auto!important;aspect-ratio:1/.92!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;font-size:.66rem}
  .ix-hex::before{inset:1.5px}
  .ix-hex img,.ix-hex__svg{position:relative;z-index:1;width:32%!important;height:auto!important;aspect-ratio:1/1;object-fit:contain}
  .ix-hex img{filter:grayscale(1) brightness(0) invert(1) opacity(.9)!important}
  .ix-hex__svg{color:#fff!important;opacity:.9!important}
  .ix-hex b{position:static!important;left:auto!important;bottom:auto!important;transform:none!important;opacity:1!important;font-size:.7rem!important;color:var(--ix-text-2)!important;line-height:1.1}
}
@media(max-width:400px){
  .ix-hex{aspect-ratio:1/.96!important;gap:6px!important}
  .ix-hex b{font-size:.66rem!important}
}

/* ============================================================
 * TANDA I — Robot del hero: el robot 3D es muy oscuro sobre fondo
 * negro y "no se ve". Le damos un backdrop de luz verde + brillo
 * para que la silueta resalte (desktop y movil).
 * ============================================================ */
.ix-hero__robot{background:radial-gradient(52% 58% at 44% 40%,rgba(44,255,5,.30),rgba(44,255,5,.09) 48%,transparent 74%)}
/* SIN filter sobre el canvas WebGL: drop-shadow/brightness en el canvas recompone CADA frame y lagea el mouse-follow */
.ix-hero__robot spline-viewer{filter:none}
@media(max-width:980px){
  .ix-hero__robot{background:radial-gradient(62% 56% at 50% 42%,rgba(44,255,5,.22),rgba(44,255,5,.06) 48%,transparent 74%)}
}

/* ============================================================
 * TANDA II — Planes 4x2: 4 tarjetas en grid de 2 columnas x 2 filas
 * (incluye la tarjeta "A Medida"). Reutiliza el estilo .ix-plan.
 * ============================================================ */
.ix-plans--quad{grid-template-columns:1fr 1fr!important;gap:clamp(14px,2vw,22px)!important;max-width:940px;margin-inline:auto}
/* mantener 2 columnas en tablet y movil (el usuario pidio 2x2 en todo) */
@media(max-width:900px){.ix-plans--quad{grid-template-columns:1fr 1fr!important;max-width:100%!important;margin-inline:0!important}}
/* tarjeta "A Medida": borde punteado + glow sutil */
.ix-plan--custom{border-style:dashed;border-color:rgba(44,255,5,.34);background:radial-gradient(120% 100% at 50% 0,rgba(44,255,5,.05),var(--ix-surface) 60%)}
.ix-plan--custom:hover{border-color:rgba(44,255,5,.6)}
.ix-plan__price--custom b{font-size:1.7rem!important}
/* compactar las tarjetas en movil para que el 2x2 se lea bien */
@media(max-width:640px){
  .ix-plans--quad{gap:12px!important}
  .ix-plans--quad .ix-plan{padding:18px 14px!important;border-radius:16px}
  .ix-plans--quad .ix-plan__badge{font-size:.52rem;padding:4px 9px;top:-9px}
  .ix-plans--quad .ix-plan__name{font-size:1.08rem}
  .ix-plans--quad .ix-plan__desc{font-size:.76rem;margin:.2em 0 .8em;min-height:3.4em}
  .ix-plans--quad .ix-plan__price b{font-size:1.65rem}
  .ix-plans--quad .ix-plan__price span{font-size:.72rem}
  .ix-plans--quad .ix-plan__impl{font-size:.6rem;padding:3px 7px}
  .ix-plans--quad .ix-plan__feats{gap:7px;margin:13px 0 15px}
  .ix-plans--quad .ix-plan__feats li{font-size:.78rem;gap:6px}
  .ix-plans--quad .ix-plan__feats svg{width:13px;height:13px}
  .ix-plans--quad .ix-plan .ix-btn{font-size:.8rem;padding:11px 6px}
}
@media(max-width:380px){
  .ix-plans--quad{grid-template-columns:1fr!important;max-width:340px!important;margin-inline:auto!important}
  .ix-plans--quad .ix-plan__desc{min-height:0}
}

/* ============================================================
 * TANDA III — Footer compacto en movil: 2 columnas + acordeones
 * (solo Empresa y Legal colapsan; Soluciones queda abierta).
 * En desktop el footer no cambia.
 * ============================================================ */
@media(max-width:640px){
  .ixf3__cols{display:grid!important;grid-template-columns:1fr 1fr!important;gap:18px 16px!important;align-items:start!important;text-align:left!important}
  .ixf3__cols > *:not(.ixf3__col){grid-column:1 / -1}
  .ixf3__col{margin:0!important;min-width:0}
  .ixf3__col > p{font-family:var(--ix-font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ix-text-2);margin:0 0 8px}
  /* Soluciones (sin acordeon): ancho completo, links en 2 columnas */
  .ixf3__col:not(.ixf3__col--acc){grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;column-gap:14px;row-gap:0}
  .ixf3__col:not(.ixf3__col--acc) > p{grid-column:1 / -1}
  .ixf3__col:not(.ixf3__col--acc) > a{font-size:.86rem;padding:5px 0}
  /* Empresa + Legal: acordeones lado a lado (colapsados por defecto) */
  .ixf3__col--acc{grid-column:span 1;align-self:start}
  .ixf3__col--acc > p{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;margin:0;padding:11px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.025);text-transform:uppercase}
  .ixf3__col--acc > p::after{content:'+';color:var(--ix-green);font-size:1.1rem;line-height:1;font-family:var(--ix-font-mono)}
  .ixf3__col--acc.is-open > p::after{content:'\2212'}
  .ixf3__col--acc.is-open > p{border-color:rgba(44,255,5,.35)}
  .ixf3__col--acc > a{display:block;max-height:0;overflow:hidden;opacity:0;padding:0 4px;font-size:.85rem;line-height:1.2;transition:max-height .25s var(--ix-ease),opacity .2s,padding .2s}
  .ixf3__col--acc.is-open > a{max-height:48px;opacity:1;padding:8px 4px}
}

/* TANDA IV revertida: content-visibility causaba render-on-scroll ("demora mas"). */

/* ============================================================
 * TANDA V — (1) Footer: quitar la linea/hairline sobre la marquesina.
 * (2) Blog: tarjetas uniformes (imagen 16:10 arriba, titulo, excerpt).
 * ============================================================ */
.ixf3{border-top:0!important}
.ixf3__marq{border-top:0!important;border-bottom:0!important}

.blog article.post{display:flex;flex-direction:column;min-width:0}
.blog article.post > a{order:-1;display:block;margin:0 0 14px;border-radius:14px;overflow:hidden;border:1px solid var(--ix-border)}
.blog article.post > a img{width:100%!important;height:auto!important;aspect-ratio:16/10;object-fit:cover;display:block;transition:transform .45s var(--ix-ease)}
.blog article.post > a:hover img{transform:scale(1.05)}
.blog article.post .entry-title{font-size:1.12rem;line-height:1.3;margin:0 0 8px}
.blog article.post > p{font-size:.9rem;line-height:1.5;color:var(--ix-text-2);margin:0}
@media(max-width:640px){
  .blog article.post .entry-title{font-size:1.05rem}
}

/* ============================================================
 * TANDA VI — Rediseño: testimonios (sin pausa + foto), barras works,
 * social de marca, PLANES INTEGRALES v3, telefono WhatsApp animado,
 * formulario split con motion graphics.
 * ============================================================ */

/* 58) Testimonios: el loop NUNCA se pausa + avatar con foto */
.ix-tmoni-wrap:hover .ix-tmoni-row{animation-play-state:running!important}
.ix-tmoni-row{animation-duration:36s!important}
img.ix-tmoni__av{width:44px;height:44px;border-radius:50%;object-fit:cover;border:2px solid rgba(44,255,5,.5);flex:0 0 auto;padding:0}

/* 61) Works: 3 barras infinitas con mas vida (a→ b← c→) */
.ix-works .ix-parallax__row{--wm:34s}
.ix-works .ix-parallax__row--b{--wm:40s}
.ix-works .ix-parallax__row--c{--wm:37s}

/* 65) Social del footer: hover con color de marca */
.ixf3__soc a{transition:transform .25s var(--ix-ease),background .25s,border-color .25s,box-shadow .25s,color .25s}
.ixf3__soc a:hover{transform:translateY(-4px) scale(1.08)}
.ixf3__soc a[aria-label="Instagram"]:hover{background:radial-gradient(circle at 30% 110%,#fdf497 0%,#fd5949 45%,#d6249f 60%,#285AEB 90%);border-color:transparent;color:#fff;box-shadow:0 8px 22px -8px rgba(214,36,159,.65)}
.ixf3__soc a[aria-label="Facebook"]:hover{background:#1877F2;border-color:#1877F2;color:#fff;box-shadow:0 8px 22px -8px rgba(24,119,242,.65)}
.ixf3__soc a[aria-label="TikTok"]:hover{background:#000;border-color:#25F4EE;color:#fff;box-shadow:0 0 14px rgba(37,244,238,.45),0 0 22px rgba(254,44,85,.3)}
.ixf3__soc a[aria-label="WhatsApp"]:hover{background:#25D366;border-color:#25D366;color:#06140a;box-shadow:0 8px 22px -8px rgba(37,211,102,.7)}

/* 62) PLANES INTEGRALES v3: desktop 4 col, movil 2x2 */
.ix-plans3{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:stretch}
.ix-plan3{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,#111511,#0c0f0c);border:1px solid var(--ix-border);border-radius:18px;padding:26px 20px 20px;overflow:hidden;transition:transform .3s var(--ix-ease),border-color .3s,box-shadow .3s}
.ix-plan3:hover{transform:translateY(-6px);border-color:rgba(44,255,5,.45);box-shadow:var(--ix-glow)}
.ix-plan3--top{border-color:rgba(44,255,5,.6);box-shadow:0 0 0 1px rgba(44,255,5,.25),var(--ix-glow)}
.ix-plan3__ribbon{position:absolute;top:15px;right:-32px;transform:rotate(45deg);background:var(--ix-green);color:var(--ix-on-green);font-family:var(--ix-font-mono);font-size:.6rem;font-weight:700;letter-spacing:.14em;padding:4px 40px;z-index:2}
.ix-plan3__name{font-family:var(--ix-font-mono);font-weight:700;font-size:.82rem;letter-spacing:.14em;color:var(--ix-green);text-align:center;margin:0 0 10px;text-transform:uppercase}
.ix-plan3__price{text-align:center;margin:0 0 12px}
.ix-plan3__price b{font-family:var(--ix-font-display);font-weight:800;font-size:2.2rem;color:#fff;line-height:1}
.ix-plan3__price span{color:var(--ix-text-3);font-size:.8rem;font-family:var(--ix-font-mono)}
.ix-plan3__nets{display:flex;gap:6px;justify-content:center;margin:0 0 6px;flex-wrap:wrap}
.ix-plan3__nets i{font-style:normal;font-family:var(--ix-font-mono);font-size:.56rem;letter-spacing:.1em;color:var(--ix-text-2);border:1px solid var(--ix-border);border-radius:5px;padding:3px 7px;background:rgba(255,255,255,.03)}
.ix-plan3--top .ix-plan3__nets i{border-color:rgba(44,255,5,.4);color:var(--ix-green)}
.ix-plan3__sec{font-family:var(--ix-font-mono);font-size:.6rem;letter-spacing:.16em;color:var(--ix-text-3);text-transform:uppercase;border-top:1px solid var(--ix-border);padding-top:12px;margin:12px 0 8px}
.ix-plan3 ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.ix-plan3 li{display:flex;gap:8px;align-items:flex-start;font-size:.82rem;color:var(--ix-text-2);line-height:1.35}
.ix-plan3 li::before{content:'\2713';color:var(--ix-green);font-weight:700;flex:0 0 auto}
.ix-plan3 li b{color:var(--ix-text);font-weight:600}
.ix-plan3 .ix-btn{margin-top:auto;width:100%;font-size:.78rem;letter-spacing:.08em}
.ix-plan3 ul:last-of-type{margin-bottom:20px}
@media(max-width:1024px){.ix-plans3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .ix-plans3{gap:10px}
  .ix-plan3{padding:18px 12px 14px;border-radius:14px}
  .ix-plan3__price b{font-size:1.55rem}
  .ix-plan3__name{font-size:.62rem}
  .ix-plan3 li{font-size:.7rem;gap:5px}
  .ix-plan3__sec{font-size:.52rem}
  .ix-plan3__nets i{font-size:.48rem;padding:2px 5px}
  .ix-plan3 .ix-btn{font-size:.62rem;padding:10px 4px}
  .ix-plan3__ribbon{font-size:.5rem;top:10px;right:-36px}
}
@media(max-width:380px){.ix-plans3{grid-template-columns:1fr}}

/* 64) Telefono WhatsApp con conversacion animada */
.ix-wapwrap{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(24px,5vw,60px);align-items:center}
@media(max-width:900px){.ix-wapwrap{grid-template-columns:1fr}}
.ix-wap{position:relative;width:min(320px,86vw);margin-inline:auto}
.ix-wap__frame{background:#0d0f0d;border:10px solid #161916;border-radius:38px;overflow:hidden;box-shadow:0 30px 70px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.06),0 0 44px -8px rgba(44,255,5,.25)}
.ix-wap__notch{height:20px;display:flex;justify-content:center}
.ix-wap__notch i{width:86px;height:13px;background:#161916;border-radius:0 0 12px 12px}
.ix-wap__head{display:flex;gap:10px;align-items:center;padding:8px 14px 10px;border-bottom:1px solid rgba(255,255,255,.06)}
.ix-wap__ava{width:34px;height:34px;border-radius:50%;background:var(--ix-grad);display:grid;place-items:center;color:var(--ix-on-green);flex:0 0 auto}
.ix-wap__head b{display:block;font-size:.85rem;color:#fff;font-family:var(--ix-font-display)}
.ix-wap__head i{font-style:normal;font-family:var(--ix-font-mono);font-size:.56rem;letter-spacing:.12em;color:var(--ix-green)}
.ix-wap__chat{height:330px;padding:14px 12px;display:flex;flex-direction:column;gap:8px;overflow:hidden;background:radial-gradient(120% 90% at 80% 0%,rgba(44,255,5,.05),transparent 60%)}
.ix-wap__m{max-width:82%;padding:9px 12px;border-radius:14px;font-size:.78rem;line-height:1.45;opacity:0;transform:translateY(10px) scale(.96);animation:ix-wapin .35s var(--ix-ease) forwards}
.ix-wap__m--in{align-self:flex-start;background:#171b17;color:var(--ix-text);border-bottom-left-radius:4px}
.ix-wap__m--out{align-self:flex-end;background:#123312;color:#d9ffd2;border-bottom-right-radius:4px}
@keyframes ix-wapin{to{opacity:1;transform:none}}
.ix-wap__typing{align-self:flex-start;display:flex;gap:4px;padding:10px 14px;background:#171b17;border-radius:14px;border-bottom-left-radius:4px;opacity:0;animation:ix-wapin .25s forwards}
.ix-wap__typing i{width:6px;height:6px;border-radius:50%;background:var(--ix-text-3);animation:ix-wapdot 1s infinite}
.ix-wap__typing i:nth-child(2){animation-delay:.15s}.ix-wap__typing i:nth-child(3){animation-delay:.3s}
@keyframes ix-wapdot{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.ix-wap__bar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid rgba(255,255,255,.06)}
.ix-wap__bar span{flex:1;height:30px;border-radius:999px;background:#161916}
.ix-wap__bar b{width:30px;height:30px;border-radius:50%;background:var(--ix-green);display:grid;place-items:center;color:var(--ix-on-green)}
.ix-wap__badge{position:absolute;top:84px;right:-24px;background:#0f130f;border:1px solid rgba(44,255,5,.5);border-radius:12px;padding:9px 14px;display:flex;gap:8px;align-items:center;box-shadow:var(--ix-glow);opacity:0;transform:translateX(12px);transition:opacity .4s,transform .4s;z-index:3}
.ix-wap__badge.is-on{opacity:1;transform:none}
.ix-wap__badge em{font-style:normal;font-family:var(--ix-font-mono);font-size:.55rem;letter-spacing:.12em;color:var(--ix-text-3);display:block}
.ix-wap__badge b{font-size:.8rem;color:#fff}
.ix-wap__badge svg{color:var(--ix-green)}
@media(max-width:640px){.ix-wap__badge{right:-4px}}

/* 63) Formulario split premium con motion */
.ix-formsplit{display:grid;grid-template-columns:.9fr 1.1fr;background:#0d100d;border:1px solid var(--ix-border);border-radius:22px;overflow:hidden;box-shadow:0 40px 90px -50px rgba(0,0,0,.9)}
@media(max-width:900px){.ix-formsplit{grid-template-columns:1fr}}
.ix-formsplit__info{position:relative;padding:clamp(26px,4vw,44px);background:linear-gradient(160deg,#0b0e0b,#0e130e);display:flex;flex-direction:column;overflow:hidden}
.ix-formsplit__brand{font-family:var(--ix-font-mono);font-size:.66rem;letter-spacing:.2em;color:#fff;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.ix-formsplit__brand::before{content:'';width:4px;height:16px;background:var(--ix-green);border-radius:2px;box-shadow:0 0 10px var(--ix-green)}
.ix-formsplit__info h3{font-family:var(--ix-font-display);font-weight:800;font-size:clamp(1.6rem,2.6vw,2.2rem);line-height:1.1;margin:0 0 10px;color:#fff}
.ix-formsplit__info h3 b{color:var(--ix-green)}
.ix-formsplit__foot{margin-top:auto;color:var(--ix-text-3);font-size:.8rem;line-height:1.5;font-family:var(--ix-font-mono)}
.ix-formsplit__orbit{position:relative;width:190px;height:190px;margin:34px auto}
.ix-formsplit__orbit::before{content:'';position:absolute;inset:0;border:1px dashed rgba(44,255,5,.25);border-radius:50%;animation:ix-orbspin 26s linear infinite}
.ix-formsplit__orbit::after{content:'';position:absolute;inset:28px;border:1px dashed rgba(44,255,5,.16);border-radius:50%;animation:ix-orbspin 18s linear infinite reverse}
.ix-formsplit__hex{position:absolute;inset:0;margin:auto;width:64px;height:64px;background:rgba(44,255,5,.12);border:2px solid var(--ix-green);clip-path:polygon(25% 5%,75% 5%,98% 50%,75% 95%,25% 95%,2% 50%);animation:ix-hexpulse 2.6s ease-in-out infinite;box-shadow:0 0 30px rgba(44,255,5,.35)}
.ix-formsplit__dot{position:absolute;top:50%;left:50%;width:8px;height:8px;margin:-4px;border-radius:50%;background:var(--ix-green);box-shadow:0 0 8px var(--ix-green)}
.ix-formsplit__dot--a{animation:ix-orb 26s linear infinite}
.ix-formsplit__dot--b{width:5px;height:5px;background:#7dffb0;animation:ix-orb 18s linear infinite reverse}
@keyframes ix-orbspin{to{transform:rotate(360deg)}}
@keyframes ix-orb{from{transform:rotate(0) translateX(95px)}to{transform:rotate(360deg) translateX(95px)}}
@keyframes ix-hexpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.ix-formsplit__form{padding:clamp(24px,4vw,42px);background:#0f120f}
.ix-formsplit__grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.ix-formsplit__grid2{grid-template-columns:1fr}}
.ix-formsplit__form label{display:block;font-family:var(--ix-font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ix-text-3);margin:0 0 6px}
.ix-formsplit__form .fx{margin-bottom:15px}
.ix-formsplit__form input,.ix-formsplit__form select,.ix-formsplit__form textarea{width:100%;background:#0a0d0a;border:1px solid rgba(255,255,255,.1);border-radius:10px;color:#fff;padding:12px 14px;font-size:.9rem;transition:border-color .25s,box-shadow .25s}
.ix-formsplit__form input:focus,.ix-formsplit__form select:focus,.ix-formsplit__form textarea:focus{outline:none;border-color:var(--ix-green);box-shadow:0 0 0 3px rgba(44,255,5,.15)}
.ix-formsplit__form button[type=submit]{width:100%;background:transparent;border:1.5px solid var(--ix-green);color:var(--ix-green);border-radius:12px;padding:14px;font-family:var(--ix-font-mono);letter-spacing:.18em;font-size:.78rem;font-weight:700;cursor:pointer;transition:background .3s,color .3s,box-shadow .3s}
.ix-formsplit__form button[type=submit]:hover{background:var(--ix-green);color:var(--ix-on-green);box-shadow:var(--ix-glow)}

/* ============================================================
 * TANDA VII — (66) posthero full-bleed exacto, (67) hover unificado,
 * (68) robot flotante con nube en vez del boton WhatsApp.
 * ============================================================ */

/* 66) Full-bleed al pixel: --vwx la setea JS con clientWidth (sin scrollbar) */
.ix-posthero{width:var(--vwx,100vw);margin-left:calc(50% - var(--vwx,100vw)/2);margin-right:0;left:auto;right:auto}

/* 67) Efecto de seleccion UNIFICADO: lift sutil + borde verde + luz superior.
   Se neutraliza el glow viejo de .ix-spot y todas las tarjetas heredan lo mismo. */
.ix-spot::before,.ix-spot::after{display:none!important}
.ix-card,.ix-tool,.ix-feature,.ix-step,.ix-glass,.ix-spot,.ix-plan,.ix-plan3,.ix-tmoni,.ix-agent{transition:transform .28s var(--ix-ease),border-color .28s,box-shadow .28s,background-color .28s}
:is(.ix-card,.ix-tool,.ix-feature,.ix-step,.ix-glass,.ix-spot,.ix-agent):hover{transform:translateY(-4px);border-color:rgba(44,255,5,.45)!important;box-shadow:0 16px 38px -20px rgba(0,0,0,.85),0 0 0 1px rgba(44,255,5,.12),0 -1px 0 0 rgba(44,255,5,.35) inset,0 0 26px -10px rgba(44,255,5,.3)!important}
@media(pointer:coarse){:is(.ix-card,.ix-tool,.ix-feature,.ix-step,.ix-glass,.ix-spot,.ix-agent):hover{transform:none}}

/* 68) Robot flotante (reemplaza el circulo verde de WhatsApp) — sin burbuja de dialogo */
.ix-whatsapp{background:transparent!important;border:0!important;box-shadow:none!important;width:auto!important;height:auto!important;padding:0!important;overflow:visible!important}
.ix-whatsapp svg{display:none!important}
.ix-whatsapp::after{content:'';display:block;width:120px;height:86px;background:url('/wp-content/uploads/2026/07/robot-flotante-640.png') center bottom/contain no-repeat;filter:drop-shadow(0 12px 22px rgba(0,0,0,.55)) drop-shadow(0 0 16px rgba(44,255,5,.22));animation:ix-float 5.5s ease-in-out infinite;transition:filter .3s}
.ix-whatsapp:hover{transform:none!important;box-shadow:none!important}
.ix-whatsapp:hover::after{filter:drop-shadow(0 14px 26px rgba(0,0,0,.6)) drop-shadow(0 0 26px rgba(44,255,5,.45))}
@media(max-width:640px){
  .ix-whatsapp::after{width:96px;height:70px}
}

/* ============================================================
 * TANDA VIII — Correcciones móviles reportadas en dispositivo real.
 * ============================================================ */

/* A) Robot del hero en móvil: imagen fija (garantiza que SIEMPRE se vea, sin WebGL) */
.ix-hero__robot-img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 24px rgba(0,0,0,.5)) drop-shadow(0 0 22px rgba(44,255,5,.3));animation:ix-float 5.5s ease-in-out infinite}

/* B) Marquesinas SIEMPRE en movimiento (decisión de marca): que no se detengan
   aunque el sistema pida "reducir movimiento" — son puramente decorativas. */
.ix-tmoni-row{animation:ix-marquee 36s linear infinite!important;flex-wrap:nowrap!important;width:max-content!important}
.ix-partners__track{animation:ix-marquee var(--mq,46s) linear infinite!important}
.ix-shelf--marquee .ix-shelf__track{animation:ix-marquee var(--mq,72s) linear infinite!important}
.ix-works .ix-parallax__row{animation:ix-marquee var(--wm,34s) linear infinite!important}

/* C) Direccion correcta de las 3 barras de "Lo que construimos": 1a derecha, 2a izquierda, 3a derecha */
.ix-works .ix-parallax__row--a{animation-direction:reverse!important}
.ix-works .ix-parallax__row--b{animation-direction:normal!important}
.ix-works .ix-parallax__row--c{animation-direction:reverse!important}

/* D) Quitar boton "subir arriba" + footer compacto en movil */
[data-ix-top]{display:none!important}
.ixf3__bottom{justify-content:center!important;text-align:center}
@media(max-width:640px){
  .ixf3{margin-top:32px!important}
  .ixf3__top{padding:34px 0 26px!important}
  .ixf3__cta-h{margin-bottom:16px!important}
  .ixf3__marq{margin-top:20px!important;padding:9px 0!important}
  .ixf3__cols{padding-block:26px!important;gap:22px 16px!important}
  .ixf3__brand p{margin:10px 0 12px!important}
  .ixf3__bottom{padding-top:16px!important}
}

/* E) Stack tecnológico compacto en móvil: 4 columnas (3 en pantallas muy chicas) */
@media(max-width:640px){
  .ix-hexwrap{grid-template-columns:repeat(4,1fr)!important;gap:6px 5px!important}
  .ix-hex{aspect-ratio:1/1!important;gap:2px!important}
  .ix-hex b{font-size:.44rem!important;line-height:1.05}
  .ix-stack__cpu{max-width:60%!important;margin:0 auto clamp(10px,3vw,16px)!important}
}
@media(max-width:400px){
  .ix-hexwrap{grid-template-columns:repeat(3,1fr)!important}
}