/* =========================================================
   RAYKODE · hoja de estilos común a todas las páginas
   Estilo «Futuro»: azul profundo + neón cálido, cristal y 3D con CSS.
   Los colores se cambian en :root (abajo). Letras servidas desde
   /fuentes (sin pedir nada a Google: mejor para la privacidad).
   ========================================================= */
@font-face{font-family:"Unbounded";src:url(../fuentes/unbounded.woff2) format("woff2");font-weight:200 900;font-style:normal;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(../fuentes/space-grotesk.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
:root{
  --fondo:#050816;
  --fondo-2:#0a1030;
  --cristal:rgba(255,255,255,.055);
  --cristal-borde:rgba(255,255,255,.13);
  --neon:#ff9d3d;
  --neon-2:#ffc75e;
  --neon-3:#ff6a3d;
  --cian:#5ad1ff;
  --texto:#eef2ff;
  --suave:#aab4d2;
  --tinta:#160a00;
  --radio:24px;
  --ancho:1240px;
  --display:"Unbounded", "Segoe UI", system-ui, sans-serif;
  --sans:"Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fondo);color:var(--texto);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(900px 600px at 85% 0%, rgba(255,140,60,.13), transparent 60%), radial-gradient(1000px 700px at 0% 30%, rgba(60,90,255,.16), transparent 60%), radial-gradient(900px 700px at 100% 75%, rgba(90,209,255,.08), transparent 60%)}
img{max-width:100%;display:block}
img[data-foto]:not([src]){display:none}
a{color:var(--neon-2)}
:focus-visible{outline:2px solid var(--neon-2);outline-offset:3px;border-radius:8px}
.contenedor{width:min(var(--ancho), 100% - 32px);margin-inline:auto}
.salto{position:absolute;left:-999px;top:8px;background:var(--neon);color:var(--tinta);padding:10px 16px;border-radius:10px;z-index:100}
.salto:focus{left:16px}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.025em;line-height:1.04;margin:0}
h2{font-size:clamp(32px, 4.6vw, 62px)}
h3{font-size:20px;letter-spacing:-.01em;line-height:1.2}
p{margin:0}
.neon-txt{background:linear-gradient(90deg,var(--neon-2),var(--neon) 40%,var(--neon-3) 70%,var(--neon-2));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:flujo 6s linear infinite}
@keyframes flujo{to{background-position:200% 0}}
.chapa{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:var(--cristal);border:1px solid var(--cristal-borde);font:600 13px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--neon-2);backdrop-filter:blur(10px)}
.chapa::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--neon);box-shadow:0 0 12px var(--neon);animation:parpadeo 2s ease-in-out infinite}
@keyframes parpadeo{50%{opacity:.35}}
.intro{max-width:760px;margin-bottom:54px}
.intro h2{margin-top:20px}
.intro p{color:var(--suave);font-size:19px;margin-top:18px}
section{position:relative;padding:110px 0}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 26px;border-radius:16px;font:700 16px/1 var(--sans);text-decoration:none;cursor:pointer;border:0;position:relative;transition:transform .25s ease, box-shadow .25s ease, background .25s}
.btn svg{width:20px;height:20px;flex:none}
.btn-neon{color:var(--tinta);background:linear-gradient(135deg,var(--neon-2),var(--neon) 50%,var(--neon-3));box-shadow:0 0 0 1px rgba(255,200,120,.5) inset, 0 12px 40px -8px rgba(255,140,60,.65)}
.btn-neon:hover{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,220,160,.7) inset, 0 18px 50px -8px rgba(255,140,60,.85)}
.btn-cristal{color:var(--texto);background:var(--cristal);border:1px solid var(--cristal-borde);backdrop-filter:blur(12px)}
.btn-cristal:hover{border-color:rgba(255,199,94,.6);background:rgba(255,199,94,.08)}

/* ---------- Cabecera ---------- */
.cabecera{position:fixed;top:14px;left:0;right:0;z-index:50}
.cab-dentro{display:flex;align-items:center;justify-content:space-between;gap:14px;height:66px;padding:0 10px 0 18px;border-radius:20px;background:rgba(8,12,34,.55);border:1px solid var(--cristal-borde);backdrop-filter:blur(18px) saturate(140%)}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--texto);min-height:44px}
.logo-simbolo{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 1px rgba(90,209,255,.35), 0 0 20px -4px rgba(255,157,61,.7)}
.logo-nombre{font:600 19px/1 var(--display);letter-spacing:.06em;text-transform:uppercase}
.nav{display:flex;gap:2px}
.nav a{color:var(--suave);text-decoration:none;font-weight:500;font-size:15px;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;border-radius:12px;white-space:nowrap}
.nav a:hover{color:var(--texto);background:rgba(255,255,255,.06)}
.cab-acciones{display:flex;gap:8px;align-items:center}
.cab-acciones .btn{min-height:46px;padding:0 18px;font-size:15px;border-radius:13px}
.menu-boton{display:none;width:48px;height:48px;border-radius:13px;border:1px solid var(--cristal-borde);background:var(--cristal);color:var(--texto);cursor:pointer}
.menu-boton span{display:block;width:18px;height:2px;background:currentColor;margin:4px auto;transition:transform .25s}
.menu-boton[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-boton[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-boton[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- Portada 3D ---------- */
.portada{min-height:100vh;padding:150px 0 70px;overflow:hidden;display:flex;align-items:center}
#particulas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.suelo{position:absolute;left:-50%;right:-50%;bottom:-10%;height:60%;z-index:0;transform:perspective(600px) rotateX(70deg);transform-origin:bottom;
  background:linear-gradient(rgba(90,209,255,.22) 1px, transparent 1px) 0 0/60px 60px, linear-gradient(90deg, rgba(90,209,255,.22) 1px, transparent 1px) 0 0/60px 60px;
  -webkit-mask:linear-gradient(0deg,#000 10%,transparent 85%);mask:linear-gradient(0deg,#000 10%,transparent 85%);animation:avanza 8s linear infinite}
@keyframes avanza{to{background-position:0 60px, 0 0}}
.portada{isolation:isolate}
.portada-foto{position:absolute;inset:0;z-index:-2;margin:0}
.portada-foto img{width:100%;height:100%;object-fit:cover;object-position:65% 50%;transform:scale(1.05);animation:acercar 18s ease-out forwards}
@keyframes acercar{to{transform:scale(1)}}
.portada::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(5,8,22,.92) 0%,rgba(5,8,22,.75) 32%,rgba(5,8,22,.2) 58%,rgba(5,8,22,0) 75%),linear-gradient(0deg,var(--fondo) 0%,rgba(5,8,22,0) 25%)}
#particulas{opacity:.5}
.portada-rejilla{position:relative;z-index:1;display:block;max-width:640px}
/* Fotos de sección */
.foto{position:relative;overflow:hidden;border-radius:var(--radio);margin:0;border:1px solid var(--cristal-borde);background:#0a1030}
.foto img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.foto:hover img{transform:scale(1.04)}
.foto figcaption{position:absolute;left:14px;right:14px;bottom:14px;padding:16px 18px;border-radius:16px;background:rgba(8,12,34,.62);border:1px solid var(--cristal-borde);backdrop-filter:blur(14px)}
.foto figcaption b{display:block;font:600 19px/1.2 var(--display)}
.foto figcaption span{display:block;color:var(--suave);font-size:14.5px;margin-top:4px}
.ambiente{position:absolute;top:14px;right:14px;z-index:3;font-size:12px;font-weight:600;color:#eef2ff;background:rgba(8,12,34,.7);border:1px solid var(--cristal-borde);padding:4px 10px;border-radius:10px}
.escaparate{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:46px}
.escaparate .foto{aspect-ratio:4/5}
.banda-foto{position:relative;border-radius:28px;overflow:hidden;margin:0 0 54px;aspect-ratio:21/8;min-height:300px;border:1px solid var(--cristal-borde)}
.banda-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.banda-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,22,.9) 0%,rgba(5,8,22,.55) 40%,rgba(5,8,22,0) 70%)}
.banda-texto{position:absolute;left:0;top:0;bottom:0;z-index:1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:40px 48px;max-width:560px}
.banda-derecha img{left:34%;width:66%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%)}
.banda-derecha{background:linear-gradient(90deg,#070b20,#0a1030)}
.banda-texto b{font:600 clamp(24px,2.6vw,36px)/1.1 var(--display)}
.banda-texto p{color:#d3daf0;font-size:17px}
.portada h1{font-size:clamp(38px, 5.6vw, 82px);line-height:1.02;margin:26px 0 24px}
.lead{font-size:20px;color:var(--suave);max-width:560px}
.botones{display:flex;flex-wrap:wrap;gap:14px;margin:36px 0 30px}
.indicadores{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0}
.indicadores li{padding:9px 14px;border-radius:12px;background:var(--cristal);border:1px solid var(--cristal-borde);font-size:14px;color:var(--texto)}
.indicadores li b{color:var(--neon-2);font-weight:700}

.escenario{position:relative;height:620px;perspective:1300px;font-size:clamp(7px,1.6vw,10px)}
.mundo{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx,8deg)) rotateY(var(--ry,-16deg));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.nucleo{position:absolute;left:50%;top:50%;width:22em;height:22em;margin:-11em 0 0 -11em;border-radius:50%;transform:translateZ(-60px);
  background:radial-gradient(circle at 38% 34%, #fff6df 0%, #ffd27a 16%, #ff9d3d 42%, #c4441d 72%, #3a0d05 100%);
  box-shadow:0 0 80px 20px rgba(255,140,60,.45), 0 0 220px 60px rgba(255,110,50,.25), inset -30px -40px 80px rgba(60,10,0,.6)}
.nucleo::before,.nucleo::after{content:"";position:absolute;inset:-26%;border-radius:50%;border:1.5px solid rgba(255,199,94,.45);transform:rotateX(74deg);animation:anillo 10s linear infinite}
.nucleo::after{inset:-44%;border-color:rgba(90,209,255,.35);border-style:dashed;animation-duration:18s;animation-direction:reverse}
@keyframes anillo{to{transform:rotateX(74deg) rotateZ(360deg)}}
.panel{position:absolute;border-radius:1.8em;background:linear-gradient(150deg, rgba(255,255,255,.14), rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(14px) saturate(150%);box-shadow:0 30px 60px -20px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.25);padding:1.6em;transform-style:preserve-3d}
.panel small{display:block;font:600 1.1em/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--neon-2);margin-bottom:1em}
.p-web{left:2%;top:6%;width:26em;transform:translateZ(80px) rotateY(10deg);animation:levita 7s ease-in-out infinite}
.p-app{right:2%;top:20%;width:15em;height:28em;transform:translateZ(140px) rotateY(-12deg);animation:levita 8s ease-in-out -2s infinite;padding:1.2em}
.p-calc{left:10%;bottom:6%;width:22em;transform:translateZ(110px) rotateX(6deg);animation:levita 9s ease-in-out -4s infinite}
@keyframes levita{50%{translate:0 -1.4em}}
.web-ui{display:grid;gap:.8em}
.web-ui .barra{height:1em;border-radius:1em;background:rgba(255,255,255,.18);width:60%}
.web-ui .heroe{height:7em;border-radius:1em;background:radial-gradient(circle at 75% 30%, rgba(255,199,94,.9), transparent 45%), linear-gradient(135deg,#1e2a6a,#0b1030)}
.web-ui .fila{display:grid;grid-template-columns:repeat(3,1fr);gap:.6em}
.web-ui .fila i{height:3.6em;border-radius:.8em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
.app-ui{height:100%;border-radius:1.2em;background:#070b22;display:flex;flex-direction:column;gap:.8em;padding:1em;overflow:hidden}
.app-ui .anillo-mini{width:7em;height:7em;margin:.6em auto;border-radius:50%;background:conic-gradient(var(--neon) 0 72%, rgba(255,255,255,.1) 0);-webkit-mask:radial-gradient(circle, transparent 54%, #000 55%);mask:radial-gradient(circle, transparent 54%, #000 55%)}
.app-ui i{height:2.4em;border-radius:.7em;background:rgba(255,255,255,.07)}
.app-ui b{height:2.6em;border-radius:.8em;background:linear-gradient(90deg,var(--neon-2),var(--neon));margin-top:auto}
.calc-ui{display:flex;align-items:flex-end;justify-content:space-between;gap:1em}
.calc-ui strong{font:600 2.6em/1 var(--display);color:var(--texto)}
.calc-ui strong span{color:var(--neon-2)}
.calc-ui .mini-barras{display:flex;align-items:flex-end;gap:.4em;height:4em}
.calc-ui .mini-barras i{width:.9em;border-radius:.3em .3em 0 0;background:linear-gradient(180deg,var(--cian),rgba(90,209,255,.2))}

/* ---------- Mensaje honesto ---------- */
.honesto{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:stretch}
.cristal{background:linear-gradient(160deg, rgba(255,255,255,.075), rgba(255,255,255,.02));border:1px solid var(--cristal-borde);border-radius:var(--radio);backdrop-filter:blur(14px)}
.manifiesto{padding:48px;position:relative;overflow:hidden}
.manifiesto::before{content:"";position:absolute;right:-120px;top:-120px;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle, rgba(255,157,61,.35), transparent 65%)}
.manifiesto p.grande{font:500 clamp(22px,2.4vw,32px)/1.35 var(--display);letter-spacing:-.015em;margin-top:24px;position:relative}
.manifiesto p.grande b{color:var(--neon-2);font-weight:600}
.empresario{padding:0;overflow:hidden;display:flex;flex-direction:column}
.empresario-visual{position:relative;flex:1;min-height:260px;background:radial-gradient(circle at 30% 30%, rgba(90,209,255,.35), transparent 50%), radial-gradient(circle at 75% 70%, rgba(255,157,61,.4), transparent 50%), linear-gradient(160deg,#0d1640,#060a1f);overflow:hidden}
.empresario-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.empresario-visual .cifra-gigante{position:absolute;z-index:3;left:28px;bottom:6px;text-shadow:none;filter:drop-shadow(0 4px 18px rgba(0,0,0,.6));font:700 150px/1 var(--display);letter-spacing:-.06em;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.1));-webkit-background-clip:text;background-clip:text;color:transparent}
.empresario-texto{padding:28px}
.empresario-texto h3{font-size:22px;margin-bottom:8px}
.empresario-texto p{color:var(--suave);font-size:16px}
.metricas{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.metrica{padding:26px 24px}
.metrica strong{display:block;font:600 clamp(34px,3.6vw,50px)/1 var(--display);letter-spacing:-.04em}
.metrica span{display:block;margin-top:10px;color:var(--suave);font-size:15px}

/* ---------- Catálogo (bento) ---------- */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.filtro{min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--cristal-borde);background:var(--cristal);color:var(--suave);font:600 15px/1 var(--sans);cursor:pointer}
.filtro:hover{color:var(--texto)}
.filtro[aria-pressed="true"]{color:var(--tinta);background:linear-gradient(135deg,var(--neon-2),var(--neon));border-color:transparent}
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.producto{position:relative;padding:28px 24px 24px;display:flex;flex-direction:column;border-radius:var(--radio);background:linear-gradient(160deg, rgba(255,255,255,.07), rgba(255,255,255,.015));border:1px solid var(--cristal-borde);transform:perspective(900px) rotateX(var(--trx,0deg)) rotateY(var(--try,0deg));transition:transform .3s ease, border-color .3s;overflow:hidden}
.producto[hidden]{display:none}
.producto::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%), rgba(255,157,61,.18), transparent 50%)}
.producto:hover{border-color:rgba(255,199,94,.45)}
.producto:hover::after{opacity:1}
.producto.ancho{grid-column:span 2}
.icono{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;margin-bottom:20px;background:linear-gradient(135deg, rgba(255,199,94,.25), rgba(255,106,61,.08));border:1px solid rgba(255,199,94,.35);box-shadow:0 0 24px -6px rgba(255,157,61,.6)}
.icono svg{width:25px;height:25px;stroke:var(--neon-2);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.producto h3{margin-bottom:10px}
.producto p{color:var(--suave);font-size:15.5px;flex:1}
.precio{margin-top:20px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;color:var(--suave)}
.precio b{font:600 18px/1 var(--display);color:var(--neon-2)}
.precio a{min-height:44px;display:inline-flex;align-items:center;color:var(--texto);font-weight:700;text-decoration:none;gap:6px}
.precio a::after{content:"↗";color:var(--neon)}
.precio a:hover{color:var(--neon-2)}
.pack{grid-column:span 4;display:grid;grid-template-columns:1.1fr .9fr;gap:30px;align-items:center;padding:40px;background:radial-gradient(700px 300px at 100% 0%, rgba(255,157,61,.25), transparent 60%), linear-gradient(135deg, rgba(40,60,160,.35), rgba(10,16,48,.6));border-color:rgba(255,199,94,.35)}
.pack h3{font-size:clamp(24px,2.6vw,34px);margin:16px 0 12px}
.pack ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pack li{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid var(--cristal-borde);font-weight:600;font-size:15px}
.pack li::before{content:"◆ ";color:var(--neon)}
.nota{font-size:14px;color:var(--suave);margin-top:20px}

/* ---------- Calculadora (consola) ---------- */
.calc{display:grid;grid-template-columns:1.25fr .75fr;gap:24px;align-items:start}
.calc-form{padding:30px;display:grid;gap:28px}
fieldset{margin:0;padding:0;border:0;min-width:0}
legend{font:600 14px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cian);margin-bottom:14px;padding:0}
.opciones{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.opcion{position:relative}
.opcion input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;width:100%;height:100%}
.opcion span{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--cristal-borde);font-weight:700;font-size:15px;line-height:1.25;transition:all .2s}
.opcion span small{font-weight:500;color:var(--suave);font-size:13px}
.opcion input:checked + span{border-color:var(--neon);background:rgba(255,157,61,.12);box-shadow:0 0 0 1px var(--neon) inset, 0 0 24px -8px var(--neon)}
.opcion input:focus-visible + span{outline:2px solid var(--neon-2);outline-offset:2px}
.opcion input:disabled + span{opacity:.5}
.rango{display:flex;align-items:center;gap:18px}
.rango output{font:600 34px/1 var(--display);color:var(--neon-2);min-width:58px;text-align:right}
input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:44px;background:transparent;cursor:pointer}
input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--neon-2),var(--neon) var(--p,20%),rgba(255,255,255,.12) var(--p,20%))}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:8px;background:#fff;box-shadow:0 0 0 5px rgba(255,157,61,.35), 0 0 20px var(--neon)}
input[type=range]::-moz-range-track{height:6px;background:rgba(255,255,255,.12)}
input[type=range]::-moz-range-progress{height:6px;background:var(--neon)}
input[type=range]::-moz-range-thumb{width:24px;height:24px;border:0;border-radius:8px;background:#fff}
.hud{position:sticky;top:100px;padding:30px;text-align:center;overflow:hidden}
.hud::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 30%, rgba(255,157,61,.2), transparent 60%);pointer-events:none}
.medidor{position:relative;width:210px;height:210px;margin:6px auto 4px}
.medidor svg{width:100%;height:100%;transform:rotate(-90deg)}
.medidor .pista{fill:none;stroke:rgba(255,255,255,.08);stroke-width:12}
.medidor .valor{fill:none;stroke:url(#grad-medidor);stroke-width:12;stroke-linecap:round;stroke-dasharray:540;stroke-dashoffset:540;transition:stroke-dashoffset .8s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 0 8px rgba(255,157,61,.7))}
.medidor .centro{position:absolute;inset:0;display:grid;place-content:center;gap:4px}
.medidor .centro small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--suave)}
.medidor .centro strong{font:600 26px/1.1 var(--display)}
.importe{font:600 20px/1.3 var(--display);margin-top:8px}
.importe small{display:block;font:500 14px/1.4 var(--sans);color:var(--suave);margin-top:4px}
.orientativo{display:inline-block;margin:14px 0;padding:7px 12px;border-radius:10px;border:1px solid rgba(90,209,255,.45);color:var(--cian);font-size:13px;font-weight:700}
.desglose{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px;text-align:left;font-size:14.5px}
.desglose li{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.04)}
.desglose li span{color:var(--suave)}
.desglose li b{white-space:nowrap}
.hud .mant{font-size:14.5px;color:var(--suave);margin-bottom:12px}
.hud .mant b{color:var(--texto)}
.hud .btn{width:100%;margin-top:10px;position:relative}
.pendiente{display:block;margin-top:14px;font-size:12.5px;color:var(--neon-2);font-weight:600}

/* ---------- Demo ---------- */
.demo{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.demo-controles{padding:30px;display:grid;gap:24px}
.campo label,.campo .titulo-campo{display:block;font-weight:700;font-size:15px;margin-bottom:10px}
.campo input[type=text],.campo input[type=tel],.campo select,.campo textarea{width:100%;min-height:52px;padding:12px 16px;border-radius:14px;border:1px solid var(--cristal-borde);background:rgba(0,0,0,.25);color:var(--texto);font:500 16px/1.4 var(--sans)}
.campo select option{background:#0a1030}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--neon);box-shadow:0 0 0 3px rgba(255,157,61,.25)}
.campo textarea{min-height:110px;resize:vertical}
.campo input::placeholder,.campo textarea::placeholder{color:#8590b0}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:12px;border:1px solid var(--cristal-borde);background:rgba(255,255,255,.04);font-weight:600;font-size:15px;transition:all .2s}
.chip input:checked + span{color:var(--tinta);background:linear-gradient(135deg,var(--neon-2),var(--neon));border-color:transparent}
.chip input:focus-visible + span{outline:2px solid var(--neon-2);outline-offset:2px}
.muestras{display:flex;gap:12px;flex-wrap:wrap}
.muestra{position:relative;width:48px;height:48px}
.muestra input{position:absolute;inset:0;opacity:0;margin:0;width:100%;height:100%;cursor:pointer}
.muestra span{display:block;width:48px;height:48px;border-radius:14px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);transition:transform .2s}
.muestra input:checked + span{box-shadow:0 0 0 3px var(--fondo), 0 0 0 5px var(--neon), 0 0 20px var(--neon);transform:scale(1.05)}
.muestra input:focus-visible + span{outline:2px solid var(--neon-2);outline-offset:5px}
.interruptor{display:inline-flex;align-items:center;gap:12px;cursor:pointer;min-height:44px;font-weight:700;font-size:15px}
.interruptor input{position:absolute;opacity:0;width:1px;height:1px}
.interruptor i{width:54px;height:30px;border-radius:10px;background:rgba(255,255,255,.12);position:relative;transition:background .2s}
.interruptor i::after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:8px;background:#fff;transition:transform .25s}
.interruptor input:checked + i{background:var(--neon)}
.interruptor input:checked + i::after{transform:translateX(24px)}
.interruptor input:focus-visible + i{outline:2px solid var(--neon-2);outline-offset:3px}
.demo-escenario{position:relative;display:grid;place-items:center;perspective:1200px;min-height:660px}
.demo-escenario::before{content:"";position:absolute;width:520px;height:520px;max-width:100%;border-radius:50%;background:radial-gradient(circle, rgba(255,157,61,.35), rgba(90,209,255,.1) 45%, transparent 68%)}
.demo-escenario::after{content:"";position:absolute;bottom:20px;width:300px;height:40px;border-radius:50%;background:radial-gradient(ellipse, rgba(255,157,61,.45), transparent 70%);filter:blur(6px)}
.telefono{position:relative;width:300px;height:610px;border-radius:48px;padding:11px;background:linear-gradient(145deg,#4a5274,#0b0e1f);box-shadow:0 0 0 1px rgba(255,255,255,.18) inset, 0 60px 100px -30px rgba(0,0,0,.9), 0 0 60px -20px rgba(255,157,61,.6);transform:rotateY(var(--try,-14deg)) rotateX(var(--trx,6deg));transition:transform .5s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.telefono::before{content:"";position:absolute;top:22px;left:50%;width:90px;height:24px;margin-left:-45px;background:#000;border-radius:20px;z-index:3}
.d-pantalla{--d-color:#1d4ed8;--d-fondo:#ffffff;--d-texto:#1c1917;--d-suave:#57534e;--d-tarjeta:#f5f5f4;--d-radio:14px;--d-fuente:system-ui,-apple-system,"Segoe UI",sans-serif;
  height:100%;border-radius:38px;overflow:hidden;background:var(--d-fondo);color:var(--d-texto);font-family:var(--d-fuente);display:flex;flex-direction:column;transition:background .35s, color .35s}
.d-pantalla.oscuro{--d-fondo:#0f1115;--d-texto:#f5f5f4;--d-suave:#c7c2bb;--d-tarjeta:#1c1f26}
.d-pantalla[data-estilo="elegante"]{--d-radio:4px;--d-fuente:Georgia,"Times New Roman",serif}
.d-pantalla[data-estilo="cercano"]{--d-radio:22px;--d-fuente:"Trebuchet MS","Segoe UI",sans-serif}
.d-top{display:flex;align-items:center;gap:10px;padding:56px 18px 14px}
.d-logo{width:34px;height:34px;border-radius:calc(var(--d-radio) * .7);background:var(--d-color);color:#fff;display:grid;place-items:center;font-weight:700;font-size:16px;flex:none}
.d-top b{font-size:16px;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.d-menu{width:22px;height:14px;border-block:2px solid var(--d-texto);position:relative}
.d-menu::after{content:"";position:absolute;left:0;right:0;top:4px;height:2px;background:var(--d-texto)}
.d-hero{margin:4px 14px 0;padding:22px 18px;border-radius:calc(var(--d-radio) + 4px);color:#fff;background:linear-gradient(150deg,var(--d-color),color-mix(in srgb,var(--d-color) 55%,#000));position:relative;overflow:hidden}
.d-hero::after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.18)}
.d-hero small{font-size:11px;letter-spacing:.12em;text-transform:uppercase;opacity:.9}
.d-hero h4{margin:8px 0 16px;font-size:23px;line-height:1.12;font-weight:700}
.d-cta{display:inline-block;padding:10px 16px;border-radius:var(--d-radio);background:#fff;color:#1c1917;font-size:13px;font-weight:700}
.d-lista{list-style:none;padding:0;margin:14px;display:grid;gap:10px}
.d-lista li{display:flex;gap:12px;align-items:center;padding:12px;border-radius:var(--d-radio);background:var(--d-tarjeta)}
.d-lista i{width:36px;height:36px;border-radius:calc(var(--d-radio) * .7);background:color-mix(in srgb,var(--d-color) 18%,transparent);flex:none;position:relative}
.d-lista i::after{content:"";position:absolute;inset:11px;border-radius:50%;background:var(--d-color)}
.d-lista b{display:block;font-size:14px}
.d-lista span{display:block;font-size:12px;color:var(--d-suave)}
.d-nav{margin-top:auto;display:flex;justify-content:space-around;padding:14px 0 22px;border-top:1px solid color-mix(in srgb,var(--d-texto) 12%,transparent)}
.d-nav i{width:22px;height:22px;border-radius:7px;background:color-mix(in srgb,var(--d-texto) 22%,transparent)}
.d-nav i:first-child{background:var(--d-color)}

/* ---------- Cómo trabajamos ---------- */
.ruta{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:p;position:relative}
.ruta::before{content:"";position:absolute;left:5%;right:5%;top:31px;height:2px;background:linear-gradient(90deg,var(--cian),var(--neon),var(--neon-3));opacity:.6}
.ruta::after{content:"";position:absolute;top:26px;left:5%;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 16px 4px var(--neon);animation:viaje 6s ease-in-out infinite}
@keyframes viaje{0%{left:5%}100%{left:calc(95% - 12px)}}
.ruta li{position:relative;padding:86px 22px 24px}
.ruta li::before{counter-increment:p;content:counter(p, decimal-leading-zero);position:absolute;top:0;left:22px;width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font:600 20px/1 var(--display);color:var(--tinta);background:linear-gradient(135deg,var(--neon-2),var(--neon));box-shadow:0 0 30px -4px rgba(255,157,61,.7)}
.ruta h3{margin-bottom:8px}
.ruta p{color:var(--suave);font-size:15.5px}

/* ---------- Garantías ---------- */
.garantias{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.garantia{padding:28px 22px;position:relative;overflow:hidden}
.garantia::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:conic-gradient(from var(--ang,0deg), transparent 0 70%, var(--neon) 85%, transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:gira-borde 6s linear infinite;opacity:.9}
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes gira-borde{to{--ang:360deg}}
.garantia .icono{margin-bottom:18px}
.garantia h3{font-size:18px;margin-bottom:8px}
.garantia p{color:var(--suave);font-size:15px}

/* ---------- Trabajos ---------- */
.trabajos{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.trabajo{overflow:hidden;display:flex;flex-direction:column}
.trabajo-visual{position:relative;aspect-ratio:16/10;display:grid;place-items:center;overflow:hidden;perspective:900px}
.trabajo-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2}
.tv-rocio{background:radial-gradient(circle at 75% 25%, rgba(255,157,61,.55), transparent 45%), linear-gradient(160deg,#2b1430,#0a0a1f)}
.tv-app{background:radial-gradient(circle at 25% 20%, rgba(90,209,255,.45), transparent 45%), linear-gradient(160deg,#0d1a4a,#060a1f)}
.mini-movil{width:150px;aspect-ratio:9/18.5;border-radius:26px;padding:6px;background:#0c0c14;box-shadow:0 30px 60px -20px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.15) inset;transform:rotateY(18deg) rotateZ(-4deg) translateX(-34px)}
.mini-movil + .mini-movil{position:absolute;transform:rotateY(-18deg) rotateZ(5deg) translateX(66px) translateY(14px)}
.mm-pant{height:100%;border-radius:21px;overflow:hidden;background:#fbf4ea;display:flex;flex-direction:column}
.mm-foto{height:42%;background:radial-gradient(circle at 70% 30%, #ffd59a, transparent 45%), linear-gradient(170deg,#c76b32,#5a2412)}
.mm-txt{padding:10px;display:grid;gap:6px}
.mm-txt i{height:8px;border-radius:4px;background:#d9c6ad}
.mm-txt i:first-child{width:70%;height:12px;background:#7a2e14}
.mm-txt b{height:22px;border-radius:12px;background:#b4462b;margin-top:4px;width:70%}
.mm-carta{display:grid;gap:5px;padding:10px}
.mm-carta div{display:flex;gap:6px}
.mm-carta div i{height:7px;border-radius:4px;background:#d9c6ad;flex:1}
.mm-carta div i:last-child{flex:none;width:18px;background:#b4462b}
.mm-qr{width:46px;height:46px;margin:6px auto;background:conic-gradient(#1c1917 0 25%, #fff 0 50%, #1c1917 0 75%, #fff 0) 0 0/12px 12px;border:4px solid #fff;outline:1px solid #d9c6ad}
.mini-pc{width:80%;aspect-ratio:16/10;border-radius:12px;padding:8px;background:#141a36;box-shadow:0 30px 60px -20px rgba(0,0,0,.9), 0 0 40px -10px rgba(90,209,255,.5);transform:rotateX(10deg) rotateY(-10deg)}
.mp-pant{height:100%;border-radius:6px;background:#0a0f2a;display:grid;grid-template-columns:18% 1fr;overflow:hidden}
.mp-lado{background:#070b22;display:flex;flex-direction:column;gap:8px;padding:10px 8px;border-right:1px solid rgba(255,255,255,.08)}
.mp-lado i{height:8px;border-radius:4px;background:rgba(255,255,255,.15)}
.mp-lado i:first-child{background:var(--neon);height:12px}
.mp-cuerpo{padding:10px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto 1fr;gap:8px}
.mp-cuerpo > i{height:38px;border-radius:6px;background:rgba(255,255,255,.06);border-top:3px solid var(--c,var(--cian))}
.mp-agenda{grid-column:1/3;border-radius:6px;background:rgba(255,255,255,.04);background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 1px,transparent 1px 16px);position:relative}
.mp-agenda::before{content:"";position:absolute;left:12%;top:20%;width:30%;height:22%;border-radius:4px;background:rgba(90,209,255,.5)}
.mp-agenda::after{content:"";position:absolute;left:52%;top:52%;width:34%;height:26%;border-radius:4px;background:rgba(255,157,61,.6)}
.mp-calc{border-radius:6px;background:rgba(255,255,255,.04);display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px}
.mp-calc i{border-radius:3px;background:rgba(255,255,255,.14)}
.mp-calc i:last-child{background:var(--neon)}
.trabajo-texto{padding:28px}
.trabajo-texto small{font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cian)}
.trabajo-texto h3{font-size:26px;margin:12px 0 10px}
.trabajo-texto p{color:var(--suave);font-size:16px}
.etiquetas{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:18px 0 0}
.etiquetas li{font-size:13px;padding:6px 12px;border-radius:10px;border:1px solid var(--cristal-borde);color:var(--texto)}

/* ---------- Club (tarjetas holográficas) ---------- */
.niveles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:40px;perspective:1000px}
.nivel{position:relative;aspect-ratio:1.586/1;border-radius:22px;padding:26px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.25);box-shadow:0 30px 60px -25px rgba(0,0,0,.8);transform:rotateX(var(--trx,0deg)) rotateY(var(--try,0deg));transition:transform .3s ease}
.nivel::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.8;background:radial-gradient(400px circle at var(--mx,30%) var(--my,20%), rgba(255,255,255,.55), transparent 45%), repeating-linear-gradient(115deg, rgba(255,255,255,0) 0 18px, rgba(255,255,255,.08) 18px 20px)}
.nivel-bronce{background:linear-gradient(135deg,#7a3f1f,#c27a46 45%,#4a220e)}
.nivel-plata{background:linear-gradient(135deg,#5d6680,#c9d0dd 45%,#3b4256)}
.nivel-oro{background:linear-gradient(135deg,#8a5a14,#ffd27a 45%,#6b420b)}
.nivel-cab{display:flex;justify-content:space-between;align-items:flex-start;position:relative;z-index:1}
.nivel-cab .chip-tarjeta{width:46px;height:34px;border-radius:7px;background:linear-gradient(135deg,#f4e3b0,#b8913f);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25)}
.nivel-cab svg{width:34px;height:34px}
.nivel-pie{position:relative;z-index:1;color:#140a02}
.nivel-plata .nivel-pie{color:#0d1220}
.nivel-pie h3{font-size:26px}
.nivel-pie p{font-weight:700;font-size:14.5px;margin-top:6px}
.nivel-bronce .nivel-pie{color:#fff6ee}
.premios-niveles{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:-24px 0 40px}
.premios-niveles ul{list-style:none;padding:16px 20px;margin:0;border-radius:16px;background:var(--cristal);border:1px solid var(--cristal-borde);display:grid;gap:6px;font-size:15px}
.premios-niveles li::before{content:"◆ ";color:var(--neon)}
.club-pasos{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tres{list-style:none;padding:0;margin:0;display:grid;gap:12px;counter-reset:t}
.tres li{display:flex;gap:16px;align-items:flex-start;padding:20px}
.tres li::before{counter-increment:t;content:counter(t);flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cian),#2a7bd6);color:#031022;font:700 18px/1 var(--display)}
.tres b{display:block;font-size:17px}
.tres span{color:var(--suave);font-size:15px}
.invitacion{padding:28px;display:grid;gap:16px;align-content:start}
.invitacion h3{font-size:22px}
.enlace-caja{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 16px;border-radius:14px;border:1px dashed rgba(255,199,94,.5);background:rgba(0,0,0,.3);min-width:0}
.enlace-caja code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--neon-2)}
.enlace-caja .btn{min-height:44px;padding:0 16px;font-size:14px}

/* ---------- Preguntas ---------- */
.faq{max-width:920px;margin-inline:auto;display:grid;gap:10px}
.faq details{border-radius:18px;background:var(--cristal);border:1px solid var(--cristal-borde);transition:border-color .2s}
.faq details[open]{border-color:rgba(255,199,94,.45);background:rgba(255,157,61,.06)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;min-height:64px;font:500 18px/1.3 var(--display);letter-spacing:-.01em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.07);color:var(--neon-2);font:400 24px/1 var(--sans);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 22px 22px;color:var(--suave);max-width:760px}

/* ---------- Contacto ---------- */
.contacto{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.contacto-datos{display:grid;gap:12px;margin-top:28px}
.dato{display:flex;gap:14px;align-items:center;padding:16px 18px;border-radius:16px;background:var(--cristal);border:1px solid var(--cristal-borde);color:inherit;text-decoration:none;min-height:64px}
.dato svg{width:22px;height:22px;stroke:var(--neon-2);fill:none;stroke-width:1.8;flex:none}
.dato small{display:block;color:var(--suave);font-size:13px}
.dato b{font-weight:700}
.formulario{padding:34px;display:grid;gap:18px}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.casilla{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;color:var(--suave);cursor:pointer}
.casilla input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--neon);flex:none}
.aviso-form{font-size:14px;color:var(--neon-2);font-weight:600}

/* ---------- Pie ---------- */
.pie{padding:56px 0 40px;border-top:1px solid var(--cristal-borde);margin-top:30px}
.pie-rejilla{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.pie-legal{display:flex;flex-wrap:wrap;gap:4px 8px}
.pie-legal a{color:var(--suave);text-decoration:none;font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:0 8px}
.pie-legal a:hover{color:var(--texto)}
.pie small{display:block;margin-top:18px;color:#98a2c0;font-size:13px}

.wa-flotante{position:fixed;right:18px;bottom:18px;z-index:60;width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:#1fa855;color:#fff;box-shadow:0 0 30px -6px rgba(31,168,85,.8)}
.wa-flotante svg{width:30px;height:30px}

dialog{border:1px solid var(--cristal-borde);border-radius:22px;background:#0a1030;color:var(--texto);padding:30px;max-width:min(520px, calc(100% - 32px))}
dialog::backdrop{background:rgba(2,4,12,.7);backdrop-filter:blur(4px)}
dialog p{color:var(--suave);margin:12px 0 22px}

.js .rv{opacity:0;transform:translateY(30px);filter:blur(6px);transition:opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1), filter .9s}
.js .rv.visto{opacity:1;transform:none;filter:none}
.js .rv.d1{transition-delay:.08s}.js .rv.d2{transition-delay:.16s}.js .rv.d3{transition-delay:.24s}.js .rv.d4{transition-delay:.32s}

/* =========================================================
   RAYKODE · piezas añadidas para la web de varias páginas
   ========================================================= */
/* Logo A (elegido por danie, 12/10/2026): «K» de cristal con luz + RAYKODE en Unbounded Bold,
   «RAY» en degradado ámbar y «KODE» blanco hielo, interletrado +0,02 em */
.logo .logo-simbolo{border-radius:0;box-shadow:none;object-fit:contain;-webkit-mask-image:radial-gradient(closest-side,#000 70%,transparent 100%);mask-image:radial-gradient(closest-side,#000 70%,transparent 100%)}
.logo-nombre{display:inline-flex;align-items:center;font-weight:700;letter-spacing:.02em}
.logo-nombre .ray{background:linear-gradient(180deg,#ffd27a,#ff9d3d 70%,#ff8a2a);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo-nombre .kode{color:#eef2ff}
.nivel-cab .logo-simbolo{border-radius:12px;box-shadow:0 0 0 1px rgba(255,255,255,.25)}
/* Conmutador de idioma */
.idioma{display:inline-flex;padding:3px;gap:2px;border-radius:14px;background:var(--cristal);border:1px solid var(--cristal-borde)}
.idioma button{min-width:44px;min-height:44px;padding:0 6px;border:0;border-radius:11px;background:transparent;color:var(--suave);font:700 14px/1 var(--sans);letter-spacing:.06em;cursor:pointer}
.idioma button:hover{color:var(--texto)}
.idioma button[aria-pressed="true"]{color:var(--tinta);background:linear-gradient(135deg,var(--neon-2),var(--neon))}
.nav .nav-cta{display:none}
@media (max-width:1180px){.nav.abierto .nav-cta{display:inline-flex;margin-top:6px;justify-content:center;color:var(--tinta);font-weight:700;background:linear-gradient(135deg,var(--neon-2),var(--neon))}}
/* Menú: página activa */
.nav a[aria-current="page"]{color:var(--texto);background:rgba(255,199,94,.1);box-shadow:inset 0 -2px 0 var(--neon)}
/* Cabecera de las páginas interiores */
.pagina-cab{position:relative;isolation:isolate;overflow:hidden;padding:170px 0 80px}
.pagina-cab .fondo{position:absolute;inset:0;z-index:-2;margin:0}
.pagina-cab .fondo img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:.55}
.pagina-cab::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,8,22,.95) 0%,rgba(5,8,22,.8) 40%,rgba(5,8,22,.35) 75%),linear-gradient(0deg,var(--fondo) 0%,rgba(5,8,22,0) 40%)}
.pagina-cab h1{font-size:clamp(36px,5vw,70px);margin:22px 0 18px;max-width:900px}
.pagina-cab .lead{max-width:680px}
.miga{display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 6px;font-size:14px;color:var(--suave)}
.miga a{color:var(--suave);min-height:44px;min-width:44px;display:inline-flex;align-items:center}
.miga li{display:inline-flex;align-items:center;min-height:44px}
.miga li+li::before{content:"/";margin-right:8px;opacity:.6}
/* Tarjetas que enlazan (inicio) */
.enlaces{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.enlace-tarjeta{display:flex;flex-direction:column;gap:10px;padding:26px 22px;text-decoration:none;color:var(--texto);border-radius:var(--radio);background:linear-gradient(160deg,rgba(255,255,255,.07),rgba(255,255,255,.015));border:1px solid var(--cristal-borde);transition:border-color .3s,transform .3s;min-height:44px}
.enlace-tarjeta:hover{border-color:rgba(255,199,94,.5);transform:translateY(-3px)}
.enlace-tarjeta .icono{margin-bottom:6px}
.enlace-tarjeta p{color:var(--suave);font-size:15px;flex:1}
.enlace-tarjeta .ir{font-weight:700;color:var(--neon-2)}
.enlace-tarjeta .ir::after{content:" →"}
/* Bloques de servicio */
.servicios-indice{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.servicios-indice a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:12px;border:1px solid var(--cristal-borde);background:var(--cristal);color:var(--texto);text-decoration:none;font-weight:600;font-size:15px}
.servicios-indice a:hover{border-color:rgba(255,199,94,.55)}
.servicio{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;padding:40px;margin-bottom:24px;scroll-margin-top:100px}
.servicio.reves > .servicio-visual{order:-1}
.servicio h2{font-size:clamp(28px,3.4vw,44px);margin:16px 0 14px}
.servicio > div > p{color:var(--suave);font-size:17px}
.servicio-datos{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}
.servicio-datos h3{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--cian);font-family:var(--sans);font-weight:700;margin-bottom:10px}
.servicio-datos ul{list-style:none;padding:0;margin:0;display:grid;gap:7px;font-size:15.5px}
.servicio-datos li::before{content:"◆ ";color:var(--neon)}
.servicio-datos p{color:var(--suave);font-size:15.5px}
.servicio-pie{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px}
.servicio-pie .cifra{font:600 22px/1.1 var(--display);color:var(--neon-2)}
.servicio-pie .cifra small{display:block;font:500 13px/1.4 var(--sans);color:var(--suave)}
.servicio-visual{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:4/3;border:1px solid var(--cristal-borde);background:radial-gradient(circle at 70% 30%,rgba(255,157,61,.4),transparent 50%),radial-gradient(circle at 20% 80%,rgba(90,209,255,.3),transparent 50%),linear-gradient(160deg,#0d1640,#060a1f);display:grid;place-items:center}
.servicio-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.servicio-visual .icono-grande{width:120px;height:120px;border-radius:34px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,199,94,.28),rgba(255,106,61,.1));border:1px solid rgba(255,199,94,.4);box-shadow:0 0 60px -10px rgba(255,157,61,.8)}
.servicio-visual .icono-grande svg{width:58px;height:58px;stroke:var(--neon-2);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* Precios confirmados */
.tarifas{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:60px}
.tarifa{padding:34px}
.tarifa strong{display:block;font:600 clamp(40px,5vw,64px)/1 var(--display);letter-spacing:-.04em;margin:14px 0 8px}
.tarifa p{color:var(--suave)}
.tarifa ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:7px;font-size:15.5px}
.tarifa li::before{content:"◆ ";color:var(--neon)}
/* Llamada final */
.cta-final{padding:56px 48px;text-align:center;background:radial-gradient(700px 300px at 50% 0%,rgba(255,157,61,.28),transparent 65%),linear-gradient(135deg,rgba(40,60,160,.35),rgba(10,16,48,.6));border-color:rgba(255,199,94,.35)}
.cta-final h2{max-width:820px;margin:18px auto 14px}
.cta-final p{color:var(--suave);max-width:640px;margin:0 auto}
.cta-final .botones{justify-content:center;margin-bottom:0}
/* Datos y avisos */
.mini-pend{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:8px;font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--neon-2);border:1px solid rgba(255,199,94,.45);vertical-align:middle}
.aviso-pruebas{margin-top:14px;font-size:13px;color:var(--neon-2);font-weight:600}
/* Textos legales */
.legal{max-width:860px;margin-inline:auto}
.legal h2{font-size:clamp(22px,2.4vw,30px);margin:44px 0 14px}
.legal h3{font-size:18px;margin:26px 0 10px}
.legal p,.legal li{color:#c9d1ea;font-size:16.5px}
.legal p+p{margin-top:12px}
.legal ul{padding-left:22px;display:grid;gap:6px;margin:12px 0}
.legal table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}
.legal th,.legal td{border:1px solid var(--cristal-borde);padding:10px 12px;text-align:left;vertical-align:top}
.legal th{background:rgba(255,255,255,.05);color:var(--texto)}
.legal .ficha{padding:24px 26px;margin-top:10px}
.legal .ficha dl{display:grid;grid-template-columns:200px 1fr;gap:8px 16px;margin:0}
.legal .ficha dt{color:var(--suave);font-weight:600}
.legal .ficha dd{margin:0}
.legal .actualizado{color:var(--suave);font-size:14px;margin-top:40px}
/* Banner de cookies */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:80;max-width:720px;margin-inline:auto;padding:20px 22px;border-radius:20px;background:rgba(10,16,48,.97);border:1px solid rgba(255,199,94,.4);box-shadow:0 30px 80px -20px rgba(0,0,0,.9);display:grid;gap:14px}
.cookies[hidden]{display:none}
.cookies p{color:#d3daf0;font-size:15px}
.cookies .acciones{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cookies .btn{min-height:46px;padding:0 20px;font-size:15px}
.cookies a{min-height:44px;display:inline-flex;align-items:center}
body.con-cookies .wa-flotante,body[data-pagina="proyecto"] .wa-flotante{display:none}
.leyenda-simple{font-size:15px;letter-spacing:0;text-transform:none;color:var(--texto);margin-bottom:10px}
.ir-enlace{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--neon-2);text-decoration:none}
.enlace-trabajo{text-decoration:none;color:inherit;transition:border-color .3s}
.enlace-trabajo:hover{border-color:rgba(255,199,94,.5)}
.portada-rejilla .chapa{margin-bottom:0}
.etiqueta-cian{display:block;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cian)}
.pagina-cab-corta{padding:110px 0 0}
.pagina-cab-corta::after{display:none}
.pagina-cab-corta + section{padding-top:16px !important}
.titulo-contacto{font-size:clamp(36px,5vw,64px);margin:20px 0 0}
.entradilla{color:var(--suave);font-size:19px;margin-top:18px}
.info-rgpd{font-size:13px;color:var(--suave);line-height:1.5}
.info-rgpd a{color:var(--neon-2)}
/* «Lo barato sale caro»: foto a sangre */
.verdad{position:relative;isolation:isolate;overflow:hidden;min-height:660px;display:flex;align-items:center;padding:80px 0;background:#060a1d}
.verdad-foto{position:absolute;top:0;bottom:0;right:0;left:20%;margin:0;z-index:-1}
.verdad-foto img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%);mask-image:linear-gradient(90deg,transparent 0,#000 22%)}
.verdad-foto .ambiente{top:auto;bottom:18px;right:18px}
.verdad::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--fondo) 0%,rgba(5,8,22,0) 14%,rgba(5,8,22,0) 86%,var(--fondo) 100%)}
.verdad-texto{max-width:450px;display:grid;gap:18px;justify-items:start}
.verdad-texto h2{font-size:clamp(38px,5vw,72px)}
.verdad-texto p{color:#d3daf0;font-size:19px}
@media (max-width:900px){
  .verdad{display:block;min-height:0;padding:0 0 60px}
  .verdad::after{display:none}
  .verdad-foto{position:relative;left:auto;inset:auto;z-index:0;aspect-ratio:4/3}
  .verdad-foto img{object-position:52% 50%;-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}
  .verdad-foto .ambiente{top:14px;bottom:auto}
  .verdad-texto{margin-top:-20px;position:relative}
}
/* Formulario guiado «Cuéntanos tu proyecto» */
.proyecto-intro{max-width:860px;margin:0 auto 34px}
#proyecto{padding-top:20px}
.asistente{max-width:860px;margin-inline:auto;padding:36px;min-height:420px}
.asis-progreso{height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden}
.asis-progreso i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--cian),var(--neon-2),var(--neon));transition:width .45s cubic-bezier(.2,.7,.2,1)}
.asis-paso{font-size:14px;color:var(--suave);margin:12px 0 22px;letter-spacing:.02em}
.asis-paso .req{color:var(--neon-2);font-weight:700}
.asis-q{font-size:clamp(26px,3.2vw,40px);outline:none;margin-top:6px}
.asis-ayuda{color:var(--suave);margin:12px 0 0;font-size:17px}
.asis-opciones{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.asis-opciones .opcion span{min-height:76px;font-size:17px;padding:14px 18px}
.asis-opciones .opcion span small{font-size:14px}
.asis-opciones.muchas .opcion span{min-height:60px}
.asis-campos{display:grid;gap:16px;margin-top:22px}
.asis-campos.dos,.asis-campos .dos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.asis-error{color:#ffb7a1;font-weight:600;min-height:1.5em;margin-top:14px}
.asis-nav{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.asis-nav .btn-neon{margin-left:auto}
.asis-nav .saltar{padding:0 12px;color:var(--suave);text-decoration:underline;text-underline-offset:3px}
.ficha-proyecto{display:grid;grid-template-columns:190px 1fr;gap:0;margin:24px 0 0;border:1px solid var(--cristal-borde);border-radius:16px;overflow:hidden}
.ficha-proyecto dt,.ficha-proyecto dd{margin:0;padding:12px 16px;border-bottom:1px solid var(--cristal-borde)}
.ficha-proyecto dt{color:var(--suave);font-weight:600;font-size:14.5px;background:rgba(255,255,255,.03)}
.ficha-proyecto dd{font-weight:600}
.ficha-proyecto dt:nth-last-of-type(1),.ficha-proyecto dd:last-child{border-bottom:0}
.asis-precio{margin-top:22px;padding:24px;border-radius:18px;text-align:center;background:radial-gradient(500px 200px at 50% 0%,rgba(255,157,61,.22),transparent 70%),rgba(255,255,255,.04);border:1px solid rgba(255,199,94,.4)}
.asis-precio small{display:block;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--cian);font-weight:700}
.asis-precio strong{display:block;font:600 clamp(26px,3.6vw,40px)/1.15 var(--display);margin:10px 0 8px}
.asis-precio strong span{font-size:.5em;color:var(--suave);margin-left:6px}
.asis-precio p{color:var(--suave);font-size:15px}
.asis-final{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.asis-final .btn{flex:1 1 220px}
.ficha-texto{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.garantias-mini{list-style:none;padding:0;margin:26px auto 0;max-width:860px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.garantias-mini li{padding:9px 14px;border-radius:12px;background:var(--cristal);border:1px solid var(--cristal-borde);font-size:14px}
.garantias-mini li::before{content:"✓ ";color:var(--neon)}
@media (max-width:600px){
  .asistente{padding:22px 16px;min-height:0}
  .asis-opciones,.asis-campos.dos,.asis-campos .dos{grid-template-columns:1fr}
  .asis-opciones .opcion span{min-height:64px}
  .asis-nav .btn-neon{flex:1 1 100%;order:-1;margin-left:0}
  .asis-nav .btn-cristal{flex:1}
  .ficha-proyecto{grid-template-columns:1fr}
  .ficha-proyecto dt{border-bottom:0;padding-bottom:2px}
}
/* Pie de varias columnas */
.pie-columnas{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:30px;margin-bottom:26px}
.pie-columnas h2{font:700 13px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--cian);margin:6px 0 10px}
.pie-columnas ul{list-style:none;padding:0;margin:0;display:grid}
.pie-columnas li > a,.pie-columnas li > span,.enlace-boton{color:var(--suave);text-decoration:none;font-size:15px;min-height:44px;min-width:44px;display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}
.pie-columnas li a:hover,.enlace-boton:hover{color:var(--texto)}
.enlace-boton{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:15px;text-align:left}
.pie-eslogan{font:500 17px/1.35 var(--sans);letter-spacing:.01em;margin-top:14px;max-width:320px;color:#aab4d2}
.pie-lema{color:var(--suave);font-size:15px;margin-top:10px;max-width:320px}
.pie small{margin-top:8px}
.pie .pie-pruebas{color:var(--neon-2)}
/* 404 */
.error-cab{min-height:80vh;display:flex;align-items:center}
.error-cab .codigo{font:700 clamp(90px,16vw,200px)/1 var(--display);letter-spacing:-.06em;background:linear-gradient(180deg,var(--neon-2),var(--neon-3));-webkit-background-clip:text;background-clip:text;color:transparent}
.error-cab .codigo{display:block;margin-bottom:6px}
.pagina-cab-legal{padding:150px 0 40px}
.pagina-cab-legal::after{display:none}

@media (max-width:1180px){
  .enlaces{grid-template-columns:repeat(2,1fr)}
  .nav{display:none}
  .menu-boton{display:block}
  .nav.abierto{display:flex;position:absolute;top:76px;left:0;right:0;flex-direction:column;padding:12px;border-radius:20px;background:rgba(8,12,34,.96);border:1px solid var(--cristal-borde)}
  .nav.abierto a{font-size:17px;padding:12px 16px;color:var(--texto)}
  .bento{grid-template-columns:repeat(2,1fr)}
  .pack{grid-column:span 2}
  .garantias{grid-template-columns:repeat(3,1fr)}
  .ruta{grid-template-columns:repeat(3,1fr);row-gap:20px}
  .ruta::before,.ruta::after{display:none}
}
@media (max-width:900px){
  section{padding:80px 0}
  .portada{min-height:auto;padding:120px 0 40px}
  .portada-rejilla,.honesto,.calc,.demo,.trabajos,.club-pasos,.contacto,.pack{grid-template-columns:1fr}
  .portada{display:block;padding:0 0 50px}
  .portada::after{display:none}
  .portada-foto{position:relative;inset:auto;z-index:0;height:min(62vh,560px);min-height:340px}
  .portada-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,22,.55) 0%,rgba(5,8,22,0) 28%,rgba(5,8,22,0) 55%,var(--fondo) 100%)}
  .portada-foto img{object-position:72% 50%}
  .portada-rejilla{margin-top:-70px}
  .escaparate{grid-template-columns:1fr 1fr}
  .escaparate .foto:first-child{grid-column:1/-1;aspect-ratio:16/10}
  .banda-foto{aspect-ratio:auto;min-height:0;display:flex;flex-direction:column}
  .banda-foto img,.banda-derecha img{position:relative;left:0;width:100%;aspect-ratio:16/10;height:auto;-webkit-mask-image:none;mask-image:none}
  .banda-foto::after{display:none}
  .banda-texto{position:relative;max-width:none;padding:26px 22px 28px;background:rgba(10,16,48,.8)}
  .metricas{grid-template-columns:1fr 1fr}
  .hud{position:relative;top:0}
  .niveles,.premios-niveles{grid-template-columns:1fr}
  .premios-niveles{margin:0 0 30px}
  .demo-escenario{min-height:0;padding:30px 0}
}
@media (max-width:600px){
  body{font-size:16px}
  .cab-acciones .btn-neon{display:none}
  .cabecera{top:8px}
  .logo-nombre{font-size:17px}
  .lead{font-size:18px}
  .botones .btn{width:100%}
  .escaparate{grid-template-columns:1fr}
  .escaparate .foto,.escaparate .foto:first-child{aspect-ratio:4/3}
  .bento,.garantias,.ruta{grid-template-columns:1fr}
  .producto.ancho,.pack{grid-column:auto}
  .pack{padding:26px 20px}
  .pack ul{grid-template-columns:1fr}
  .opciones{grid-template-columns:1fr 1fr}
  .calc-form,.demo-controles,.formulario,.manifiesto,.invitacion{padding:22px 18px}
  .dos{grid-template-columns:1fr}
  .telefono{transform:scale(.9);margin:-28px 0}
  .metrica{padding:20px 16px}
  .empresario-visual .cifra-gigante{font-size:110px}
  .faq summary{font-size:16px;padding:16px 18px}
  .faq details p{padding:0 18px 18px}
  .trabajo-texto{padding:22px 20px}
  .mini-movil{width:120px}
  .trabajo-visual{aspect-ratio:4/3}
  .nivel{aspect-ratio:auto;min-height:190px}
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none !important;transition:none !important}
  .js .rv{opacity:1;transform:none;filter:none}
  #particulas{display:none}
}
/* Móvil: piezas de la web de varias páginas */
@media (max-width:900px){
  .servicio{grid-template-columns:1fr;padding:26px 22px;gap:22px}
  .servicio.reves > .servicio-visual{order:0}
  .tarifas{grid-template-columns:1fr}
  .pie-columnas{grid-template-columns:1fr 1fr}
  .pagina-cab{padding:130px 0 50px}
  .pagina-cab::after{background:linear-gradient(180deg,rgba(5,8,22,.75) 0%,rgba(5,8,22,.85) 60%,var(--fondo) 100%)}
}
@media (max-width:600px){
  .enlaces{grid-template-columns:1fr}
  .servicio-datos{grid-template-columns:1fr}
  .cab-dentro{padding:0 8px 0 12px;gap:8px}
  .logo{gap:8px}
  .logo .logo-simbolo{width:36px;height:36px}
  .idioma button{min-width:44px;padding:0 4px;font-size:13px}
  .cta-final{padding:36px 20px}
  .tarifa{padding:24px 20px}
  .legal .ficha dl{grid-template-columns:1fr;gap:2px}
  .legal .ficha dd{margin-bottom:10px}
  .legal table{display:block;overflow-x:auto}
  .cookies{left:10px;right:10px;bottom:10px;padding:16px}
  .cookies .btn{flex:1}
}
