/* ===== NEX GROUP AGENCY — hoja de estilos global ===== */
:root{ --tech:#1452F0; --growth:#E5398A; --search:#FF5630; --ink:#07070A; --gold:#D4AF37; }
*{ -webkit-font-smoothing:antialiased; }
html{ font-size:16px; scroll-behavior:smooth; scroll-padding-top:120px; }
body{ background:#fff; color:#111; overflow-x:hidden; font-family:'Space Grotesk',sans-serif; margin:0; }
a{ text-decoration:none; }
img{ max-width:100%; }

.eyebrow{ font-family:'JetBrains Mono',monospace; font-size:.7rem; letter-spacing:.28em; text-transform:uppercase; font-weight:700; }
.display{ letter-spacing:-.03em; line-height:1.02; }

/* division spine */
.spine{ height:4px; width:100%; background:linear-gradient(90deg,var(--growth) 0 33.33%,var(--tech) 33.33% 66.66%,var(--search) 66.66% 100%); }

/* ticker */
.ticker{ background:#000; color:#fff; font-size:.72rem; overflow:hidden; }
.ticker-track{ display:inline-block; white-space:nowrap; padding-left:100%; animation:scroll 28s linear infinite; font-family:'JetBrains Mono',monospace; }
.ticker-track b{ color:#7aa2ff; }
@keyframes scroll{ from{transform:translateX(0)} to{transform:translateX(-100%)} }

/* mega menu */
.mega{ position:absolute; left:0; right:0; top:100%; background:#0b0b10; color:#fff; border-top:1px solid #1e1e28; opacity:0; visibility:hidden; transform:translateY(8px); transition:.22s ease; box-shadow:0 40px 80px rgba(0,0,0,.45); }
.mega.open{ opacity:1; visibility:visible; transform:translateY(0); }
.mega-link{ display:block; padding:.55rem 0; color:#c9c9d4; border-bottom:1px solid #15151d; transition:.18s; }
.mega-link:hover{ color:#fff; padding-left:8px; }
.mega-link span{ display:block; font-size:.72rem; color:#6b6b7a; font-family:'JetBrains Mono',monospace; }
.divtag{ font-family:'JetBrains Mono',monospace; font-size:.62rem; letter-spacing:.2em; padding:3px 8px; border-radius:3px; font-weight:700; }

/* service cards */
.svc{ position:relative; background:#fff; border:1px solid #e9e9ef; padding:2rem; transition:.3s; overflow:hidden; }
.svc:before{ content:''; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--ac,#1452F0); transform:scaleY(0); transform-origin:top; transition:.3s; }
.svc:hover{ transform:translateY(-6px); box-shadow:0 26px 50px rgba(0,0,0,.10); border-color:#dcdce6; }
.svc:hover:before{ transform:scaleY(1); }
.svc i.lead{ font-size:1.6rem; }

/* plans */
.plan{ background:#fff; border:1px solid #e9e9ef; padding:2rem; transition:.3s; position:relative; }
.plan:hover{ border-color:#cfcfdd; box-shadow:0 20px 40px rgba(0,0,0,.07); }
.plan.feat{ background:#07070A; color:#fff; border-color:#07070A; }
.plan.feat .muted{ color:#9a9aa8; }
.price{ font-weight:700; letter-spacing:-.02em; }

/* dark sections */
.dk{ background:#07070A; color:#fff; }
.glow{ position:absolute; border-radius:9999px; filter:blur(120px); opacity:.5; pointer-events:none; }

/* inputs */
.fld{ width:100%; background:#f7f7fa; border:1px solid #e6e6ee; padding:13px 14px; font-size:.92rem; font-family:'Space Grotesk',sans-serif; transition:.2s; border-radius:6px; box-sizing:border-box; }
.fld:focus{ outline:none; border-color:var(--tech); background:#fff; box-shadow:0 4px 16px rgba(20,82,240,.10); }

/* buttons */
.btn-pri{ background:var(--tech); color:#fff; font-weight:700; transition:.2s; display:inline-block; }
.btn-pri:hover{ background:#07070A; color:#fff; }
.btn-ghost{ border:1px solid #2a2a36; color:#fff; transition:.2s; display:inline-block; }
.btn-ghost:hover{ background:#fff; color:#07070A; }

/* marquee */
.mq{ overflow:hidden; }
.mq-track{ display:flex; gap:4rem; width:max-content; animation:slide 38s linear infinite; align-items:center; }
@keyframes slide{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
.logo-c{ height:80px; margin:0 38px; filter:grayscale(100%); opacity:.65; transition:.3s; }
.logo-c:hover{ filter:none; opacity:1; }

/* floating + chat */
.float{ position:fixed; right:18px; bottom:18px; z-index:999; display:flex; flex-direction:column; gap:14px; align-items:flex-end; }
.fab{ width:62px; height:62px; border-radius:50%; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 26px rgba(0,0,0,.22); transition:.25s; cursor:pointer; }
.fab:hover{ transform:translateY(-4px) scale(1.06); }
.fab-wa{ background:#fff; border:2px solid #25D366; position:relative; }
.fab-wa img{ width:24px;height:24px;border-radius:50%;border:2px solid #fff;position:absolute;bottom:-6px;right:-6px; }
.fab-ai{ background:var(--tech); color:#fff; }
.chatw{ position:fixed; right:18px; bottom:92px; width:350px; max-width:calc(100vw - 36px); height:520px; max-height:70vh; background:#fff; border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.3); z-index:9999; display:none; flex-direction:column; overflow:hidden; border:1px solid #ececf2; }
.chat-h{ background:var(--tech); color:#fff; padding:14px 16px; display:flex; justify-content:space-between; align-items:center; }
.chat-b{ flex:1; padding:14px; overflow-y:auto; background:#f7f7fa; display:flex; flex-direction:column; gap:9px; }
.msg{ max-width:82%; padding:9px 13px; border-radius:13px; font-size:.86rem; line-height:1.4; animation:fin .25s ease; }
.m-bot{ background:#e9eeff; color:#1b2333; align-self:flex-start; border-bottom-left-radius:3px; }
.m-usr{ background:var(--tech); color:#fff; align-self:flex-end; border-bottom-right-radius:3px; }
@keyframes fin{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:translateY(0)} }

/* footer */
.foot a{ color:#9a9aa8; transition:.18s; } .foot a:hover{ color:#fff; }

/* accessibility */
.acc{ position:fixed; top:50%; right:0; transform:translateY(-50%); background:#fff; border:1px solid #e6e6ee; border-right:none; padding:8px; z-index:998; border-radius:10px 0 0 10px; box-shadow:-2px 0 12px rgba(0,0,0,.08); display:flex; flex-direction:column; gap:5px; }
.acc button{ width:38px;height:38px;background:#f3f4f6;border:none;border-radius:6px;font-weight:700;color:#333;cursor:pointer;transition:.2s; }
.acc button:hover{ background:var(--tech); color:#fff; }

/* inner page hero */
.page-hero{ background:#07070A; color:#fff; position:relative; overflow:hidden; padding:5rem 0 4rem; }
.tech-grid-bg{ background-color:#fff; background-image:linear-gradient(to right,#eef0f4 1px,transparent 1px),linear-gradient(to bottom,#eef0f4 1px,transparent 1px); background-size:42px 42px; }

/* prose */
.prose h2{ font-weight:700; font-size:1.9rem; letter-spacing:-.02em; margin:2.6rem 0 1rem; color:#07070A; }
.prose h3{ font-weight:700; font-size:1.3rem; margin:2rem 0 .8rem; color:#07070A; }
.prose p{ line-height:1.85; color:#374151; margin-bottom:1.4rem; }
.prose ul{ margin:0 0 1.6rem; padding-left:0; list-style:none; }
.prose ul li{ padding-left:1.6rem; position:relative; margin-bottom:.7rem; color:#374151; }
.prose ul li:before{ content:'\f00c'; font-family:'Font Awesome 6 Free'; font-weight:900; color:var(--tech); position:absolute; left:0; font-size:.8rem; top:.25rem; }

.faq summary{ cursor:pointer; font-weight:700; padding:1.1rem 0; border-bottom:1px solid #ececf2; list-style:none; display:flex; justify-content:space-between; align-items:center; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary:after{ content:'+'; color:var(--tech); font-size:1.3rem; }
.faq details[open] summary:after{ content:'–'; }
.faq p{ padding:0 0 1.1rem; color:#4b5563; line-height:1.7; }

@media (max-width:1024px){ .mega{ display:none !important; } }
@media (prefers-reduced-motion: reduce){ *{ animation:none !important; transition:none !important; } }

/* ===== AMPLIACIÓN: animaciones, movimiento y más componentes ===== */
/* scroll reveal */
.reveal{ opacity:0; transform:translateY(28px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s } .reveal.d2{ transition-delay:.16s } .reveal.d3{ transition-delay:.24s } .reveal.d4{ transition-delay:.32s }

/* counters / stat pop */
@keyframes floaty{ 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }
.floaty{ animation:floaty 5s ease-in-out infinite; }

/* gradient text util */
.grad{ background:linear-gradient(90deg,#E5398A,#9b51e0,#1452F0); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }

/* image cards */
.imgcard{ position:relative; overflow:hidden; border-radius:16px; }
.imgcard img{ transition:transform .6s ease; width:100%; height:100%; object-fit:cover; }
.imgcard:hover img{ transform:scale(1.06); }
.imgcard .ov{ position:absolute; inset:0; background:linear-gradient(180deg,transparent 30%,rgba(7,7,10,.85)); display:flex; flex-direction:column; justify-content:flex-end; padding:1.5rem; }

/* feature row */
.frow{ display:flex; gap:1rem; align-items:flex-start; padding:1.25rem; border:1px solid #ececf2; border-radius:12px; transition:.25s; background:#fff; }
.frow:hover{ border-color:#cfcfdd; box-shadow:0 14px 30px rgba(0,0,0,.06); transform:translateY(-3px); }
.frow .ic{ width:46px;height:46px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0; }

/* testimonial */
.quote{ background:#fff; border:1px solid #ececf2; border-radius:16px; padding:2rem; position:relative; }
.quote:before{ content:'\201C'; position:absolute; top:-10px; left:20px; font-size:5rem; color:#e7e7ef; font-family:Georgia,serif; line-height:1; }

/* stat band */
.statnum{ font-weight:700; letter-spacing:-.03em; line-height:1; }

/* language dropdown */
.langmenu{ position:absolute; right:0; top:115%; background:#0b0b10; border:1px solid #1e1e28; border-radius:10px; padding:6px; min-width:150px; box-shadow:0 20px 40px rgba(0,0,0,.4); display:none; z-index:60; }
.langmenu.open{ display:block; }
.langmenu button{ display:flex; gap:8px; width:100%; text-align:left; padding:8px 10px; border-radius:7px; color:#c9c9d4; font-size:13px; background:none; border:none; cursor:pointer; }
.langmenu button:hover{ background:#16161f; color:#fff; }

/* fab call */
.fab-call{ background:#1452F0; color:#fff; }

/* chat typing */
.typing span{ display:inline-block; width:7px;height:7px;border-radius:50%;background:#9aa; margin:0 1px; animation:tp 1s infinite; }
.typing span:nth-child(2){ animation-delay:.15s } .typing span:nth-child(3){ animation-delay:.3s }
@keyframes tp{ 0%,60%,100%{opacity:.3;transform:translateY(0)} 30%{opacity:1;transform:translateY(-4px)} }

/* pill nav for sections */
.pill{ font-family:'JetBrains Mono',monospace; font-size:11px; text-transform:uppercase; letter-spacing:.15em; padding:6px 14px; border:1px solid #e6e6ee; border-radius:99px; color:#555; transition:.2s; }
.pill:hover,.pill.on{ background:#07070A; color:#fff; border-color:#07070A; }

/* botones compartir */
.share-b{ width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:.85rem;border:none;cursor:pointer;transition:.2s }
.share-b:hover{ transform:translateY(-2px);opacity:.9 }
.article-body h2{ font-size:1.4rem;font-weight:700;margin:1.6rem 0 .6rem;color:#07070A }
.article-body h3{ font-size:1.12rem;font-weight:700;margin:1.2rem 0 .4rem;color:#07070A }
.article-body p{ margin-bottom:1rem;line-height:1.7;color:#2b2b33 }
.article-body a{ color:#1452F0;text-decoration:underline }
.article-body ul{ margin:0 0 1rem 1.1rem;list-style:disc }
.article-body li{ margin-bottom:.4rem;line-height:1.6 }
/* cotizador */
.qstep{ display:none } .qstep.on{ display:block;animation:fade .4s }
@keyframes fade{ from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
.qopt{ cursor:pointer;border:2px solid #e6e6ee;border-radius:14px;padding:1.1rem;transition:.2s;background:#fff }
.qopt:hover{ border-color:#1452F0 }
.qopt.sel{ border-color:#1452F0;background:#1452F00d }
.wf{ border:1px solid #e6e6ee;border-radius:10px;overflow:hidden;background:#fff }
.wf-bar{ height:10px;background:#07070A } .wf-line{ height:8px;border-radius:4px;background:#e9e9f0;margin:7px 0 } .wf-box{ background:#f1f1f6;border-radius:6px }
