/* =====================================================
   HEXAGON X — PUBLIC DESIGN SYSTEM v2
   ===================================================== */
:root{
  --bg:#08080C;--bg-2:#0C0C13;--panel:#10101A;--panel-2:#151522;
  --line:rgba(139,92,246,.16);--line-strong:rgba(139,92,246,.4);
  --violet:#7C3AED;--violet-2:#8B5CF6;--lav:#C4B5FD;
  --text:#F5F3F7;--muted:#9A94A8;--muted-2:#6B7280;
  --ok:#22C55E;--err:#EF4444;--warn:#F59E0B;--wa:#25D366;
  --fd:'Space Grotesk',sans-serif;--fb:'Inter',system-ui,sans-serif;--fm:'JetBrains Mono',monospace;
  --r:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body.hx-pub{margin:0;background:var(--bg);color:var(--text);font-family:var(--fb);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--fd);line-height:1.15;margin:0}
a{color:var(--lav)}
img{max-width:100%}
.lucide{width:18px;height:18px}
.hx-container{max-width:1180px;margin:0 auto;padding:0 22px}
.hx-container-narrow{max-width:820px}
.hx-accent{color:var(--violet-2);text-shadow:0 0 34px rgba(124,58,237,.45)}

/* ---------- Reveal ---------- */
[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease var(--d,0s),transform .7s ease var(--d,0s)}
[data-reveal].is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important}
}

/* ---------- Pills / buttons ---------- */
.hx-pill{display:inline-flex;align-items:center;gap:8px;font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--lav);border:1px solid var(--line-strong);border-radius:999px;padding:7px 14px;background:rgba(124,58,237,.08)}
.hx-pill .lucide{width:13px;height:13px}
.hx-pill-sm{padding:4px 10px;font-size:10px}
.hx-pub-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:12px;padding:12px 20px;font-size:14.5px;font-weight:600;font-family:var(--fd);cursor:pointer;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .2s}
.hx-pub-btn .lucide{width:17px;height:17px}
.hx-btn-lg{padding:15px 26px;font-size:15.5px}
.hx-pub-btn-primary{background:linear-gradient(135deg,var(--violet),var(--violet-2));color:#fff}
.hx-pub-btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(124,58,237,.4)}
.hx-pub-btn-ghost{background:transparent;border:1px solid var(--line-strong);color:var(--text)}
.hx-pub-btn-ghost:hover{border-color:var(--violet-2);background:rgba(124,58,237,.08)}
.hx-pub-btn-wa{background:linear-gradient(135deg,#128C4B,var(--wa));color:#fff}
.hx-pub-btn-wa:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(37,211,102,.3)}
.hx-pub-btn-block{width:100%;margin-top:14px}

/* ---------- Topbar ---------- */
.hx-topbar{background:linear-gradient(90deg,rgba(124,58,237,.2),rgba(59,130,246,.08) 60%,rgba(124,58,237,.14));border-bottom:1px solid var(--line);font-family:var(--fm);font-size:11px;color:var(--lav)}
.hx-topbar-in{display:flex;align-items:center;gap:16px;padding:7px 22px;max-width:1180px;margin:0 auto}
.hx-topbar-in>span{display:flex;gap:7px;align-items:center;letter-spacing:.06em}
.hx-topbar-in .lucide{width:12px;height:12px}
.hx-topbar-links{margin-left:auto;display:flex;gap:18px}
.hx-topbar-links a{color:var(--muted);text-decoration:none;display:flex;gap:6px;align-items:center;transition:color .2s}
.hx-topbar-links a:hover{color:var(--lav)}
.hx-topbar-links .lucide{width:12px;height:12px}

/* ---------- Navbar v3 (brand premium) ---------- */
.hx-pub-navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:14px 26px;background:rgba(8,8,12,.72);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:padding .3s,background .3s,border-color .3s,box-shadow .3s}
.hx-pub-navbar.is-scrolled{padding:8px 26px;background:rgba(8,8,12,.92);border-bottom-color:var(--line);box-shadow:0 12px 44px rgba(0,0,0,.45)}
.hx-pub-brand{display:flex;gap:12px;align-items:center;text-decoration:none;flex:none}
.hx-pub-brand b{color:var(--violet-2)}
.hx-brand-mark{position:relative;width:42px;height:42px;flex:none;transition:width .3s,height .3s}
.hx-brand-mark svg,.hx-brand-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 16px rgba(124,58,237,.5));transition:transform .35s}
.hx-pub-brand:hover .hx-brand-mark svg,.hx-pub-brand:hover .hx-brand-mark img{transform:rotate(-10deg) scale(1.06)}
.hx-brand-mark::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(139,92,246,.4);animation:hxRing 3.2s ease-in-out infinite;pointer-events:none}
@keyframes hxRing{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.14);opacity:.2}}
.hx-brand-text{display:flex;flex-direction:column;line-height:1.05}
.hx-brand-text strong{font-family:var(--fd);font-size:17px;font-weight:700;letter-spacing:.14em;color:var(--text)}
.hx-brand-x{background:linear-gradient(135deg,#C4B5FD,#7C3AED 60%,#5B21B6);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-brand-text em{font-style:normal;font-family:var(--fm);font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-2);margin-top:4px}
.hx-pub-navbar.is-scrolled .hx-brand-mark{width:34px;height:34px}
.hx-pub-navbar.is-scrolled .hx-brand-text em{display:none}
.hx-pub-menu{display:flex;align-items:center;gap:2px;margin-left:auto;background:rgba(13,13,20,.55);border:1px solid var(--line);border-radius:999px;padding:5px;backdrop-filter:blur(10px)}
.hx-nav-link{position:relative;display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--muted);font-size:13.5px;font-family:var(--fb);padding:8px 14px;border-radius:999px;cursor:pointer;text-decoration:none;transition:color .2s,background .2s}
.hx-nav-link:hover{color:var(--text);background:rgba(124,58,237,.14)}
.hx-nav-link .lucide{width:14px;height:14px;transition:transform .2s}
.hx-nav-item-dd{position:relative}
.hx-nav-item-dd.is-open .hx-nav-link{color:var(--text);background:rgba(124,58,237,.14)}
.hx-nav-item-dd.is-open .hx-nav-link .lucide{transform:rotate(180deg)}
.hx-pub-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;color:var(--text);width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center;z-index:80;position:relative}

/* CTAs del menú */
.hx-menu-ctas{display:flex;gap:10px;margin-left:14px}
.hx-menu-ctas .hx-pub-btn{padding:10px 16px;font-size:13.5px}
.hx-btn-quote{background:linear-gradient(135deg,var(--violet),var(--violet-2));color:#fff;box-shadow:0 6px 24px rgba(124,58,237,.35)}
.hx-btn-quote:hover{transform:translateY(-1px);box-shadow:0 12px 34px rgba(124,58,237,.5)}
.hx-btn-quote .lucide{transition:transform .2s}
.hx-btn-quote:hover .lucide{transform:translateX(3px)}
.hx-pub-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;color:var(--text);width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center;z-index:80;position:relative}

/* ---------- Hero ---------- */
.hx-hero{position:relative;padding:70px 0 90px;overflow:hidden}
.hx-hero-bg{position:absolute;inset:0;background:
  radial-gradient(900px 460px at 12% -10%,rgba(124,58,237,.22),transparent),
  radial-gradient(700px 400px at 88% 12%,rgba(59,130,246,.12),transparent),
  linear-gradient(rgba(139,92,246,.05) 1px,transparent 1px),
  linear-gradient(90deg,rgba(139,92,246,.05) 1px,transparent 1px);
  background-size:auto,auto,46px 46px,46px 46px;
  mask-image:radial-gradient(1200px 700px at 50% 0%,#000 40%,transparent 100%)}
.hx-hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.hx-hero h1{font-size:clamp(34px,4.6vw,56px);letter-spacing:-.01em;margin:22px 0 18px}
.hx-hero-sub{color:var(--muted);font-size:16.5px;max-width:560px;margin:0 0 28px}
.hx-hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
.hx-hero-micro{display:flex;gap:8px;align-items:center;color:var(--muted-2);font-size:12.5px;margin-top:18px}
.hx-hero-micro .lucide{width:14px;height:14px;color:var(--ok)}

/* Hero viz */
.hx-hero-viz{position:relative;min-height:480px}
.hx-mock{background:var(--panel);border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 30px 90px rgba(0,0,0,.55),0 0 60px rgba(124,58,237,.12);overflow:hidden;transform:perspective(1200px) rotateY(-6deg) rotateX(2deg)}
.hx-mock-bar{display:flex;gap:6px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.hx-mock-bar span{width:10px;height:10px;border-radius:50%}
.hx-mock-bar .r{background:#EF4444}.hx-mock-bar .y{background:#F59E0B}.hx-mock-bar .g{background:#22C55E}
.hx-mock-bar em{font-family:var(--fm);font-style:normal;font-size:11px;color:var(--muted-2);margin-left:10px}
.hx-mock-body{padding:20px}
.hx-mock-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.hx-mock-kpis div{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:12px}
.hx-mock-kpis strong{display:block;font-family:var(--fd);font-size:22px;color:var(--lav)}
.hx-mock-kpis span{font-size:10.5px;color:var(--muted-2)}
.hx-mock-bars{display:flex;gap:8px;align-items:flex-end;height:90px;margin-bottom:14px}
.hx-mock-bars i{flex:1;background:linear-gradient(180deg,var(--violet-2),rgba(124,58,237,.15));border-radius:6px 6px 2px 2px;height:var(--h);transform-origin:bottom;animation:hxGrow 1.2s cubic-bezier(.2,.8,.2,1) both}
@keyframes hxGrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.hx-mock-line svg{width:100%;height:70px}
.hx-mock-line path{fill:none;stroke:var(--lav);stroke-width:2;stroke-dasharray:600;stroke-dashoffset:600;animation:hxDraw 2.4s ease forwards .4s}
@keyframes hxDraw{to{stroke-dashoffset:0}}
.hx-float-card{position:absolute;display:flex;gap:10px;align-items:center;background:rgba(16,16,26,.92);border:1px solid var(--line-strong);border-radius:14px;padding:11px 14px;backdrop-filter:blur(8px);box-shadow:0 16px 40px rgba(0,0,0,.5);animation:hxFloat 6s ease-in-out infinite}
.hx-float-card .lucide{color:var(--lav)}
.hx-float-card strong{display:block;font-size:12.5px}
.hx-float-card span{font-size:11px;color:var(--muted)}
.hx-fc-1{top:-14px;right:6%}
.hx-fc-2{top:38%;left:-26px;animation-delay:1.2s}
.hx-fc-3{bottom:16%;right:-14px;animation-delay:2.2s}
@keyframes hxFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.hx-term{position:absolute;bottom:-10px;left:4%;background:#0B0B12;border:1px solid var(--line);border-radius:12px;padding:12px 16px;font-family:var(--fm);font-size:11.5px;box-shadow:0 16px 40px rgba(0,0,0,.5)}
.hx-term pre{margin:0;min-height:76px;color:#86EFAC}
.hx-demo-note{color:var(--muted-2);font-size:10.5px;font-family:var(--fm);margin-top:10px}

/* ---------- Marquee ---------- */
.hx-marquee-wrap{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2);overflow:hidden;padding:16px 0}
.hx-marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.hx-marquee-track{display:flex;gap:38px;width:max-content;animation:hxMarquee 40s linear infinite}
.hx-marquee-item{display:flex;align-items:baseline;gap:8px;white-space:nowrap;font-family:var(--fd);font-size:14px;color:var(--text)}
.hx-marquee-item em{font-style:normal;font-family:var(--fm);font-size:10px;color:var(--muted-2)}
@keyframes hxMarquee{to{transform:translateX(-50%)}}

/* ---------- Sections ---------- */
.hx-section{padding:90px 0}
.hx-section-alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hx-section h2{font-size:clamp(26px,3.4vw,40px);margin:16px 0 10px}
.hx-section-sub{color:var(--muted);max-width:680px;margin:0 0 34px}
.hx-section-cta{margin-top:44px;text-align:center}
.hx-section-cta p{color:var(--muted);margin:0 0 14px}

/* ---------- Problems ---------- */
.hx-problems{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
.hx-problem-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:border-color .25s,transform .25s}
.hx-problem-card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.hx-pb-top .lucide{color:var(--err);margin-bottom:10px}
.hx-pb-top strong,.hx-pb-bottom strong{display:block;font-size:15px;margin-bottom:6px}
.hx-pb-top p,.hx-pb-bottom p{font-size:13px;color:var(--muted);margin:0}
.hx-pb-arrow{text-align:center;color:var(--muted-2);margin:12px 0}
.hx-pb-bottom{border-top:1px dashed var(--line-strong);padding-top:14px}
.hx-pb-bottom strong{color:var(--lav)}

/* ---------- Bento ---------- */
.hx-bento{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:44px}
.hx-bento-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;transition:border-color .25s,transform .25s,box-shadow .25s}
.hx-bento-card:hover{border-color:var(--line-strong);transform:translateY(-4px);box-shadow:0 20px 50px rgba(124,58,237,.12)}
.hx-bento-ai{grid-column:span 2;background:linear-gradient(140deg,rgba(124,58,237,.16),var(--panel) 55%)}
.hx-bento-icon{width:46px;height:46px;border-radius:13px;background:rgba(124,58,237,.15);color:var(--lav);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.hx-bento-card h3{font-size:19px;margin-bottom:8px}
.hx-bento-card>p{color:var(--muted);font-size:13.5px;margin:0 0 14px}
.hx-bento-card ul{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:7px}
.hx-bento-card li{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text)}
.hx-bento-card li .lucide{width:14px;height:14px;color:var(--ok)}
.hx-bento-card .hx-more{color:var(--muted-2);font-family:var(--fm);font-size:11px}
.hx-bento-cta{margin-top:auto;display:inline-flex;gap:8px;align-items:center;color:var(--lav);text-decoration:none;font-size:13.5px;font-weight:600}
.hx-bento-cta .lucide{width:15px;height:15px;transition:transform .2s}
.hx-bento-cta:hover .lucide{transform:translateX(4px)}

/* ---------- IA ---------- */
.hx-section-ia{background:radial-gradient(800px 400px at 80% 20%,rgba(124,58,237,.14),transparent),var(--bg)}
.hx-ia-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.hx-ia-list{list-style:none;margin:26px 0;padding:0;display:grid;gap:16px}
.hx-ia-list li{display:flex;gap:14px}
.hx-ia-list .lucide{width:22px;height:22px;color:var(--lav);flex:none;margin-top:2px}
.hx-ia-list strong{display:block;font-size:15px}
.hx-ia-list span{color:var(--muted);font-size:13px}
.hx-ia-flow{display:flex;flex-direction:column;align-items:center;gap:0}
.hx-flow-node{width:100%;max-width:340px;background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;padding:16px;display:flex;gap:12px;align-items:center;justify-content:center;text-align:center}
.hx-flow-node .lucide{color:var(--lav)}
.hx-flow-node span{font-size:13.5px}
.hx-flow-core{background:linear-gradient(135deg,rgba(124,58,237,.3),rgba(124,58,237,.08));box-shadow:0 0 50px rgba(124,58,237,.25)}
.hx-flow-line{width:2px;height:44px;background:linear-gradient(180deg,var(--violet-2),transparent);position:relative;overflow:hidden}
.hx-flow-line::after{content:'';position:absolute;left:0;top:-40%;width:100%;height:40%;background:var(--lav);animation:hxFlow 1.6s linear infinite}
@keyframes hxFlow{to{top:110%}}

/* ---------- Automatización ---------- */
.hx-auto-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.hx-auto-stats{display:flex;gap:34px;margin:30px 0 8px;flex-wrap:wrap}
.hx-auto-stats strong{display:block;font-family:var(--fd);font-size:38px;color:var(--lav)}
.hx-auto-stats span{color:var(--muted);font-size:12.5px}
.hx-auto-list{display:grid;gap:14px}
.hx-auto-card{display:flex;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px;transition:border-color .2s}
.hx-auto-card:hover{border-color:var(--line-strong)}
.hx-auto-card .lucide{color:var(--warn);flex:none;margin-top:2px}
.hx-auto-card strong{display:block;font-size:14.5px}
.hx-auto-card span{color:var(--muted);font-size:13px}

/* ---------- Data ---------- */
.hx-section-data{background:radial-gradient(900px 460px at 20% 10%,rgba(59,130,246,.1),transparent),var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hx-data-pipeline{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:44px 0 30px}
.hx-pipe-node{display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line-strong);border-radius:999px;padding:10px 18px}
.hx-pipe-node span{width:22px;height:22px;border-radius:50%;background:rgba(124,58,237,.2);color:var(--lav);font-family:var(--fm);font-size:11px;display:flex;align-items:center;justify-content:center}
.hx-pipe-node strong{font-size:13.5px}
.hx-pipe-line{color:var(--muted-2)}
.hx-data-dash{background:var(--panel);border:1px solid var(--line-strong);border-radius:20px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.45)}
.hx-dash-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.hx-dash-head em{font-family:var(--fm);font-style:normal;font-size:10.5px;color:var(--muted-2)}
.hx-dash-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.hx-dash-kpi{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:16px}
.hx-dash-kpi strong{display:block;font-family:var(--fd);font-size:26px;color:var(--lav)}
.hx-dash-kpi span{font-size:11.5px;color:var(--muted-2)}
.hx-dash-charts{display:grid;grid-template-columns:1.2fr .8fr;gap:22px}
.hx-dash-bars{display:flex;gap:9px;align-items:flex-end;height:150px;position:relative;padding-bottom:22px}
.hx-dash-bars i{flex:1;height:var(--h);background:linear-gradient(180deg,#60A5FA,rgba(59,130,246,.12));border-radius:6px 6px 2px 2px;transform-origin:bottom}
.is-visible .hx-dash-bars i{animation:hxGrow 1s cubic-bezier(.2,.8,.2,1) both}
.hx-dash-bars em{position:absolute;bottom:0;left:0;font-family:var(--fm);font-style:normal;font-size:10.5px;color:var(--muted-2)}
.hx-seg-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin-bottom:12px;font-size:12px;color:var(--muted)}
.hx-seg-row i{grid-column:1/-1;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--violet-2),rgba(139,92,246,.15));width:var(--w);transform-origin:left}
.is-visible .hx-seg-row i{animation:hxGrowX 1.2s ease both}
@keyframes hxGrowX{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.hx-seg-row em{font-style:normal;font-family:var(--fm);color:var(--lav)}
.hx-dash-cap{display:block;font-family:var(--fm);font-style:normal;font-size:10.5px;color:var(--muted-2);margin-top:6px}

/* ---------- Proceso ---------- */
.hx-steps-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:44px}
.hx-step-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px 20px;transition:border-color .2s,transform .2s}
.hx-step-card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.hx-step-num{position:absolute;top:14px;right:16px;font-family:var(--fm);font-size:22px;color:rgba(139,92,246,.3)}
.hx-step-card .lucide{color:var(--lav);margin-bottom:12px}
.hx-step-card strong{display:block;font-size:15px;margin-bottom:6px}
.hx-step-card p{font-size:12.5px;color:var(--muted);margin:0}

/* ---------- FAQ ---------- */
.hx-faq-list{margin-top:36px;display:grid;gap:12px}
.hx-faq{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:0;overflow:hidden}
.hx-faq[open]{border-color:var(--line-strong)}
.hx-faq summary{display:flex;justify-content:space-between;align-items:center;gap:14px;cursor:pointer;padding:18px 20px;font-family:var(--fd);font-size:15px;list-style:none}
.hx-faq summary::-webkit-details-marker{display:none}
.hx-faq summary .lucide{transition:transform .25s;color:var(--muted);flex:none}
.hx-faq[open] summary .lucide{transform:rotate(180deg);color:var(--lav)}
.hx-faq p{margin:0;padding:0 20px 18px;color:var(--muted);font-size:14px}

/* ---------- CTA final ---------- */
.hx-final-cta{padding:100px 0}
.hx-final-card{background:linear-gradient(140deg,rgba(124,58,237,.25),rgba(124,58,237,.05) 60%),var(--panel);border:1px solid var(--line-strong);border-radius:26px;padding:60px 30px;text-align:center;box-shadow:0 0 90px rgba(124,58,237,.15)}
.hx-final-card h2{font-size:clamp(26px,3.6vw,42px)}
.hx-final-card>p{color:var(--muted);max-width:560px;margin:14px auto 28px}
.hx-final-card .hx-hero-ctas{justify-content:center}

/* ---------- Footer ---------- */
.hx-pub-footer{border-top:1px solid var(--line);background:var(--bg-2);padding:50px 26px 26px}
.hx-footer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px}
.hx-footer-grid h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin:0 0 14px}
.hx-footer-grid a{display:block;color:var(--muted);text-decoration:none;font-size:13.5px;margin-bottom:9px}
.hx-footer-grid a:hover{color:var(--lav)}
.hx-footer-plain{display:block;color:var(--muted);font-size:13px}
.hx-footer-desc{color:var(--muted);font-size:13px;margin:14px 0 0;max-width:300px}
.hx-footer-base{max-width:1180px;margin:38px auto 0;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:var(--muted-2);font-size:12px}
.hx-footer-mono{font-family:var(--fm)}

/* ---------- WhatsApp flotante ---------- */
.hx-wa-float{position:fixed;right:22px;bottom:22px;z-index:60;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,#128C4B,var(--wa));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 14px 40px rgba(37,211,102,.4);transition:transform .2s}
.hx-wa-float:hover{transform:scale(1.08)}
.hx-wa-float .lucide{width:26px;height:26px}
.hx-wa-float::after{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid rgba(37,211,102,.5);animation:hxPulse 2s ease-out infinite}
@keyframes hxPulse{from{transform:scale(1);opacity:1}to{transform:scale(1.55);opacity:0}}

/* ---------- Booking (se mantiene de fase anterior) ---------- */
.hx-pub-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.hx-pub-flash-err{background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.4);color:#FCA5A5;border-radius:10px;padding:10px 14px;font-size:13px;margin-bottom:14px}
.hx-pub-flash-err ul{margin:0;padding-left:16px}
label{display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
input,select,textarea{width:100%;background:#0B0B12;border:1px solid var(--line);border-radius:10px;color:var(--text);padding:11px 13px;font-size:14px;font-family:var(--fb);outline:none;transition:border-color .2s,box-shadow .2s}
input:focus,select:focus,textarea:focus{border-color:var(--violet-2);box-shadow:0 0 0 3px rgba(124,58,237,.18)}
select:disabled{opacity:.5}
.hx-field-hint{color:var(--muted-2);font-size:12px;margin:6px 0 0}
.hx-booking{max-width:1080px;margin:0 auto;padding:44px 20px 80px;display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:start}
.hx-booking-head{grid-column:1/-1}
.hx-booking-head h1{font-size:clamp(24px,4vw,36px);margin:0 0 8px}
.hx-booking-head p{color:var(--muted);margin:0;max-width:640px}
.hx-booking-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.hx-booking-aside{display:grid;gap:18px}
.hx-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:16px}
.hx-steps li{display:flex;gap:12px}
.hx-steps .lucide{width:20px;height:20px;color:var(--lav);flex:none;margin-top:2px}
.hx-steps strong{display:block;font-size:14px}
.hx-steps span{color:var(--muted);font-size:12.5px}
.hx-aside-wa{text-align:center}
.hx-aside-wa .lucide{width:30px;height:30px;color:var(--wa)}
.hx-aside-wa p{color:var(--muted);font-size:13px}
.hx-booking-done{text-align:center;grid-column:1/-1;padding:50px 26px}
.hx-booking-done .lucide{width:44px;height:44px;color:var(--ok)}
.hx-booking-done h2{margin:14px 0 8px}
.hx-booking-done p{color:var(--muted);max-width:520px;margin:8px auto}
.hx-booking-done .hx-pub-btn{margin-top:20px}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .hx-hero-grid,.hx-ia-grid,.hx-auto-grid{grid-template-columns:1fr}
  .hx-hero-viz{min-height:440px;margin-top:10px}
  .hx-problems{grid-template-columns:1fr 1fr}
  .hx-bento{grid-template-columns:1fr 1fr}
  .hx-bento-ai{grid-column:span 2}
  .hx-steps-grid{grid-template-columns:repeat(3,1fr)}
  .hx-dash-grid{grid-template-columns:1fr 1fr}
  .hx-dash-charts{grid-template-columns:1fr}
  .hx-footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:860px){
  .hx-topbar{display:none}
  .hx-pub-menu{position:fixed;inset:0;background:rgba(8,8,12,.98);border:0;border-radius:0;padding:90px 26px 30px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:2px;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);z-index:70;overflow-y:auto;backdrop-filter:none}
  .hx-pub-menu.is-open{transform:none}
  .hx-nav-link{font-size:17px;padding:14px 12px;border-radius:12px}
  .hx-nav-item-dd .hx-mega{position:static;transform:none;opacity:1;width:100%;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:4px 0 8px 6px;display:none;pointer-events:auto}
  .hx-nav-item-dd.is-open .hx-mega{display:block;transform:none}
  .hx-mega-grid{grid-template-columns:1fr}
  .hx-mega-foot{flex-direction:column;align-items:flex-start;gap:10px}
  .hx-menu-ctas{margin:20px 0 0;flex-direction:column}
  .hx-menu-ctas .hx-pub-btn{width:100%;justify-content:center;padding:14px;font-size:15px}
  .hx-pub-burger{display:flex}
  .hx-brand-text em{font-size:7.5px;letter-spacing:.18em}
}
@media(max-width:640px){
  .hx-problems,.hx-bento{grid-template-columns:1fr}
  .hx-bento-ai{grid-column:span 1}
  .hx-steps-grid{grid-template-columns:1fr 1fr}
  .hx-booking{grid-template-columns:1fr}
  .hx-booking-row{grid-template-columns:1fr}
  .hx-fc-2{left:0}
  .hx-section{padding:64px 0}
}
@media(max-width:420px){
  .hx-steps-grid{grid-template-columns:1fr}
  .hx-dash-grid{grid-template-columns:1fr}
  .hx-footer-grid{grid-template-columns:1fr}
}
/* =====================================================
   PÁGINAS INTERNAS DE SERVICIOS
   ===================================================== */
.hx-page-hero{padding:64px 0 50px;position:relative;overflow:hidden}
.hx-crumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-family:var(--fm);font-size:11px;color:var(--muted-2);margin-bottom:20px}
.hx-crumbs a{color:var(--muted);text-decoration:none}
.hx-crumbs a:hover{color:var(--lav)}
.hx-svc-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:start;margin-top:8px}
.hx-svc-include{background:var(--panel);border:1px solid var(--line-strong);border-radius:18px;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.hx-svc-include h3{font-size:15px;margin-bottom:14px}
.hx-svc-include ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.hx-svc-include li{display:flex;gap:10px;font-size:13.5px}
.hx-svc-include li .lucide{width:16px;height:16px;color:var(--ok);flex:none;margin-top:3px}
.hx-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:36px}
.hx-feature-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:22px;transition:border-color .25s,transform .25s}
.hx-feature-card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.hx-feature-card .hx-bento-icon{width:40px;height:40px;margin-bottom:12px}
.hx-feature-card strong{display:block;font-size:15px;margin-bottom:6px}
.hx-feature-card p{font-size:13px;color:var(--muted);margin:0}
.hx-cta-band{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:44px}
.hx-related{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.hx-related a{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:var(--text);font-size:13.5px;display:flex;gap:9px;align-items:center;transition:border-color .2s,transform .2s}
.hx-related a:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.hx-related .lucide{width:15px;height:15px;color:var(--lav);flex:none}
.hx-cat-block{margin-bottom:48px}
.hx-cat-head{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.hx-cat-head .hx-bento-icon{margin:0}
.hx-cat-head h3{font-size:20px}
.hx-cat-head p{margin:0;color:var(--muted);font-size:13px}
.hx-svc-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.hx-svc-link{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 18px;text-decoration:none;color:var(--text);display:flex;justify-content:space-between;gap:12px;align-items:center;transition:border-color .2s,transform .2s}
.hx-svc-link:hover{border-color:var(--line-strong);transform:translateY(-2px)}
.hx-svc-link strong{font-size:14px;display:block}
.hx-svc-link span{color:var(--muted);font-size:12px;display:block}
.hx-svc-link .lucide{width:16px;height:16px;color:var(--lav);flex:none}
@media(max-width:1024px){
  .hx-svc-grid{grid-template-columns:1fr}
  .hx-features-grid,.hx-svc-links{grid-template-columns:1fr 1fr}
  .hx-related{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){
  .hx-features-grid,.hx-svc-links,.hx-related{grid-template-columns:1fr}
}
/* =====================================================
   PORTFOLIO / CASOS / NOSOTROS
   ===================================================== */
.hx-port-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
.hx-port-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.hx-port-card:hover{border-color:var(--line-strong);transform:translateY(-5px)}
.hx-port-cover{position:relative;height:150px;background:linear-gradient(140deg,rgba(124,58,237,.35),rgba(59,130,246,.12) 60%,var(--panel));display:flex;align-items:center;justify-content:center}
.hx-port-cover .lucide{width:44px;height:44px;color:var(--lav);opacity:.9}
.hx-port-cover .hx-badge{position:absolute;top:12px;right:12px}
.hx-port-demo{--badge-color:#F59E0B;position:absolute;top:12px;left:12px !important}
.hx-port-body{padding:20px;display:flex;flex-direction:column;gap:8px;flex:1}
.hx-port-cat{font-family:var(--fm);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
.hx-port-body h3{font-size:17px}
.hx-port-body p{color:var(--muted);font-size:13px;margin:0;flex:1}
.hx-port-techs{display:flex;gap:6px;flex-wrap:wrap}
.hx-port-techs em{font-style:normal;font-family:var(--fm);font-size:10px;color:var(--lav);border:1px solid var(--line);border-radius:999px;padding:2px 9px}
.hx-ps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.hx-ps-block{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px}
.hx-ps-block h3{display:flex;gap:10px;align-items:center;font-size:16px;margin-bottom:12px}
.hx-ps-block h3 .lucide{color:var(--lav)}
.hx-ps-problem h3 .lucide{color:var(--err)}
.hx-ps-results h3 .lucide{color:var(--ok)}
.hx-ps-block p{color:var(--muted);font-size:14px;margin:0}
.hx-quote{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--violet-2);border-radius:14px;padding:22px;margin:16px 0 0}
.hx-quote p{font-size:15px;margin:0 0 12px;color:var(--text)}
.hx-quote footer strong{display:block;font-size:13.5px}
.hx-quote footer span{color:var(--muted);font-size:12px}
.hx-quote-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.hx-quote-big{padding:30px}
.hx-case-list{display:grid;gap:14px;margin-top:10px}
.hx-case-row{display:flex;justify-content:space-between;align-items:center;gap:16px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:24px;text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s}
.hx-case-row:hover{border-color:var(--line-strong);transform:translateY(-3px)}
.hx-case-row h3{font-size:17px;margin:0 0 6px}
.hx-case-row p{color:var(--muted);font-size:13px;margin:0}
.hx-case-row .lucide{color:var(--lav);flex:none}
.hx-case-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.hx-case-metrics div{background:var(--panel);border:1px solid var(--line-strong);border-radius:14px;padding:18px;text-align:center}
.hx-case-metrics strong{display:block;font-family:var(--fd);font-size:26px;color:var(--lav)}
.hx-case-metrics span{color:var(--muted);font-size:12px}
.hx-about-stack{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:20px}
.hx-about-stack .hx-marquee-item{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:8px 16px}
@media(max-width:1024px){.hx-port-grid{grid-template-columns:1fr 1fr}.hx-ps-grid{grid-template-columns:1fr}.hx-quote-row{grid-template-columns:1fr}.hx-case-metrics{grid-template-columns:1fr}}
@media(max-width:640px){.hx-port-grid{grid-template-columns:1fr}}
/* =====================================================
   BLOG
   ===================================================== */
.hx-blog-cats{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.hx-blog-cats .hx-pill{text-decoration:none;transition:all .2s}
.hx-blog-cats .hx-pill:hover{border-color:var(--violet-2);color:var(--text)}
.hx-pill-active{background:rgba(124,58,237,.25);border-color:var(--violet-2);color:var(--text)}
.hx-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:10px}
.hx-blog-card{background:var(--panel);border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--text);display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
.hx-blog-card:hover{border-color:var(--line-strong);transform:translateY(-5px)}
.hx-blog-featured{grid-column:span 2}
.hx-blog-cover{position:relative;height:130px;background:linear-gradient(140deg,rgba(124,58,237,.3),rgba(139,92,246,.08) 60%,var(--panel));display:flex;align-items:center;justify-content:center}
.hx-blog-cover .lucide{width:36px;height:36px;color:var(--lav);opacity:.85}
.hx-blog-cover .hx-badge{position:absolute;top:12px;right:12px}
.hx-blog-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}
.hx-blog-meta{display:flex;justify-content:space-between;font-family:var(--fm);font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.1em}
.hx-blog-body h3{font-size:17px;line-height:1.3}
.hx-blog-body p{color:var(--muted);font-size:13px;margin:0;flex:1}
.hx-blog-more{display:flex;gap:7px;align-items:center;color:var(--lav);font-size:13px;font-weight:600}
.hx-blog-more .lucide{width:14px;height:14px;transition:transform .2s}
.hx-blog-card:hover .hx-blog-more .lucide{transform:translateX(4px)}

/* Artículo */
.hx-article-head{margin:26px 0 30px}
.hx-article-head h1{font-size:clamp(26px,3.6vw,40px);margin:16px 0 14px}
.hx-article-meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:12.5px}
.hx-article-meta span{display:flex;gap:6px;align-items:center}
.hx-article-meta .lucide{width:14px;height:14px}
.hx-article{font-size:15.5px;line-height:1.75;color:#D6D3DD}
.hx-article h2{font-size:24px;color:var(--text);margin:34px 0 12px}
.hx-article h3{font-size:18px;color:var(--text);margin:26px 0 10px}
.hx-article p{margin:0 0 16px}
.hx-article ul{margin:0 0 18px;padding-left:22px;display:grid;gap:6px}
.hx-article li::marker{color:var(--violet-2)}
@media(max-width:1024px){.hx-blog-grid{grid-template-columns:1fr 1fr}.hx-blog-featured{grid-column:span 2}}
@media(max-width:640px){.hx-blog-grid{grid-template-columns:1fr}.hx-blog-featured{grid-column:span 1}}
/* =====================================================
   CONTACTO + ACCESIBILIDAD FINAL
   ===================================================== */
.hx-contact-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;align-items:start}
@media(max-width:900px){.hx-contact-grid{grid-template-columns:1fr}}
.hx-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--violet);color:#fff;padding:10px 18px;border-radius:0 0 12px 0;text-decoration:none;font-weight:600}
.hx-skip:focus{left:0}
:focus-visible{outline:2px solid var(--violet-2);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* =====================================================
   HEADER v3 — BLOQUE DE REPARACIÓN (va al final)
   ===================================================== */
.hx-pub-navbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:18px;padding:14px 26px;background:rgba(8,8,12,.72);backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:padding .3s,background .3s,border-color .3s,box-shadow .3s}
.hx-pub-navbar.is-scrolled{padding:8px 26px;background:rgba(8,8,12,.92);border-bottom-color:var(--line);box-shadow:0 12px 44px rgba(0,0,0,.45)}
.hx-pub-brand{display:flex;gap:12px;align-items:center;text-decoration:none;flex:none}
.hx-brand-mark{position:relative;width:42px;height:42px;flex:none;transition:width .3s,height .3s}
.hx-brand-mark svg,.hx-brand-mark img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 16px rgba(124,58,237,.5));transition:transform .35s}
.hx-pub-brand:hover .hx-brand-mark svg,.hx-pub-brand:hover .hx-brand-mark img{transform:rotate(-10deg) scale(1.06)}
.hx-brand-mark::after{content:'';position:absolute;inset:-5px;border-radius:50%;border:1px solid rgba(139,92,246,.4);animation:hxRing 3.2s ease-in-out infinite;pointer-events:none}
@keyframes hxRing{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.14);opacity:.2}}
.hx-brand-text{display:flex;flex-direction:column;line-height:1.05}
.hx-brand-text strong{font-family:var(--fd);font-size:17px;font-weight:700;letter-spacing:.14em;color:var(--text)}
.hx-brand-x{background:linear-gradient(135deg,#C4B5FD,#7C3AED 60%,#5B21B6);-webkit-background-clip:text;background-clip:text;color:transparent}
.hx-brand-text em{font-style:normal;font-family:var(--fm);font-size:8.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted-2);margin-top:4px}
.hx-pub-navbar.is-scrolled .hx-brand-mark{width:34px;height:34px}
.hx-pub-navbar.is-scrolled .hx-brand-text em{display:none}
.hx-pub-menu{display:flex;align-items:center;gap:2px;margin-left:auto;background:rgba(13,13,20,.55);border:1px solid var(--line);border-radius:999px;padding:5px;backdrop-filter:blur(10px)}
.hx-nav-link{display:flex;align-items:center;gap:6px;background:none;border:0;color:var(--muted);font-size:13.5px;font-family:var(--fb);padding:8px 14px;border-radius:999px;cursor:pointer;text-decoration:none;transition:color .2s,background .2s;white-space:nowrap}
.hx-nav-link:hover{color:var(--text);background:rgba(124,58,237,.14)}
.hx-nav-link .lucide{width:14px;height:14px;transition:transform .2s}
.hx-nav-item-dd{position:relative}
.hx-nav-item-dd.is-open .hx-nav-link{color:var(--text);background:rgba(124,58,237,.14)}
.hx-nav-item-dd.is-open .hx-nav-link .lucide{transform:rotate(180deg)}
.hx-mega{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(10px);width:min(740px,92vw);background:rgba(13,13,20,.96);backdrop-filter:blur(22px);border:1px solid var(--line-strong);border-radius:20px;padding:20px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;box-shadow:0 30px 90px rgba(0,0,0,.6),0 0 70px rgba(124,58,237,.12);z-index:60}
.hx-nav-item-dd.is-open .hx-mega{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.hx-mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.hx-mega-item{display:flex;gap:12px;padding:12px;border-radius:14px;text-decoration:none;color:var(--text);transition:background .2s,transform .2s}
.hx-mega-item:hover{background:rgba(124,58,237,.12);transform:translateX(3px)}
.hx-mega-icon{width:38px;height:38px;flex:none;border-radius:11px;background:rgba(124,58,237,.16);color:var(--lav);display:flex;align-items:center;justify-content:center}
.hx-mega-icon .lucide{width:17px;height:17px}
.hx-mega-item strong{display:block;font-size:13.5px;margin-bottom:2px}
.hx-mega-item span span{color:var(--muted);font-size:11.5px;line-height:1.45;display:block}
.hx-mega-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.hx-mega-foot a{color:var(--lav);text-decoration:none;display:flex;gap:6px;align-items:center;font-weight:600;white-space:nowrap}
.hx-mega-foot a:hover{text-decoration:underline}
.hx-mega-foot .lucide{width:14px;height:14px}
.hx-menu-ctas{display:flex;gap:10px;margin-left:14px;flex:none}
.hx-menu-ctas .hx-pub-btn{padding:10px 16px;font-size:13.5px}
.hx-btn-quote{background:linear-gradient(135deg,var(--violet),var(--violet-2));color:#fff;box-shadow:0 6px 24px rgba(124,58,237,.35)}
.hx-btn-quote:hover{transform:translateY(-1px);box-shadow:0 12px 34px rgba(124,58,237,.5)}
.hx-btn-quote .lucide{transition:transform .2s}
.hx-btn-quote:hover .lucide{transform:translateX(3px)}
.hx-pub-burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:10px;color:var(--text);width:42px;height:42px;cursor:pointer;align-items:center;justify-content:center;z-index:80;position:relative}
@media(max-width:860px){
  .hx-topbar{display:none}
  
  .hx-pub-menu{
    position:fixed;
    inset:0;
    /* Forzamos que cubra el 100% de la altura real del dispositivo */
    height: 100dvh; 
    background:rgba(8,8,12,.98);
    border:0;
    border-radius:0;
    /* Aumentamos el padding superior para separarlo del borde y dar más respiro */
    padding:110px 24px 50px; 
    flex-direction:column;
    justify-content:flex-start;
    align-items:stretch;
    gap:6px; /* Un poco más de separación entre los elementos */
    transform:translateX(100%);
    transition:transform .35s cubic-bezier(.2,.8,.2,1);
    z-index:70;
    overflow-y:auto;
    backdrop-filter:none;
  }
  
  .hx-pub-menu.is-open{transform:none}
  
  /* Hacemos los enlaces más altos y fáciles de pulsar */
  .hx-nav-link{
    font-size:18px; 
    padding:16px 14px; 
    border-radius:12px;
    white-space:normal;
  }
  
  .hx-nav-item-dd .hx-mega{position:static;transform:none;opacity:1;width:100%;background:transparent;border:0;box-shadow:none;backdrop-filter:none;padding:6px 0 12px 10px;display:none;pointer-events:auto}
  .hx-nav-item-dd.is-open .hx-mega{display:block;transform:none}
  
  .hx-mega-grid{grid-template-columns:1fr}
  .hx-mega-foot{flex-direction:column;align-items:flex-start;gap:12px}
  
  /* Botones del menú más grandes y altos */
  .hx-menu-ctas{margin:24px 0 0;flex-direction:column}
  .hx-menu-ctas .hx-pub-btn{
    width:100%;
    justify-content:center;
    padding:16px; 
    font-size:16px;
  }
  
  .hx-pub-burger{display:flex}
  .hx-brand-text em{font-size:7.5px;letter-spacing:.18em}
}
/* =====================================================
   BENTO LIST LINKS + MAPA GLOBAL
   ===================================================== */
.hx-bento-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:6px}
.hx-bento-list li a{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--text);text-decoration:none;padding:5px 8px;border-radius:8px;transition:background .2s,color .2s}
.hx-bento-list li a:hover{background:rgba(124,58,237,.14);color:var(--lav)}
.hx-bento-list .lucide{width:14px;height:14px;color:var(--ok);flex:none}
.hx-bento-list .hx-li-arrow{width:13px;height:13px;color:var(--lav);margin-left:auto;opacity:0;transition:opacity .2s,transform .2s}
.hx-bento-list li a:hover .hx-li-arrow{opacity:1;transform:translateX(3px)}
.hx-bento-list .hx-more a{color:var(--muted-2);font-family:var(--fm);font-size:11px}
.hx-bento-list .hx-more a:hover{color:var(--lav)}

/* ---------- Mapa ---------- */
.hx-section-map{background:radial-gradient(900px 460px at 70% 0%,rgba(59,130,246,.09),transparent),var(--bg)}
.hx-map-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;flex-wrap:wrap;margin-bottom:28px}
.hx-map-head .hx-section-sub{margin:0;max-width:420px}
.hx-map-wrap{background:var(--panel);border:1px solid var(--line-strong);border-radius:22px;padding:26px;box-shadow:0 30px 80px rgba(0,0,0,.45);overflow:hidden}
.hx-map{width:100%;height:auto;display:block}
.hx-map-land path{fill:rgba(139,92,246,.07);stroke:rgba(139,92,246,.25);stroke-width:1;stroke-linejoin:round}
.hx-map-routes path{fill:none;stroke:rgba(196,181,253,.55);stroke-width:1.6;stroke-dasharray:5 7;animation:hxRoute 1.6s linear infinite}
@keyframes hxRoute{to{stroke-dashoffset:-12}}
.hx-map-pulses circle{fill:#C4B5FD;filter:drop-shadow(0 0 6px rgba(196,181,253,.9))}
.hx-map-dots circle{fill:#8B5CF6;stroke:#C4B5FD;stroke-width:1.5;filter:drop-shadow(0 0 8px rgba(124,58,237,.8))}
.hx-map-labels text{fill:#9A94A8;font-family:var(--fm);font-size:12px;letter-spacing:.08em}
.hx-map-origin circle{fill:url(#hxOriginGrad),#7C3AED}
.hx-map-origin circle:first-child{fill:#7C3AED;stroke:#C4B5FD;stroke-width:2;filter:drop-shadow(0 0 12px rgba(124,58,237,1))}
.hx-map-origin text{fill:#F5F3F7;font-family:var(--fm);font-size:12.5px;font-weight:600;letter-spacing:.08em}
.hx-map-chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px;justify-content:center}
@media(max-width:640px){
  .hx-map-wrap{padding:14px}
  .hx-map-labels text{font-size:15px}
  .hx-map-origin text{font-size:16px}
}
/* =====================================================
   HOME v3: STATS + MAPA REAL + TESTIMONIOS
   ===================================================== */
.hx-stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-2);padding:36px 0}
.hx-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.hx-stats-grid strong{display:block;font-family:var(--fd);font-size:clamp(28px,3.4vw,42px);color:var(--lav)}
.hx-stats-grid span{color:var(--muted);font-size:12.5px}
@media(max-width:860px){.hx-stats-grid{grid-template-columns:1fr 1fr}}

.hx-worldmap{width:100%;min-height:380px}
.hx-worldmap svg{display:block;width:100%;height:auto}

.hx-testi-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:36px}
.hx-testi-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:14px;transition:border-color .25s,transform .25s}
.hx-testi-card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.hx-testi-stars{display:flex;gap:3px;color:#F59E0B}
.hx-testi-stars .lucide{width:14px;height:14px;fill:currentColor}
.hx-testi-card p{margin:0;font-size:14px;line-height:1.65;color:#D6D3DD;flex:1}
.hx-testi-foot strong{display:block;font-size:13.5px}
.hx-testi-foot span{color:var(--muted);font-size:12px}
@media(max-width:860px){.hx-testi-grid{grid-template-columns:1fr}}