/* ============================================================
   PALAGAN AGENCY — UI v2 · AI-tech oscuro premium
   Rediseño con ui-ux-pro-max (dark, glass, gradiente cian→violeta)
   main.js intacto: se conservan todas las clases del auditor.
   ============================================================ */

:root{
  /* Paleta nueva */
  --bg:#07080c; --bg2:#0a0c12; --panel:#0d1019;
  --surface:rgba(255,255,255,.04); --surface2:rgba(255,255,255,.07);
  --border:rgba(255,255,255,.09); --border2:rgba(255,255,255,.16);
  --txt:#eef0f6; --muted:#a3aab9; --faint:#6c7382;
  --a1:#3ad9ff; --a2:#9b6cff;
  --grad:linear-gradient(120deg,#3ad9ff 0%,#9b6cff 100%);
  --grad-soft:linear-gradient(120deg,rgba(58,217,255,.16),rgba(155,108,255,.16));
  --glow:0 0 40px rgba(96,160,255,.25);
  /* Alias retro-compat (main.js usa --g/--gd; HTML inline usa --g) */
  --g:#4fd6ff; --gl:#8be6ff; --gd:#7c5cff;
  --n:#07080c; --n2:#0a0c12; --n3:#11141d;
  --w:#fff; --c:#eef0f6; --m:#a3aab9; --lh:1.7;
  --maxw:1180px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;
  background:var(--bg); color:var(--txt);
  line-height:var(--lh); font-size:16px;
  overflow-x:hidden; -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,.hero-headline{font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-.02em;line-height:1.08}
::selection{background:rgba(155,108,255,.35);color:#fff}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--a1),var(--a2));border-radius:6px}

/* ---- Fondo animado ---- */
.bg-fx{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.bg-grid{position:absolute;inset:-2px;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:54px 54px;mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 30%,transparent 75%)}
.bg-orb{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5}
.orb-1{width:520px;height:520px;background:radial-gradient(circle,#1f6bff,transparent 70%);top:-160px;left:-120px;animation:float1 18s ease-in-out infinite}
.orb-2{width:460px;height:460px;background:radial-gradient(circle,#8b5cf6,transparent 70%);top:30%;right:-160px;animation:float2 22s ease-in-out infinite}
@keyframes float1{50%{transform:translate(80px,60px)}}
@keyframes float2{50%{transform:translate(-70px,40px)}}


/* ---- Layout helpers ---- */
section{position:relative;max-width:var(--maxw);margin:0 auto;padding:110px 28px}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:'JetBrains Mono',monospace;font-size:15px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--a1);margin-bottom:18px}
.eyebrow::before{content:'';width:32px;height:2px;background:linear-gradient(90deg,var(--a1),transparent)}
h2{font-size:clamp(26px,3.6vw,44px)}
h2 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gold{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* Reveal */
.r{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.r.from-left{transform:translateX(-28px)}
.r.in{opacity:1;transform:none}

/* ============ HEADER ============ */
header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;transition:padding .25s,background .25s,border-color .25s;border-bottom:1px solid transparent}
body.scrolled header{padding:13px 32px;background:rgba(8,9,13,.72);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}
header .logo img{height:54px;object-fit:contain;transition:height .25s}
body.scrolled header .logo img{height:42px}
#nav{display:flex;align-items:center;gap:30px}
#nav a{font-size:14px;color:var(--muted);font-weight:500;transition:color .2s;position:relative}
#nav a:hover{color:var(--txt)}
#nav a.nav-cta{padding:9px 20px;border-radius:30px;background:var(--surface);border:1px solid var(--border2);color:var(--txt);font-weight:600}
#nav a.nav-cta:hover{background:var(--grad);border-color:transparent;color:#06070b}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.hamburger span{width:24px;height:2px;background:var(--txt);border-radius:2px;transition:.25s}
body.chat-visible footer{opacity:0;pointer-events:none;transition:opacity .3s}

/* ============ HERO ============ */
#inicio{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:150px;padding-bottom:60px}
.hero-content{display:flex;flex-direction:column;justify-content:center;max-width:60%}
.hero-tag{display:inline-flex;align-items:center;gap:10px;background:var(--grad-soft);border:1px solid var(--border2);border-radius:30px;padding:8px 18px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--a1);font-weight:500;letter-spacing:2px;text-transform:uppercase;margin-bottom:30px;width:fit-content}
.blink-dot{width:7px;height:7px;border-radius:50%;background:var(--a1);box-shadow:0 0 10px var(--a1);animation:blink 1.8s ease infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.hero-headline{font-size:clamp(44px,6.5vw,92px);font-weight:700;letter-spacing:-.03em}
.hero-headline .stroke{-webkit-text-stroke:1.4px var(--muted);-webkit-text-fill-color:transparent;color:transparent}
.hero-bottom{display:flex;flex-direction:column;gap:24px;margin-top:40px;max-width:560px}
.hero-sub{color:var(--muted);font-size:17px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.btn-light{display:inline-flex;align-items:center;gap:9px;background:var(--grad);color:#06070b;font-weight:700;font-size:15px;padding:15px 30px;border-radius:32px;transition:transform .2s,box-shadow .2s;box-shadow:var(--glow)}
.btn-light:hover{transform:translateY(-2px);box-shadow:0 0 50px rgba(120,150,255,.5)}
.btn-ghost-w{display:inline-flex;align-items:center;gap:8px;padding:15px 26px;border-radius:32px;border:1px solid var(--border2);color:var(--txt);font-weight:600;font-size:15px;transition:.2s}
.btn-ghost-w:hover{background:var(--surface);border-color:var(--a2)}
/* Visual GEO orbital del hero */
.hero-visual{position:absolute;top:178px;right:0;display:flex;align-items:center;justify-content:center;perspective:1000px;will-change:transform;z-index:2}
.geo-orbits{will-change:transform}
.geo-orbits{position:relative;width:min(340px,30vw);aspect-ratio:1}
.geo-orbits .ring{position:absolute;border:1px solid var(--border2);border-radius:50%;animation:spin linear infinite}
.geo-orbits .ring.r1{inset:0;animation-duration:30s}
.geo-orbits .ring.r2{inset:13%;animation-duration:22s;animation-direction:reverse}
.geo-orbits .ring.r3{inset:27%;animation-duration:38s}
.geo-orbits .ring.r4{inset:41%;animation-duration:18s;animation-direction:reverse}
.geo-orbits .sat{position:absolute;top:-15px;left:0;right:0;margin:0 auto;width:fit-content;background:var(--surface2);border:1px solid var(--border2);border-radius:30px;padding:6px 13px;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:600;color:var(--txt);white-space:nowrap;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 18px rgba(0,0,0,.4)}
.geo-orbits .r1 .sat{animation:spin 30s linear infinite reverse}
.geo-orbits .r2 .sat{animation:spin 22s linear infinite}
.geo-orbits .r3 .sat{animation:spin 38s linear infinite reverse}
.geo-orbits .r4 .sat{animation:spin 18s linear infinite}
.geo-orbits .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(58,217,255,.22),rgba(58,217,255,0) 70deg);animation:spin 7s linear infinite;mix-blend-mode:screen}
.geo-orbits .core{position:absolute;top:50%;left:50%;width:23%;height:23%;transform:translate(-50%,-50%);border-radius:50%;background:var(--grad);display:flex;align-items:center;justify-content:center;box-shadow:0 0 45px rgba(120,130,255,.6);animation:corePulse 3.2s ease-in-out infinite}
.geo-orbits .core svg{width:54%;height:54%}
.geo-orbits .core::after{content:'';position:absolute;inset:-12%;border-radius:50%;border:1px solid rgba(120,170,255,.45);animation:ping 3.2s ease-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes corePulse{0%,100%{box-shadow:0 0 40px rgba(120,130,255,.5)}50%{box-shadow:0 0 70px rgba(150,110,255,.8)}}

/* === Variantes de la visual (selector) === */
.viz{display:none;align-items:center;justify-content:center;will-change:transform}
.viz.active{display:flex}

/* A · Radar de visibilidad */
.radar{position:relative;width:min(340px,32vw);aspect-ratio:1}
.rad-ring{position:absolute;inset:0;border:1px solid var(--border2);border-radius:50%}
.rad-ring.r2{inset:18%}.rad-ring.r3{inset:36%}
.rad-cross::before,.rad-cross::after{content:'';position:absolute;background:var(--border)}
.rad-cross::before{top:50%;left:0;right:0;height:1px}
.rad-cross::after{left:50%;top:0;bottom:0;width:1px}
.rad-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(58,217,255,.4),rgba(58,217,255,0) 80deg);animation:spin 4s linear infinite}
.rad-core{position:absolute;top:50%;left:50%;width:46px;height:46px;transform:translate(-50%,-50%);border-radius:50%;background:var(--grad);color:#06070b;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 30px rgba(120,130,255,.6);animation:corePulse 3s ease-in-out infinite}
.blip{position:absolute;display:flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);white-space:nowrap;transform:translate(-50%,-50%)}
.blip i{width:9px;height:9px;border-radius:50%;background:var(--a1);box-shadow:0 0 10px var(--a1);animation:blipPulse 4s ease-in-out infinite}
.blip.b1{top:20%;left:62%}.blip.b2{top:60%;left:74%}.blip.b3{top:74%;left:30%}.blip.b4{top:34%;left:16%}
.blip.b2 i{animation-delay:1s}.blip.b3 i{animation-delay:2s}.blip.b4 i{animation-delay:3s}
@keyframes blipPulse{0%,100%{opacity:.3;transform:scale(.7)}50%{opacity:1;transform:scale(1.25)}}

/* B · Medidor de visibilidad */
.gauge{position:relative;width:min(300px,30vw);aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.gauge svg{width:100%;height:100%;transform:rotate(-90deg)}
.gtrack{fill:none;stroke:var(--border2);stroke-width:12}
.gfill{fill:none;stroke:url(#gg);stroke-width:12;stroke-linecap:round;stroke-dasharray:528;stroke-dashoffset:528;filter:drop-shadow(0 0 8px rgba(120,130,255,.6));animation:gaugeFill 2.2s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes gaugeFill{to{stroke-dashoffset:32}}
.gauge-center{position:absolute;text-align:center}
.gauge-num{font-family:'Space Grotesk',sans-serif;font-size:56px;font-weight:700;line-height:1;background:var(--grad);background-size:220% 220%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradFlow 8s ease infinite}
.gauge-lbl{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-top:4px}

/* C · Prompt → recomendación */
.prompt-card{width:min(380px,36vw);background:linear-gradient(160deg,rgba(20,24,36,.92),rgba(10,12,18,.92));border:1px solid var(--border2);border-radius:16px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.5),var(--glow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pc-head{display:flex;gap:7px;margin-bottom:14px}
.pc-dot{width:10px;height:10px;border-radius:50%;background:var(--border2)}
.pc-head .pc-dot:first-child{background:#ff5f57}.pc-head .pc-dot:nth-child(2){background:#febc2e}.pc-head .pc-dot:nth-child(3){background:#28c840}
.pc-bar{display:flex;align-items:center;gap:9px;background:var(--surface2);border:1px solid var(--border);border-radius:30px;padding:11px 16px;overflow:hidden}
.pc-ic{color:var(--a1);flex-shrink:0;display:flex}
.pc-type{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--txt);white-space:nowrap;overflow:hidden;width:0;animation:typing 5s steps(34) infinite}
.pc-cursor{width:2px;height:17px;background:var(--a1);flex-shrink:0;animation:caret .9s steps(1) infinite}
@keyframes typing{0%{width:0}45%{width:30ch}80%{width:30ch}100%{width:0}}
@keyframes caret{50%{opacity:0}}
.pc-ans{margin-top:14px;font-size:14px;color:var(--muted);opacity:0;animation:ansReveal 5s ease infinite}
.pc-ans strong{color:var(--txt);font-weight:700}
.pc-spark{color:var(--a1)}
@keyframes ansReveal{0%,48%{opacity:0;transform:translateY(6px)}60%,80%{opacity:1;transform:none}92%,100%{opacity:0}}

/* 1 · Búsqueda IA + progresión de posicionamiento */
.growth-card{width:min(380px,36vw);background:linear-gradient(160deg,rgba(20,24,36,.92),rgba(10,12,18,.92));border:1px solid var(--border2);border-radius:18px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.5),var(--glow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.gr-bar{display:flex;align-items:center;gap:9px;background:var(--surface2);border:1px solid var(--border);border-radius:30px;padding:10px 15px;margin-bottom:18px}
.gr-ic{color:var(--a1);flex-shrink:0;display:flex}
.gr-q{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gr-chart-wrap{position:relative;height:150px}
.gr-chart{width:100%;height:100%;display:block;overflow:visible}
.gr-rank{position:absolute;top:-4px;left:0;z-index:2;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:28px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.gr-rank small{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--faint);-webkit-text-fill-color:var(--faint);margin-top:3px}
.gr-line{filter:drop-shadow(0 0 6px rgba(120,130,255,.55))}
.gr-area{opacity:1}
.gr-dot{filter:drop-shadow(0 0 8px #fff)}
.gr-foot{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
.gr-foot-l{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}
.gr-up{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#3ce088}

/* B · Red neuronal */
.viz-b .graph{width:min(420px,42vw);height:auto;overflow:visible;animation:floaty 7s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(-8px)}50%{transform:translateY(8px)}}
.g-edges line{opacity:.3;animation:edgePulse 3.2s ease-in-out infinite}
.g-edges line:nth-child(2n){animation-delay:.8s}.g-edges line:nth-child(3n){animation-delay:1.6s}
@keyframes edgePulse{0%,100%{opacity:.15}50%{opacity:.6}}
.g-nodes .gn{transform-box:fill-box;transform-origin:center;animation:nodePulse 2.6s ease-in-out infinite}
.g-nodes .gn:nth-child(2){animation-delay:.4s}.g-nodes .gn:nth-child(3){animation-delay:.9s}.g-nodes .gn:nth-child(4){animation-delay:1.3s}.g-nodes .gn:nth-child(5){animation-delay:1.7s}
@keyframes nodePulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 0 rgba(58,217,255,0))}50%{transform:scale(1.28);filter:drop-shadow(0 0 7px rgba(120,160,255,.85))}}
.g-core{transform-box:fill-box;transform-origin:center;filter:drop-shadow(0 0 16px rgba(120,130,255,.75));animation:coreScale 3.2s ease-in-out infinite}
@keyframes coreScale{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}

/* C · La IA te recomienda */
.viz-c .ai-card{width:min(380px,40vw);background:linear-gradient(160deg,rgba(20,24,36,.92),rgba(10,12,18,.92));border:1px solid var(--border2);border-radius:18px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.5),var(--glow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ai-head{display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.ai-ic{color:var(--a1)}
.ai-q{font-size:15px;color:var(--txt);background:var(--surface2);border:1px solid var(--border);border-radius:12px;padding:11px 14px;margin-bottom:16px}
.ai-a{display:flex;flex-direction:column;gap:9px}
.ai-opt{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:14px;color:var(--muted);opacity:0;animation:aiReveal .5s ease forwards}
.ai-opt:nth-child(1){animation-delay:.25s}.ai-opt:nth-child(2){animation-delay:.55s}.ai-opt:nth-child(3){animation-delay:.85s}
.ai-rank{width:22px;height:22px;border-radius:6px;background:var(--surface2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted);flex-shrink:0}
.ai-name{flex:1}
.ai-tag{font-size:11px;font-weight:700;color:#06070b;background:var(--grad);padding:4px 9px;border-radius:20px}
.ai-opt.win{background:var(--grad-soft);border-color:var(--a2);color:var(--txt);animation:aiReveal .5s ease forwards,winGlow 2.8s ease-in-out 1.1s infinite}
.ai-opt.win .ai-rank{background:var(--grad);color:#06070b}
.ai-opt.win .ai-name{font-weight:700}
@keyframes aiReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes winGlow{0%,100%{box-shadow:0 0 0 rgba(120,130,255,0)}50%{box-shadow:0 0 26px rgba(140,100,255,.5)}}

/* Selector flotante (temporal) */
.viz-switch{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);z-index:200;display:flex;align-items:center;gap:5px;background:rgba(13,16,25,.86);border:1px solid var(--border2);border-radius:40px;padding:7px 8px 7px 16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 40px rgba(0,0,0,.55)}
.vs-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);margin-right:4px}
.viz-switch button{background:transparent;border:0;color:var(--muted);font-family:inherit;font-size:12.5px;font-weight:600;padding:8px 14px;border-radius:30px;cursor:pointer;transition:.2s}
.viz-switch button:hover{color:var(--txt)}
.viz-switch button.on{background:var(--grad);color:#06070b}
@media(max-width:620px){.vs-label{display:none}.viz-switch{padding:6px;gap:3px;bottom:12px;width:calc(100% - 24px);justify-content:center}.viz-switch button{padding:8px 9px;font-size:11px}}

/* ============ MARQUEE ============ */
.marquee-strip{position:relative;overflow:hidden;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg2)}
.marquee-track{display:inline-flex;align-items:center;gap:26px;white-space:nowrap;animation:marq 32s linear infinite}
.marquee-item{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:600;color:var(--muted)}
.marquee-sep{color:var(--a2);font-size:10px}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============ QUÉ ES GEO ============ */
.geo-title-row{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:50px}
.geo-intro{color:var(--muted);font-size:16px}
.geo-intro strong{color:var(--txt)}
.geo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}
.geo-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:32px 26px;overflow:hidden;transition:.3s}
.geo-card::before{content:'';position:absolute;inset:0;background:var(--grad-soft);opacity:0;transition:.3s}
.geo-card:hover{border-color:var(--border2);transform:translateY(-4px)}
.geo-card:hover::before{opacity:1}
.geo-card>*{position:relative}
.gc-num{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--a1);margin-bottom:18px}
.gc-title{font-family:'Space Grotesk',sans-serif;font-size:19px;font-weight:600;margin-bottom:10px}
.gc-desc{color:var(--muted);font-size:14.5px}
.geo-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;margin:30px auto 0;max-width:920px;border:1px solid var(--border);border-radius:18px;overflow:hidden}
.gc-col{padding:34px 30px;background:var(--surface);text-align:center}
.gc-col.light{background:transparent}
.gc-col-title{font-family:'Space Grotesk',sans-serif;font-size:18px;font-weight:600;margin-bottom:20px}
.gc-list{list-style:none;display:inline-block;text-align:left;margin:0 auto}
.gc-list li{position:relative;padding-left:24px;margin-bottom:13px;color:var(--muted);font-size:14.5px}
.gc-list li::before{content:'';position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--a2)}
.gc-col.light .gc-list li::before{background:var(--faint)}
.gc-vs{display:flex;align-items:center;justify-content:center;font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--faint);background:transparent;padding:0 16px;writing-mode:vertical-rl;border-left:1px solid var(--border);border-right:1px solid var(--border)}

/* ============ AUDITORÍA ============ */
#auditoria{padding-top:90px;padding-bottom:90px}
.audit-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.audit-intro h2{margin-bottom:18px}
.audit-intro p{color:var(--muted);margin-bottom:24px}
.audit-features{list-style:none;display:flex;flex-direction:column;gap:12px}
.audit-features li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--txt)}
.audit-tick{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--grad-soft);border:1px solid var(--border2);color:var(--a1);font-size:12px;flex-shrink:0}

/* Panel del chat */
.audit-panel{background:linear-gradient(160deg,rgba(20,24,36,.9),rgba(10,12,18,.9));border:1px solid var(--border2);border-radius:22px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5),var(--glow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.audit-panel-header{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid var(--border);background:rgba(255,255,255,.02)}
.audit-win-dots{display:flex;gap:7px}
.audit-win-dots span{width:11px;height:11px;border-radius:50%;background:var(--border2)}
.audit-win-dots span:first-child{background:#ff5f57}.audit-win-dots span:nth-child(2){background:#febc2e}.audit-win-dots span:nth-child(3){background:#28c840}
.audit-status{display:flex;align-items:center;gap:8px;margin-left:auto;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted)}
.audit-dot{width:8px;height:8px;border-radius:50%;background:#28c840;box-shadow:0 0 8px #28c840;animation:blink 2s infinite}
.chat{height:560px;display:flex;flex-direction:column}

/* ===== Chat conversacional (auditor) — generado por main.js ===== */
.chat-stream{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.chat-row{display:flex;max-width:88%}
.chat-row.bot{align-self:flex-start}
.chat-row.user{align-self:flex-end;justify-content:flex-end}
.chat-row.card{max-width:100%;width:100%}
.bubble{padding:13px 17px;border-radius:16px;font-size:14.5px;line-height:1.55}
.chat-row.bot .bubble{background:var(--surface2);border:1px solid var(--border);border-bottom-left-radius:5px;color:var(--txt)}
.chat-row.user .bubble{background:var(--grad);color:#06070b;font-weight:600;border-bottom-right-radius:5px}
.bubble .dot{display:inline-block;width:7px;height:7px;margin:0 2px;border-radius:50%;background:var(--muted);animation:typing 1.2s infinite}
.bubble .dot:nth-child(2){animation-delay:.2s}.bubble .dot:nth-child(3){animation-delay:.4s}
@keyframes typing{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.bubble-card{background:var(--panel)!important;border:1px solid var(--border2)!important;width:100%;border-radius:16px!important;color:var(--txt)}

/* Inputs del chat */
.chat-input-wrap{align-self:stretch;display:flex;flex-direction:column;gap:10px;padding:4px 2px}
.chat-input{display:flex;gap:8px;align-items:flex-end;background:var(--surface2);border:1px solid var(--border2);border-radius:14px;padding:7px 7px 7px 14px;transition:border-color .2s}
.chat-input:focus-within{border-color:var(--a2)}
.chat-input input,.chat-input textarea{flex:1;background:none;border:0;outline:0;color:var(--txt);font-family:inherit;font-size:14.5px;resize:none}
.chat-input textarea{padding:6px 0;line-height:1.5}
.chat-input input::placeholder,.chat-input textarea::placeholder{color:var(--faint)}
input.error,textarea.error{animation:shake .4s;border-color:#ff7a7a!important}
@keyframes shake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.chat-send{flex-shrink:0;width:38px;height:38px;border:0;border-radius:11px;background:var(--grad);color:#06070b;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s}
.chat-send:hover{transform:scale(1.06)}
.chat-chips{display:flex;flex-wrap:wrap;gap:9px}
.chat-chip{background:var(--surface2);border:1px solid var(--border2);color:var(--txt);padding:10px 18px;border-radius:30px;font-family:inherit;font-size:14px;cursor:pointer;transition:.2s}
.chat-chip:hover{border-color:var(--a2);background:var(--surface)}
.chat-chip.selected,.chat-chip.primary{background:var(--grad);border-color:transparent;color:#06070b;font-weight:600}
.chat-skip{align-self:flex-start;background:none;border:0;color:var(--faint);font-size:13px;cursor:pointer;text-decoration:underline;font-family:inherit}
.chat-skip:hover{color:var(--muted)}
.chat-hint{font-size:12.5px;color:#ff8b8b}

/* Review card */
.chat-review-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px}
.chat-review-row{display:grid;grid-template-columns:110px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--border)}
.chat-review-row:last-child{border-bottom:0}
.chat-review-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.5px}
.chat-review-val{font-size:14px;color:var(--txt);overflow:hidden;text-overflow:ellipsis}
.chat-review-edit{display:inline-flex;align-items:center;gap:5px;background:none;border:1px solid var(--border2);color:var(--muted);border-radius:8px;padding:5px 10px;font-size:12px;cursor:pointer;font-family:inherit}
.chat-review-edit:hover{border-color:var(--a2);color:var(--txt)}

/* Score & resultados */
.audit-score{display:flex;align-items:baseline;gap:6px;padding:6px 0 14px}
.audit-score-num{font-family:'Space Grotesk',sans-serif;font-size:64px;font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.audit-score-out{font-size:20px;color:var(--faint)}
.audit-score-tag{margin-left:auto;align-self:center;padding:6px 16px;border-radius:30px;font-size:13px;font-weight:600}
.audit-score-tag.good{background:rgba(40,200,100,.16);color:#3ce088}
.audit-score-tag.mid{background:rgba(255,180,40,.16);color:#ffc24d}
.audit-score-tag.bad{background:rgba(255,90,90,.16);color:#ff7a7a}
.audit-rec-title{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;margin-bottom:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.audit-mode{font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:1px;padding:3px 8px;border:1px solid var(--border2);border-radius:20px}
.audit-queries{list-style:none;display:flex;flex-direction:column;gap:9px}
.audit-q{display:flex;align-items:center;gap:12px;padding:11px 13px;background:var(--surface);border:1px solid var(--border);border-radius:12px}
.audit-q-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700}
.audit-q-icon.yes{background:rgba(40,200,100,.18);color:#3ce088}
.audit-q-icon.no{background:rgba(255,90,90,.16);color:#ff7a7a}
.audit-q-text{flex:1;font-size:13.5px;color:var(--muted)}
.audit-q-status{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--faint)}
.audit-rec-item{position:relative;padding:11px 0 11px 22px;color:var(--muted);font-size:14px;border-bottom:1px solid var(--border)}
.audit-rec-item:last-child{border-bottom:0}
.audit-rec-item::before{content:'→';position:absolute;left:0;color:var(--a1)}

/* CTA dentro del chat */
.cta-explainer{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.cta-explainer-col{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}
.cta-explainer-h{font-weight:600;font-size:14px;margin-bottom:6px}
.cta-explainer-d{font-size:13px;color:var(--muted)}
.cta-once{background:var(--grad-soft);border:1px solid var(--border2);border-radius:14px;padding:18px;margin-bottom:18px}
.cta-tag{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--a1);margin-bottom:8px}
.cta-once-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cta-price-inline{font-family:'Space Grotesk',sans-serif;font-size:32px;font-weight:700}
.cta-name{font-weight:600;font-size:15px}
.cta-sub{font-size:13px;color:var(--muted)}
.cta-divider{text-align:center;position:relative;margin:20px 0;color:var(--faint);font-size:12.5px}
.cta-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}
.cta-divider span{position:relative;background:var(--panel);padding:0 14px}
.cta-grid.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.cta-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 14px;display:flex;flex-direction:column}
.cta-card.highlight{border-color:var(--a2);box-shadow:0 0 30px rgba(155,108,255,.2)}
.cta-bundle-flag{position:absolute;top:-9px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--grad);color:#06070b;font-size:10px;font-weight:700;padding:3px 10px;border-radius:20px}
.cta-price{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:700;margin:6px 0 12px}
.cta-cycle{font-size:13px;color:var(--faint);font-weight:400}
.audit-features-mini{list-style:none;display:flex;flex-direction:column;gap:7px;margin-bottom:16px;flex:1}
.audit-features-mini li{position:relative;padding-left:18px;font-size:12.5px;color:var(--muted)}
.audit-features-mini li::before{content:'✓';position:absolute;left:0;color:var(--a1)}
.audit-features-mini strong{color:var(--txt)}
.audit-cta{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:30px;padding:12px 22px;font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:.2s;width:100%}
.audit-cta.primary{background:var(--grad);color:#06070b;box-shadow:var(--glow)}
.audit-cta.ghost-gold{background:var(--surface2);border:1px solid var(--border2);color:var(--txt)}
.audit-cta.ghost-gold:hover{border-color:var(--a2)}
.audit-cta.ghost{background:none;color:var(--faint);width:auto;margin:0 auto}
.audit-cta:hover{transform:translateY(-1px)}
.audit-cta:disabled{opacity:.5;cursor:default;transform:none}
.audit-cta-row{display:flex;justify-content:center;margin-top:14px}

/* Fullscreen del informe */
body.audit-fullscreen{overflow:hidden}
body.audit-fullscreen #auditoria{position:fixed;inset:0;z-index:1000;max-width:none;margin:0;padding:0;background:var(--bg)}
body.audit-fullscreen .audit-wrap{display:block;height:100vh;gap:0}
body.audit-fullscreen .audit-intro{display:none}
body.audit-fullscreen .audit-panel{height:100vh;border:0;border-radius:0;max-width:860px;margin:0 auto}
body.audit-fullscreen .chat{height:calc(100vh - 52px)}
.audit-fs-close{position:fixed;top:18px;right:18px;z-index:1001;width:44px;height:44px;border-radius:50%;background:var(--surface2);border:1px solid var(--border2);color:var(--txt);display:flex;align-items:center;justify-content:center;cursor:pointer}
.audit-fs-close:hover{background:var(--surface);border-color:var(--a2)}

/* Banner de pago OK */
.paid-banner{position:fixed;top:0;left:0;right:0;z-index:2000;background:linear-gradient(120deg,#0d3b2a,#0b2d3b);border-bottom:1px solid rgba(60,224,136,.4)}
.paid-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:14px;padding:14px 24px}
.paid-icon{width:30px;height:30px;border-radius:50%;background:#3ce088;color:#06070b;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.paid-text strong{display:block;font-size:14px}.paid-text span{font-size:13px;color:var(--muted)}
.paid-close{margin-left:auto;background:none;border:0;color:var(--muted);font-size:24px;cursor:pointer}

/* ============ PLANES ============ */
.plans-header{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:end;margin-bottom:42px}
.plans-header p{color:var(--muted)}
.audit-strip{display:block;margin-bottom:34px}
.audit-strip-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:28px}
.audit-strip-card.highlight{background:var(--grad-soft);border-color:var(--border2)}
.audit-strip-card.wide{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:26px 32px}
.audit-strip-card.wide .audit-strip-main{flex:1 1 auto}
.audit-strip-card.wide .audit-strip-desc{margin-bottom:0}
.audit-strip-card.wide .audit-strip-cta{flex:0 0 auto;white-space:nowrap}
.audit-strip-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 28px}
.audit-strip-list li{position:relative;padding-left:24px;font-size:14px;color:var(--muted)}
.audit-strip-list li::before{content:'✓';position:absolute;left:0;color:var(--a1);font-weight:700}
@media(max-width:680px){.audit-strip-list{grid-template-columns:1fr}}
.audit-strip-tag{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);margin-bottom:12px;padding:4px 12px;border:1px solid var(--border2);border-radius:20px}
.audit-strip-tag.gold{background:var(--grad);color:#06070b;-webkit-text-fill-color:#06070b;-webkit-background-clip:border-box;background-clip:border-box;border-color:transparent;font-weight:700}
.audit-strip-name{font-family:'Space Grotesk',sans-serif;font-size:21px;font-weight:600;margin-bottom:10px;color:var(--txt)}
.audit-strip-desc{color:var(--muted);font-size:14px;margin-bottom:20px}
.audit-strip-cta{display:inline-block;font-weight:600;font-size:14px}
.audit-strip-cta.ghost{color:var(--a1)}
.audit-strip-cta.solid{background:var(--grad);color:#06070b;padding:11px 22px;border-radius:30px}
.plans-divider{text-align:center;position:relative;margin:34px 0;color:var(--faint);font-size:13px}
.plans-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--border)}
.plans-divider span{position:relative;background:var(--bg);padding:0 18px}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pc{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:32px 26px;display:flex;flex-direction:column;transition:.3s}
.pc:hover{transform:translateY(-5px);border-color:var(--border2)}
.pc.dark{background:linear-gradient(170deg,rgba(155,108,255,.12),rgba(58,217,255,.06));border-color:var(--a2)}
.pc-badge{position:absolute;top:16px;right:16px;background:var(--grad);color:#06070b;font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:5px 12px;border-radius:20px}
.pc-num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--a1);margin-bottom:14px}
.pc-name{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:600;color:var(--txt)}
.pc-price{font-family:'Space Grotesk',sans-serif;font-size:46px;font-weight:700;line-height:1;margin:6px 0 14px;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.pc-cycle{font-size:15px;color:var(--faint);font-weight:400;-webkit-text-fill-color:var(--faint)}
.pc-desc{color:var(--muted);font-size:14px;margin-bottom:18px}
.pc-incluida{display:flex;align-items:center;gap:9px;margin-bottom:18px;padding:11px 15px;border-radius:12px;background:rgba(58,217,255,.12);border:1px solid rgba(58,217,255,.55);color:var(--txt);font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:13.5px}
.pc-incluida::before{content:'✦';color:var(--a1);font-size:14px}
.pc-div{height:1px;background:var(--border);margin-bottom:18px}
.pc-feat{position:relative;padding-left:24px;margin-bottom:11px;font-size:14px;color:var(--muted)}
.pc-feat::before{content:'✓';position:absolute;left:0;color:var(--a1);font-weight:700}
.pc-cta{margin-top:auto;text-align:center;padding:13px;border-radius:30px;border:1px solid var(--border2);font-weight:600;font-size:14px;transition:.2s}
.pc-cta:hover{background:var(--surface2)}
.pc.dark .pc-cta{background:var(--grad);color:#06070b;border-color:transparent}

/* ============ FAQ ============ */
.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}
.faq-left p{color:var(--muted);margin:16px 0 22px}
.faq-cta{display:inline-flex;align-items:center;gap:8px;color:var(--a1);font-weight:600;font-size:14px}
.fi{border:1px solid var(--border);border-radius:14px;margin-bottom:12px;background:var(--surface);overflow:hidden;transition:border-color .2s}
.fi.open{border-color:var(--border2)}
.fq{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;color:var(--txt);font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:500;text-align:left;padding:20px 22px;cursor:pointer}
.fq-icon{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--a1);transition:.3s}
.fi.open .fq-icon{transform:rotate(45deg);background:var(--grad);color:#06070b;border-color:transparent}
.fa-wrap{max-height:0;overflow:hidden;transition:max-height .4s ease}
.fi.open .fa-wrap{max-height:560px}
.fa-wrap p{padding:0 22px 22px;color:var(--muted);font-size:14.5px}

/* ============ NOSOTROS ============ */
#nosotros{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.nos-left p{color:var(--muted);margin:14px 0}
.vals{margin-top:28px;display:flex;flex-direction:column;gap:20px}
.val{display:flex;gap:18px}
.val-n{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--a1);padding-top:3px}
.val-t{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:16px;margin-bottom:4px}
.val-d{color:var(--muted);font-size:14px}
.nos-right{position:static}
.logo-block{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:44px;display:flex;justify-content:center;margin-bottom:18px}
.logo-block img{height:66px;object-fit:contain}
.stats-block{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.sb{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px}
.sb-n{font-family:'Space Grotesk',sans-serif;font-size:34px;font-weight:700;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1}
.sb-n.mono{font-family:'JetBrains Mono',monospace;font-size:26px}
.sb-l{font-size:12.5px;color:var(--faint);margin-top:8px}

/* ============ FOOTER ============ */
footer{max-width:var(--maxw);margin:0 auto;padding:50px 28px 60px;border-top:1px solid var(--border);display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center}
.flogo img{height:40px;opacity:.9}
.fcopy{font-size:13px;color:var(--faint)}
.flinks{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.flinks a{font-size:13px;color:var(--muted)}
.flinks a:hover{color:var(--a1)}
.flinks a.fig{display:inline-flex;align-items:center;color:var(--muted);transition:color .2s,transform .2s}
.flinks a.fig:hover{color:var(--a1);transform:translateY(-1px)}
.fdiv{width:100%;max-width:560px;height:1px;background:var(--border);margin:6px auto 0}
.flegal{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 18px}
.flegal a{font-size:12.5px;color:var(--faint);transition:color .2s}
.flegal a:hover{color:var(--a1)}
.flegal .fsep{color:var(--border2);font-size:11px;user-select:none}
.fbiz{font-size:12px;color:var(--faint);max-width:560px;line-height:1.6}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .hamburger{display:flex}
  #nav{position:fixed;top:0;right:0;bottom:0;width:78%;max-width:320px;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;padding:40px;background:rgba(10,12,18,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-left:1px solid var(--border);transform:translateX(100%);transition:transform .3s;z-index:99}
  #nav.open{transform:none}
  #inicio{padding-top:112px}
  .hero-content{max-width:none}
  .hero-visual{position:static;margin-top:24px;justify-content:flex-start}
  .radar,.gauge,.geo-orbits{width:min(270px,68vw)}
  .prompt-card,.growth-card{width:min(340px,88vw)}
  .geo-title-row,.geo-cards,.plans-header,.audit-strip,.plans-grid,.faq-layout,#nosotros,.cta-grid.tiers,.cta-explainer{grid-template-columns:1fr}
  .audit-strip-card.wide{flex-direction:column;align-items:flex-start;gap:20px}
  .audit-wrap{grid-template-columns:1fr;gap:30px}
  .geo-compare{grid-template-columns:1fr}
  .gc-vs{writing-mode:horizontal-tb;padding:12px}
  .nos-right{position:static}
  section{padding:80px 22px}
  .chat-review-row{grid-template-columns:90px 1fr}
}
/* ============ ANIMACIONES ELEGANTES ============ */
/* Gradiente vivo en textos/acentos */
.gold,.hstat-n,.sb-n,.pc-price,.audit-score-num,h2 em{background-size:220% 220%;animation:gradFlow 8s ease infinite}
@keyframes gradFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

/* Entrada del hero al cargar (escalonada) */
.hero-tag{animation:riseIn .7s cubic-bezier(.2,.7,.2,1) both}
.hero-headline{animation:riseIn .8s cubic-bezier(.2,.7,.2,1) .12s both}
.hero-bottom{animation:riseIn .8s cubic-bezier(.2,.7,.2,1) .26s both}
@keyframes riseIn{from{opacity:0;transform:translateY(34px)}to{opacity:1;transform:none}}

/* Barrido de brillo en el botón principal */
.btn-light{position:relative;overflow:hidden}
.btn-light::after{content:'';position:absolute;top:0;left:-130%;width:55%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);pointer-events:none}
.btn-light:hover::after{animation:shine .85s ease}
@keyframes shine{to{left:140%}}

/* Glow pulsante del panel del auditor */
.audit-panel{animation:panelGlow 6s ease-in-out infinite}
@keyframes panelGlow{0%,100%{box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 28px rgba(96,160,255,.16)}50%{box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 58px rgba(140,100,255,.34)}}

/* Subrayado animado en los enlaces del nav */
#nav a:not(.nav-cta)::after{content:'';position:absolute;left:0;bottom:-5px;width:100%;height:1.5px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
#nav a:not(.nav-cta):hover::after{transform:scaleX(1)}

/* Sombra/elevación al pasar por tarjetas */
.geo-card:hover,.pc:hover,.sb:hover,.audit-strip-card:hover{box-shadow:0 18px 50px rgba(0,0,0,.42)}
.sb,.audit-strip-card{transition:transform .3s,box-shadow .3s,border-color .3s}
.sb:hover,.audit-strip-card:hover{transform:translateY(-4px);border-color:var(--border2)}

/* Punto del hero-tag con halo expansivo */
.blink-dot{position:relative}
.blink-dot::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:1px solid var(--a1);animation:ping 1.8s ease-out infinite}
@keyframes ping{0%{transform:scale(.6);opacity:.8}100%{transform:scale(2.2);opacity:0}}

/* Aparición de filas/burbujas del chat */
.chat-row,.chat-input-wrap{animation:bubbleIn .35s ease both}
@keyframes bubbleIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ====== Hero · fondo de búsqueda generativa (recreado, inspirado en demo sin licencia) ====== */
.search-stage{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;display:flex;align-items:center;justify-content:flex-end;padding-right:max(6vw,40px);perspective:1400px}
.search-stage::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,rgba(7,8,12,.72) 34%,rgba(7,8,12,0) 72%),linear-gradient(0deg,var(--bg),rgba(7,8,12,0) 32%)}
.search-glow{position:absolute;right:8%;top:50%;width:min(620px,52vw);aspect-ratio:1;transform:translateY(-50%);background:radial-gradient(circle at 50% 50%,rgba(58,217,255,.30),rgba(155,108,255,.18) 45%,transparent 70%);filter:blur(34px);animation:spGlow 12s ease-in-out infinite}
.search-box{position:relative;width:min(540px,42vw);transform-style:preserve-3d;animation:spFloat 11s ease-in-out infinite;will-change:transform}
.search-pill{display:flex;align-items:center;gap:14px;padding:18px 22px;border-radius:999px;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.04));border:1px solid var(--border2);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 24px 70px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.04),0 0 55px rgba(96,160,255,.25)}
.sp-ico{width:22px;height:22px;color:var(--a1);flex-shrink:0}
.sp-mic{width:20px;height:20px;color:var(--muted);flex-shrink:0}
.sp-field{flex:1;min-width:0;display:flex;align-items:center;font-family:'Space Grotesk',sans-serif;font-size:clamp(15px,1.5vw,19px);font-weight:500;color:var(--txt);white-space:nowrap;overflow:hidden}
.sp-caret{display:inline-block;width:2px;height:1.15em;margin-left:1px;background:var(--a1);box-shadow:0 0 8px var(--a1);animation:spBlink 1s steps(1) infinite;flex-shrink:0}
.sp-suggest{position:absolute;left:0;right:0;top:calc(100% + 12px);list-style:none;margin:0;padding:8px;border-radius:22px;background:linear-gradient(180deg,rgba(16,19,28,.86),rgba(10,12,18,.86));border:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 30px 80px rgba(0,0,0,.5);opacity:0;transform:translateY(-8px);transition:opacity .4s,transform .4s;pointer-events:none}
.sp-suggest.show{opacity:1;transform:translateY(0)}
.sp-row{display:flex;align-items:center;gap:13px;padding:11px 14px;border-radius:14px;font-family:'Space Grotesk',sans-serif;font-size:14.5px;color:var(--txt);opacity:0;transform:translateY(6px);transition:opacity .35s,transform .35s}
.sp-row.in{opacity:1;transform:none}
.sp-row .sp-spin{width:15px;height:15px;border-radius:50%;border:1.8px solid var(--border2);border-top-color:var(--a1);flex-shrink:0;animation:spin .8s linear infinite}
.sp-row b{font-weight:600;color:var(--txt)}
.sp-row .dim{color:var(--muted);font-weight:400}
@keyframes spFloat{0%{transform:translateY(0) rotateX(0) rotateY(0)}50%{transform:translateY(-16px) rotateX(5deg) rotateY(-7deg)}100%{transform:translateY(0) rotateX(0) rotateY(0)}}
@keyframes spGlow{0%,100%{transform:translateY(-50%) scale(1);opacity:.85}50%{transform:translateY(-54%) scale(1.08);opacity:1}}
@keyframes spBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
/* la barra sustituye a las órbitas del hero; el texto queda por encima */
#inicio .hero-visual{display:none}
#inicio .hero-content{position:relative;z-index:3}
@media(max-width:860px){
  .search-stage{justify-content:center;padding-right:0;align-items:flex-start;padding-top:32vh;opacity:.5}
  .search-stage::after{background:linear-gradient(0deg,var(--bg) 0%,rgba(7,8,12,.45) 55%,rgba(7,8,12,.15) 100%)}
  .search-box{width:min(420px,86vw)}
  .sp-suggest{display:none}
}
@media(prefers-reduced-motion:reduce){.search-box,.search-glow{animation:none}}

/* ===== Hero búsqueda · v2: ambientes alternos + anti-superposición ===== */
.search-stage{justify-content:flex-end;padding-right:1.5%}
.search-stage::after{background:linear-gradient(90deg,var(--bg) 0%,rgba(7,8,12,.88) 30%,rgba(7,8,12,0) 62%),linear-gradient(0deg,var(--bg),rgba(7,8,12,0) 30%)}
.search-box{width:min(440px,38vw)}
#inicio .hero-content{max-width:52%}
.search-amb{position:absolute;inset:0;pointer-events:none}
.search-amb span{position:absolute;right:5%;top:50%;width:min(660px,50vw);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;filter:blur(42px);opacity:0;mix-blend-mode:screen}
.search-amb .amb-1{background:radial-gradient(circle,rgba(58,217,255,.55),rgba(31,107,255,.22) 46%,transparent 70%);animation:ambA 21s ease-in-out infinite}
.search-amb .amb-2{background:radial-gradient(circle,rgba(155,108,255,.55),rgba(120,60,255,.22) 46%,transparent 70%);animation:ambB 21s ease-in-out infinite}
.search-amb .amb-3{background:radial-gradient(circle,rgba(80,150,255,.42),rgba(18,26,52,.30) 50%,transparent 72%);animation:ambC 21s ease-in-out infinite}
@keyframes ambA{0%,100%{opacity:.9}33%{opacity:.08}66%{opacity:.08}}
@keyframes ambB{0%,100%{opacity:.08}33%{opacity:.9}66%{opacity:.08}}
@keyframes ambC{0%,100%{opacity:.08}33%{opacity:.08}66%{opacity:.9}}
@media(max-width:860px){
  #inicio .hero-content{max-width:100%}
  .search-stage{justify-content:center;align-items:flex-end;padding:0 0 7vh 0;opacity:.4}
  .search-stage::after{background:linear-gradient(0deg,rgba(7,8,12,0),rgba(7,8,12,.25) 55%,var(--bg))}
  .search-amb span{right:auto;left:50%;top:72%;transform:translate(-50%,-50%);width:min(440px,92vw)}
  .search-box{width:min(360px,86vw)}
}
@media(prefers-reduced-motion:reduce){.search-amb span{animation:none;opacity:.4}}

/* ===== Hero búsqueda · v3: flotación/giro visibles (el usuario pide movimiento explícito) ===== */
.search-box{animation:spFloat 9s ease-in-out infinite}
@keyframes spFloat{
  0%{transform:translateY(12px) rotateX(-5deg) rotateY(7deg) rotateZ(-.6deg)}
  50%{transform:translateY(-24px) rotateX(8deg) rotateY(-10deg) rotateZ(.7deg)}
  100%{transform:translateY(12px) rotateX(-5deg) rotateY(7deg) rotateZ(-.6deg)}
}
/* Reactivar movimiento aunque el sistema pida "reducir movimiento" (es decorativo y solicitado) */
@media(prefers-reduced-motion:reduce){
  .search-box{animation:spFloat 9s ease-in-out infinite!important}
  .search-amb .amb-1{animation:ambA 21s ease-in-out infinite!important}
  .search-amb .amb-2{animation:ambB 21s ease-in-out infinite!important}
  .search-amb .amb-3{animation:ambC 21s ease-in-out infinite!important}
}

/* ===== Hero búsqueda · v6: ambientes MUCHO más visibles (tiñen gran parte del fondo) ===== */
.search-stage::after{background:linear-gradient(90deg,var(--bg) 0%,rgba(7,8,12,.9) 26%,rgba(7,8,12,0) 52%),linear-gradient(0deg,var(--bg),rgba(7,8,12,0) 24%)}
.search-amb span{position:absolute;inset:0;right:auto;top:auto;width:auto;height:auto;transform:none;border-radius:0;filter:none;mix-blend-mode:screen;opacity:0}
.search-amb .amb-1{background:radial-gradient(125% 95% at 76% 48%,rgba(58,217,255,.85),rgba(31,107,255,.40) 36%,transparent 64%);animation:ambA 18s ease-in-out infinite}
.search-amb .amb-2{background:radial-gradient(125% 95% at 76% 48%,rgba(168,108,255,.90),rgba(120,60,255,.42) 36%,transparent 64%);animation:ambB 18s ease-in-out infinite}
.search-amb .amb-3{background:radial-gradient(125% 95% at 76% 48%,rgba(70,150,255,.80),rgba(40,40,120,.45) 40%,transparent 68%);animation:ambC 18s ease-in-out infinite}
@keyframes ambA{0%,100%{opacity:1}33%{opacity:.04}66%{opacity:.04}}
@keyframes ambB{0%,100%{opacity:.04}33%{opacity:1}66%{opacity:.04}}
@keyframes ambC{0%,100%{opacity:.04}33%{opacity:.04}66%{opacity:1}}
@media(prefers-reduced-motion:reduce){
  .search-amb .amb-1{animation:ambA 18s ease-in-out infinite!important}
  .search-amb .amb-2{animation:ambB 18s ease-in-out infinite!important}
  .search-amb .amb-3{animation:ambC 18s ease-in-out infinite!important}
}

/* ===== Hero búsqueda · v7: ambiente a pantalla COMPLETA + barra mucho más viva ===== */
/* El ambiente cubre todo el hero (gradiente enorme, sin desvanecer a nada) */
.search-amb span{position:absolute;inset:-12%;mix-blend-mode:screen;opacity:0;filter:none}
.search-amb .amb-1{background:radial-gradient(125% 115% at 60% 38%,rgba(58,217,255,.72),rgba(31,107,255,.50) 40%,rgba(22,64,165,.34) 72%,rgba(12,34,95,.22) 100%);animation:ambA 16s ease-in-out infinite}
.search-amb .amb-2{background:radial-gradient(125% 115% at 60% 38%,rgba(170,108,255,.74),rgba(120,60,255,.50) 40%,rgba(74,40,165,.36) 72%,rgba(40,22,95,.22) 100%);animation:ambB 16s ease-in-out infinite}
.search-amb .amb-3{background:radial-gradient(125% 115% at 60% 38%,rgba(72,150,255,.66),rgba(40,84,205,.46) 42%,rgba(26,46,130,.34) 74%,rgba(14,24,80,.22) 100%);animation:ambC 16s ease-in-out infinite}
@keyframes ambA{0%,100%{opacity:1}33%{opacity:.06}66%{opacity:.06}}
@keyframes ambB{0%,100%{opacity:.06}33%{opacity:1}66%{opacity:.06}}
@keyframes ambC{0%,100%{opacity:.06}33%{opacity:.06}66%{opacity:1}}
/* Velo SOLO tras el texto para legibilidad (el resto del hero queda teñido) */
.search-stage::after{background:radial-gradient(58% 56% at 25% 52%,rgba(7,8,12,.80),rgba(7,8,12,.30) 55%,rgba(7,8,12,0) 78%)}
#inicio .hero-headline{text-shadow:0 2px 32px rgba(0,0,0,.55)}
#inicio .hero-sub{text-shadow:0 1px 16px rgba(0,0,0,.6)}
/* Barra MUCHO más llamativa (flotación amplia + giro 3D marcado) */
.search-box{animation:spFloat 7s ease-in-out infinite}
@keyframes spFloat{
  0%{transform:translateY(18px) translateX(-7px) rotateX(-9deg) rotateY(13deg) rotateZ(-1.4deg) scale(.98)}
  50%{transform:translateY(-36px) translateX(7px) rotateX(14deg) rotateY(-16deg) rotateZ(1.6deg) scale(1.02)}
  100%{transform:translateY(18px) translateX(-7px) rotateX(-9deg) rotateY(13deg) rotateZ(-1.4deg) scale(.98)}
}
@media(prefers-reduced-motion:reduce){.search-box{animation:spFloat 7s ease-in-out infinite!important}}

/* ============================================================
   Hero búsqueda · v9: BUSCADOR PROTAGONISTA a pantalla completa
   El buscador animado deja de ser fondo lateral y pasa a ser lo
   primero que se ve: gigante, centrado, ocupando todo el viewport.
   ============================================================ */

/* #inicio a sangre completa (rompe el max-width de section) y centrado */
#inicio{max-width:none;width:100%;min-height:120vh;min-height:120svh;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden}

/* Ambiente de luz full-bleed detrás de todo */
#inicio .search-amb{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}
#inicio .search-amb span{position:absolute;inset:-15%;right:auto;top:auto;left:auto;width:auto;height:auto;transform:none;border-radius:0;filter:none;mix-blend-mode:screen;opacity:0}

/* Velo radial para que el texto/CTA centrales se lean sobre el ambiente */
#inicio::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(72% 62% at 50% 48%,rgba(7,8,12,.80),rgba(7,8,12,.46) 56%,rgba(7,8,12,.10) 82%)}

/* Columna central de contenido */
.hero-search{position:relative;z-index:3;width:100%;max-width:980px;margin:0 auto;padding:120px 24px 70px;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-search .hero-tag{margin-bottom:26px}
.hero-search-title{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.04;font-size:clamp(36px,6vw,78px);margin-bottom:18px;text-shadow:0 2px 30px rgba(0,0,0,.5)}
.hero-search-sub{color:var(--muted);font-size:clamp(15px,1.7vw,20px);max-width:640px;margin:0 auto 46px;text-shadow:0 1px 14px rgba(0,0,0,.55);animation:riseIn .8s cubic-bezier(.2,.7,.2,1) .2s both}

/* La barra: GRANDE y centrada (anula el float lateral previo) */
#inicio .search-box{position:relative;width:min(860px,94vw);margin:0 auto clamp(150px,20vh,235px);transform-style:preserve-3d;animation:spFloatBig 8.5s ease-in-out infinite;will-change:transform}
#inicio .search-pill{gap:18px;padding:22px 30px;border-radius:999px;box-shadow:0 30px 90px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.05),0 0 80px rgba(96,160,255,.32)}
#inicio .sp-ico{width:30px;height:30px}
#inicio .sp-mic{width:26px;height:26px}
#inicio .sp-field{font-size:clamp(18px,2.4vw,30px)}
#inicio .sp-caret{width:3px;height:1.1em}

/* Sugerencias: más grandes, centradas bajo la barra, alineadas a la izquierda */
#inicio .sp-suggest{display:none;top:calc(100% + 16px);padding:12px;border-radius:26px;text-align:left}
#inicio .sp-row{padding:14px 18px;font-size:clamp(15px,1.7vw,19px);border-radius:16px}
#inicio .sp-row .sp-spin{width:18px;height:18px}

/* CTAs centrados bajo el buscador */
.hero-search .hero-actions{justify-content:center;margin-top:0}

/* Pista de scroll al fondo */
.scroll-hint{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--muted);font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;animation:scrollBob 2.2s ease-in-out infinite}
.scroll-hint:hover{color:var(--txt)}
.scroll-hint svg{width:18px;height:18px}
@keyframes scrollBob{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,7px)}}

/* Float suave y legible para la barra gigante (se lee el texto que teclea) */
@keyframes spFloatBig{0%{transform:translateY(0) rotateX(0) rotateY(0)}50%{transform:translateY(-14px) rotateX(2.6deg) rotateY(-2.6deg)}100%{transform:translateY(0) rotateX(0) rotateY(0)}}
@media(prefers-reduced-motion:reduce){#inicio .search-box{animation:spFloatBig 8.5s ease-in-out infinite!important}}

/* Móvil */
@media(max-width:860px){
  #inicio .search-box{width:94vw;margin-bottom:clamp(140px,26vh,210px)}
  #inicio .search-pill{padding:18px 22px;gap:13px}
  #inicio .sp-ico{width:24px;height:24px}
  #inicio .sp-mic{width:22px;height:22px}
  #inicio .sp-suggest{display:none}
  .hero-search{padding-top:104px}
  .scroll-hint{bottom:16px}
}

/* ============================================================
   Hero búsqueda · v10: MINIMALISTA — solo el buscador animado
   Sin titular, sin subtítulo, sin CTAs. La barra queda centrada
   a pantalla completa y las sugerencias caen en el hueco inferior
   vacío, sin solapar con la pista de scroll ni el contenido.
   ============================================================ */
.hero-search{padding:0;max-width:none;justify-content:center}
/* barra centrada en el viewport; se elimina el margen que reservaba los CTAs */
#inicio .search-box{margin:0 auto}

/* ============================================================
   Sección crecimiento ChatGPT · v11: gráfica interactiva
   a página completa (SOLO la gráfica). SVG + etiquetas HTML.
   ============================================================ */
#geo-grafica{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.chart-card{position:relative;width:100%;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));border:1px solid var(--border);border-radius:24px;padding:30px 30px 22px;box-shadow:0 30px 90px rgba(0,0,0,.4)}
.cc-title{margin-bottom:14px}
.cc-kicker{display:inline-flex;align-items:center;gap:10px;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--a1);margin-bottom:10px}
.cc-title h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,2.6vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.15}
.cc-plot{position:relative;padding:0 0 32px 0}
.chart-svg{display:block;width:100%;height:auto;overflow:visible}
.chart-grid line{stroke:var(--border);stroke-width:1}
.chart-area{opacity:0;transition:opacity 1s ease .35s}
.chart-card.drawn .chart-area{opacity:1}
.chart-line{fill:none;stroke:url(#ggLine);stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;transition:stroke-dashoffset 1.7s cubic-bezier(.4,.1,.2,1);filter:drop-shadow(0 4px 14px rgba(96,160,255,.4))}
.chart-dot{fill:var(--bg2);stroke:url(#ggLine);stroke-width:2.6;opacity:0;transition:opacity .5s ease .9s,r .15s ease;cursor:pointer}
.chart-card.drawn .chart-dot{opacity:1}
.chart-guide{stroke:var(--border2);stroke-width:1.4;stroke-dasharray:5 5;opacity:0;transition:opacity .15s}
.cc-ylabels span{position:absolute;transform:translate(-100%,-50%);font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--faint);white-space:nowrap}
.cc-xlabels span{position:absolute;transform:translateX(-50%);font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--muted);white-space:nowrap}
.chart-tip{position:absolute;pointer-events:none;transform:translate(-50%,-130%);display:flex;flex-direction:column;gap:1px;background:linear-gradient(180deg,rgba(16,19,28,.94),rgba(10,12,18,.94));border:1px solid var(--border2);border-radius:12px;padding:8px 13px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 50px rgba(0,0,0,.5);opacity:0;transition:opacity .15s;white-space:nowrap;z-index:6}
.chart-tip .tip-v{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:17px;color:var(--txt)}
.chart-tip .tip-t{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.chart-cap{text-align:center;margin-top:6px;color:var(--faint);font-size:12px}
@media(max-width:760px){
  .chart-card{padding:22px 14px 16px}
  .cc-ylabels span,.cc-xlabels span{font-size:10px}
  .cc-xlabels span:nth-child(even){display:none}
}

/* ============================================================
   Nosotros · v12: caja de contacto (sustituye logo+stats)
   ============================================================ */
.contact-box{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));border:1px solid var(--border);border-radius:22px;padding:30px;display:flex;flex-direction:column;gap:16px;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.cb-head{margin-bottom:2px}
.cb-head .eyebrow{margin-bottom:12px}
.cb-head h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(20px,2.4vw,26px);font-weight:600;letter-spacing:-.02em}
.cb-head p{color:var(--muted);font-size:14px;margin-top:6px}
.cb-field{display:flex;flex-direction:column;gap:7px}
.cb-field>span{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--faint)}
.cb-field input,.cb-field textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:12px;padding:13px 15px;color:var(--txt);font-family:'Inter',sans-serif;font-size:15px;transition:border-color .2s,box-shadow .2s}
.cb-field input::placeholder,.cb-field textarea::placeholder{color:var(--faint)}
.cb-field input:focus,.cb-field textarea:focus{outline:none;border-color:var(--a1);box-shadow:0 0 0 3px rgba(58,217,255,.14)}
.cb-field textarea{min-height:120px;line-height:1.5;resize:vertical}
.cb-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.cb-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--grad);color:#06070b;font-weight:700;font-size:15px;padding:14px 26px;border:0;border-radius:30px;cursor:pointer;box-shadow:var(--glow);transition:transform .2s,box-shadow .2s;margin-top:4px}
.cb-submit:hover{transform:translateY(-2px);box-shadow:0 0 50px rgba(120,150,255,.5)}
.cb-submit:disabled{opacity:.6;cursor:default;transform:none}
.cb-status{font-size:13.5px;min-height:18px;line-height:1.4}
.cb-status.ok{color:#46e3a0}
.cb-status.err{color:#ff8095}

/* ============================================================
   Auditoría · v13: ENCUESTA (formulario) en vez del chat
   conversacional para recoger los datos. El chat sigue
   usándose para pintar el informe tras enviar.
   ============================================================ */
.audit-survey{flex:1;min-height:0;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:13px}
.as-head h3{font-family:'Space Grotesk',sans-serif;font-size:20px;font-weight:600;letter-spacing:-.02em}
.as-head p{color:var(--muted);font-size:13.5px;margin-top:5px}
.as-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.as-field{display:flex;flex-direction:column;gap:6px}
.as-field>span{font-family:'JetBrains Mono',monospace;font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--faint)}
.as-field input,.as-field textarea{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:11px;padding:12px 14px;color:var(--txt);font-family:'Inter',sans-serif;font-size:14.5px;transition:border-color .2s,box-shadow .2s}
.as-field input::placeholder,.as-field textarea::placeholder{color:var(--faint)}
.as-field input:focus,.as-field textarea:focus{outline:none;border-color:var(--a1);box-shadow:0 0 0 3px rgba(58,217,255,.14)}
.as-field input.error,.as-field textarea.error{border-color:#ff8095;box-shadow:0 0 0 3px rgba(255,128,149,.16)}
.as-field textarea{min-height:92px;line-height:1.5;resize:vertical}
.as-check{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--muted);cursor:pointer;line-height:1.45}
.as-check input{margin-top:2px;accent-color:var(--a1);width:16px;height:16px;flex-shrink:0}
.as-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}
.as-submit{display:inline-flex;align-items:center;justify-content:center;gap:9px;background:var(--grad);color:#06070b;font-weight:700;font-size:15px;padding:14px 26px;border:0;border-radius:30px;cursor:pointer;box-shadow:var(--glow);transition:transform .2s,box-shadow .2s;margin-top:2px}
.as-submit:hover{transform:translateY(-2px);box-shadow:0 0 50px rgba(120,150,255,.5)}
.as-submit:disabled{opacity:.6;cursor:default;transform:none}
.as-status{font-size:13px;min-height:16px;color:#ff8095}
.as-status.err{color:#ff8095}
@media(max-width:560px){.as-grid{grid-template-columns:1fr}}

/* ============================================================
   Auditoría · v14: a PÁGINA COMPLETA. Intro (títulos+descripción)
   ARRIBA y centrada; box de auditoría grande debajo. NUNCA
   pantalla completa (enterFullscreen está desactivado en JS y
   aquí se anula cualquier resto del modo fullscreen).
   ============================================================ */
#auditoria{min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.audit-wrap{display:block;gap:0}
.audit-intro{max-width:800px;margin:0 auto 32px;text-align:center}
.audit-intro .eyebrow{justify-content:center}
.audit-intro p{margin-left:auto;margin-right:auto;max-width:640px}
.audit-features{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px 24px}
.audit-panel{width:100%;max-width:1000px;margin:0 auto}
.chat{height:min(70vh,680px)}
/* Anular por completo el antiguo modo pantalla completa (por si la clase llegara a añadirse) */
body.audit-fullscreen{overflow:auto}
body.audit-fullscreen #auditoria{position:static;inset:auto;z-index:auto;max-width:var(--maxw);margin:0 auto;padding:110px 28px;background:none}
body.audit-fullscreen .audit-wrap{display:block;height:auto}
body.audit-fullscreen .audit-intro{display:block}
body.audit-fullscreen .audit-panel{height:auto;max-width:1000px;border:1px solid var(--border2);border-radius:22px}
body.audit-fullscreen .chat{height:min(70vh,680px)}
.audit-fs-close{display:none!important}
@media(max-width:860px){
  #auditoria{min-height:auto}
  .audit-features{gap:10px 18px}
  .chat{height:min(72vh,620px)}
}

/* ============================================================
   Auditoría · v15: desplegable "top competidores que SÍ aparecen"
   ============================================================ */
.audit-comp-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:14px;padding:12px 16px;background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:12px;color:var(--txt);font-family:'Inter',sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .2s,border-color .2s}
.audit-comp-toggle:hover{background:rgba(255,255,255,.07);border-color:var(--a2)}
.audit-comp-toggle .acc-chev{transition:transform .25s;color:var(--a1);flex-shrink:0}
.audit-comp-toggle.open .acc-chev{transform:rotate(180deg)}
.audit-comp-list{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.audit-comp-list[hidden]{display:none}
.audit-comp{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--panel);border:1px solid var(--border);border-radius:12px}
.audit-comp-rank{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--grad);color:#06070b;font-weight:700;font-size:13px;flex-shrink:0}
.audit-comp-name{font-weight:600;color:var(--txt);font-size:14.5px;flex:1;min-width:0}
.audit-comp-count{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--muted);white-space:nowrap}

/* ============================================================
   Auditoría · v16: tarjeta "Descargar informe" (PDF)
   ============================================================ */
.audit-dl{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.audit-dl-txt{flex:1;min-width:200px}
.audit-dl-h{font-weight:700;font-size:16px;color:var(--txt);margin-bottom:4px}
.audit-dl-d{font-size:13.5px;line-height:1.5;color:var(--muted)}
.audit-dl .audit-cta{flex-shrink:0;white-space:nowrap}
.audit-dl .audit-cta:disabled{opacity:.6;cursor:default}

/* ============================================================
   Hero · v17: titular catchy encima del buscador (rellena el
   vacío del hero minimalista). Eyebrow mono + headline con
   palabras en degradado; entra con riseIn antes que la barra.
   ============================================================ */
.hero-lead{text-align:center;margin-bottom:40px;max-width:min(900px,92vw);padding:0 16px}
.hero-kicker{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:clamp(10px,1.1vw,12.5px);letter-spacing:3px;text-transform:uppercase;color:var(--a1);margin-bottom:18px;animation:riseIn .7s cubic-bezier(.2,.7,.2,1) both}
.hero-headline{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.03em;line-height:1.08;font-size:clamp(28px,4.6vw,58px);text-shadow:0 2px 30px rgba(0,0,0,.5);animation:riseIn .8s cubic-bezier(.2,.7,.2,1) .1s both}
.hero-headline em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
@media(max-width:760px){
  .hero-lead{margin-bottom:30px}
  .hero-headline br{display:none}
}

/* ============================================================
   Hero · v18: subir el grupo (titular + buscador) para que el
   desplegable de sugerencias no solape con la pista "Descúbrelo".
   ============================================================ */
#inicio{padding-top:112px;padding-bottom:238px}
.hero-lead{margin-bottom:32px}
@media(max-width:760px){#inicio{padding-bottom:200px}}

/* ============================================================
   Hero · v19: altura del campo de búsqueda CONSTANTE.
   Vacío solo tenía la altura del cursor (~1.1em) y al teclear
   la caja de línea crecía (la pill saltaba 79→97px). Fijamos
   la altura del .sp-field para que no cambie de tamaño:
   solo pasa de vacío a escrito, sin moverse.
   ============================================================ */
#inicio .sp-field{height:1.4em;line-height:1.4}

/* ============================================================
   BANNER DE COOKIES (LSSI art. 22.2) — también en la home.
   El CSS vivía sólo en legal.css; sin esto el banner salía sin
   estilo y, al pulsar, .hidden no ocultaba (display:none faltaba).
   ============================================================ */
#cookie-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:9999;
  max-width:760px; margin:0 auto;
  background:rgba(13,16,25,.96); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid var(--border2); border-radius:16px;
  padding:18px 20px; box-shadow:0 20px 60px rgba(0,0,0,.5);
  display:flex; flex-wrap:wrap; align-items:center; gap:14px;
  font-family:'Inter',sans-serif;
}
#cookie-banner.hidden{display:none}
#cookie-banner p{margin:0;flex:1 1 320px;font-size:13.5px;color:var(--muted);line-height:1.6}
#cookie-banner p a{color:var(--a1)}
#cookie-banner .ck-btns{display:flex;gap:10px;flex:0 0 auto}
#cookie-banner button{
  font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;
  border-radius:99px;padding:10px 20px;border:1px solid var(--border2);
  background:transparent;color:var(--txt);transition:.2s;
}
#cookie-banner button:hover{border-color:var(--a1)}
#cookie-banner button.ck-accept{background:var(--grad);border:0;color:#06070b}
#cookie-banner button.ck-accept:hover{filter:brightness(1.08)}
@media(max-width:560px){#cookie-banner .ck-btns{flex:1 1 100%}#cookie-banner button{flex:1}}

