/* GENIANOVA LABS · Identidad visual 2026
   Acentos derivados del logo original: azul eléctrico, cian y violeta.
   Se carga después de styles.css para mantener intacto el layout responsive.
*/
:root{
  --bg:#071226;
  --surface:#0d1b36;
  --surface2:#132345;
  --ink:#f0f5ff;
  --muted:#a6b7d4;
  --border:rgba(119,139,231,.20);
  --blue:#3486ff;
  --cyan:#51bfff;
  --violet:#8653ff;
  --violet-soft:#b19aff;
  --brand-gradient:linear-gradient(110deg,#86bbff 0%,#58bfff 42%,#8c78ff 74%,#b39aff 100%);
  --brand-button:linear-gradient(108deg,#246fe8 0%,#455be7 53%,#7138d8 100%);
  --brand-glow:0 15px 38px rgba(41,94,235,.18),0 8px 35px rgba(105,56,218,.15);
}
body{background:var(--bg);color:var(--ink)}
::selection{background:#5d66e9;color:#fff}
:focus-visible{outline-color:#92a0ff}
.site-glow{
  background:radial-gradient(ellipse 48% 55% at 80% 33%,rgba(82,65,190,.17),transparent 80%),
             radial-gradient(ellipse 38% 35% at 16% 10%,rgba(28,110,224,.17),transparent 85%);
}
.header{background:rgba(6,16,38,.91);border-bottom-color:rgba(89,111,218,.18)}
.header:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(72,131,255,.26),rgba(131,80,255,.34),transparent);pointer-events:none}
.brand.brand-logo{
  background:linear-gradient(145deg,#fff,#f0f4ff);
  border:1px solid rgba(110,124,238,.52);
  box-shadow:0 5px 22px rgba(17,44,126,.18),0 0 0 1px rgba(107,75,255,.06),0 0 24px rgba(112,70,245,.09);
}
.nav a:hover,.nav a.active{color:#a8a0ff}
.nav .nav-cta{
  border:1px solid rgba(100,119,247,.54);
  color:#e9eeff;
  background:linear-gradient(115deg,rgba(49,79,167,.23),rgba(103,57,186,.22));
  box-shadow:inset 0 1px rgba(255,255,255,.035);
}
.nav .nav-cta:hover{background:linear-gradient(100deg,rgba(39,95,222,.34),rgba(116,62,221,.33));border-color:rgba(141,112,255,.7);color:#fff}
.menu-button{background:#132342;border-color:rgba(123,121,237,.4)}
.menu-button span{background:#c4d0ff}
.hero{background:radial-gradient(ellipse 60% 65% at 86% 56%,rgba(44,63,148,.09),transparent 80%)}
.grid-bg{
  background-image:linear-gradient(rgba(104,114,225,.06) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(104,114,225,.06) 1px,transparent 1px);
}
.eyebrow{
  color:#9bcaff;
  border:1px solid rgba(90,123,246,.35);
  background:linear-gradient(110deg,rgba(43,84,177,.20),rgba(106,60,188,.13));
  box-shadow:0 0 25px rgba(68,89,243,.07);
}
.kicker{color:#a2acff}
.pulse-dot{background:#6da7ff;box-shadow:0 0 0 5px rgba(57,115,255,.14),0 0 17px rgba(120,75,255,.6)}
h1 em,.contact h2 em,.gradient-text{
  background:var(--brand-gradient);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.hero-copy>p{color:#b6c4e2}
.btn-primary{
  border:1px solid rgba(144,155,255,.20);
  color:#fff;
  background:var(--brand-button);
  box-shadow:var(--brand-glow);
}
.btn-primary:hover{background:linear-gradient(108deg,#3285f6,#575fed,#8246ee);box-shadow:0 19px 43px rgba(44,96,246,.26),0 11px 36px rgba(108,54,224,.23)}
.btn-ghost{color:#e4ebff;border:1px solid rgba(105,132,237,.36);background:rgba(22,32,70,.45)}
.btn-ghost:hover{border-color:rgba(155,122,255,.66);background:rgba(78,59,162,.18)}
.proof-icons span{background:#15244b;border-color:#071226;color:#a2d5ff}
.proof-icons span:nth-child(2){color:#bba5ff}
.proof-icons span:nth-child(3){color:#cfc2ff}
.hero-proof p{color:#97a8cc}
.hero-footer a{color:#b5a2ff;border-color:rgba(110,120,247,.3);background:rgba(48,45,112,.13)}
.visual-halo{background:radial-gradient(circle at 50% 40%,rgba(71,86,244,.18),rgba(110,62,212,.07) 48%,transparent 74%)}
.glass-console{
  border:1px solid rgba(105,117,237,.45);
  background:linear-gradient(138deg,rgba(18,35,77,.96),rgba(8,16,42,.98));
  box-shadow:0 38px 100px rgba(0,0,0,.36),0 0 60px rgba(95,63,226,.10);
}
.glass-console:before{background:rgba(83,67,228,.22)}
.console-top{border-bottom-color:rgba(114,126,239,.20);color:#bac9f8}
.console-dots i{background:#344873}
.console-dots i:first-child{background:#597bff}
.live-pill{color:#c3b6ff;border-color:rgba(130,102,249,.32);background:rgba(98,66,230,.11)}
.live-pill b{background:#a78cff}
.network-visual svg{filter:drop-shadow(0 0 16px rgba(84,106,246,.22))}
.console-stats{border-top-color:rgba(99,114,234,.21);color:#b7c5ef}
.stat-square{background:#367efb}
.stat-square.teal{background:#56baff}
.stat-square.purple{background:#965dff}
.float-label{
  background:rgba(16,29,68,.94);
  border:1px solid rgba(117,129,243,.37);
  box-shadow:0 15px 42px rgba(5,9,35,.32),0 0 22px rgba(108,70,235,.08);
}
.float-icon{background:rgba(94,77,228,.20);color:#b2a0ff}
.status-ring{border-color:#8261fa;border-left-color:#284582}
.logos-strip{border-top-color:rgba(119,130,235,.15);border-bottom-color:rgba(119,130,235,.15);background:rgba(53,53,139,.025)}
.tech-list span{color:#91a3cf}
.services{background:linear-gradient(180deg,#0a1630,#0b1933)}
.section-heading>p{color:#a5b5d5}
.service-card{
  background:linear-gradient(160deg,#121f41,#0e1933);
  border-color:rgba(120,123,224,.20);
}
.service-card:hover{
  border-color:rgba(139,107,252,.68);
  background:linear-gradient(150deg,#17264f,#111d3d);
  box-shadow:0 16px 40px rgba(0,0,0,.22),0 0 25px rgba(101,80,231,.12);
}
.service-card:before{background:linear-gradient(90deg,transparent,rgba(100,134,255,.65),rgba(154,94,255,.6),transparent)}
.service-symbol{color:#a5a2ff;border-color:rgba(126,107,238,.32);background:linear-gradient(140deg,rgba(48,112,231,.19),rgba(126,66,203,.21))}
.service-num{color:#778ab7}
.service-card p{color:#aab8d4}
.service-tags span,.chip{border-color:rgba(122,132,239,.24);background:rgba(74,71,184,.11);color:#b4b9eb}
.products{background:linear-gradient(180deg,#0c1832,#0b1730)}
.product-card{background:#101d3c;border-color:rgba(114,117,226,.23)}
.product-card:hover{border-color:rgba(137,105,252,.63);box-shadow:0 20px 45px rgba(0,0,0,.2),0 0 30px rgba(89,70,218,.1)}
.product-kind{color:#b0a4ff}
.product-info>p{color:#b4bfd8}
.product-info h3 .arrow{color:#a5a0f0}
.text-link{color:#a0b8ff}
.text-link:hover{color:#c1a8ff}
.portfolio{background:linear-gradient(145deg,#0b1731,#111b3b)}
.case-study{
  border-color:rgba(119,122,231,.29);
  background:linear-gradient(130deg,#141f43,#101b39);
}
.case-visual{background:radial-gradient(circle at 25% 40%,rgba(84,83,231,.16),transparent 65%),linear-gradient(140deg,#18284b,#111e3c)}
.case-tags span{border-color:rgba(134,119,243,.25);color:#c0b9f0;background:rgba(92,67,187,.09)}
.methodology{background:#0b1833}
.step{border-top-color:#4b59a8}
.step:before{background:#8776ff;box-shadow:0 0 20px rgba(115,92,248,.52)}
.step>span{color:#b2a0ff}
.about{background:linear-gradient(140deg,#101f43,#0b1630)}
.brand-frame{
  border-color:rgba(116,124,234,.37);
  background:linear-gradient(145deg,#172550,#0f1d3f);
  box-shadow:0 25px 80px rgba(0,0,0,.27),0 0 33px rgba(99,69,231,.1);
}
.brand-frame-top span:last-child{color:#a78bff}
.about-copy .lead{color:#d8ddfa}
.founder{border-top-color:rgba(124,117,239,.24)}
.founder-avatar{border-color:rgba(127,110,246,.4);background:linear-gradient(145deg,#1e4ba0,#5735aa);color:#e1dbff}
.founder span{color:#b5a2ff}
.legal-facts{border-color:rgba(125,124,233,.24);background:rgba(68,65,160,.10)}
.legal-facts strong{color:#e9eaff}
.contact{background:#09142d}
.contact-panel{
  border-color:rgba(123,113,246,.38);
  background:linear-gradient(105deg,#142452,#101c3e 55%,#231948);
  box-shadow:0 20px 80px rgba(11,17,48,.24),0 0 40px rgba(96,62,229,.06);
}
.contact-glow{background:rgba(107,69,221,.18)}
.contact-decoration .ring{border-color:rgba(124,94,245,.33)}
.contact-decoration>span{color:#9b7cff}
.footer{background:#070f24;border-top-color:rgba(118,109,228,.22)}
.footer-bottom{border-top-color:rgba(119,109,232,.19)}
.footer-links a:hover{color:#b6a4ff}
@media(max-width:760px){
  .nav{background:#0d1935;border-bottom-color:rgba(120,108,237,.38)}
  .nav .nav-cta{border-color:rgba(114,108,235,.46)}
  .hero{background:radial-gradient(ellipse 85% 35% at 60% 74%,rgba(99,71,214,.09),transparent 80%)}
  .eyebrow{letter-spacing:.8px}
}
@media(prefers-reduced-motion:reduce){
  .btn,.service-card,.product-card{transition:none}
}

/* GENIANOVA / Portada 2.0: nueva composición visual en lugar de la consola heredada */
.hero{min-height:745px;padding-top:80px;padding-bottom:22px;background:radial-gradient(ellipse 54% 70% at 84% 47%,rgba(73,58,177,.14),transparent 77%),linear-gradient(155deg,#081831 0%,#091329 58%,#100d2d 100%)}
.hero-grid{grid-template-columns:1.03fr .97fr;gap:34px}
.hero-copy{padding:12px 0 18px}
.hero h1{font-size:clamp(47px,5.05vw,71px);line-height:1.085;letter-spacing:-3.4px;margin:28px 0 24px;max-width:680px}
.hero h1 em{background:linear-gradient(99deg,#64b8ff 0%,#5595ff 32%,#8a67ff 73%,#bd8eff 100%);-webkit-background-clip:text;background-clip:text}
.hero-copy>p{max-width:540px;color:#b9c8e6;font-size:16px}
.hero-actions{margin-top:32px}
.hero-proof{margin-top:44px}
.hero-visual.hero-visual-nova{height:505px;min-width:0;isolation:isolate}
.nova-stage{width:min(100%,565px);height:455px;border-radius:27px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;isolation:isolate;background:radial-gradient(ellipse at 49% 44%,rgba(62,63,162,.19),transparent 57%),linear-gradient(148deg,rgba(21,38,87,.96),rgba(10,17,45,.98) 64%,rgba(28,20,69,.96));border:1px solid rgba(100,111,244,.36);box-shadow:0 32px 95px rgba(2,9,28,.42),inset 0 1px 0 rgba(185,179,255,.14),0 0 60px rgba(93,63,223,.13)}
.nova-stage:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 30%,rgba(7,15,42,.27) 71%),linear-gradient(rgba(137,124,247,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(137,124,247,.045) 1px,transparent 1px);background-size:auto,36px 36px,36px 36px;pointer-events:none}
.nova-stage:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 70px rgba(11,23,63,.5);pointer-events:none}
.nova-stage-glow{width:300px;height:300px;position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);background:conic-gradient(from 20deg,rgba(71,119,255,.28),rgba(132,70,248,.32),rgba(51,168,255,.27),rgba(71,119,255,.28));filter:blur(52px);border-radius:50%}
.nova-stage-top{position:absolute;z-index:3;top:23px;left:26px;right:26px;display:flex;align-items:center;gap:10px;color:#bdcafa;font-size:10px;letter-spacing:1.65px;font-weight:760;white-space:nowrap}
.nova-stage-top>span:last-child{margin-left:auto;font-size:9px;letter-spacing:.5px;color:#b5a3ff;border:1px solid rgba(144,111,255,.29);border-radius:99px;padding:6px 10px;background:rgba(84,63,184,.18)}
.nova-stage-dot{width:8px;height:8px;flex:0 0 8px;background:#64a7ff;border-radius:50%;box-shadow:0 0 0 5px rgba(80,114,241,.14)}
.nova-orbit{position:absolute;left:50%;top:46%;border:1px solid rgba(112,114,247,.31);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}
.nova-orbit-a{width:290px;height:290px;border-color:rgba(107,120,251,.38);box-shadow:0 0 0 1px rgba(96,94,245,.05),inset 0 0 26px rgba(91,85,226,.07)}
.nova-orbit-b{width:377px;height:377px;border-style:dashed;border-color:rgba(97,145,255,.28);animation:nova-spin 76s linear infinite}
.nova-orbit-c{width:465px;height:465px;border-color:rgba(125,90,236,.15)}
.nova-orbit-b:before,.nova-orbit-a:after{content:"";position:absolute;top:13%;left:13%;width:8px;height:8px;border-radius:50%;background:#71b6ff;box-shadow:0 0 18px rgba(92,142,255,.85)}
.nova-orbit-a:after{left:auto;right:8%;top:80%;background:#b08cff;box-shadow:0 0 18px rgba(158,104,255,.85)}
@keyframes nova-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.nova-core{position:absolute;z-index:2;left:50%;top:46%;transform:translate(-50%,-50%);width:222px;height:222px;display:grid;place-items:center;border-radius:35px;background:radial-gradient(circle at 35% 26%,rgba(105,123,255,.27),rgba(22,31,90,.78) 65%,rgba(14,24,65,.88));border:1px solid rgba(142,130,255,.62);box-shadow:inset 0 1px 18px rgba(146,143,255,.12),0 18px 65px rgba(5,10,38,.36),0 0 55px rgba(100,68,244,.18)}
.nova-core:before{content:"";position:absolute;inset:9px;border:1px solid rgba(120,126,235,.26);border-radius:28px}
.nova-core-halo{position:absolute;width:88%;height:88%;border-radius:32px;background:linear-gradient(145deg,rgba(63,132,255,.15),rgba(141,56,251,.13));filter:blur(13px)}
.nova-core img{position:relative;z-index:2;display:block;width:175px;height:175px;object-fit:contain;filter:drop-shadow(0 6px 20px rgba(104,106,255,.5))}
.nova-node{position:absolute;z-index:2;width:12px;height:12px;border:2px solid #9b8bff;border-radius:50%;background:#172759;box-shadow:0 0 18px rgba(128,100,247,.4)}
.nova-node-1{left:13%;top:31%;border-color:#5db2ff}.nova-node-2{right:12%;top:30%;border-color:#ab87ff}.nova-node-3{left:21%;bottom:25%;border-color:#78a4ff}.nova-node-4{right:17%;bottom:23%;border-color:#9975ff}
.nova-stage-bottom{position:absolute;z-index:3;left:26px;right:26px;bottom:24px;display:grid;grid-template-columns:1fr 1px 1fr;align-items:center;gap:20px;padding-top:20px;border-top:1px solid rgba(119,117,244,.21)}
.nova-stage-bottom div{display:flex;flex-direction:column;gap:3px;min-width:0}
.nova-stage-bottom small{color:#899bc7;font-size:8px;letter-spacing:1.8px;font-weight:750}
.nova-stage-bottom strong{color:#dce4ff;font-size:12px;font-weight:690;letter-spacing:-.1px}
.nova-separator{height:30px;background:rgba(117,117,229,.25)}
.nova-floating{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;padding:13px 17px;border-radius:13px;border:1px solid rgba(123,123,248,.39);background:rgba(20,30,76,.95);box-shadow:0 13px 38px rgba(6,10,39,.36),0 0 24px rgba(100,60,235,.13);backdrop-filter:blur(14px)}
.nova-floating strong{display:block;font-size:12px;color:#f1f3ff}
.nova-floating small{display:block;color:#a7b4df;font-size:10px}
.nova-floating-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(140deg,rgba(50,139,255,.24),rgba(135,71,242,.22));color:#b3a1ff;font-size:18px}
.nova-floating-one{right:-12px;top:14px}
.nova-floating-two{left:-8px;bottom:7px}
@media(max-width:1050px){
  .hero{min-height:685px;padding-top:62px}
  .hero-grid{gap:16px}
  .hero h1{font-size:clamp(43px,5.2vw,60px)}
  .hero-visual.hero-visual-nova{height:440px}
  .nova-stage{height:402px}
  .nova-orbit-a{width:255px;height:255px}
  .nova-orbit-b{width:338px;height:338px}
  .nova-orbit-c{width:400px;height:400px}
  .nova-core{width:192px;height:192px}
  .nova-core img{width:148px;height:148px}
  .nova-stage-bottom{bottom:20px}
  .nova-floating-one{right:0}
}
@media(max-width:760px){
  .hero{min-height:0;padding:62px 0 20px}
  .hero-grid{grid-template-columns:1fr;gap:5px}
  .hero h1{font-size:clamp(45px,10.5vw,62px);line-height:1.08;letter-spacing:-2.5px}
  .hero-copy{padding-bottom:10px}
  .hero-visual.hero-visual-nova{height:420px;width:100%;max-width:580px;margin:25px auto 0}
  .nova-stage{width:95%;height:388px}
  .nova-floating-one{top:0;right:0}
  .nova-floating-two{bottom:0;left:0}
  .nova-stage-top{font-size:9px}
  .nova-stage-bottom{gap:12px}
}
@media(max-width:480px){
  .hero h1{font-size:clamp(41px,10.5vw,50px);letter-spacing:-2.1px}
  .hero-copy>p{font-size:14px}
  .hero-visual.hero-visual-nova{height:345px;margin-top:18px}
  .nova-stage{width:100%;height:310px;border-radius:19px}
  .nova-stage-top{top:17px;left:16px;right:16px;font-size:7px;letter-spacing:1px;gap:7px}
  .nova-stage-top>span:last-child{font-size:7px;padding:5px 7px}
  .nova-orbit-a{width:196px;height:196px}
  .nova-orbit-b{width:263px;height:263px}
  .nova-orbit-c{width:320px;height:320px}
  .nova-core{width:152px;height:152px;border-radius:25px}
  .nova-core:before{border-radius:20px}
  .nova-core img{width:116px;height:116px}
  .nova-stage-bottom{left:16px;right:16px;bottom:13px;gap:12px;padding-top:12px}
  .nova-stage-bottom strong{font-size:10px}
  .nova-stage-bottom small{font-size:7px;letter-spacing:.8px}
  .nova-floating{padding:9px 10px;gap:7px}
  .nova-floating strong{font-size:10px}
  .nova-floating small{font-size:8px}
  .nova-floating-icon{width:26px;height:26px;font-size:14px}
  .nova-floating-one{top:-5px;right:-1px}
  .nova-floating-two{left:-1px;bottom:-1px}
}
@media(prefers-reduced-motion:reduce){.nova-orbit-b{animation:none}}

/* Evita tapar la franja de especialidades al presentar las tarjetas flotantes. */
@media(min-width:761px){.nova-floating-two{bottom:-18px}}
@media(max-width:480px){.nova-floating-two{bottom:-12px}}

/* Logotipo transparente: las letras claras van directamente sobre el fondo del sitio. */
.brand.brand-logo, .header .brand.brand-logo, .footer .brand.brand-logo{
  background:transparent;
  border:none;
  padding:0;
  box-shadow:none;
  border-radius:0;
}
.brand.brand-logo img,.header .brand.brand-logo img,.footer .brand.brand-logo img{
  width:255px;
  max-width:100%;
  height:auto;
  filter:none;
}
.brand.brand-logo:hover{opacity:.94}
.brand-frame img{
  background:transparent;
  padding:10px 0;
  border:0;
  aspect-ratio:1943/494;
  object-fit:contain;
}
@media(max-width:1050px){.header .brand.brand-logo img{width:228px}}
@media(max-width:760px){.header .brand.brand-logo img{width:208px}.footer .brand.brand-logo img{width:228px}}
@media(max-width:390px){.header .brand.brand-logo img{width:185px}}
