/* landing now · portada v3 — apertura de cine + muro 3D (HTML/CSS/JS sin dependencias) */
:root{
  --noche:#0B1626;
  --negro:#050b15;
  --azul:#245F9B;
  --turquesa:#28AFA4;
  --turquesa-claro:#5fe3d6;
  --texto:#eaf2fb;
  --texto-suave:#a9bbd1;
  --grad:linear-gradient(100deg,#245F9B 0%,#28AFA4 100%);
  --grad-luz:linear-gradient(100deg,#4d9fe8 0%,#33cfc1 60%,#6ff0e2 100%); /* degradado de marca aclarado para texto grande sobre oscuro */
  --fuente:"Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --pad:clamp(20px,5vw,110px);
}
*{box-sizing:border-box}
html{background:var(--negro);-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--fuente);color:var(--texto);background:var(--negro);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}

/* ---------- Menú ---------- */
.nav{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding:18px var(--pad);
  background:linear-gradient(180deg,rgba(5,11,21,.75),rgba(5,11,21,0));
  animation:entra-arriba .9s .2s cubic-bezier(.2,.8,.2,1) backwards}
.nav__logo{display:flex;align-items:center;white-space:nowrap}
.nav__logo img{display:block;height:32px;width:auto;transform:translateY(2px)} /* logo en línea ~7,15:1 → 32px ≈ 229px */
.nav__hamburguesa{display:none}
.nav__links{display:flex;gap:clamp(16px,2.4vw,44px);list-style:none;margin:0;padding:0;font-size:15px;font-weight:500}
.nav__links a{color:var(--texto-suave);transition:color .25s;position:relative}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transition:transform .3s}
.nav__links a:hover{color:#fff}.nav__links a:hover::after{transform:scaleX(1)}

/* ---------- Pista con escena fijada ---------- */
main{position:relative;z-index:1}
.cine{position:relative;height:460vh;height:460svh}
.cine__escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:var(--negro);
  perspective:1500px;perspective-origin:50% 45%;isolation:isolate}
.ancla-trabajos{position:absolute;left:0;top:55%;width:1px;height:1px} /* «Ver trabajos» → muro completo */

/* ---------- Fondo de cine ---------- */
.fondo,.fondo__dolly,.fondo__real,.estudio,.fondo__polvo,.fondo__velo{position:absolute;inset:0}
.fondo{z-index:1;will-change:opacity}
.fondo__dolly{animation:dolly 3.2s cubic-bezier(.16,.7,.2,1) backwards}
.fondo__real{background-size:cover;background-position:50% 50%;will-change:transform;opacity:0;transition:opacity 1s}
.fondo__real video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.con-foto .fondo__real{opacity:1}
.con-foto .estudio{display:none}
.estudio{transform-origin:70% 45%;perspective:1400px;will-change:transform}
.fondo__polvo{width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}
/* viñeta + lectura del texto a la izquierda + grano */
.fondo__velo{pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,9,18,.88) 0%,rgba(4,9,18,.7) 22%,rgba(4,9,18,.32) 36%,transparent 50%),
    radial-gradient(130% 100% at 70% 40%,transparent 50%,rgba(3,7,14,.7) 100%),
    linear-gradient(0deg,rgba(5,11,21,.7) 0%,transparent 18%)}
.fondo__velo::after{content:"";position:absolute;inset:-50%;opacity:.13;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grano .9s steps(5) infinite}

/* Estudio dibujado (respaldo mientras no llega la foto de Pixel) */
.estudio{background:
  radial-gradient(60% 55% at 70% 40%,#0d2a45 0%,#081a2e 38%,#050c17 75%),var(--negro)}
.estudio__pared{position:absolute;inset:0 0 28% 0;
  background:
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 1px,transparent 1px 9.5vw),
    linear-gradient(180deg,transparent 60%,rgba(40,175,164,.05));
  -webkit-mask-image:radial-gradient(70% 80% at 70% 45%,#000,transparent 75%);mask-image:radial-gradient(70% 80% at 70% 45%,#000,transparent 75%)}
.estudio__halo{position:absolute;left:38%;top:-6%;width:66%;height:100%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(40,175,164,.55),rgba(36,95,155,.35) 45%,rgba(36,95,155,.08) 70%,transparent);
  animation:respira 6s ease-in-out infinite}
.estudio__rayos{position:absolute;left:46%;top:14%;width:48%;height:84%;opacity:.55;mix-blend-mode:screen;
  background:conic-gradient(from 160deg at 50% 18%,transparent 0deg,rgba(95,227,214,.10) 14deg,transparent 26deg,rgba(77,159,232,.09) 38deg,transparent 52deg);
  -webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 95%);mask-image:linear-gradient(180deg,#000 30%,transparent 95%)}
.estudio__mesa{position:absolute;left:-10%;right:-10%;top:72%;bottom:0;
  background:linear-gradient(180deg,#0e2036 0%,#08111e 30%,#04080f 100%);
  box-shadow:0 -1px 0 rgba(95,227,214,.22),0 -30px 80px -20px rgba(40,175,164,.35)}
.estudio__reflejo{position:absolute;left:53%;top:0;width:44%;height:70%;
  background:radial-gradient(50% 60% at 50% 0%,rgba(80,210,220,.45),rgba(36,95,155,.18) 45%,transparent 75%);filter:blur(2px)}
/* monitor */
.monitor{position:absolute;left:48%;top:19%;width:45vw;transform:rotateY(-13deg) rotateX(2deg);transform-origin:50% 50%;will-change:transform}
.monitor__marco{position:relative;padding:.45vw;border-radius:1.1vw;background:linear-gradient(160deg,#1a2a3f,#070d17 60%);
  box-shadow:0 0 0 1px rgba(255,255,255,.07),0 0 60px 6px rgba(40,175,164,.35),0 0 180px 40px rgba(36,95,155,.35),0 40px 80px -10px rgba(0,0,0,.9)}
.monitor__pantalla{position:relative;aspect-ratio:16/9;border-radius:.7vw;overflow:hidden;background:#06121f;animation:enciende 1.6s .25s ease-out backwards}
.monitor__rejilla{position:absolute;inset:-4% -6%;display:grid;grid-template-columns:repeat(3,1fr);gap:3%;align-content:center;
  transform:rotate(-6deg) scale(1.06);animation:rejilla 30s linear infinite alternate}
.monitor__rejilla img{width:100%;height:auto;border-radius:4px;box-shadow:0 0 0 1px rgba(255,255,255,.1)}
.monitor__tinte{position:absolute;inset:0;mix-blend-mode:color;background:linear-gradient(120deg,#245F9B,#28AFA4);opacity:.62}
.monitor__brillo{position:absolute;inset:0;
  background:radial-gradient(80% 70% at 50% 45%,rgba(140,255,240,.22),transparent 70%),linear-gradient(160deg,rgba(255,255,255,.12),transparent 35%);
  mix-blend-mode:screen}
.monitor__cuello{position:absolute;left:46%;width:8%;top:100%;height:10vh;background:linear-gradient(90deg,#0b1626,#1b2c43 50%,#0b1626)}
.monitor__base{position:absolute;left:36%;width:28%;top:calc(100% + 10vh);height:1.4vh;border-radius:50%;background:#0f1d30;box-shadow:0 8px 20px rgba(0,0,0,.8)}
.tablet{position:absolute;left:93%;top:41%;width:11vw;transform:rotateY(-24deg) rotateZ(4deg);padding:.35vw;border-radius:1vw;background:#0b1525;
  box-shadow:0 0 0 1px rgba(255,255,255,.06),0 0 60px rgba(40,175,164,.3)}
.tablet__pantalla{position:relative;aspect-ratio:3/4.2;overflow:hidden;border-radius:.7vw}
.tablet__pantalla img{width:100%}
.teclado{position:absolute;left:55%;top:78%;width:28vw;height:2.4vh;border-radius:6px;transform:perspective(500px) rotateX(55deg);
  background:linear-gradient(180deg,#14243a,#0a1422);box-shadow:0 0 30px rgba(40,175,164,.25),inset 0 1px 0 rgba(95,227,214,.3)}
.lampara{position:absolute;left:30%;top:0;width:1px;height:16vh;background:linear-gradient(#1a2a3d,#2a3d57)}
.lampara__luz{position:absolute;left:-1.6vw;top:100%;width:3.2vw;height:1.1vw;border-radius:0 0 3vw 3vw;background:#13233a;
  box-shadow:0 1.2vw 3vw 0 rgba(95,227,214,.18)}

/* ---------- Muro 3D ---------- */
.muro{position:absolute;inset:0;z-index:2;opacity:0;perspective:1500px;perspective-origin:50% 45%;pointer-events:none;will-change:opacity}
.muro__plano{position:absolute;left:50%;top:50%;width:190vw;display:flex;gap:1.6vw;align-items:flex-start;justify-content:center;
  transform:translate(-50%,-50%) rotateX(24deg) rotateZ(-12deg);transform-origin:50% 50%;will-change:transform}
.muro__col{flex:0 0 22vw;height:200vh;overflow:visible}
.muro__col--movil{flex-basis:12vw}
.muro__tira{display:flex;flex-direction:column;gap:1.6vw;will-change:transform}
.teja{margin:0;border-radius:12px;overflow:hidden;background:#0c1828;
  box-shadow:0 0 0 1px rgba(255,255,255,.09),0 0 40px -6px rgba(40,175,164,.35),0 30px 60px -20px rgba(0,0,0,.8)}
.teja img{width:100%;height:auto}
.muro__col:first-child,.muro__col:last-child{filter:blur(2px) brightness(.7)}
.muro__velo{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(75% 70% at 50% 50%,transparent 40%,rgba(5,11,21,.55) 70%,rgba(5,11,21,.97) 100%),
    linear-gradient(180deg,rgba(5,11,21,.75),transparent 20%,transparent 62%,rgba(5,11,21,.92) 92%)}
.muro__rotulo{position:absolute;z-index:4;left:0;right:0;bottom:7vh;opacity:0;pointer-events:none;text-align:center}
.muro__rotulo .etiqueta{margin:0 auto 18px}
.muro__nombres{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent);mask-image:linear-gradient(90deg,transparent,#000 15%,#000 85%,transparent)}
.muro__nombres-pista{display:flex;width:max-content;will-change:transform}
.muro__nombres-pista span{white-space:pre;font-weight:800;font-size:clamp(28px,4vw,110px);letter-spacing:-.03em;line-height:1.1;
  color:transparent;-webkit-text-stroke:1.2px rgba(130,235,225,.75);text-shadow:0 0 40px rgba(40,175,164,.25)}
/* destello al cruzar la pantalla */
.luz{position:absolute;inset:0;z-index:3;opacity:0;pointer-events:none;mix-blend-mode:screen;
  background:radial-gradient(60% 60% at 50% 50%,rgba(190,255,248,.9),rgba(40,175,164,.55) 45%,rgba(36,95,155,.25) 75%,transparent)}

/* ---------- Texto de portada ---------- */
.portada{position:absolute;z-index:5;left:var(--pad);top:50%;transform:translateY(-46%);width:calc(37vw - var(--pad) - 1.5vw);max-width:35vw;will-change:transform,opacity}
.etiqueta{display:inline-flex;align-items:center;gap:10px;margin:0 0 28px;padding:9px 16px;border-radius:99px;font-size:14px;font-weight:500;letter-spacing:.02em;color:#cfe7f0;
  background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.punto{width:8px;height:8px;border-radius:50%;background:var(--turquesa);box-shadow:0 0 10px var(--turquesa);animation:late 2s ease-in-out infinite}
.portada__etiqueta{animation:sube .9s .35s cubic-bezier(.2,.8,.2,1) backwards}
.portada__titulo{margin:0;font-size:clamp(44px,4.3vw,160px);line-height:.95;font-weight:800;letter-spacing:-.045em;white-space:nowrap;
  text-shadow:0 10px 60px rgba(0,0,0,.55)}
.portada__titulo .pal{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .02em .12em;margin:0 -.02em -.12em}
.portada__titulo .pal>span{display:inline-block;animation:palabra 1.1s cubic-bezier(.2,.85,.2,1) backwards;animation-delay:calc(.45s + var(--i)*.075s)}
.degradado .pal>span,.degradado:not(.partido){background:var(--grad-luz);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}
/* el degradado recorre «atraen clientes» entero aunque vaya partido por palabras */
.degradado .pal:first-child>span{background-size:210% 100%;background-position:0 0}
.degradado .pal:last-child>span{background-size:190% 100%;background-position:100% 0}
.portada__sub{margin:28px 0 0;max-width:30em;font-size:clamp(16px,1.15vw,34px);line-height:1.5;color:var(--texto-suave);
  animation:sube 1s 1.15s cubic-bezier(.2,.8,.2,1) backwards}
.portada__botones{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px;animation:sube 1s 1.3s cubic-bezier(.2,.8,.2,1) backwards}
.btn{display:inline-flex;align-items:center;border:0;cursor:pointer;border-radius:14px;padding:17px 30px;font:600 clamp(16px,1.1vw,24px)/1 var(--fuente);transition:transform .25s,box-shadow .25s,background .25s}
.btn--brillo{color:#04131d;background:linear-gradient(100deg,#3cc9bd,#28AFA4 55%,#2a8fb0);
  box-shadow:0 0 0 1px rgba(95,227,214,.6),0 10px 40px -6px rgba(40,175,164,.8),inset 0 1px 0 rgba(255,255,255,.45);
  position:relative;overflow:hidden;animation:brilla-btn 3s ease-in-out infinite}
.btn--brillo::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:barrido 3.6s 2s ease-in-out infinite}
.btn--brillo:hover{transform:translateY(-2px)}
.btn--sec{color:var(--texto);background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn--sec:hover{background:rgba(255,255,255,.12)}
.btn:focus-visible,.nav a:focus-visible{outline:2px solid var(--turquesa-claro);outline-offset:3px}
.desliza{position:absolute;z-index:5;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;
  font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--texto-suave);animation:sube 1s 1.8s backwards}
.desliza i{width:1px;height:46px;background:linear-gradient(var(--turquesa-claro),transparent);transform-origin:top;animation:linea 2s ease-in-out infinite}

/* ---------- Servicios v4: misma escena fijada; la pantalla del estudio se transforma ---------- */
.cine{--l1:360svh;--svc:912svh;--pry:calc(880svh * var(--pr-n,.74));height:calc(360vh + 912vh + 651vh + 100vh);height:calc(var(--l1) + var(--svc) + var(--pry) + 100svh)}
.marca-l1{position:absolute;left:0;top:360vh;top:var(--l1);width:1px;height:1px;pointer-events:none}
.marca-l2{position:absolute;left:0;top:calc(var(--l1) + var(--svc));width:1px;height:1px;pointer-events:none}
.ancla-proyectos{position:absolute;left:0;top:calc(var(--l1) + var(--svc) + var(--pry) * .2 / var(--pr-n,.74));width:1px;height:1px}
.ancla-trabajos{top:calc(var(--l1) * .7)}
.ancla-servicios{position:absolute;left:0;top:calc(var(--l1) + var(--svc) * .1125);width:1px;height:1px}
.sv{position:absolute;inset:0;z-index:4;pointer-events:none;visibility:hidden;--u:6px}
.sv-fondo{position:absolute;inset:0;opacity:0;background:radial-gradient(120% 90% at 50% 40%,#0a1d33 0%,#071425 45%,var(--negro) 85%)}
.sv-foto{position:absolute;inset:0;opacity:0;background:center/cover no-repeat}
.sv-foto{will-change:opacity,transform;transform-origin:50% 50%}
.sv--fotos .sv-item--der{right:auto;left:var(--pad)}
.sv--fotos .sv-fondo::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,8,16,.55),rgba(3,8,16,.15) 42%,transparent 60%)}
.sv-foto video{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
/* v18 · escena 3 provisional (esfera de img/agentes/ reducida sobre la pantalla del estudio; bordes planos #0B1626) */
.sv-foto--prov{background:#0B1626!important;overflow:hidden}
.sv-foto__prov{position:absolute;inset:0;background:center/cover no-repeat;will-change:transform}
.sv-foto__prov video{position:absolute;inset:0}
.sv-halo{position:absolute;left:50%;top:50%;width:110vw;height:110vh;margin:-55vh 0 0 -55vw;pointer-events:none;
  background:radial-gradient(closest-side,rgba(40,175,164,.30),rgba(36,95,155,.20) 45%,rgba(36,95,155,.05) 70%,transparent 100%);will-change:transform}
.sv-suelo{position:absolute;left:0;right:0;bottom:0;height:30%;overflow:hidden;
  -webkit-mask-image:linear-gradient(0deg,#000 40%,transparent);mask-image:linear-gradient(0deg,#000 40%,transparent)}
.sv-suelo__rejilla{position:absolute;left:-50%;right:-50%;top:0;height:220%;transform-origin:50% 0;transform:perspective(600px) rotateX(72deg);opacity:.5;
  background-image:linear-gradient(rgba(95,227,214,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(95,227,214,.12) 1px,transparent 1px);background-size:70px 70px}
.sv-suelo__reflejo{position:absolute;left:50%;bottom:-8%;width:56vw;height:60%;margin-left:-28vw;border-radius:50%;
  background:radial-gradient(closest-side,rgba(40,175,164,.35),rgba(36,95,155,.15) 55%,transparent);filter:blur(10px);will-change:transform}
/* frase gigante decorativa: el puente continuo entre escenas */
.sv-frase{position:absolute;left:0;top:50%;margin:0;white-space:nowrap;font-weight:800;font-size:clamp(120px,16vw,620px);line-height:1;letter-spacing:-.045em;
  color:rgba(255,255,255,.018);-webkit-text-stroke:1px rgba(110,210,230,.17);opacity:0;will-change:transform,opacity;user-select:none}
.sv-frase span{display:inline-block}
/* cámara + lienzo (la pantalla) */
.sv-camara{position:absolute;inset:0;perspective:2000px;perspective-origin:50% 50%}
.sv-lienzo{--lw:46vw;position:absolute;left:50%;top:50%;width:var(--lw);height:calc(var(--lw) * .625);margin:calc(var(--lw) * -.3125) 0 0 calc(var(--lw) / -2);
  perspective:1500px;will-change:transform}
.sv-placa{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:50% 50%;opacity:0;border-radius:2.2%/3.4%;will-change:transform,opacity;
  background:linear-gradient(150deg,rgba(95,180,240,.22),rgba(40,175,164,.12) 55%,rgba(9,22,40,.55));
  box-shadow:inset 0 0 0 1px rgba(150,235,230,.22),0 0 40px -6px rgba(40,175,164,.35),0 30px 80px -30px rgba(0,0,0,.9)}
.sv-placa--pantalla{background:radial-gradient(90% 90% at 30% 20%,rgba(95,227,214,.22),transparent 60%),linear-gradient(160deg,#10345c,#0a1f38 55%,#071528);
  box-shadow:inset 0 0 0 1px rgba(150,235,230,.32),0 0 90px rgba(40,175,164,.35),0 0 220px rgba(36,95,155,.35),0 50px 120px -40px rgba(0,0,0,.95)}
.sv-pz{position:absolute;transform-origin:50% 50%;opacity:0;visibility:hidden;overflow:hidden;border-radius:calc(var(--u) * 1.1);will-change:transform,opacity;
  color:#eaf2fb;font-size:calc(var(--u) * 1.3);line-height:1.2}
.sv-pz img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.sv-mini{box-shadow:0 0 0 1px rgba(255,255,255,.12)}
.sv-pz i{display:block;font-style:normal}
/* E1 · landing */
.sv-marco{border-radius:calc(var(--u) * 1.6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);background:radial-gradient(70% 60% at 75% 30%,rgba(40,175,164,.18),transparent 70%)}
.sv-marco__brillo{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.07) 45%,transparent 60%);animation:sv-brillo 6s ease-in-out infinite}
.l-nav{display:flex;align-items:center;gap:calc(var(--u) * 2.2);padding:0 calc(var(--u) * 2);background:rgba(8,18,32,.78);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.l-logo{display:block;width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);border-radius:50%;background:var(--grad-luz);margin-right:auto;box-shadow:0 0 14px rgba(40,175,164,.7)}
.l-nav i{width:calc(var(--u) * 5);height:calc(var(--u) * .6);border-radius:9px;background:rgba(255,255,255,.28)}
.l-pill{padding:calc(var(--u) * .6) calc(var(--u) * 1.6);border-radius:99px;background:var(--grad-luz);color:#04131d;font-weight:700;font-size:calc(var(--u) * 1.15)}
.l-hero{padding:calc(var(--u) * 2.6) calc(var(--u) * 3);background:linear-gradient(160deg,rgba(14,36,62,.85),rgba(8,18,32,.8));box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.l-kicker{display:block;width:calc(var(--u) * 11);height:calc(var(--u) * .7);border-radius:9px;background:var(--turquesa);margin-bottom:calc(var(--u) * 1.6)}
.l-tit{display:block;font-weight:800;font-size:calc(var(--u) * 4.1);line-height:.95;letter-spacing:-.045em}
.l-tit em{font-style:normal;background:var(--grad-luz);-webkit-background-clip:text;background-clip:text;color:transparent}
.l-lin{display:block;width:80%;height:calc(var(--u) * .55);margin-top:calc(var(--u) * 1.4);border-radius:9px;background:rgba(255,255,255,.18)}
.l-lin--c{width:58%;margin-top:calc(var(--u) * .9)}
.l-btns{display:flex;gap:calc(var(--u) * 1.2);margin-top:calc(var(--u) * 2.2)}
.l-cta{padding:calc(var(--u) * 1) calc(var(--u) * 2.2);border-radius:calc(var(--u) * .9);background:var(--grad-luz);color:#04131d;font-weight:700;font-size:calc(var(--u) * 1.35);
  box-shadow:0 0 24px rgba(40,175,164,.6);animation:sv-pulsa 3.2s ease-in-out infinite}
.l-sec{width:calc(var(--u) * 10);border-radius:calc(var(--u) * .9);box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.l-cursor{position:absolute;left:62%;top:58%;width:calc(var(--u) * 2.2);height:calc(var(--u) * 2.8);background:#fff;filter:drop-shadow(0 3px 6px rgba(0,0,0,.6));
  clip-path:polygon(0 0,100% 62%,58% 66%,78% 100%,62% 100%,44% 70%,0 92%);animation:sv-cursor 3.2s cubic-bezier(.6,0,.3,1) infinite}
.l-toast{position:absolute;right:calc(var(--u) * 2);top:calc(var(--u) * 2);display:flex;align-items:center;gap:calc(var(--u) * .8);padding:calc(var(--u) * .8) calc(var(--u) * 1.4);
  border-radius:99px;background:rgba(10,30,48,.95);box-shadow:inset 0 0 0 1px rgba(95,227,214,.45),0 10px 30px rgba(0,0,0,.5);font-weight:600;font-size:calc(var(--u) * 1.2);animation:sv-toast 3.2s ease-out infinite}
.l-toast b{width:calc(var(--u) * 1);height:calc(var(--u) * 1);border-radius:50%;background:var(--turquesa-claro);box-shadow:0 0 10px var(--turquesa-claro)}
.l-img{background:radial-gradient(80% 80% at 50% 45%,#1b4f84,#0b2440 60%,#071528)}
.l-orbe{position:absolute;left:50%;top:50%;width:46%;aspect-ratio:1;margin:-23% 0 0 -23%;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#d6fffb,#5fe3d6 18%,#28AFA4 38%,#245F9B 70%,#0b1f38);box-shadow:0 0 50px rgba(40,175,164,.7);animation:sv-flota 5s ease-in-out infinite}
.l-anillo{position:absolute;left:50%;top:50%;width:84%;aspect-ratio:1;margin:-42% 0 0 -42%;border-radius:50%;box-shadow:inset 0 0 0 calc(var(--u) * .25) rgba(95,227,214,.6);
  transform:rotateX(72deg);animation:sv-gira 9s linear infinite}
.l-anillo--2{width:110%;margin:-55% 0 0 -55%;box-shadow:inset 0 0 0 1px rgba(150,200,255,.4);animation-duration:14s;animation-direction:reverse}
.l-bloque{padding:calc(var(--u) * 1.8);background:rgba(10,24,42,.82);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);display:flex;flex-direction:column;justify-content:flex-end;gap:calc(var(--u) * .8)}
.l-bloque i{height:calc(var(--u) * .55);border-radius:9px;background:rgba(255,255,255,.22);width:80%}
.l-bloque i.c{width:55%;background:rgba(255,255,255,.12)}
.l-estrellas{color:var(--turquesa-claro);font-size:calc(var(--u) * 1.8);letter-spacing:.08em;margin-bottom:auto}
.l-play{width:calc(var(--u) * 4);height:calc(var(--u) * 4);border-radius:50%;background:var(--grad-luz);margin-bottom:auto;position:relative;box-shadow:0 0 20px rgba(40,175,164,.6)}
.l-play::after{content:"";position:absolute;left:40%;top:30%;border-left:calc(var(--u) * 1.3) solid #04131d;border-top:calc(var(--u) * .8) solid transparent;border-bottom:calc(var(--u) * .8) solid transparent}
.l-bloque svg{width:100%;height:46%;margin-bottom:auto;overflow:visible}
.l-bloque path{fill:none;stroke:var(--turquesa-claro);stroke-width:2.2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px rgba(95,227,214,.8))}
/* E2 · planos */
.b-plano{border-radius:calc(var(--u) * .6);background-color:#0b2a4c;
  background-image:linear-gradient(rgba(150,225,255,.16) 1px,transparent 1px),linear-gradient(90deg,rgba(150,225,255,.16) 1px,transparent 1px),
    linear-gradient(rgba(150,225,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(150,225,255,.06) 1px,transparent 1px);
  background-size:calc(var(--u) * 6) calc(var(--u) * 6),calc(var(--u) * 6) calc(var(--u) * 6),calc(var(--u) * 1.5) calc(var(--u) * 1.5),calc(var(--u) * 1.5) calc(var(--u) * 1.5);
  box-shadow:inset 0 0 0 1px rgba(160,230,255,.45),0 0 50px -10px rgba(77,160,240,.6)}
.b-sello{position:absolute;right:calc(var(--u) * 1.2);bottom:calc(var(--u) * 1);padding:calc(var(--u) * .4) calc(var(--u) * .9);font-size:calc(var(--u) * 1.05);letter-spacing:.18em;text-transform:uppercase;
  color:rgba(190,240,255,.85);box-shadow:inset 0 0 0 1px rgba(190,240,255,.5);font-weight:600;white-space:nowrap}
.b-plano i{border:1px solid rgba(190,240,255,.6);border-radius:calc(var(--u) * .3)}
.b-rej{position:absolute;inset:12% 9% 20%;display:grid;grid-template-columns:repeat(3,1fr);gap:calc(var(--u) * 1.4)}
.b-prod{position:absolute;inset:12% 9% 20%;display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:1fr 1fr 1fr;gap:calc(var(--u) * 1.2)}
.b-prod .f{grid-row:1/4;background:linear-gradient(45deg,transparent 49.5%,rgba(190,240,255,.4) 50%,transparent 50.5%),linear-gradient(-45deg,transparent 49.5%,rgba(190,240,255,.4) 50%,transparent 50.5%)}
.b-plano i.k{background:rgba(40,175,164,.35);border-color:var(--turquesa-claro)}
.b-filas{position:absolute;inset:14% 10% 22%;display:flex;flex-direction:column;gap:calc(var(--u) * 1.1)}
.b-filas i{flex:1}
.b-filas--form i.g{flex:2.2}
.b-blog{position:absolute;inset:13% 10% 22%;display:flex;flex-direction:column;gap:calc(var(--u) * 1.2)}
.b-blog i{flex:1;background:linear-gradient(90deg,rgba(190,240,255,.25) 0 28%,transparent 28%)}
.b-web{position:absolute;inset:12% 8% 16% 10%;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:.45fr 2fr 1.2fr;gap:calc(var(--u) * 1.2)}
.b-web__nav{grid-column:1/7}.b-web__hero{grid-column:1/4;background:repeating-linear-gradient(180deg,transparent 0 18%,rgba(190,240,255,.25) 18% 24%)}.b-web__img{grid-column:4/7;
  background:linear-gradient(45deg,transparent 49.6%,rgba(190,240,255,.4) 50%,transparent 50.4%),linear-gradient(-45deg,transparent 49.6%,rgba(190,240,255,.4) 50%,transparent 50.4%)}
.b-web__a{grid-column:1/3}.b-web__b{grid-column:3/5}.b-web__c{grid-column:5/7}
.b-web--movil{inset:12% 12% 18%;grid-template-columns:1fr;grid-template-rows:.3fr 1.6fr 1fr 1fr}
.b-web--movil i{grid-column:1/2!important}
.b-cota{position:absolute;color:var(--turquesa-claro);font-size:calc(var(--u) * 1.05);font-weight:600;letter-spacing:.1em}
.b-cota em{font-style:normal;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:0 calc(var(--u) * .6);background:#0b2a4c}
.b-cota--h{left:10%;right:8%;top:6%;height:0;border-top:1px solid var(--turquesa-claro)}
.b-cota--h::before,.b-cota--h::after{content:"";position:absolute;top:-5px;width:1px;height:9px;background:var(--turquesa-claro)}.b-cota--h::before{left:0}.b-cota--h::after{right:0}
.b-cota--v{left:4%;top:12%;bottom:16%;width:0;border-left:1px solid var(--turquesa-claro)}
.b-cota--v em{transform:translate(-50%,-50%) rotate(-90deg)}
.b-plano--movil .b-cota--h{left:12%;right:12%}
.b-escaner{position:absolute;left:0;right:0;top:0;height:18%;background:linear-gradient(180deg,transparent,rgba(95,227,214,.18) 85%,rgba(95,227,214,.8) 100%);
  animation:sv-escanea 3.6s cubic-bezier(.6,0,.4,1) infinite;mix-blend-mode:screen}
/* E3 · panel */
.d-marco{background:linear-gradient(160deg,rgba(12,30,52,.7),rgba(6,14,26,.75))}
.d-lado{display:flex;flex-direction:column;gap:calc(var(--u) * 1.4);padding:calc(var(--u) * 2) calc(var(--u) * 1.4);background:rgba(7,17,31,.92);box-shadow:inset 0 0 0 1px rgba(255,255,255,.07)}
.d-lado .l-logo{margin:0 0 calc(var(--u) * 1.2)}
.d-lado i{height:calc(var(--u) * 1.8);border-radius:calc(var(--u) * .5);background:rgba(255,255,255,.07)}
.d-lado i.on{background:linear-gradient(90deg,rgba(40,175,164,.55),rgba(36,95,155,.3));box-shadow:inset 2px 0 0 var(--turquesa-claro)}
.d-kpi,.d-graf,.d-lista{padding:calc(var(--u) * 1.5) calc(var(--u) * 1.8);background:rgba(10,24,42,.92);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.d-kpi{display:flex;flex-direction:column;justify-content:center}
.d-et{display:block;color:#9fb2c8;font-size:calc(var(--u) * 1.12);font-weight:500}
.d-kpi strong{display:block;font-size:calc(var(--u) * 3.1);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin:calc(var(--u) * .3) 0;font-variant-numeric:tabular-nums}
.d-sube{color:var(--turquesa-claro);font-size:calc(var(--u) * 1.05);font-weight:600}
.d-barra{display:block;height:calc(var(--u) * .55);border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden}
.d-barra b{display:block;height:100%;background:var(--grad-luz);transform-origin:left;transform:scaleX(.96)}
.d-graf{display:flex;flex-direction:column;--k:0}
.d-barras{position:absolute;left:calc(var(--u) * 1.8);right:calc(var(--u) * 1.8);bottom:calc(var(--u) * 1.6);height:42%;display:flex;align-items:flex-end;gap:calc(var(--u) * 1.1)}
.d-barras i{flex:1;height:calc(var(--v) * 100%);border-radius:calc(var(--u) * .4) calc(var(--u) * .4) 0 0;background:linear-gradient(180deg,var(--turquesa-claro),rgba(36,95,155,.4));transform-origin:bottom;
  transform:scaleY(clamp(.02,calc(var(--k) * 1.8 - var(--d) * .1),1))}
.d-linea{position:absolute;left:calc(var(--u) * 1.8);right:calc(var(--u) * 1.8);top:22%;height:30%;overflow:hidden}
.d-linea svg{width:100%;height:100%;display:block}
.d-linea .a{fill:url(#dg)}.d-linea .l{fill:none;stroke:var(--turquesa-claro);stroke-width:2.4;vector-effect:non-scaling-stroke}
.d-tapa{position:absolute;inset:-2px;background:linear-gradient(90deg,transparent,#0a182a calc(var(--u) * 3));transform-origin:right;transform:translateX(calc(var(--k) * 102%))}
.d-lista{display:flex;flex-direction:column;gap:calc(var(--u) * 1.15);--k:0}
.d-lista .d-et{margin-bottom:calc(var(--u) * .4)}
.d-fila{display:flex;align-items:center;gap:calc(var(--u) * 1);font-size:calc(var(--u) * 1.15);
  opacity:clamp(0,calc(var(--k) * 6 - var(--d)),1);transform:translateX(calc((1 - clamp(0,calc(var(--k) * 6 - var(--d)),1)) * var(--u) * 4))}
.d-fila b{font-weight:700;color:#cfe0f2;font-variant-numeric:tabular-nums}
.d-fila i{flex:1;height:calc(var(--u) * .55);border-radius:9px;background:rgba(255,255,255,.16)}
.d-fila em{width:calc(var(--u) * 1.1);height:calc(var(--u) * 1.1);border-radius:50%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.d-fila em.ok{background:var(--turquesa);box-shadow:0 0 8px rgba(40,175,164,.8)}
/* E4 · redes */
.r-movil{border-radius:calc(var(--u) * 3.4);background:#03060c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 0 0 calc(var(--u) * .2) #0d1a2b,0 0 60px rgba(40,175,164,.35),0 40px 80px -30px #000}
.r-pantalla{position:absolute;inset:calc(var(--u) * .7);border-radius:calc(var(--u) * 2.8);overflow:hidden;background:#0b1626}
.r-feed{position:absolute;left:0;top:0;width:100%;height:400%;animation:sv-reels 10s cubic-bezier(.7,0,.2,1) infinite}
.r-feed img{height:25%}
.r-movil--lado .r-pantalla{filter:brightness(.8)}
.r-rejilla{position:absolute;left:0;top:0;width:100%;height:600%;display:flex;flex-direction:column;animation:sv-feed 14s linear infinite}
.r-rejilla img{height:16.6667%;flex:0 0 auto}
.r-rejilla--b{animation-direction:reverse;animation-duration:17s}
.r-sombra{position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(3,7,14,.85))}
.r-subs{position:absolute;left:8%;right:18%;bottom:17%;font-weight:800;font-size:calc(var(--u) * 2.1);line-height:1.08;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,0,0,.6)}
.r-subs b{display:inline-block;animation:sv-palabra 3.4s ease-out infinite}
.r-subs b:nth-child(2){animation-delay:.35s;color:var(--turquesa-claro)}.r-subs b:nth-child(3){animation-delay:.7s}
.r-acciones{position:absolute;right:5%;bottom:20%;display:flex;flex-direction:column;gap:calc(var(--u) * 1.3)}
.r-acciones i{width:calc(var(--u) * 2.8);height:calc(var(--u) * 2.8);border-radius:50%;background:rgba(255,255,255,.22)}
.r-acciones i.r-cor{background:#ff4d73;box-shadow:0 0 16px rgba(255,77,115,.7);animation:sv-late 1.6s ease-in-out infinite}
.r-prog{position:absolute;left:6%;right:6%;bottom:6%;height:calc(var(--u) * .4);border-radius:9px;background:rgba(255,255,255,.2);overflow:hidden}
.r-prog b{display:block;height:100%;background:#fff;transform-origin:left;animation:sv-prog 2.5s linear infinite}
.r-post{border-radius:calc(var(--u) * 1.6);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 24px 50px -10px rgba(0,0,0,.8),0 0 30px rgba(40,175,164,.3)}
.r-like{position:absolute;left:8%;bottom:8%;padding:calc(var(--u) * .5) calc(var(--u) * 1);border-radius:99px;background:rgba(5,11,21,.78);font-weight:700;font-size:calc(var(--u) * 1.3);color:#fff}
.r-play{position:absolute;left:50%;top:50%;width:calc(var(--u) * 3.6);height:calc(var(--u) * 3.6);margin:calc(var(--u) * -1.8);border-radius:50%;background:rgba(255,255,255,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.r-play::after{content:"";position:absolute;left:40%;top:30%;border-left:calc(var(--u) * 1.2) solid #fff;border-top:calc(var(--u) * .75) solid transparent;border-bottom:calc(var(--u) * .75) solid transparent}
.r-chip{display:flex;align-items:center;justify-content:center;gap:calc(var(--u) * .8);border-radius:99px;white-space:nowrap;font-weight:600;font-size:calc(var(--u) * 1.35);
  background:rgba(10,28,46,.92);box-shadow:inset 0 0 0 1px rgba(95,227,214,.5),0 14px 40px rgba(0,0,0,.6)}
.r-chip__dot{width:calc(var(--u) * 1);height:calc(var(--u) * 1);border-radius:50%;background:var(--turquesa-claro);box-shadow:0 0 10px var(--turquesa-claro);animation:late 1.6s ease-in-out infinite}
/* animaciones de ambiente: solo corren en la escena activa */
.sv:not([data-activa="1"]) [data-e="1"],.sv:not([data-activa="1"]) [data-e="1"] *,
.sv:not([data-activa="2"]) [data-e="2"],.sv:not([data-activa="2"]) [data-e="2"] *,
.sv:not([data-activa="3"]) [data-e="3"],.sv:not([data-activa="3"]) [data-e="3"] *,
.sv:not([data-activa="4"]) [data-e="4"] *,
.sv:not([data-activa="5"]) [data-e="5"] *{animation-play-state:paused}
/* textos */
.sv-textos{position:absolute;inset:0}
.sv-intro{position:absolute;left:var(--pad);top:50%;margin-top:-1em;transform:translateY(-40%);width:38vw;opacity:0;will-change:transform,opacity}
.sv-h2{margin:0;font-size:clamp(40px,4.3vw,170px);font-weight:800;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.sv-item{position:absolute;top:50%;transform:translateY(-50%);width:31vw;opacity:0}
.sv-item--izq{left:var(--pad)}.sv-item--der{right:var(--pad)}
.sv-num{display:block;font-size:clamp(84px,9vw,360px);font-weight:800;line-height:.82;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(120,225,220,.55);
  margin-bottom:.12em;will-change:transform}
.sv-item h3{margin:0 0 .55em;overflow:hidden;font-size:clamp(34px,3.2vw,124px);font-weight:800;line-height:1.02;letter-spacing:-.035em;padding-bottom:.06em}
.sv-item h3 span{display:block;will-change:transform}
.sv-item p{margin:0;max-width:27em;color:var(--texto-suave);font-size:clamp(16px,1.18vw,36px);line-height:1.55;will-change:transform}
.sv-item p.sv-cierre{margin-top:2.2em;color:#fff;font-weight:600}
.sv-cierre a{color:var(--turquesa-claro);text-decoration:none;background:linear-gradient(90deg,var(--turquesa-claro),var(--turquesa-claro)) 0 100%/100% 1px no-repeat;padding-bottom:2px}
.sv-cierre a:hover,.sv-cierre a:focus-visible{color:#fff}
.sv-contador{position:absolute;left:50%;bottom:4.5vh;transform:translateX(-50%);display:flex;align-items:center;gap:14px;opacity:0;
  font-size:clamp(12px,.8vw,22px);letter-spacing:.2em;color:var(--texto-suave);font-variant-numeric:tabular-nums}
.sv-contador__n{color:#fff;font-weight:700}
.sv-contador i{display:block;width:clamp(90px,8vw,260px);height:2px;background:rgba(255,255,255,.16);overflow:hidden}
.sv-contador b{display:block;height:100%;background:var(--grad-luz);transform-origin:left;transform:scaleX(0)}
/* v18 · E3 Agentes IA: esfera azul-turquesa con la conversación alrededor */
.sv-pz.a-orbe{overflow:visible;border-radius:50%}
.a-nucleo{position:absolute;inset:14%;border-radius:50%;
  background:radial-gradient(circle at 50% 50%,#eafffc 0,#7ff0e4 9%,#28AFA4 30%,rgba(36,95,155,.85) 62%,rgba(11,31,56,.2) 100%);
  box-shadow:0 0 calc(var(--u) * 6) rgba(40,175,164,.65),inset 0 0 calc(var(--u) * 3) rgba(255,255,255,.25);animation:sv-flota 5s ease-in-out infinite}
.a-anillo{position:absolute;inset:4%;border-radius:50%;border:1px solid rgba(95,227,214,.45);transform:rotateX(72deg);animation:sv-gira 9s linear infinite}
.a-anillo--2{inset:-6%;border-color:rgba(36,95,155,.55);animation-duration:14s;animation-direction:reverse}
.sv--prov-3 .a-orbe{display:none}
.a-burbuja{display:flex;align-items:center;gap:calc(var(--u) * .9);padding:0 calc(var(--u) * 1.8);font-weight:600;font-size:calc(var(--u) * 2.05);line-height:1.25;color:#fff;
  border-radius:calc(var(--u) * 1.8);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.a-burbuja--cliente{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18),0 10px 30px rgba(0,0,0,.4);border-bottom-left-radius:calc(var(--u) * .4)}
.a-burbuja--agente{background:linear-gradient(135deg,rgba(40,175,164,.34),rgba(36,95,155,.4));box-shadow:inset 0 0 0 1px rgba(95,227,214,.5),0 12px 34px rgba(0,0,0,.45);border-bottom-right-radius:calc(var(--u) * .4)}
.a-avatar{flex:none;width:calc(var(--u) * 2.6);height:calc(var(--u) * 2.6);border-radius:50%;background:radial-gradient(circle at 40% 35%,#d6fffb,#5fe3d6 25%,#28AFA4 50%,#245F9B);box-shadow:0 0 14px rgba(40,175,164,.7)}
.a-escribe{display:flex;align-items:center;justify-content:center;gap:12%;border-radius:calc(var(--u) * 1.8);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.a-escribe i{width:14%;aspect-ratio:1;border-radius:50%;background:#5fe3d6;animation:a-punto 1.2s ease-in-out infinite}
.a-escribe i:nth-child(2){animation-delay:.15s}.a-escribe i:nth-child(3){animation-delay:.3s}
.a-chip{display:flex;align-items:center;gap:calc(var(--u) * .9);padding:0 calc(var(--u) * 1.4);border-radius:99px;background:rgba(10,30,48,.92);
  box-shadow:inset 0 0 0 1px rgba(95,227,214,.45),0 10px 30px rgba(0,0,0,.5);font-weight:600;font-size:calc(var(--u) * 1.85);color:#fff;white-space:nowrap}
.a-chip__dot{flex:none;width:calc(var(--u) * .9);height:calc(var(--u) * .9);border-radius:50%;background:#5fe3d6;box-shadow:0 0 10px #5fe3d6;animation:sv-late 1.6s ease-in-out infinite}
@keyframes a-punto{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-35%);opacity:1}}
@keyframes sv-brillo{0%,100%{transform:translateX(-40%)}50%{transform:translateX(40%)}}
@keyframes sv-pulsa{0%,52%,100%{transform:scale(1)}58%{transform:scale(.94)}66%{transform:scale(1.04)}}
@keyframes sv-cursor{0%{transform:translate(calc(var(--u) * 18),calc(var(--u) * 10))}45%{transform:translate(calc(var(--u) * -14),calc(var(--u) * 1))}55%{transform:translate(calc(var(--u) * -14),calc(var(--u) * 1)) scale(.82)}62%,80%{transform:translate(calc(var(--u) * -14),calc(var(--u) * 1))}100%{transform:translate(calc(var(--u) * 18),calc(var(--u) * 10))}}
@keyframes sv-toast{0%,58%{opacity:0;transform:translateY(-40%) scale(.9)}66%,90%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-20%)}}
@keyframes sv-flota{50%{transform:translateY(-6%)}}
@keyframes sv-gira{to{transform:rotateX(72deg) rotateZ(360deg)}}
@keyframes sv-escanea{0%{transform:translateY(-100%)}100%{transform:translateY(560%)}}
@keyframes sv-reels{0%,22%{transform:translateY(0)}33%,55%{transform:translateY(-25%)}66%,88%{transform:translateY(-50%)}100%{transform:translateY(-75%)}}
@keyframes sv-feed{to{transform:translateY(-50%)}}
@keyframes sv-palabra{0%{opacity:0;transform:translateY(40%) scale(.9)}12%,80%{opacity:1;transform:none}100%{opacity:0}}
@keyframes sv-late{50%{transform:scale(1.22)}}
@keyframes sv-prog{from{transform:scaleX(0)}}

/* ---------- Proyectos: la cámara entra en la pantalla y cada web llena la escena ---------- */
.py{position:absolute;inset:0;z-index:4;pointer-events:none;visibility:hidden}
.py-capas{position:absolute;inset:0}
/* cierre: fondo de estudio tras la última web enmarcada + botón «Ver todos los proyectos» */
.py-fondo{position:absolute;inset:0;opacity:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 55% at 50% 42%,rgba(40,175,164,.20),transparent 70%),radial-gradient(ellipse 90% 60% at 50% 100%,rgba(42,143,176,.14),transparent 70%),#03080f}
.py-cierre{position:absolute;left:0;right:0;bottom:9vh;display:flex;justify-content:center;opacity:0;pointer-events:none}
.py-cta{position:relative;display:inline-flex;align-items:center;gap:22px;padding:12px 12px 12px 40px;border-radius:999px;isolation:isolate;overflow:hidden;
  color:#fff;text-decoration:none;font:700 clamp(18px,1.35vw,34px)/1 var(--fuente);letter-spacing:-.01em;will-change:transform;
  background:rgba(8,20,32,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  box-shadow:0 0 0 1px rgba(150,235,230,.32),0 18px 60px rgba(0,0,0,.55),0 0 70px rgba(40,175,164,.30);transition:box-shadow .3s}
.py-cta::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;z-index:-1;
  background:conic-gradient(from var(--giro,0deg),transparent 0 25%,#7ff0e6 40%,#28AFA4 50%,transparent 65% 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:pyGiro 5s linear infinite}
.py-cta__flecha{display:grid;place-items:center;width:2.6em;height:2.6em;border-radius:50%;color:#04131d;font-size:.95em;
  background:linear-gradient(100deg,#3cc9bd,#28AFA4 55%,#2a8fb0);box-shadow:0 0 24px rgba(60,201,189,.55);transition:transform .35s}
.py-cta:hover{box-shadow:0 0 0 1px rgba(150,235,230,.6),0 18px 60px rgba(0,0,0,.55),0 0 100px rgba(40,175,164,.5)}
.py-cta:hover .py-cta__flecha{transform:translate(3px,-3px) rotate(0deg)}
.py-cta:focus-visible{outline:2px solid var(--turquesa-claro);outline-offset:4px}
@property --giro{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes pyGiro{to{--giro:360deg}}
@media (prefers-reduced-motion:reduce){.py-cta::before{animation:none}}
.py-capa{position:absolute;inset:0;overflow:hidden;opacity:0;visibility:hidden;transform-origin:50% 50%;will-change:transform,opacity;background:#050b15}
.py-img{position:absolute;inset:0;background:#050b15 center top/cover no-repeat;transform-origin:50% 50%;will-change:transform}
.py-img--movil{display:none}
.py-capa[data-i="0"]{border-radius:6px;box-shadow:0 0 0 1px rgba(150,235,230,.25),0 0 80px rgba(40,175,164,.35)}
.py-borra{position:absolute;inset:0;opacity:0;pointer-events:none;background:rgba(3,8,16,.42);
  -webkit-backdrop-filter:blur(14px) saturate(.7);backdrop-filter:blur(14px) saturate(.7);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,.55) 50%,transparent 60%);mask-image:linear-gradient(90deg,#000 0%,#000 40%,rgba(0,0,0,.55) 50%,transparent 60%)}
.py-velo{position:absolute;inset:0;opacity:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(3,8,16,.97) 0%,rgba(3,8,16,.93) 34%,rgba(3,8,16,.64) 50%,rgba(3,8,16,.2) 64%,transparent 76%),
             linear-gradient(0deg,rgba(3,8,16,.85) 0%,rgba(3,8,16,.35) 22%,transparent 42%),
             linear-gradient(180deg,rgba(3,8,16,.7) 0%,rgba(3,8,16,.25) 10%,transparent 20%)}
.py-intro{position:absolute;left:var(--pad);top:50%;transform:translateY(-50%);width:46vw;opacity:0;will-change:transform,opacity}
.py-h2{margin:0;font-size:clamp(44px,5.4vw,200px);font-weight:800;line-height:.96;letter-spacing:-.045em;text-wrap:balance}
.py-items{position:absolute;inset:0}
.py-item{position:absolute;left:var(--pad);bottom:15vh;width:54vw;opacity:0}
.py-linea{display:flex;align-items:center;gap:14px;margin:0 0 18px;color:var(--turquesa-claro);font-size:clamp(13px,.9vw,26px);font-weight:600;letter-spacing:.28em;text-transform:uppercase;will-change:transform}
.py-linea::before{content:"";width:34px;height:1px;background:var(--turquesa-claro);box-shadow:0 0 8px var(--turquesa-claro)}
.py-item h3{margin:0 0 .42em;overflow:hidden;font-size:clamp(52px,6.6vw,250px);font-weight:800;line-height:.98;letter-spacing:-.05em;padding-bottom:.08em;text-wrap:balance;
  text-shadow:0 10px 50px rgba(0,0,0,.55)}
.py-item h3 span{display:block;will-change:transform}
.py-btn{text-decoration:none;gap:10px;will-change:transform}
.py-btn span{font-size:1.1em;line-height:1}
.py-contador{position:absolute;left:50%;bottom:4.5vh;transform:translateX(-50%);display:flex;align-items:center;gap:14px;opacity:0;
  font-size:clamp(12px,.8vw,22px);letter-spacing:.2em;color:var(--texto-suave);font-variant-numeric:tabular-nums}
.py-contador__n{color:#fff;font-weight:700}
.py-contador i{display:block;width:clamp(90px,8vw,260px);height:2px;background:rgba(255,255,255,.16);overflow:hidden}
.py-contador b{display:block;height:100%;background:var(--grad-luz);transform-origin:left;transform:scaleX(0)}

/* ---------- Keyframes ---------- */
@keyframes entra-arriba{from{opacity:0;transform:translateY(-16px)}}
@keyframes sube{from{opacity:0;transform:translateY(24px)}}
@keyframes palabra{from{transform:translateY(105%) rotate(4deg)}}
@keyframes dolly{from{transform:scale(1.14) translate3d(-1.5%,0,0);opacity:0}30%{opacity:1}}
@keyframes enciende{0%{opacity:0;filter:brightness(3)}8%{opacity:.8}12%{opacity:.2}22%{opacity:1}100%{opacity:1;filter:none}}
@keyframes rejilla{to{transform:rotate(-6deg) scale(1.06) translate3d(0,-14%,0)}}
@keyframes respira{50%{opacity:.78;transform:scale(1.04)}}
@keyframes grano{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-5%)}60%{transform:translate(-2%,6%)}80%{transform:translate(5%,-2%)}}
@keyframes late{50%{opacity:.45;transform:scale(.8)}}
@keyframes linea{0%{transform:scaleY(0);opacity:1}60%{transform:scaleY(1);opacity:1}100%{transform:scaleY(1);opacity:0}}
@keyframes brilla-btn{50%{box-shadow:0 0 0 1px rgba(95,227,214,.8),0 12px 56px -2px rgba(40,175,164,.95),inset 0 1px 0 rgba(255,255,255,.45)}}
@keyframes barrido{0%{left:-60%}35%,100%{left:130%}}

/* ---------- Responsive ---------- */
/* ---------- Precios (v7): sale del cierre de Proyectos (#03080f + brillo turquesa) sin corte ---------- */
.pr{position:relative;z-index:2;padding:clamp(70px,11vh,160px) var(--pad) clamp(90px,14vh,200px);overflow:hidden;
  background:radial-gradient(ellipse 70% 38% at 50% 0%,rgba(42,143,176,.12),transparent 72%),
             radial-gradient(ellipse 50% 40% at 78% 56%,rgba(40,175,164,.10),transparent 70%),
             linear-gradient(180deg,#040b12 0%,#03080f 12%,var(--negro) 34%,var(--negro) 100%)}
.pr::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:64px 64px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000,transparent 75%)}
.pr>*{position:relative}
.pr-cab{max-width:860px;margin:0 auto clamp(48px,7vh,96px);text-align:center}
.pr-cab .etiqueta{margin-bottom:22px}
.pr-h2{margin:0;font-size:clamp(44px,5.4vw,200px);font-weight:800;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.pr-entradilla{margin:22px auto 0;max-width:34em;color:var(--texto-suave);font-size:clamp(17px,1.25vw,30px);line-height:1.5}
.pr-tarjetas{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:clamp(16px,1.6vw,36px);align-items:stretch;max-width:1500px;margin:0 auto}
.pr-tarjeta{display:flex;flex-direction:column;padding:clamp(28px,2.4vw,52px);border-radius:24px;
  background:linear-gradient(160deg,rgba(20,36,56,.78),rgba(8,16,28,.86) 60%);
  box-shadow:inset 0 0 0 1px rgba(150,190,230,.12),inset 0 1px 0 rgba(255,255,255,.06),0 30px 80px -30px rgba(0,0,0,.7);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.pr-nombre{margin:0 0 18px;font-size:clamp(24px,1.7vw,44px);font-weight:700;letter-spacing:-.02em}
.pr-precio{display:flex;align-items:baseline;gap:10px;margin:0;line-height:1}
.pr-desde{color:var(--texto-suave);font-size:clamp(14px,.95vw,24px);font-weight:500}
.pr-cifra{font-size:clamp(52px,4.4vw,140px);font-weight:800;letter-spacing:-.05em;color:#fff}
.pr-ast{align-self:flex-start;margin-left:-6px;color:var(--turquesa-claro);font-size:clamp(18px,1.3vw,36px);font-weight:700}
.pr-nota{display:inline-flex;align-self:flex-start;margin:14px 0 0;padding:6px 12px;border-radius:99px;font-size:clamp(13px,.85vw,22px);font-weight:600;color:var(--turquesa-claro);background:rgba(40,175,164,.12);box-shadow:inset 0 0 0 1px rgba(95,227,214,.28)}
.pr-linea{margin:20px 0 0;color:#cfdcec;font-size:clamp(16px,1.05vw,26px);line-height:1.5}
.pr-puntos{list-style:none;margin:22px 0 30px;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:12px;align-content:start;flex:1}
.pr-puntos li{position:relative;padding-left:28px;color:var(--texto);font-size:clamp(15px,.98vw,24px);line-height:1.4}
.pr-puntos li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:7px;border-left:2px solid var(--turquesa-claro);border-bottom:2px solid var(--turquesa-claro);transform:rotate(-45deg)}
.pr-btn{justify-content:center;width:100%}
/* destacada */
.pr-tarjeta--top{position:relative;margin:calc(-1 * clamp(14px,1.4vw,30px)) 0;padding:clamp(34px,2.9vw,64px);border-radius:28px;
  background:linear-gradient(165deg,rgba(24,62,80,.92),rgba(9,22,36,.94) 55%,rgba(8,18,30,.96));
  box-shadow:inset 0 0 0 1px rgba(95,227,214,.45),inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(40,175,164,.2),0 40px 120px -30px rgba(40,175,164,.55),0 0 90px rgba(40,175,164,.22)}
.pr-aura{position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;overflow:hidden}
.pr-aura{padding:1.5px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
.pr-aura::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from var(--giro,0deg),transparent 0 30%,rgba(127,240,230,.6) 42%,rgba(40,175,164,.2) 50%,transparent 62% 100%);animation:pyGiro 7s linear infinite}
.pr-sello{position:absolute;top:0;right:clamp(24px,2.4vw,52px);transform:translateY(-50%);margin:0;padding:8px 16px;border-radius:99px;
  font-size:clamp(12px,.8vw,20px);font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#04131d;background:linear-gradient(100deg,#7ff0e6,#33cfc1 55%,#4d9fe8);box-shadow:0 0 30px rgba(95,227,214,.55)}
/* sello Recomendada (Impacto) */
.pr-tarjeta{position:relative}
.pr-sello--suave{color:#bff7f1;background:rgba(9,30,42,.92);box-shadow:inset 0 0 0 1px rgba(95,227,214,.6),0 0 22px rgba(95,227,214,.3)}
.pr-tarjeta--top .pr-nombre{font-size:clamp(28px,2vw,52px)}
.pr-tarjeta--top .pr-cifra{font-size:clamp(60px,5.2vw,168px)}
.pr-tarjeta--top .pr-linea{color:#e4eef8}
/* franja */
.pr-franja{display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,3vw,72px);max-width:1500px;margin:clamp(40px,6vh,80px) auto 0;
  padding:clamp(26px,2.4vw,48px) clamp(28px,3vw,60px);border-radius:22px;
  background:linear-gradient(100deg,rgba(36,95,155,.16),rgba(40,175,164,.10) 60%,rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(150,190,230,.14)}
.pr-franja__h{margin:0 0 10px;font-size:clamp(24px,1.8vw,48px);font-weight:700;letter-spacing:-.025em}
.pr-franja__txt p{margin:0;max-width:44em;color:var(--texto-suave);font-size:clamp(16px,1.05vw,26px);line-height:1.55}
.pr-franja__txt b{color:#fff;font-weight:700;white-space:nowrap}
.pr-franja__btn{flex:none;gap:10px}
.pr-letra{max-width:980px;margin:clamp(28px,4vh,52px) auto 0;text-align:center;color:#7f93ab;font-size:clamp(13px,.85vw,20px);line-height:1.6}
/* entrada al hacer scroll (js/precios.js) */
.pr--anima .pr-anim{opacity:0;transform:translate3d(0,48px,0);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1)}
.pr--anima .pr-tarjeta.pr-anim{transform:translate3d(0,90px,0) scale(.94)}
.pr--anima .pr-tarjeta[data-orden="1"]{transition-delay:.12s}
.pr--anima .pr-tarjeta[data-orden="2"]{transition-delay:.24s;transform:translate3d(0,120px,0) scale(.9)}
.pr--anima .pr-anim.visto{opacity:1;transform:none}
@media (max-width:1100px) and (min-width:761px){.pr-tarjetas{grid-template-columns:1fr 1fr}.pr-tarjeta--top{grid-column:1 / -1;order:-1;margin:0 0 8px}}
@media (max-width:760px){
  .pr{padding:72px 20px 56px}
  .pr-h2{font-size:clamp(38px,11vw,54px)}
  .pr-entradilla{font-size:16px}
  .pr-tarjetas{grid-template-columns:1fr;gap:18px}
  .pr-tarjeta--top{order:-1;margin:10px 0 12px}
  .pr-franja{flex-direction:column;align-items:stretch;text-align:left}
  .pr-franja__btn{justify-content:center}
  .pr--anima .pr-tarjeta[data-orden]{transition-delay:0s}
}
@media (prefers-reduced-motion:reduce){.pr-aura::before{animation:none}}
/* Esencial e Impacto: mismo brillo que Premium al pasar el ratón (solo en dispositivos con hover) o con :focus-within (teclado).
   Premium no cambia. La elevación usa la propiedad `translate` para no pisar el `transform` de la entrada al hacer scroll;
   el resto anima solo opacity, transform y box-shadow. */
.pr-tarjeta:not(.pr-tarjeta--top){position:relative;transition:translate .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}
.pr--anima .pr-tarjeta.pr-anim:not(.pr-tarjeta--top){transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1),translate .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}
.pr--anima .pr-tarjeta.pr-anim[data-orden="1"]:not(.pr-tarjeta--top){transition-delay:.12s,.12s,0s,0s}
.pr-tarjeta:not(.pr-tarjeta--top)::before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(165deg,rgba(24,62,80,.92),rgba(9,22,36,.94) 55%,rgba(8,18,30,.96));opacity:0;transition:opacity .55s ease}
.pr-aura--hover{opacity:0;transition:opacity .55s ease}
.pr-aura--hover::before{inset:auto;left:50%;top:50%;width:300%;aspect-ratio:1;margin:-150% 0 0 -150%;
  background:conic-gradient(transparent 0 30%,rgba(127,240,230,.75) 42%,rgba(40,175,164,.25) 50%,transparent 62% 100%);
  animation:prRueda 7s linear infinite;animation-play-state:paused}
@keyframes prRueda{to{transform:rotate(360deg)}}
.pr-tarjeta:not(.pr-tarjeta--top):focus-within{translate:0 -10px;
  box-shadow:inset 0 0 0 1px rgba(95,227,214,.45),inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(40,175,164,.2),0 40px 120px -30px rgba(40,175,164,.55),0 0 90px rgba(40,175,164,.22)}
.pr-tarjeta:not(.pr-tarjeta--top):focus-within::before,.pr-tarjeta:focus-within .pr-aura--hover{opacity:1}
.pr-tarjeta:focus-within .pr-aura--hover::before{animation-play-state:running}
@media (hover:hover){
  .pr-tarjeta:not(.pr-tarjeta--top):hover{translate:0 -10px;
    box-shadow:inset 0 0 0 1px rgba(95,227,214,.45),inset 0 1px 0 rgba(255,255,255,.12),0 0 0 1px rgba(40,175,164,.2),0 40px 120px -30px rgba(40,175,164,.55),0 0 90px rgba(40,175,164,.22)}
  .pr-tarjeta:not(.pr-tarjeta--top):hover::before,.pr-tarjeta:hover .pr-aura--hover{opacity:1}
  .pr-tarjeta:hover .pr-aura--hover::before{animation-play-state:running}
}
@media (prefers-reduced-motion:reduce){
  .pr-tarjeta:not(.pr-tarjeta--top):hover,.pr-tarjeta:not(.pr-tarjeta--top):focus-within{translate:none}
  .pr-aura--hover::before{animation:none}
}
/* ───────── 6b · REDES SOCIALES (servicio de Adrián; textos de textos.md; une con Precios arriba y Contacto abajo en var(--negro)) ───────── */
.rd{position:relative;z-index:2;overflow:hidden;padding:clamp(80px,11vh,160px) var(--pad) clamp(130px,15vh,200px);
  background:linear-gradient(180deg,var(--negro) 0%,#040e18 40%,#040d16 62%,var(--negro) 100%)}
.rd>*{position:relative}
.rd-fondo{position:absolute!important;inset:0;pointer-events:none}
.rd-halo{position:absolute;left:50%;top:58%;width:min(1100px,110vw);aspect-ratio:1;margin-left:calc(min(1100px,110vw) / -2);transform:translateY(-50%);
  background:radial-gradient(closest-side,rgba(40,175,164,.16),rgba(36,95,155,.08) 55%,transparent);animation:ct-respira 10s ease-in-out infinite}
.rd-halo--b{top:66%;width:min(700px,80vw);margin-left:calc(min(700px,80vw) / -2 + min(160px,12vw));background:radial-gradient(closest-side,rgba(77,159,232,.14),transparent);animation-delay:-5s}
.rd-cab{max-width:900px;margin:0 auto clamp(32px,5vh,90px);text-align:center}
.rd-cab .etiqueta{margin-bottom:22px}
.rd-h2{margin:0;font-size:clamp(44px,5.4vw,200px);font-weight:800;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.rd-entradilla{margin:22px auto 0;max-width:34em;color:var(--texto-suave);font-size:clamp(17px,1.25vw,30px);line-height:1.5}
/* escena: puntos · móviles · punto + botón */
.rd-escena{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(24px,3.4vw,90px);max-width:1500px;margin:0 auto}
.rd-puntos{list-style:none;margin:0;padding:0;display:grid;gap:clamp(36px,6vh,90px)}
.rd-punto{position:relative;max-width:25em}
.rd-puntos--izq{justify-items:end;text-align:right}
.rd-punto__icono{display:grid;place-items:center;width:clamp(50px,3.6vw,88px);height:clamp(50px,3.6vw,88px);margin-bottom:18px;border-radius:50%;color:var(--turquesa-claro);
  background:rgba(40,175,164,.10);box-shadow:inset 0 0 0 1px rgba(95,227,214,.32),0 0 34px rgba(40,175,164,.22)}
.rd-puntos--izq .rd-punto__icono{margin-left:auto}
.rd-punto__icono svg{width:46%;height:46%}
.rd-punto__h{margin:0 0 10px;font-size:clamp(22px,1.65vw,44px);font-weight:700;letter-spacing:-.02em;line-height:1.15}
.rd-punto__txt{margin:0;color:var(--texto-suave);font-size:clamp(16px,1.05vw,26px);line-height:1.55}
/* línea fina que "conecta" cada punto con los móviles */
.rd-punto::after{content:"";position:absolute;top:calc(clamp(50px,3.6vw,88px) / 2);width:clamp(20px,3vw,80px);height:1px;background:linear-gradient(90deg,rgba(95,227,214,.6),transparent)}
.rd-puntos--izq .rd-punto::after{right:calc(-1 * clamp(28px,3.6vw,96px));transform:scaleX(-1)}
.rd-der .rd-punto::after{left:calc(-1 * clamp(28px,3.6vw,96px))}
.rd-der{display:grid;gap:clamp(36px,6vh,80px);justify-items:start}
.rd-cierre{margin:0 0 20px;max-width:24em;color:#cfdcec;font-size:clamp(16px,1.05vw,26px);line-height:1.5}
/* móviles 9:16 */
.rd-moviles{--w:clamp(190px,13.8vw,380px);position:relative;width:calc(var(--w) * 1.72);height:calc(var(--w) * 16 / 9 * 1.12)}
.rd-parallax{position:absolute;inset:0;will-change:transform}
.rd-movil{position:absolute;width:var(--w);aspect-ratio:9/16;padding:calc(var(--w) * .035);border-radius:calc(var(--w) * .14);
  background:linear-gradient(150deg,#2a3a4f,#0d1622 40%,#16212f);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),inset 0 0 0 3px rgba(0,0,0,.5),0 50px 100px -30px rgba(0,0,0,.85),0 0 0 1px rgba(95,227,214,.06);
  animation:rd-flota 7s ease-in-out infinite}
.rd-movil--feed{left:0;top:0;--rot:-7deg;transform:rotate(var(--rot))}
.rd-movil--reel{right:0;bottom:0;--rot:6deg;transform:rotate(var(--rot));animation-delay:-3.5s;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 0 0 3px rgba(0,0,0,.5),0 60px 120px -30px rgba(0,0,0,.9),0 0 80px -10px rgba(40,175,164,.35)}
@keyframes rd-flota{0%,100%{transform:translate3d(0,0,0) rotate(var(--rot))}50%{transform:translate3d(0,-14px,0) rotate(calc(var(--rot) * .8))}}
.rd-movil__isla{position:absolute;z-index:3;top:calc(var(--w) * .06);left:50%;width:28%;height:calc(var(--w) * .05);margin-left:-14%;border-radius:99px;background:#02060b}
.rd-pantalla{position:relative;height:100%;overflow:hidden;border-radius:calc(var(--w) * .11);background:#07111d;display:flex;flex-direction:column}
/* app de feed abstracta */
.rd-app{display:flex;align-items:center;gap:8%;padding:calc(var(--w) * .15) 9% calc(var(--w) * .03)}
.rd-app i{width:calc(var(--w) * .07);height:calc(var(--w) * .07);border-radius:50%;background:var(--grad-luz)}
.rd-app b{height:calc(var(--w) * .03);width:32%;border-radius:9px;background:rgba(255,255,255,.22)}
.rd-app__pts{margin-left:auto;width:calc(var(--w) * .1);height:calc(var(--w) * .03);border-radius:9px;background:rgba(255,255,255,.12)}
.rd-historias{display:flex;gap:6%;padding:calc(var(--w) * .03) 9% calc(var(--w) * .04)}
.rd-historias i{flex:none;width:calc(var(--w) * .14);height:calc(var(--w) * .14);border-radius:50%;padding:2px;background:conic-gradient(from 200deg,#4d9fe8,#33cfc1,#6ff0e2,#4d9fe8);
  -webkit-mask:radial-gradient(circle,#000 0 58%,transparent 60% 66%,#000 68%);mask:radial-gradient(circle,#000 0 58%,transparent 60% 66%,#000 68%)}
.rd-historias i:nth-child(2){opacity:.75}.rd-historias i:nth-child(3){opacity:.55}.rd-historias i:nth-child(4){opacity:.35}
.rd-feed{position:relative;flex:1;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent,#000 8%,#000 86%,transparent);mask-image:linear-gradient(180deg,transparent,#000 8%,#000 86%,transparent)}
.rd-tira{display:flex;flex-direction:column;gap:calc(var(--w) * .05);padding:0 7%;animation:rd-feed 22s linear infinite}
@keyframes rd-feed{to{transform:translate3d(0,calc(-50% - var(--w) * .025),0)}}
.rd-post{display:flex;flex-direction:column;gap:calc(var(--w) * .03);flex:none}
.rd-post__cab{display:flex;align-items:center;gap:6%}
.rd-post__cab i{width:calc(var(--w) * .06);height:calc(var(--w) * .06);border-radius:50%;background:rgba(95,227,214,.5)}
.rd-post__cab b,.rd-post__pie b{height:calc(var(--w) * .022);width:38%;border-radius:9px;background:rgba(255,255,255,.16)}
.rd-post__pie b.corta{width:20%;background:rgba(255,255,255,.09)}
.rd-post__img{position:relative;display:grid;place-items:center;aspect-ratio:4/5;border-radius:calc(var(--w) * .05);overflow:hidden}
.rd-post--a .rd-post__img{background:radial-gradient(circle at 30% 25%,rgba(111,240,226,.85),transparent 45%),linear-gradient(150deg,#245F9B,#28AFA4)}
.rd-post--b .rd-post__img{background:radial-gradient(circle at 70% 70%,rgba(77,159,232,.8),transparent 50%),linear-gradient(200deg,#0f3550,#123f5e 40%,#1d7f8f)}
.rd-post--c .rd-post__img{background:conic-gradient(from 120deg at 60% 40%,#33cfc1,#245F9B,#0b2236,#33cfc1)}
.rd-post--d .rd-post__img{background:radial-gradient(ellipse at 50% 110%,rgba(111,240,226,.7),transparent 60%),linear-gradient(180deg,#0d2742,#1b5f86)}
.rd-post__pie{display:flex;align-items:center;gap:6%}
.rd-mini{width:calc(var(--w) * .07);color:#ff5f7e}.rd-mini svg{display:block;width:100%;fill:currentColor}
.rd-play{display:grid;place-items:center;width:calc(var(--w) * .18);height:calc(var(--w) * .18);border-radius:50%;background:rgba(5,11,21,.35);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.rd-play svg{width:46%;margin-left:8%;fill:#fff}
/* reel abstracto */
.rd-pantalla--reel{background:linear-gradient(170deg,#0d2a44,#0a1d31 45%,#0e3a4a)}
.rd-reel__luz{position:absolute;width:120%;aspect-ratio:1;left:-40%;top:-10%;border-radius:50%;background:radial-gradient(closest-side,rgba(51,207,193,.75),transparent);animation:rd-luz 9s ease-in-out infinite alternate}
.rd-reel__luz--b{left:20%;top:45%;background:radial-gradient(closest-side,rgba(77,159,232,.7),transparent);animation-duration:11s;animation-direction:alternate-reverse}
@keyframes rd-luz{to{transform:translate3d(30%,18%,0) scale(1.25)}}
.rd-play--grande{position:absolute;left:50%;top:44%;width:calc(var(--w) * .24);height:calc(var(--w) * .24);transform:translate(-50%,-50%);animation:rd-latido 2.6s ease-in-out infinite}
@keyframes rd-latido{50%{transform:translate(-50%,-50%) scale(1.08)}}
.rd-reel__lado{position:absolute;right:7%;bottom:24%;display:grid;gap:calc(var(--w) * .06)}
.rd-reel__btn{display:grid;place-items:center;width:calc(var(--w) * .12);height:calc(var(--w) * .12);border-radius:50%;background:rgba(255,255,255,.12);color:#fff}
.rd-reel__btn svg{width:52%;fill:none}
.rd-reel__btn--like{color:#ff5f7e;animation:rd-like 2.6s ease-in-out infinite}
.rd-reel__btn--like svg{fill:currentColor}
@keyframes rd-like{0%,70%,100%{transform:scale(1)}78%{transform:scale(1.25)}86%{transform:scale(.95)}}
.rd-reel__pie{position:absolute;left:8%;right:28%;bottom:11%;display:grid;gap:calc(var(--w) * .03)}
.rd-reel__pie i{width:calc(var(--w) * .09);height:calc(var(--w) * .09);border-radius:50%;background:var(--grad-luz)}
.rd-reel__pie b{height:calc(var(--w) * .025);border-radius:9px;background:rgba(255,255,255,.5)}
.rd-reel__pie b.corta{width:60%;background:rgba(255,255,255,.28)}
.rd-reel__barra{position:absolute;left:8%;right:8%;bottom:6%;height:3px;border-radius:3px;background:rgba(255,255,255,.18);overflow:hidden}
.rd-reel__barra span{position:absolute;inset:0;background:var(--grad-luz);transform-origin:left;animation:rd-barra 6s linear infinite}
@keyframes rd-barra{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.rd-corazones{position:absolute;right:9%;bottom:30%;width:calc(var(--w) * .12);height:60%;pointer-events:none}
.rd-corazon{position:absolute;bottom:0;left:0;width:calc(var(--w) * (.07 + var(--i) * .008));color:#ff5f7e;opacity:0;animation:rd-sube 3.6s cubic-bezier(.3,.6,.4,1) infinite;animation-delay:calc(var(--i) * -.6s)}
.rd-corazon:nth-child(even){color:#6ff0e2}
.rd-corazon svg{display:block;width:100%;fill:currentColor}
@keyframes rd-sube{0%{opacity:0;transform:translate3d(0,0,0) scale(.5)}15%{opacity:1}50%{transform:translate3d(-60%,-140%,0) scale(1)}100%{opacity:0;transform:translate3d(-10%,calc(var(--w) * -1.1),0) scale(1.1)}}
/* botón WhatsApp (mismo estilo que el de Contacto) */
.rd-boton{position:relative;display:inline-flex;align-items:center;gap:clamp(14px,1.1vw,26px);min-height:clamp(84px,6.6vw,160px);padding:clamp(16px,1.3vw,32px) clamp(24px,2vw,48px) clamp(16px,1.3vw,32px) clamp(16px,1.3vw,32px);
  border-radius:26px;overflow:hidden;color:#fff;font:700 clamp(20px,1.55vw,42px)/1.1 var(--fuente);letter-spacing:-.02em;-webkit-tap-highlight-color:transparent;
  background:linear-gradient(150deg,rgba(37,211,102,.95),rgba(22,170,84,.92) 55%,rgba(14,128,70,.95));
  box-shadow:inset 0 0 0 1px rgba(160,255,200,.45),inset 0 1px 0 rgba(255,255,255,.35),0 24px 70px -18px rgba(37,211,102,.65),0 0 90px rgba(37,211,102,.25);
  transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.rd-boton>*{position:relative}
.rd-boton::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-130%) skewX(-18deg);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.rd-boton__pulso{position:absolute!important;inset:0;border-radius:inherit;pointer-events:none;opacity:.25;box-shadow:0 0 0 1px rgba(37,211,102,.6),0 0 60px rgba(37,211,102,.35),inset 0 0 44px rgba(37,211,102,.12);animation:ct-pulso 4.8s ease-in-out infinite}
.rd-boton__icono{flex:none;display:grid;place-items:center;width:clamp(52px,3.8vw,96px);height:clamp(52px,3.8vw,96px);border-radius:50%;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 6px 24px rgba(0,60,25,.35);transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.rd-boton__icono svg{width:56%;height:56%}
.rd-boton__flecha{margin-left:clamp(8px,1vw,24px);opacity:.75;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}
.rd .rd-boton:hover{transform:translateY(-5px) scale(1.02)}
.rd-boton:hover::after{transform:translateX(330%) skewX(-18deg)}
.rd-boton:hover .rd-boton__icono{transform:scale(1.1) rotate(-8deg)}
.rd-boton:hover .rd-boton__flecha{transform:translateX(6px);opacity:1}
.rd .rd-boton:active{transform:translateY(-1px) scale(.97);transition-duration:.12s}
.rd-boton:focus-visible{outline:2px solid #7dffb0;outline-offset:4px}
/* animaciones solo mientras la sección está en pantalla */
.rd:not(.rd--activo) .rd-movil,.rd:not(.rd--activo) .rd-movil *,.rd:not(.rd--activo) .rd-halo{animation-play-state:paused}
/* entrada al hacer scroll (js/redes.js): solo transform y opacidad; la pieza .rd-accion no se anima por transform para no frenar el hover */
.rd--anima .rd-anim{opacity:0;transform:translate3d(0,48px,0);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform 1.1s cubic-bezier(.2,.8,.2,1)}
.rd--anima .rd-moviles.rd-anim:not(.visto){transform:translate3d(0,120px,0) scale(.86) rotate(-3deg);transition-duration:1.1s,1.5s}
.rd--anima .rd-puntos--izq .rd-punto.rd-anim:not(.visto){transform:translate3d(-60px,30px,0)}
.rd--anima .rd-der .rd-punto.rd-anim:not(.visto){transform:translate3d(60px,30px,0)}
.rd--anima .rd-punto[data-orden="0"]{transition-delay:.25s}
.rd--anima .rd-punto[data-orden="1"]{transition-delay:.4s}
.rd--anima .rd-punto[data-orden="2"]{transition-delay:.55s}
.rd--anima .rd-accion[data-orden="3"]{transition-delay:.7s}
.rd--anima .rd-anim.visto{opacity:1;transform:none}
@media (max-width:1100px) and (min-width:761px){
  .rd-escena{grid-template-columns:1fr 1fr;justify-items:center}
  .rd-moviles{grid-column:1 / -1;order:-1;margin-bottom:24px}
  .rd-puntos--izq{justify-items:start;text-align:left}.rd-puntos--izq .rd-punto__icono{margin-left:0}
  .rd-punto::after{display:none}
}
@media (max-width:760px){
  .rd{padding:72px 20px 80px}
  .rd-h2{font-size:clamp(38px,11vw,54px)}
  .rd-entradilla{font-size:16px}
  .rd-cab{margin-bottom:28px}
  .rd-escena{grid-template-columns:1fr;gap:40px}
  .rd-moviles{--w:min(44vw,190px);order:-1;justify-self:center;margin:8px 0 4px}
  .rd-puntos{gap:30px}
  .rd-puntos--izq{justify-items:start;text-align:left}.rd-puntos--izq .rd-punto__icono{margin-left:0}
  .rd-punto{display:grid;grid-template-columns:52px 1fr;column-gap:16px;max-width:none}
  .rd-punto__icono{grid-row:span 2;width:52px;height:52px;margin:0}
  .rd-punto__h{font-size:21px;margin:4px 0 6px}
  .rd-punto::after{display:none}
  .rd-der{gap:40px;justify-items:stretch}
  .rd-boton{display:flex;min-height:88px;font-size:20px}
  .rd-boton__texto{flex:1}
  .rd--anima .rd-anim[data-orden]:not(.visto){transform:translate3d(0,44px,0);transition-delay:0s}
}
@media (prefers-reduced-motion:reduce){.rd-boton::after{display:none}.rd-movil,.rd-movil *,.rd-halo,.rd-boton__pulso{animation:none!important}.rd-corazon{opacity:0}}
/* ───────── 7 · CONTACTO (cierre de cine; textos de textos.md, sin enlaces) ───────── */
.ct{position:relative;z-index:2;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;
  padding:clamp(96px,12vh,170px) var(--pad) clamp(40px,6vh,90px);overflow:hidden;text-align:center;
  background:linear-gradient(180deg,var(--negro) 0%,#04101a 46%,#030c14 100%)}
.ct>*{position:relative}
.ct-fondo{position:absolute!important;inset:0;pointer-events:none}
.ct-halo{position:absolute;left:50%;top:30%;width:min(1400px,120vw);aspect-ratio:2/1;margin-left:calc(min(1400px,120vw) / -2);transform:translateY(-50%);
  background:radial-gradient(closest-side,rgba(42,143,176,.20),rgba(40,175,164,.08) 55%,transparent);animation:ct-respira 9s ease-in-out infinite}
.ct-horizonte{position:absolute;left:50%;bottom:-94%;width:170vw;height:100%;margin-left:-85vw;border-radius:50%;
  background:radial-gradient(closest-side,rgba(40,175,164,.16),rgba(36,95,155,.08) 60%,transparent 72%);
  box-shadow:0 -1px 0 rgba(95,227,214,.18);transform-origin:50% 0}
.ct-horizonte::before{content:"";position:absolute;inset:0;border-radius:50%;border-top:1px solid rgba(127,240,230,.35);
  -webkit-mask-image:linear-gradient(90deg,transparent 18%,#000 42%,#000 58%,transparent 82%);mask-image:linear-gradient(90deg,transparent 18%,#000 42%,#000 58%,transparent 82%)}
.ct-cab{max-width:1100px;margin:0 auto clamp(40px,6vh,84px)}
.ct-cab .etiqueta{margin-bottom:24px}
.ct-h2{margin:0;font-size:clamp(52px,7.4vw,260px);font-weight:800;line-height:.95;letter-spacing:-.05em;text-wrap:balance}
.ct-entradilla{margin:26px auto 0;max-width:32em;color:var(--texto-suave);font-size:clamp(17px,1.3vw,32px);line-height:1.5}
.ct-botones{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(16px,1.6vw,36px);width:100%;max-width:1320px;margin:0 auto;align-items:stretch}
.ct-boton{--c:95,227,214;--ci:#5fe3d6;position:relative;display:flex;align-items:center;gap:clamp(16px,1.3vw,30px);min-height:clamp(104px,9.5vw,220px);
  padding:clamp(22px,1.9vw,44px) clamp(24px,2.2vw,52px);border:0;border-radius:28px;cursor:pointer;overflow:hidden;text-align:left;text-decoration:none;
  font:700 clamp(19px,1.5vw,40px)/1.15 var(--fuente);letter-spacing:-.02em;color:var(--texto);
  background:linear-gradient(160deg,rgba(22,44,66,.72),rgba(8,18,30,.88) 62%);
  box-shadow:inset 0 0 0 1px rgba(var(--c),.22),inset 0 1px 0 rgba(255,255,255,.08),0 30px 80px -36px rgba(0,0,0,.8);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-tap-highlight-color:transparent}
.ct-boton::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);transform:translateX(-130%) skewX(-18deg);transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.ct-boton>*{position:relative}
.ct-boton .ct-pulso{position:absolute}
.ct-boton--wa{--c:37,211,102;--ci:#fff;font-size:clamp(21px,1.75vw,46px);
  background:linear-gradient(150deg,rgba(37,211,102,.95),rgba(22,170,84,.92) 55%,rgba(14,128,70,.95));color:#fff;
  box-shadow:inset 0 0 0 1px rgba(160,255,200,.45),inset 0 1px 0 rgba(255,255,255,.35),0 24px 70px -18px rgba(37,211,102,.65),0 0 90px rgba(37,211,102,.25)}
.ct-boton--tel{--c:95,227,214;--ci:#5fe3d6}
.ct-boton--mail{--c:120,180,245;--ci:#8cc4ff}
.ct-pulso{position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.25;
  box-shadow:0 0 0 1px rgba(var(--c),.6),0 0 60px rgba(var(--c),.35),inset 0 0 44px rgba(var(--c),.12);animation:ct-pulso 4.8s ease-in-out infinite}
.ct-boton--tel .ct-pulso{animation-delay:-1.6s}
.ct-boton--mail .ct-pulso{animation-delay:-3.2s}
.ct-icono{flex:none;display:grid;place-items:center;width:clamp(56px,4.4vw,110px);height:clamp(56px,4.4vw,110px);border-radius:50%;color:var(--ci);
  background:rgba(var(--c),.12);box-shadow:inset 0 0 0 1px rgba(var(--c),.35),0 0 30px rgba(var(--c),.25);transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.ct-boton--wa .ct-icono{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 6px 24px rgba(0,60,25,.35)}
.ct-icono svg{width:50%;height:50%}
.ct-boton--wa .ct-icono svg{width:56%;height:56%}
.ct-texto{flex:1}
.ct-flecha{flex:none;font-size:1.05em;opacity:.7;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .35s}
/* hover / pulsación (solo transform y opacidad en las piezas) */
.ct .ct-boton.listo{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s;transition-delay:0s}
.ct .ct-boton.listo:hover{transform:translateY(-5px) scale(1.015)}
.ct-boton:hover::after{transform:translateX(330%) skewX(-18deg)}
.ct-boton:hover .ct-icono{transform:scale(1.1) rotate(-8deg)}
.ct-boton:hover .ct-flecha{transform:translateX(6px);opacity:1}
.ct .ct-boton.listo:active{transform:translateY(-1px) scale(.97);transition-duration:.12s}
.ct-boton:focus-visible{outline:2px solid var(--turquesa-claro);outline-offset:4px}
.ct-boton--wa:focus-visible{outline-color:#7dffb0}
.ct-cierre{margin:clamp(36px,6vh,72px) auto 0;color:#7f93ab;font-size:clamp(14px,.95vw,22px);letter-spacing:.02em}
/* entrada al hacer scroll (js/contacto.js) */
.ct--anima .ct-anim{opacity:0;transform:translate3d(0,56px,0);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ct--anima .ct-cab.ct-anim{transform:translate3d(0,40px,0) scale(1.06)}
.ct--anima .ct-boton[data-orden="0"]{transform:translate3d(0,70px,0) scale(.94);transition-delay:.08s}
.ct--anima .ct-boton[data-orden="1"]{transform:translate3d(0,70px,0) scale(.94);transition-delay:.18s}
.ct--anima .ct-boton[data-orden="2"]{transform:translate3d(0,70px,0) scale(.94);transition-delay:.28s}
.ct--anima .ct-cierre{transition-delay:.35s}
.ct--anima .ct-anim.visto{opacity:1;transform:none}
.ct--anima .ct-horizonte{opacity:0;transform:scaleX(.55);transition:opacity 1.6s ease,transform 1.8s cubic-bezier(.2,.8,.2,1)}
.ct--anima.ct--visto .ct-horizonte{opacity:1;transform:none}
@keyframes ct-pulso{0%,100%{opacity:.18}50%{opacity:.75}}
@keyframes ct-respira{0%,100%{opacity:.75;transform:translateY(-50%) scale(1)}50%{opacity:1;transform:translateY(-50%) scale(1.06)}}
@media (max-width:1100px) and (min-width:761px){.ct-botones{grid-template-columns:1fr 1fr}.ct-boton--wa{grid-column:1 / -1}}
@media (max-width:760px){
  .ct{min-height:0;padding:96px 20px 64px}
  .ct-h2{font-size:clamp(42px,12.5vw,60px)}
  .ct-entradilla{font-size:16px}
  .ct-botones{grid-template-columns:1fr;gap:14px}
  .ct-boton{min-height:84px;padding:18px 22px;border-radius:22px;font-size:19px}
  .ct-boton--wa{min-height:96px;font-size:20px}
  .ct-icono{width:52px;height:52px}
  .ct--anima .ct-boton[data-orden]:not(.visto){transform:translate3d(0,50px,0) scale(.96);transition-delay:0s}
  .ct-horizonte{bottom:-27%;height:30%;width:260vw;margin-left:-130vw}
}
@media (prefers-reduced-motion:reduce){.ct-boton::after{display:none}.ct-pulso,.ct-halo{animation:none}.ct-pulso{opacity:.4}}
@media (max-width:1100px){.nav__links{gap:18px;font-size:14px}}
@media (max-width:860px){
  .nav{padding:14px 20px}
  .nav__logo img{height:27px;transform:translateY(1px)} /* ≈ 193px de ancho */
  .nav__hamburguesa{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:46px;height:46px;padding:0;border-radius:14px;cursor:pointer;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
  .nav__hamburguesa span{display:block;width:20px;height:2px;border-radius:2px;background:#fff;transition:transform .3s,opacity .2s}
  .nav.abierto .nav__hamburguesa span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .nav.abierto .nav__hamburguesa span:nth-child(2){opacity:0}
  .nav.abierto .nav__hamburguesa span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .nav__hamburguesa:focus-visible{outline:2px solid var(--turquesa-claro);outline-offset:3px}
  .nav__panel{position:absolute;top:calc(100% + 2px);left:16px;right:16px;padding:10px;border-radius:20px;
    background:rgba(15,30,51,.8);-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
    border:1px solid rgba(255,255,255,.16);box-shadow:0 0 0 1px rgba(40,175,164,.15),0 0 40px -10px rgba(40,175,164,.5),0 30px 60px -20px rgba(0,0,0,.8);
    opacity:0;visibility:hidden;transform:translateY(-10px) scale(.98);transform-origin:top right;transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1),visibility 0s .3s}
  .nav.abierto .nav__panel{opacity:1;visibility:visible;transform:none;transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1),visibility 0s}
  .nav__links{flex-direction:column;gap:2px;font-size:19px}
  .nav__links a{display:block;padding:15px 16px;border-radius:12px;color:#fff}
  .nav__links a::after{display:none}
  .nav__links a:active,.nav__links a:hover{background:rgba(40,175,164,.14)}
  .nav__velo{position:fixed;inset:0;z-index:19;background:rgba(5,12,22,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
  .nav.abierto{background:rgba(11,22,38,.55)}
}
/* móvil vertical: texto arriba, estudio debajo */
@media (max-width:760px){
  .cine{--l1:300svh;--svc:816svh;--pry:calc(760svh * var(--pr-n,.74));height:calc(300vh + 816vh + 562vh + 100vh);height:calc(var(--l1) + var(--svc) + var(--pry) + 100svh)}
  .py-img--movil{display:block;opacity:0}
  .py-capa:not([data-i="0"]) .py-img--pc{display:none}
  .py-capa:not([data-i="0"]) .py-img--movil{opacity:1}
  .py-capa[data-i="0"] .py-img--pc{inset:auto 0;top:50%;height:62.5vw;margin-top:-31.25vw}
  .py-borra{background:rgba(3,8,16,.5);-webkit-mask-image:linear-gradient(0deg,#000 0%,#000 calc(var(--m,50) * 1%),rgba(0,0,0,.6) calc(var(--m,50) * 1% + 10%),transparent calc(var(--m,50) * 1% + 20%));mask-image:linear-gradient(0deg,#000 0%,#000 calc(var(--m,50) * 1%),rgba(0,0,0,.6) calc(var(--m,50) * 1% + 10%),transparent calc(var(--m,50) * 1% + 20%))}
  .py-velo{background:linear-gradient(0deg,rgba(3,8,16,.96) 0%,rgba(3,8,16,.9) 28%,rgba(3,8,16,.62) 42%,rgba(3,8,16,.2) 54%,transparent 64%),linear-gradient(180deg,rgba(3,8,16,.6) 0%,transparent 16%)}
  .py-intro{left:20px;right:20px;width:auto;top:auto;bottom:12svh;transform:none}
  .py-h2{font-size:clamp(38px,11vw,54px)}
  .py-item{left:20px;right:20px;width:auto;bottom:10svh}
  .py-linea{font-size:12px;letter-spacing:.24em;margin-bottom:12px;gap:10px}
  .py-linea::before{width:22px}
  .py-item h3{font-size:clamp(38px,11.4vw,56px)}
  .py-contador{bottom:3.2svh}
  .py-cierre{bottom:9svh}
  .py-cta{font-size:17px;gap:16px;padding:9px 9px 9px 26px}
  .sv-lienzo{--lw:84vw;height:calc(var(--lw) * .8);margin-top:calc(var(--lw) * -.4)}
  .sv-frase{font-size:30vw;top:34%}
  .sv-intro{left:20px;right:20px;width:auto;top:auto;bottom:12svh;margin:0;transform:none}
  .sv-h2{font-size:clamp(32px,9.4vw,46px)}
  .sv-item{left:20px!important;right:20px!important;width:auto;top:auto;bottom:10svh;transform:none}
  .sv-num{font-size:58px;-webkit-text-stroke-width:1px;margin-bottom:.08em}
  .sv-item h3{font-size:clamp(28px,8.2vw,40px)}
  .sv-item p{font-size:15.5px;line-height:1.5}
  .sv-item p.sv-cierre{margin-top:1.1em}
  .sv-contador{bottom:3.2svh}
  .sv-suelo{height:22%}
  .sv-foto{bottom:auto;height:64svh;background-position:90% 50%;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
  .sv--fotos .sv-fondo::after{background:linear-gradient(0deg,rgba(3,8,16,.7),transparent 45%)}
  /* v13: fotos/vídeos verticales de Pixel (-movil, 9:16) a pantalla completa */
  .sv--movil .sv-foto{height:auto;bottom:0;background-position:50% 50%;-webkit-mask-image:linear-gradient(180deg,#000 70%,transparent 98%);mask-image:linear-gradient(180deg,#000 70%,transparent 98%)}
  .sv--movil .sv-foto video{object-position:50% 50%}
  .sv-suelo__reflejo{width:110vw;margin-left:-55vw}
  .a-burbuja{font-size:calc(var(--u) * 2.9);padding:0 calc(var(--u) * 2.4);gap:calc(var(--u) * 1.5)}
  .a-avatar{width:calc(var(--u) * 4);height:calc(var(--u) * 4)}
  .a-chip{font-size:calc(var(--u) * 2.7);padding:0 calc(var(--u) * 2.4);gap:calc(var(--u) * 1.4)}
  .a-chip__dot{width:calc(var(--u) * 1.6);height:calc(var(--u) * 1.6)}
  /* móvil: texto arriba (pared oscura), pantalla y sillón libres en el centro, botones abajo */
  .portada{left:20px;right:20px;top:88px;bottom:22px;width:auto;max-width:none;transform:none;display:flex;flex-direction:column;align-items:flex-start}
  .etiqueta{font-size:11.5px;padding:7px 12px;margin-bottom:16px;white-space:nowrap}
  .portada__titulo{font-size:clamp(38px,11.6vw,62px);line-height:.94}
  .portada__sub{margin-top:14px;font-size:15.5px;line-height:1.45;max-width:22em}
  .portada__botones{margin-top:auto;gap:10px;width:100%;flex-wrap:nowrap}
  .portada__botones .btn{flex:1 1 0;justify-content:center;text-align:center}
  .btn{padding:16px 14px;font-size:16px}
  .fondo__velo{background:
    linear-gradient(180deg,rgba(5,11,21,.9) 0%,rgba(5,11,21,.72) 30%,rgba(5,11,21,.2) 44%,transparent 52%),
    linear-gradient(0deg,rgba(5,11,21,.92) 0%,rgba(5,11,21,.55) 12%,transparent 24%),
    radial-gradient(130% 70% at 55% 58%,transparent 45%,rgba(3,7,14,.7) 100%)}
  .desliza{display:none}
  .estudio{background:radial-gradient(90% 45% at 55% 76%,#0d2a45 0%,#081a2e 40%,#050c17 80%),var(--negro)}
  .estudio__halo{left:-10%;top:50%;width:130%;height:55%}
  .estudio__rayos{display:none}
  .estudio__mesa{top:90%}
  .estudio__reflejo{left:10%;width:90%}
  .monitor{left:8%;top:66%;width:104vw;transform:rotateY(-12deg)}
  .monitor__marco{padding:6px;border-radius:12px}
  .monitor__pantalla{border-radius:8px}
  .monitor__cuello{height:4vh}.monitor__base{top:calc(100% + 4vh)}
  .tablet,.teclado,.lampara{display:none}
  .muro__plano{width:330vw;gap:3.4vw;transform:translate(-50%,-50%) rotateX(22deg) rotateZ(-14deg)}
  .muro__col{flex-basis:44vw;height:200svh}
  .muro__col--movil{flex-basis:26vw}
  .muro__tira{gap:3.4vw}
  .teja{border-radius:8px}
  .muro__rotulo{bottom:9vh}
  .desliza{bottom:16px}
}
@media (min-width:1600px){
  .nav__links{font-size:17px}
  .etiqueta{font-size:16px}
  .btn{padding:20px 36px}
}
@media (min-width:2000px){
  .nav{padding-top:28px}
  .nav__logo img{height:40px} /* ≈ 286px en 2560 */
  .nav__links{font-size:20px}
  .etiqueta{font-size:20px;padding:12px 20px}
  .btn{padding:24px 42px;font-size:24px;border-radius:18px}
  .teja{border-radius:18px}
  .desliza{font-size:15px}
}

/* ---------- Movimiento reducido: sin cámara ni deriva, solo fundidos ---------- */
@media (prefers-reduced-motion:reduce){
  .sv-frase{opacity:.6}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

/* Redes: dos botones (Adrián: gestión y seguidores · Manu: vídeos y contenido) */
.rd-botones{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,1vw,22px)}
.rd-botones .rd-boton{min-height:clamp(72px,5.4vw,130px)}
.rd-boton__texto small{display:block;font-size:.58em;font-weight:500;letter-spacing:.06em;text-transform:uppercase;opacity:.82;margin-bottom:.2em}
.rd-botones .rd-boton:nth-child(2) .rd-boton__pulso{animation-delay:-2.4s}

/* ───────── 6c · CONÓCENOS / EQUIPO (js/equipo.js; vídeos y pósters en img/equipo/) ─────────
   PC: pista de 300vh con escena fijada (sticky). Adrián (izq.) y Manuel (dcha.) emergen del fondo (opacidad + escala + póster
   desenfocado que se funde con el vídeo nítido), el scroll los gira hacia cámara y sus tarjetas de cristal llegan al centro.
   Móvil (<800px): personas apiladas, cada una emerge y gira al cruzar la pantalla; su tarjeta solapa el pie del vídeo.
   Animaciones solo con transform y opacidad (el desenfoque es estático, en el póster). */
.eq{position:relative;z-index:2;--eq-bg:#0A1627;
  background:var(--eq-bg)}
/* --eq-bg = color con el que Chrome pinta el fondo plano de los vídeos (#0A1426 codificado en BT.601 → #0A1627 en pantalla).
   La escena es de ese color liso: así el rectángulo del vídeo no se distingue del fondo en ningún punto del scroll. */
.eq-pista{position:relative;height:300vh;height:300svh}
.eq-escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate;--fh:min(72vh,46vw);--cx:20.5vw;background:var(--eq-bg)}
/* niebla y suelo van POR ENCIMA de los vídeos (en «screen», solo aclaran) para que cubran por igual vídeo y fondo; antes
   iban detrás y el vídeo las tapaba: el hueco central quedaba más claro y cada borde del vídeo se veía como un panel */
.eq-fondo{position:absolute;inset:0;z-index:2;pointer-events:none;mix-blend-mode:screen}
/* PC: oscurecido arriba/abajo hacia --negro (enlaza con Redes y Contacto) aplicado sobre TODO (vídeo incluido), no solo al fondo */
@media (min-width:800px){
  .eq-escena::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
    background:linear-gradient(180deg,var(--negro) 0%,rgba(5,11,21,.55) 6%,rgba(5,11,21,0) 16%,rgba(5,11,21,0) 82%,rgba(5,11,21,.6) 93%,var(--negro) 100%)}
}
.eq-niebla{position:absolute;left:50%;top:50%;width:min(1500px,120vw);aspect-ratio:2/1;margin-left:calc(min(1500px,120vw) / -2);transform:translateY(-50%);
  background:radial-gradient(closest-side,rgba(36,95,155,.16),rgba(40,175,164,.05) 60%,transparent)}
.eq-suelo{position:absolute;left:50%;bottom:-60vh;width:160vw;height:80vh;margin-left:-80vw;border-radius:50%;
  background:radial-gradient(closest-side,rgba(40,175,164,.09),rgba(36,95,155,.04) 60%,transparent 72%)}
/* personas: dos tarjetas iguales 4:5 (864×1080 en PC, 1080×1350 en móvil), misma altura y alineadas abajo */
.eq-persona{--fw:calc(var(--fh) * .8);position:absolute;z-index:1;bottom:calc(50% - var(--fh) * .47);width:var(--fw);margin:0}
.eq-persona--adrian{left:calc(var(--cx) - var(--fw) / 2)}
.eq-persona--manu{right:calc(var(--cx) - var(--fw) / 2)}
.eq-marco{position:relative;height:var(--fh);will-change:transform,opacity}
.eq-halo{display:none;position:absolute;left:-22%;right:-22%;top:0;bottom:-4%;border-radius:50%;pointer-events:none;will-change:transform,opacity;
  background:radial-gradient(closest-side,rgba(51,207,193,.32),rgba(36,95,155,.24) 46%,rgba(36,95,155,.07) 72%,transparent)}
.eq-persona--adrian .eq-halo{background:radial-gradient(closest-side,rgba(77,159,232,.34),rgba(40,175,164,.2) 48%,rgba(36,95,155,.06) 74%,transparent)}
/* los vídeos ya vienen sobre #0B1626 plano con su propio resplandor (el halo CSS queda apagado); solo un fundido
   vertical muy suave por si el fondo de la sección se oscurece en sus extremos */
.eq-medio{position:absolute;inset:0;
  --lat:linear-gradient(90deg,transparent 0%,#000 9%,#000 91%,transparent 100%);--ver:linear-gradient(180deg,transparent 0%,#000 5%,#000 88%,transparent 100%);
  -webkit-mask-image:var(--lat),var(--ver);-webkit-mask-composite:source-in;mask-image:var(--lat),var(--ver);mask-composite:intersect}
.eq-video,.eq-final,.eq-borroso{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.eq-video{background:var(--eq-bg)}
.eq-borroso{z-index:1;filter:blur(14px);transform:scale(1.06);opacity:0;will-change:opacity}
.eq-final{z-index:2;visibility:hidden}
.eq--quieto .eq-final,.eq-persona--estatica .eq-final{visibility:visible}
.eq--quieto .eq-video,.eq-persona--estatica .eq-video,.eq--quieto .eq-borroso{display:none}
/* centro: etiqueta + título + frase y, debajo, las dos tarjetas de cristal */
.eq-centro{position:absolute;z-index:3;left:50%;top:calc(50% + 34px);width:min(31vw,540px);transform:translate(-50%,-50%);text-align:center}
.eq-cab .etiqueta{margin-bottom:18px}
.eq-h2{margin:0;font-size:clamp(36px,3.2vw,130px);font-weight:800;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.eq-pal{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .03em .12em;margin:0 -.03em -.12em}
.eq-pal>span{display:inline-block;will-change:transform}
.eq-raya{display:block;width:min(120px,40%);height:1px;margin:20px auto 0;background:linear-gradient(90deg,transparent,rgba(95,227,214,.8),transparent);will-change:transform,opacity}
.eq-entradilla{margin:16px auto 0;max-width:21em;color:var(--texto-suave);font-size:clamp(16px,1.1vw,28px);line-height:1.5}
.eq-tarjetas{display:grid;gap:clamp(12px,1.8vh,22px);margin-top:clamp(20px,3.4vh,44px)}
.eq-tarjeta{position:relative;text-align:left}
.eq-tarjeta--manu{text-align:right}
.eq-flota{animation:eq-flota 6.5s ease-in-out infinite}
.eq-tarjeta--manu .eq-flota{animation-delay:-3.25s}
@keyframes eq-flota{0%,100%{transform:translate3d(0,-5px,0)}50%{transform:translate3d(0,6px,0)}}
.eq-cristal{position:relative;padding:clamp(16px,1.25vw,30px) clamp(20px,1.6vw,38px);border-radius:22px;will-change:transform;
  background:linear-gradient(160deg,rgba(34,66,99,.42),rgba(9,20,36,.58) 60%,rgba(9,22,38,.5));
  -webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 30px 70px -34px rgba(0,0,0,.9),0 0 70px -26px rgba(40,175,164,.45)}
.eq-cristal::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;
  background:linear-gradient(120deg,rgba(77,159,232,.75),rgba(51,207,193,.25) 45%,rgba(111,240,226,.7));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.eq-tarjeta--manu .eq-cristal::before{background:linear-gradient(240deg,rgba(77,159,232,.75),rgba(51,207,193,.25) 45%,rgba(111,240,226,.7))}
.eq-cristal::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.07),transparent 50%)}
.eq-tarjeta--manu .eq-cristal::after{background:radial-gradient(120% 90% at 100% 0%,rgba(255,255,255,.07),transparent 50%)}
.eq-rol{display:inline-block;margin:0 0 6px;font-size:clamp(12px,.8vw,20px);font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  background:var(--grad-luz);-webkit-background-clip:text;background-clip:text;color:transparent}
.eq-nombre{margin:0;font-size:clamp(28px,2.2vw,64px);font-weight:800;letter-spacing:-.04em;line-height:1}
.eq-linea{margin:8px 0 0;color:var(--texto-suave);font-size:clamp(14px,.95vw,24px);line-height:1.5}
/* conector: línea fina de la tarjeta hacia su persona, con un punto de luz */
.eq-conector{position:absolute;top:50%;width:clamp(28px,4.4vw,110px);height:1px;pointer-events:none;will-change:transform,opacity}
.eq-tarjeta--adrian .eq-conector{right:100%;transform-origin:100% 50%;background:linear-gradient(270deg,rgba(95,227,214,.85),rgba(77,159,232,0))}
.eq-tarjeta--manu .eq-conector{left:100%;transform-origin:0 50%;background:linear-gradient(90deg,rgba(95,227,214,.85),rgba(77,159,232,0))}
.eq-conector i{position:absolute;top:-3px;width:7px;height:7px;border-radius:50%;background:#bff8f1;box-shadow:0 0 10px 2px rgba(95,227,214,.8);animation:eq-chispa 3.2s ease-in-out infinite}
.eq-tarjeta--adrian .eq-conector i{right:-3px;--d:calc(-1 * clamp(28px,4.4vw,110px))}
.eq-tarjeta--manu .eq-conector i{left:-3px;--d:clamp(28px,4.4vw,110px);animation-delay:-1.6s}
@keyframes eq-chispa{0%{transform:translate3d(0,0,0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translate3d(var(--d),0,0);opacity:0}}
.eq:not(.eq--activo) .eq-flota,.eq:not(.eq--activo) .eq-conector i{animation-play-state:paused}
/* estado inicial cuando el JS anima (el JS escribe luego transform/opacidad en línea) */
.eq--anima .eq-revela,.eq--anima .eq-raya,.eq--anima .eq-tarjeta,.eq--anima .eq-conector,.eq--anima .eq-marco{opacity:0}
.eq--anima .eq-pal>span{transform:translate3d(0,110%,0)}
.eq--anima .eq-borroso{opacity:1}
/* PC estrecho / tableta: personas más abiertas y centro más ancho */
@media (min-width:800px) and (max-width:1100px){
  .eq-escena{--fh:min(62vh,50vw);--cx:17vw}
  .eq-centro{width:min(40vw,440px)}
  .eq-h2{font-size:clamp(30px,3.6vw,42px)}
  .eq-linea{display:none}
  .eq-conector{display:none}
}
@media (min-width:800px) and (max-height:700px){.eq-linea{display:none}.eq-entradilla{display:none}.eq-raya{display:none}}
/* móvil: Adrián + su tarjeta, luego Manuel + la suya (display:contents saca las tarjetas del centro para ordenarlas) */
@media (max-width:799px){
  .eq{background:linear-gradient(180deg,var(--negro) 0%,var(--eq-bg) 7%,var(--eq-bg) 93%,var(--negro) 100%)}
  .eq-pista{height:auto}
  .eq-escena{position:relative;height:auto;overflow:hidden;background:none;display:flex;flex-direction:column;align-items:center;padding:72px 20px 56px;
    --fh:min(calc((100vw - 40px) * 1.25),560px)}
  .eq-centro,.eq-tarjetas{display:contents}
  .eq-cab{order:0;width:100%;max-width:520px;text-align:center;margin-bottom:28px}
  .eq-h2{font-size:clamp(38px,11vw,54px)}
  .eq-entradilla{font-size:16px}
  .eq-persona{position:relative;bottom:auto;left:auto;right:auto}
  .eq-persona--adrian{order:1}.eq-tarjeta--adrian{order:2}
  .eq-persona--manu{order:3;margin-top:56px}.eq-tarjeta--manu{order:4}
  .eq-tarjeta{position:relative;z-index:3;width:min(88%,400px);margin-top:calc(var(--fh) * -.2)}
  .eq-tarjeta--manu{text-align:left}
  .eq-tarjeta--manu .eq-cristal::before{background:linear-gradient(120deg,rgba(77,159,232,.75),rgba(51,207,193,.25) 45%,rgba(111,240,226,.7))}
  .eq-tarjeta--manu .eq-cristal::after{background:radial-gradient(120% 90% at 0% 0%,rgba(255,255,255,.07),transparent 50%)}
  .eq-medio{--lat:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%)}   /* brazos cerca del borde en móvil */
  .eq-cristal{padding:18px 20px}
  .eq-nombre{font-size:30px}
  .eq-linea{font-size:15px}
  .eq-conector{display:none}
}
/* movimiento reducido: sin pista larga, sin scrub ni flotación; fotogramas finales */
.eq--quieto .eq-pista{height:auto}
.eq--quieto .eq-escena{position:relative}
@media (min-width:800px){.eq--quieto .eq-escena{height:max(100vh,calc(var(--fh) + 180px))}}
@media (prefers-reduced-motion:reduce){.eq-flota,.eq-conector i{animation:none!important}.eq-conector i{opacity:0}}

/* PC con vídeo conjunto (1920×1080, Adrián izq. · Manuel dcha., fondo #0B1626): título arriba y, debajo, el vídeo apoyado
   en el borde inferior. --u = 1 px del vídeo original, así tarjetas y textos escalan con él. Las tarjetas van a la altura
   de las cabezas, centradas en x≈890 (centro real del hueco): zona libre x 570–1210, y 100–430 durante todo el giro. */
.eq-juntos[hidden]{display:none}
@media (min-width:800px){
  .eq--juntos .eq-persona:not(.eq-juntos){display:none}
  .eq--juntos .eq-escena{--arriba:230px;--jh:min(calc(100svh - var(--arriba)),calc(100vw * 9 / 16));--jw:calc(var(--jh) * 16 / 9);--u:calc(var(--jw) / 1920)}
  .eq-juntos{left:50%;right:auto;top:auto;bottom:0;width:var(--jw);margin-left:calc(var(--jw) / -2)}
  .eq-juntos .eq-marco{height:var(--jh)}
  /* fundido suave en los cuatro bordes: el fondo de la sección se oscurece hacia abajo y el rectángulo del vídeo se notaría */
  .eq-juntos .eq-medio{--lat:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%);--ver:linear-gradient(180deg,transparent 0%,#000 7%,#000 86%,transparent 100%)}
  .eq--juntos .eq-centro{display:contents}
  .eq--juntos .eq-cab{position:absolute;z-index:3;left:50%;top:clamp(76px,9.5vh,118px);width:min(92vw,1100px);transform:translateX(-50%);text-align:center}
  .eq--juntos .eq-cab .etiqueta{margin-bottom:14px}
  .eq--juntos .eq-h2{font-size:clamp(32px,min(3.3vw,5.6vh),76px)}
  .eq--juntos .eq-raya{margin-top:14px}
  .eq--juntos .eq-entradilla{max-width:none;margin-top:12px}
  .eq--juntos .eq-tarjetas{position:absolute;z-index:3;top:calc(100% - var(--jh) + var(--u) * 100);left:calc(50% - var(--u) * 70);width:calc(var(--u) * 640);
    transform:translateX(-50%);margin:0;grid-template-columns:1fr 1fr;gap:calc(var(--u) * 24);align-items:start}
  .eq--juntos .eq-cristal{padding:calc(var(--u) * 24) calc(var(--u) * 26);border-radius:max(14px,calc(var(--u) * 30))}
  .eq--juntos .eq-rol{font-size:max(10px,calc(var(--u) * 16));letter-spacing:.1em;margin-bottom:calc(var(--u) * 8)}
  .eq--juntos .eq-nombre{font-size:max(20px,calc(var(--u) * 44))}
  .eq--juntos .eq-linea{font-size:max(12px,calc(var(--u) * 20));margin-top:calc(var(--u) * 10);line-height:1.45}
  .eq--juntos .eq-conector{display:block;width:calc(var(--u) * 56)}
  .eq--juntos .eq-tarjeta--adrian .eq-conector{width:calc(var(--u) * 24)}  /* su oreja llega a x≈541 al final del giro */
  .eq--juntos .eq-tarjeta--adrian .eq-conector i{--d:calc(var(--u) * -24)}
  .eq--juntos .eq-tarjeta--manu .eq-conector i{--d:calc(var(--u) * 56)}
}
@media (max-width:799px){.eq-juntos{display:none!important}}

/* ================= v13 · Pie de página + redes en Contacto ================= */
.ct-redes{display:flex;justify-content:center;gap:14px;margin:clamp(18px,2.6vh,30px) auto 0}
.ct-red{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#9fb3c9;
  background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:color .3s,background .3s,box-shadow .3s,transform .35s cubic-bezier(.2,.8,.2,1)}
.ct-red svg{width:19px;height:19px}
.ct-red:hover{color:#fff;background:rgba(40,175,164,.14);box-shadow:inset 0 0 0 1px rgba(95,227,214,.5),0 8px 26px -8px rgba(40,175,164,.7);transform:translateY(-3px)}
.ct-red:focus-visible{outline:2px solid var(--turquesa-claro);outline-offset:3px}
.ct--anima .ct-redes{transition-delay:.45s}

.pie{position:relative;z-index:2;overflow:hidden;padding:clamp(56px,8vh,110px) var(--pad) clamp(28px,4vh,44px);
  background:radial-gradient(ellipse 60% 120% at 50% 0%,rgba(36,95,155,.16),transparent 70%),linear-gradient(180deg,var(--negro),#040912 60%,#03070e)}
.pie::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
  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:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 55% 80% at 50% 0%,#000,transparent 70%);mask-image:radial-gradient(ellipse 55% 80% at 50% 0%,#000,transparent 70%)}
.pie-horizonte{position:absolute;left:50%;top:0;width:min(1100px,86vw);height:1px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(95,227,214,.75),rgba(77,159,232,.6),transparent);box-shadow:0 0 22px 2px rgba(40,175,164,.35)}
.pie>*{position:relative}
.pie-arriba{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(20px,3vw,64px);max-width:1500px;margin:0 auto;
  padding-bottom:clamp(30px,4.5vh,52px);border-bottom:1px solid rgba(255,255,255,.08)}
.pie-logo img{height:clamp(28px,2vw,44px);width:auto;transition:opacity .3s}
.pie-logo:hover img{opacity:.85}
.pie-lema{margin:0;color:#7f93ab;font-size:clamp(14px,.95vw,20px);letter-spacing:.01em}
.pie-acciones{display:flex;align-items:center;gap:clamp(14px,1.4vw,26px)}
.pie-correo{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:99px;color:#cfe0ef;font-size:clamp(14px,.95vw,20px);font-weight:500;
  background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);transition:color .3s,background .3s,box-shadow .3s,transform .35s cubic-bezier(.2,.8,.2,1)}
.pie-correo svg{width:18px;height:18px;color:var(--turquesa-claro)}
.pie-correo:hover{color:#fff;background:rgba(40,175,164,.12);box-shadow:inset 0 0 0 1px rgba(95,227,214,.45);transform:translateY(-2px)}
.pie-redes{display:flex;gap:12px}
.pie-red{display:grid;place-items:center;width:clamp(46px,3vw,60px);height:clamp(46px,3vw,60px);border-radius:50%;color:#d8e6f2;position:relative;
  background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:color .3s,box-shadow .35s,transform .35s cubic-bezier(.2,.8,.2,1)}
.pie-red::before{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--grad);opacity:0;transition:opacity .35s}
.pie-red svg{position:relative;width:42%;height:42%}
.pie-red:hover{color:#fff;transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(95,227,214,.6),0 12px 32px -10px rgba(40,175,164,.9)}
.pie-red:hover::before{opacity:.55}
.pie-red:focus-visible,.pie-correo:focus-visible,.pie-logo:focus-visible,.pie-legal a:focus-visible{outline:2px solid var(--turquesa-claro);outline-offset:3px;border-radius:99px}
.pie-abajo{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1500px;margin:0 auto;padding-top:clamp(20px,3vh,30px);
  color:#6b7f96;font-size:clamp(13px,.85vw,18px)}
.pie-copy{margin:0}
.pie-legal{display:flex;gap:clamp(18px,2vw,36px)}
.pie-legal a{color:#8ea2b9;transition:color .25s}
.pie-legal a:hover{color:#fff}
@media (max-width:900px){
  .pie-arriba{grid-template-columns:1fr;justify-items:center;text-align:center;gap:18px}
  .pie-acciones{flex-direction:column;gap:18px}
  .pie-abajo{flex-direction:column-reverse;gap:12px}
}
@media (prefers-reduced-motion:reduce){.pie-red,.pie-correo,.ct-red{transition:none}.pie-red:hover,.pie-correo:hover,.ct-red:hover{transform:none}}

/* ============ v13 · APPS A MEDIDA (js/apps.js) ============ */
.ap{position:relative;z-index:2;background:var(--negro);--p:0;--k:0}
.ap-pista{position:relative;height:230vh}
.ap-escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center;padding:0 var(--pad)}
.ap-fondo{position:absolute;inset:0;background:#0B1626 url(../img/apps/apps-fondo.webp) center/cover no-repeat}
.ap-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transform:scale(calc(1.06 - var(--p) * .06));transform-origin:62% 50%}
.ap-velo{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(5,11,21,.92) 0%,rgba(5,11,21,.62) 30%,rgba(5,11,21,.08) 58%,transparent 100%),
  linear-gradient(180deg,var(--negro) 0%,rgba(5,11,21,0) 18%,rgba(5,11,21,0) 80%,var(--negro) 100%)}
.ap-intro{position:relative;z-index:2;width:min(44vw,760px)}
.ap-intro .etiqueta{margin-bottom:24px}
.ap-h2{margin:0;font-size:clamp(46px,5.6vw,210px);font-weight:800;line-height:.98;letter-spacing:-.045em;text-wrap:balance}
.ap-linea{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ap-linea>.ap-entra{display:inline-block}
.ap-frase{margin:clamp(20px,3vh,40px) 0 0;max-width:34ch;font-size:clamp(17px,1.35vw,30px);line-height:1.5;color:var(--texto-suave)}
.ap-entra{opacity:0;transform:translateY(38px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * .12s)}
.ap-linea>.ap-entra{transform:translateY(105%)}
.ap--visto .ap-entra{opacity:1;transform:none}

/* panel de cristal */
.ap-panel{position:absolute;z-index:2;left:55%;top:50%;width:min(36vw,720px);perspective:1400px;
  transform:translate3d(0,calc(-50% + (1 - var(--k)) * 70px),0);opacity:calc(var(--k) * 1.4)}
.ap-panel__giro{position:relative;transform-style:preserve-3d;transform:rotateX(calc(var(--rx,0) * 1deg + (1 - var(--k)) * 14deg)) rotateY(calc(var(--ry,0) * 1deg - 9deg)) rotateZ(1deg);transition:transform .1s linear}
.ap-panel__marco{position:relative;border-radius:22px;overflow:hidden;background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.04) 45%,rgba(40,175,164,.06));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 1px 0 rgba(255,255,255,.28),0 40px 90px -20px rgba(0,0,0,.75),0 0 80px -30px rgba(40,175,164,.5);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);font-size:clamp(10px,.72vw,16px)}
.ap-panel__marco::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.09) 45%,transparent 60%);transform:translateX(calc(-60% + var(--p) * 120%))}
.ap-barra{display:flex;align-items:center;gap:.55em;padding:1em 1.3em;border-bottom:1px solid rgba(255,255,255,.08)}
.ap-barra i{width:.75em;height:.75em;border-radius:50%;background:rgba(255,255,255,.22)}
.ap-barra i:first-child{background:#ff6b6b99}.ap-barra i:nth-child(2){background:#ffd16699}.ap-barra i:nth-child(3){background:#5fe3d699}
.ap-barra__url{margin:0 auto;padding:.35em 2.4em;border-radius:99px;background:rgba(255,255,255,.07);color:#b9cbe0;font-size:.95em;letter-spacing:.02em}
.ap-avatar{width:1.9em;height:1.9em;border-radius:50%;background:var(--grad);box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.ap-cuerpo{display:grid;grid-template-columns:3.6em 1fr}
.ap-menu{display:flex;flex-direction:column;align-items:center;gap:1.1em;padding:1.5em 0;border-right:1px solid rgba(255,255,255,.07)}
.ap-menu span{width:1.5em;height:1.5em;border-radius:.45em;background:rgba(255,255,255,.1)}
.ap-menu span.on{background:var(--grad);box-shadow:0 0 14px rgba(40,175,164,.6)}
.ap-main{padding:1.4em 1.6em 1.6em}
.ap-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.1em}
.ap-cab b{font-size:1.45em;font-weight:700;letter-spacing:-.01em}
.ap-pildora{padding:.4em 1em;border-radius:99px;background:rgba(40,175,164,.16);color:var(--turquesa-claro);font-size:.9em;font-weight:600}
.ap-cal{display:grid;grid-template-columns:3.6em repeat(5,1fr);gap:.5em}
.ap-cal__horas{display:grid;grid-template-rows:1.6em repeat(4,2.5em);gap:.45em;color:#8ea3bd;font-size:.85em}
.ap-cal__horas span{display:flex;align-items:center}
.ap-cal__dia{display:grid;grid-template-rows:1.6em repeat(4,2.5em);gap:.45em}
.ap-cal__dia b{text-align:center;color:#b9cbe0;font-weight:600;font-size:.9em}
.ap-cal__dia i{border-radius:.55em;background:rgba(255,255,255,.045);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);position:relative;overflow:hidden}
.ap-cal__dia i.o{background:linear-gradient(135deg,rgba(36,95,155,.75),rgba(36,95,155,.4));box-shadow:inset 0 0 0 1px rgba(120,180,240,.3)}
.ap-cal__dia i.r::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,#28AFA4,#1d8a82);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);
  opacity:0;transform:scale(.6);transition:opacity .45s ease,transform .55s cubic-bezier(.3,1.5,.5,1)}
.ap-cal__dia i.r.on::before{opacity:1;transform:none}
.ap-graf{margin-top:1.3em;padding:1em 1.1em .9em;border-radius:.9em;background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.ap-graf__cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8em}
.ap-graf__cab b{font-size:1em;color:#cfe0f0;font-weight:600}
.ap-graf__cab span{width:4.5em;height:.55em;border-radius:99px;background:linear-gradient(90deg,rgba(95,227,214,.6),rgba(95,227,214,.1))}
.ap-barras{display:flex;align-items:flex-end;gap:.5em;height:5.2em}
.ap-barras i{flex:1;height:100%;border-radius:.35em .35em .15em .15em;background:linear-gradient(180deg,#5fe3d6,#245F9B);transform-origin:bottom;
  transform:scaleY(calc(.06 + var(--h) * var(--g,0)));opacity:calc(.35 + var(--g,0) * .65)}
.ap-toast{position:absolute;display:flex;align-items:center;gap:.8em;padding:.85em 1.2em .85em .85em;border-radius:1em;font-size:clamp(11px,.78vw,17px);white-space:nowrap;
  background:rgba(14,28,46,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 24px 50px -14px rgba(0,0,0,.7);
  opacity:0;transform:translate3d(0,24px,40px) scale(.92);transition:opacity .5s ease,transform .7s cubic-bezier(.25,1.3,.5,1)}
.ap-toast.on{opacity:1;transform:translate3d(0,0,60px)}
.ap-toast b{display:block;font-weight:600;font-size:1.05em}
.ap-toast small{display:block;color:#9fb3ca;font-size:.9em;margin-top:.15em}
.ap-toast__ico{flex:none;display:grid;place-items:center;width:2.6em;height:2.6em;border-radius:.8em;background:var(--grad);color:#fff}
.ap-toast__ico svg{width:1.4em;height:1.4em}
.ap-toast__ico--b{background:linear-gradient(135deg,#4d9fe8,#245F9B)}
.ap-toast__ico--c{background:linear-gradient(135deg,#5fe3d6,#28AFA4);color:#06231f}
.ap-toast--1{right:-7%;top:13%}
.ap-toast--2{left:-13%;bottom:5%}
.ap-toast--3{right:6%;bottom:-6%}

/* tarjetas, cierre, botones */
.ap-resto{position:relative;padding:clamp(40px,6vh,90px) var(--pad) clamp(90px,13vh,190px);background:radial-gradient(60% 50% at 50% 0%,rgba(36,95,155,.14),transparent 70%)}
.ap-tarjetas{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.4vw,30px);max-width:1680px;margin:0 auto}
.ap-tarjeta{position:relative;overflow:hidden;padding:clamp(26px,2.2vw,46px);border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.02));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.ap-tarjeta:hover{transform:translateY(-6px);box-shadow:inset 0 0 0 1px rgba(95,227,214,.35),0 30px 60px -30px rgba(40,175,164,.45)}
.ap-tarjeta__luz{position:absolute;right:-30%;top:-40%;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(40,175,164,.22),transparent);opacity:.6;transition:opacity .45s,transform .6s;pointer-events:none}
.ap-tarjeta:hover .ap-tarjeta__luz{opacity:1;transform:scale(1.15)}
.ap-tarjeta__ico{display:grid;place-items:center;width:clamp(50px,3.4vw,72px);height:clamp(50px,3.4vw,72px);border-radius:16px;margin-bottom:clamp(22px,2.4vw,44px);
  background:linear-gradient(135deg,rgba(36,95,155,.55),rgba(40,175,164,.45));box-shadow:inset 0 0 0 1px rgba(255,255,255,.2),0 10px 30px -10px rgba(40,175,164,.6);color:#eafffb}
.ap-tarjeta__ico svg{width:50%;height:50%}
.ap-tarjeta h3{margin:0 0 12px;font-size:clamp(20px,1.5vw,34px);font-weight:700;letter-spacing:-.02em}
.ap-tarjeta p{margin:0;color:var(--texto-suave);font-size:clamp(15px,1vw,21px);line-height:1.55}
.ap-cierre{margin:clamp(56px,8vh,120px) auto 0;max-width:22ch;text-align:center;font-size:clamp(30px,3.4vw,110px);font-weight:800;line-height:1.05;letter-spacing:-.04em;text-wrap:balance;
  background:linear-gradient(100deg,#fff 0%,#cfe7f0 45%,#6ff0e2 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ap-botones{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:clamp(28px,4vh,54px)}
.ap-ver{gap:12px}
.ap-ver__chev{display:grid;place-items:center;width:1.2em;height:1.2em;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.ap-ver__chev svg{width:100%;height:100%}
.ap-ver[aria-expanded="true"] .ap-ver__chev{transform:rotate(180deg)}
.ap-idea{gap:10px}
.ap-anim{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * .11s)}
.ap-anim.visto{opacity:1;transform:none}
.ap-anim.ap-tarjeta.visto:hover{transform:translateY(-6px)}

/* desplegable: cómo funciona */
.ap-pasos{max-width:1480px;margin:clamp(50px,7vh,100px) auto 0}
.ap-pasos__cab{max-width:820px;margin:0 auto clamp(34px,5vh,70px);text-align:center}
.ap-pasos__cab h3{margin:0 0 18px;font-size:clamp(32px,3.2vw,96px);font-weight:800;letter-spacing:-.04em;line-height:1}
.ap-pasos__cab p{margin:0;color:var(--texto-suave);font-size:clamp(16px,1.15vw,24px);line-height:1.6}
.ap-lista{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,1.6vw,30px)}
.ap-paso{position:relative;overflow:hidden;border-radius:26px;min-height:clamp(280px,25vw,470px);display:flex;align-items:center;background:#0B1626;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.ap-paso__img{position:absolute;inset:0}
.ap-paso__img img{width:100%;height:100%;object-fit:cover;object-position:70% 50%;transform:scale(1.1);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.ap-paso::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(11,22,38,.88) 0%,rgba(11,22,38,.5) 38%,transparent 62%);border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.ap-paso__txt{position:relative;z-index:2;max-width:min(44%,560px);padding:clamp(28px,4vw,80px)}
.ap-paso__n{display:block;font-size:clamp(14px,.9vw,19px);font-weight:700;letter-spacing:.2em;color:var(--turquesa-claro);margin-bottom:14px}
.ap-paso h4{margin:0 0 12px;font-size:clamp(26px,2.4vw,64px);font-weight:800;letter-spacing:-.035em;line-height:1.02}
.ap-paso p{margin:0;color:#c3d3e4;font-size:clamp(16px,1.1vw,24px);line-height:1.55}
.ap-paso__cta{margin-top:clamp(20px,2.4vw,38px);padding-top:clamp(18px,2vw,30px);border-top:1px solid rgba(255,255,255,.12)}
.ap-paso__cta p{color:var(--texto);margin-bottom:20px}
.ap-wa{display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:14px;font-weight:600;font-size:clamp(16px,1.05vw,22px);color:#04211d;
  background:linear-gradient(100deg,#5fe3d6,#28AFA4);box-shadow:0 14px 40px -12px rgba(40,175,164,.7);transition:transform .25s,box-shadow .25s}
.ap-wa svg{width:1.3em;height:1.3em}
.ap-wa:hover{transform:translateY(-3px);box-shadow:0 20px 50px -12px rgba(40,175,164,.9)}
.ap-wa:focus-visible,.ap-ver:focus-visible,.ap-idea:focus-visible{outline:2px solid var(--turquesa-claro);outline-offset:3px}
.ap-wa__flecha{transition:transform .25s}.ap-wa:hover .ap-wa__flecha{transform:translateX(4px)}
/* animación al abrir */
.ap-pasos__cab,.ap-paso{opacity:0;transform:translateY(46px);transition:opacity .7s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.ap-paso{transition-delay:calc(.12s + var(--i) * .12s)}
.ap-pasos.abierto .ap-pasos__cab,.ap-pasos.abierto .ap-paso{opacity:1;transform:none}
.ap-pasos.abierto .ap-paso__img img{transform:scale(1)}

@media (max-width:1100px){
  .ap-tarjetas{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .ap-pista{height:auto}
  .ap-escena{position:relative;height:auto;min-height:0;flex-direction:column;align-items:stretch;padding:clamp(80px,13vh,120px) var(--pad) clamp(50px,8vh,80px)}
  .ap-video{transform:none}
  .ap-fondo{background-position:62% 50%}
  .ap-video{object-position:62% 50%}
  .ap-velo{background:linear-gradient(180deg,var(--negro) 0%,rgba(5,11,21,.75) 22%,rgba(5,11,21,.45) 50%,rgba(5,11,21,.7) 80%,var(--negro) 100%)}
  .ap-intro{width:auto}
  .ap-panel{position:relative;left:auto;top:auto;width:min(100%,520px);margin:clamp(40px,7vh,64px) auto 0;transform:translate3d(0,calc((1 - var(--k)) * 50px),0)}
  .ap-panel__giro{transform:rotateX(calc((1 - var(--k)) * 16deg)) rotateY(-4deg)}
  .ap-panel__marco{font-size:clamp(8.5px,2.5vw,13px)}
  .ap-toast{font-size:clamp(10px,2.8vw,14px)}
  .ap-toast--1{right:-3%;top:-7%}
  .ap-toast--2{left:-3%;bottom:24%}
  .ap-toast--3{right:4%;bottom:-9%}
  .ap-paso{flex-direction:column;align-items:stretch;min-height:0}
  .ap-paso__img{position:relative;aspect-ratio:16/10}
  .ap-paso__img img{object-position:78% 50%}
  .ap-paso::after{background:linear-gradient(180deg,transparent 30%,rgba(11,22,38,.0) 40%,#0B1626 62%)}
  .ap-paso__txt{max-width:none;margin-top:-56px;padding:0 24px 30px}
}
@media (max-width:560px){
  .ap-tarjetas{grid-template-columns:1fr}
  .ap-botones .btn{width:100%;justify-content:center}
  .ap-wa{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .ap{--k:1!important;--p:1!important}
  .ap-entra,.ap-anim,.ap-pasos__cab,.ap-paso,.ap-toast,.ap-cal__dia i.r::before,.ap-paso__img img{opacity:1!important;transform:none!important;transition:none!important}
  .ap-barras i{--g:1!important}
  .ap-panel__marco::after{display:none}
  .ap-panel__giro{transition:none}
}

/* ============ v17 · AGENTES IA (js/agentes.js; fondos de Pixel en img/agentes/) ============
   Sale del cierre de Proyectos (#03080f + brillo azul abajo) y termina en #040b12 (arranque de Precios).
   PC: pista de 280vh con escena fijada. .ag-marco es el fotograma 16:9 «cover» (JS escribe --mw/--mh/--mx/--my), así los iconos
   van en % exactos del vídeo. Titular, chat, beneficios y líneas se colocan en px desde ese mismo cálculo (--*-l/-t/-w).
   Apilado (≤768px o pantalla vertical): sin fijar, marco 9:16 exacto. .ag--quieto = movimiento reducido en PC. */
.ag{position:relative;z-index:2;background:#0B1626;--e:0;--luz:0;--sal:0;--fin:0}
.ag-pista{position:relative;height:280vh;height:280svh}
.ag-escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate;background:#0B1626}
.ag-capa{position:absolute;inset:0}
.ag-marco{position:absolute;z-index:0;width:var(--mw,max(100vw,177.78vh));height:var(--mh,max(100vh,56.25vw));
  left:var(--mx,calc(50% - max(100vw,177.78vh) / 2));top:var(--my,calc(50% - max(100vh,56.25vw) / 2));
  transform:scale(calc(1.06 - var(--e) * .06));transform-origin:49.8% 48.7%;will-change:transform}
.ag-foto,.ag-foto img,.ag-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ag-video{opacity:0;transition:opacity .8s ease}
.ag-video.on{opacity:1}
/* el núcleo se enciende: brillo en «screen» encima del vídeo */
.ag-nucleo{position:absolute;left:49.8%;top:48.7%;width:34%;aspect-ratio:1;transform:translate(-50%,-50%) scale(calc(.85 + var(--luz) * .15));border-radius:50%;pointer-events:none;
  background:radial-gradient(closest-side,rgba(190,255,248,.42),rgba(60,210,198,.22) 38%,rgba(36,95,155,.10) 62%,transparent 100%);mix-blend-mode:screen;
  opacity:calc(var(--luz) * (1 - var(--fin) * .45))}
.ag-nucleo::after{content:"";position:absolute;inset:22%;border-radius:50%;background:radial-gradient(closest-side,rgba(220,255,252,.35),transparent);animation:agLatido 3s ease-in-out infinite}
@keyframes agLatido{50%{opacity:.35;transform:scale(.86)}}
/* iconos de luz en los extremos de los filamentos (% del fotograma 16:9) */
.ag-nodos{list-style:none;margin:0;padding:0}
.ag-nodo{position:absolute;left:var(--x);top:var(--y);width:clamp(34px,2.5vw,72px);aspect-ratio:1;display:grid;place-items:center;border-radius:50%;
  color:#9ff7ee;background:radial-gradient(circle,rgba(12,40,56,.92) 55%,rgba(12,40,56,.6));
  box-shadow:inset 0 0 0 1px rgba(127,240,230,.55),0 0 0 4px rgba(40,175,164,.10),0 0 22px rgba(40,175,164,.55),0 0 60px rgba(40,175,164,.25);
  opacity:0;transform:translate(-50%,-50%) scale(.4);transition:opacity .6s ease,transform .8s cubic-bezier(.25,1.4,.5,1)}
.ag-nodo:nth-child(2n){color:#a9d3ff;box-shadow:inset 0 0 0 1px rgba(120,180,245,.6),0 0 0 4px rgba(36,95,155,.14),0 0 22px rgba(77,159,232,.55),0 0 60px rgba(36,95,155,.3)}
.ag-nodo svg{width:52%;height:52%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 4px currentColor)}
.ag-nodo.on{opacity:calc(1 - var(--fin) * .75);transform:translate(-50%,-50%) scale(1)}
.ag-nodo.tapado{opacity:0!important}
.ag-nodo.recibe{animation:agRecibe .9s ease-out}
@keyframes agRecibe{0%{transform:translate(-50%,-50%) scale(1)}35%{transform:translate(-50%,-50%) scale(1.45);box-shadow:inset 0 0 0 1px #bffcf5,0 0 0 10px rgba(95,227,214,.25),0 0 50px rgba(95,227,214,.9)}100%{transform:translate(-50%,-50%) scale(1)}}
.ag-nodo[data-n="1"]{--x:34.7%;--y:19.1%}.ag-nodo[data-n="2"]{--x:69.6%;--y:19.2%}.ag-nodo[data-n="3"]{--x:80%;--y:51.5%}
.ag-nodo[data-n="4"]{--x:69.2%;--y:82.3%}.ag-nodo[data-n="5"]{--x:34.5%;--y:85.7%}.ag-nodo[data-n="6"]{--x:20.5%;--y:48.6%}
/* velos de lectura + empalmes: arriba con Proyectos (#03080f), abajo con Precios (#040b12) */
.ag-velo{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(ellipse 90% 34% at 50% 0%,rgba(42,143,176,.10),transparent 70%),
    linear-gradient(180deg,#03080f 0%,rgba(3,8,15,.55) 9%,rgba(11,22,38,0) 22%,rgba(11,22,38,0) 84%,rgba(4,11,18,.75) 95%,#040b12 100%),
    linear-gradient(90deg,rgba(7,15,27,.72) 0%,rgba(7,15,27,.35) 24%,transparent 38%,transparent 66%,rgba(7,15,27,.35) 80%,rgba(7,15,27,.6) 100%)}
.ag-velo::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 52%,rgba(5,11,21,.55),rgba(5,11,21,.88));opacity:var(--fin)}
.ag-lineas{position:absolute;inset:0;z-index:2;width:100%;height:100%;pointer-events:none;overflow:visible}
.ag-lineas line{stroke:rgba(110,232,220,.8);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;opacity:0;transition:stroke-dashoffset .9s cubic-bezier(.3,.7,.2,1),opacity .4s;filter:drop-shadow(0 0 3px rgba(95,227,214,.8))}
.ag-lineas line.on{stroke-dashoffset:0;opacity:calc(.9 - var(--sal) * .9)}

/* titular */
.ag-intro{position:absolute;z-index:3;left:var(--in-l,var(--pad));top:var(--in-t,12vh);width:var(--in-w,30vw);
  opacity:calc(1 - var(--sal));transform:translate3d(0,calc(var(--sal) * -40px),0)}
.ag-intro .etiqueta{margin-bottom:clamp(14px,2vh,26px)}
.ag-h2{margin:0;font-size:clamp(32px,calc(var(--in-w,30vw) * .102),120px);font-weight:800;line-height:1;letter-spacing:-.045em;text-shadow:0 10px 50px rgba(0,0,0,.55)}
.ag-linea{display:block;overflow:hidden;padding-bottom:.09em;margin-bottom:-.09em}
.ag-linea>.ag-entra{display:inline-block}
.ag-entradilla{margin:clamp(14px,2.2vh,28px) 0 0;font-size:clamp(15px,calc(var(--in-w,30vw) * .041),26px);line-height:1.5;color:#c3d3e4;text-shadow:0 2px 18px rgba(0,0,0,.7)}
.ag-entra{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i) * .11s)}
.ag-linea>.ag-entra{transform:translateY(105%)}
.ag--visto .ag-entra{opacity:1;transform:none}

/* panel de chat de cristal (texto real) */
.ag-chat{position:absolute;z-index:3;left:var(--ch-l,73vw);top:var(--ch-t,56vh);width:var(--ch-w,23vw);height:var(--ch-h,36vh);display:flex;flex-direction:column;
  border-radius:20px;font-size:clamp(12.5px,calc(var(--ch-w,23vw) * .041),19px);
  background:linear-gradient(155deg,rgba(255,255,255,.13),rgba(255,255,255,.04) 45%,rgba(40,175,164,.07));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),inset 0 1px 0 rgba(255,255,255,.26),0 40px 90px -24px rgba(0,0,0,.8),0 0 70px -24px rgba(40,175,164,.55);
  -webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);
  opacity:calc(var(--k,0) * (1 - var(--sal)));transform:translate3d(0,calc((1 - var(--k,0)) * 60px + var(--sal) * -30px),0) scale(calc(.94 + var(--k,0) * .06));transform-origin:50% 100%}
.ag-chat__cab{flex:none;display:flex;align-items:center;gap:.75em;padding:.9em 1.1em;border-bottom:1px solid rgba(255,255,255,.09)}
.ag-chat__avatar{display:grid;place-items:center;width:2.3em;height:2.3em;border-radius:50%;color:#04211d;background:linear-gradient(135deg,#7ff0e6,#28AFA4 60%,#245F9B);box-shadow:0 0 16px rgba(95,227,214,.55)}
.ag-chat__avatar svg{width:60%;height:60%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.ag-chat__nombre b{display:block;font-weight:700;font-size:1.08em;letter-spacing:-.01em}
.ag-chat__nombre small{display:flex;align-items:center;gap:.4em;margin-top:.1em;color:#9fb3ca;font-size:.82em}
.ag-chat__nombre small i{width:.5em;height:.5em;border-radius:50%;background:#5fe3d6;box-shadow:0 0 8px #5fe3d6}
.ag-chat__cuerpo{flex:1;min-height:0;overflow:hidden;padding:0 1em 2em;display:flex;flex-direction:column;justify-content:flex-end;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 1.6em);mask-image:linear-gradient(180deg,transparent 0,#000 2.6em)}
.ag-chat__pista{flex:none;display:flex;flex-direction:column;gap:.55em;padding-top:1.4em}
.ag-msg{display:none;margin:0;max-width:86%;padding:.62em .9em;line-height:1.42;border-radius:1.05em}
.ag-msg.on{display:block;animation:agMsg .55s cubic-bezier(.25,1.3,.5,1) both}
.ag-msg--cliente{align-self:flex-end;border-bottom-right-radius:.3em;color:#04211d;font-weight:500;background:linear-gradient(120deg,#8ff5ea,#3cc9bd)}
.ag-msg--ia{align-self:flex-start;border-bottom-left-radius:.3em;color:var(--texto);background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}
@keyframes agMsg{from{opacity:0;transform:translateY(12px) scale(.94)}}
.ag-escribe{display:none;align-self:flex-start;gap:.3em;margin:0;padding:.75em .95em;border-radius:1.05em;border-bottom-left-radius:.3em;background:rgba(255,255,255,.08)}
.ag-escribe.on{display:flex;animation:agMsg .35s ease both}
.ag-escribe i{width:.45em;height:.45em;border-radius:50%;background:#9fdcd6;animation:agPunto 1s ease-in-out infinite}
.ag-escribe i:nth-child(2){animation-delay:.15s}.ag-escribe i:nth-child(3){animation-delay:.3s}
@keyframes agPunto{30%{transform:translateY(-.3em);opacity:1}0%,60%,100%{opacity:.4;transform:none}}
.ag-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ag-pildora{position:absolute;left:50%;bottom:0;z-index:2;display:flex;align-items:center;gap:.55em;margin:0;padding:.6em 1.1em .6em .65em;border-radius:99px;white-space:nowrap;
  font-weight:600;font-size:.95em;color:#eafffb;background:rgba(10,40,48,.92);box-shadow:inset 0 0 0 1px rgba(127,240,230,.6),0 0 30px rgba(40,175,164,.55),0 16px 30px -10px rgba(0,0,0,.7);
  opacity:0;transform:translate(-50%,40%) scale(.7);transition:opacity .4s ease,transform .6s cubic-bezier(.25,1.4,.5,1);pointer-events:none}
.ag-pildora__ico{display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:50%;color:#04211d;background:linear-gradient(135deg,#7ff0e6,#28AFA4)}
.ag-pildora__ico svg{width:58%;height:58%;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.ag-pildora.on{opacity:1;transform:translate(-50%,50%) scale(1)}
.ag-pildora.vuela{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),calc(50% + var(--dy,-200px))) scale(.3);
  transition:transform 1s cubic-bezier(.5,0,.2,1),opacity .35s ease .7s}

/* beneficios: tarjetas pequeñas junto a los extremos de luz */
.ag-beneficios{list-style:none;margin:0;padding:0}
.ag-ben{position:absolute;z-index:3;left:var(--x,0);top:var(--y,0);width:var(--w,300px);padding:clamp(12px,1vw,22px) clamp(14px,1.15vw,26px);border-radius:16px;
  background:linear-gradient(160deg,rgba(18,38,58,.78),rgba(8,18,30,.82));box-shadow:inset 0 0 0 1px rgba(150,220,230,.16),0 24px 50px -22px rgba(0,0,0,.8);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  opacity:0;transform:translate3d(0,18px,0) scale(.96);transition:opacity .6s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.ag-ben.on{opacity:calc(1 - var(--sal));transform:translate3d(0,calc(var(--sal) * -26px),0)}
.ag-ben h3{display:flex;align-items:center;gap:.55em;margin:0 0 .35em;font-size:clamp(15px,1.06vw,26px);font-weight:700;letter-spacing:-.015em;line-height:1.2}
.ag-ben h3::before{content:"";flex:none;width:.5em;height:.5em;border-radius:50%;background:#5fe3d6;box-shadow:0 0 10px #5fe3d6}
.ag-ben p{margin:0;color:#b4c6da;font-size:clamp(13px,.9vw,21px);line-height:1.45}

/* modalidades (al final de la escena) */
.ag-formas{position:absolute;z-index:4;left:50%;top:calc(50% + 30px);width:min(1180px,calc(100% - 2 * var(--pad)));text-align:center;
  transform:translate(-50%,-50%) scale(var(--fit,1));pointer-events:none;visibility:hidden}
.ag-formas.activa{pointer-events:auto;visibility:visible}
.ag-formas>*{opacity:var(--a,0);transform:translate3d(0,calc((1 - var(--a,0)) * 60px),0)}
.ag-formas>.ag-tarjetas{opacity:1;transform:none}
.ag-formas__tit{margin:0 0 clamp(18px,2.6vh,34px)}
.ag-formas__kicker{margin:0 0 clamp(8px,1.1vh,14px);color:var(--turquesa-claro);font-size:clamp(13px,.85vw,22px);font-weight:600;letter-spacing:.26em;text-transform:uppercase}
.ag-formas__h{margin:0;font-size:clamp(30px,2.7vw,76px);font-weight:800;line-height:1.02;letter-spacing:-.04em;text-wrap:balance}
.ag-tarjetas{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,1.6vw,36px);text-align:left}
.ag-modo{opacity:var(--a,0);transform:translate3d(0,calc((1 - var(--a,0)) * 80px),0) scale(calc(.94 + var(--a,0) * .06));padding:clamp(24px,2vw,44px)}
.ag-modo .pr-nombre{margin:0 0 4px;font-size:clamp(24px,1.75vw,46px)}
.ag-modo__lema{margin:0;color:var(--turquesa-claro);font-size:clamp(14px,.95vw,23px);font-weight:600}
.ag-modo .pr-linea{margin-top:14px;font-size:clamp(15px,.98vw,24px)}
.ag-modo .pr-puntos{margin:16px 0 18px;padding-top:16px;gap:9px;flex:1}
.ag-precios{display:grid;gap:10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}
.ag-modo .pr-precio{flex-wrap:wrap;row-gap:2px}
.ag-modo .pr-cifra{font-size:clamp(38px,2.9vw,96px)}
.ag-modo .ag-precio--mes .pr-cifra{font-size:clamp(28px,2vw,66px)}
.ag-modo__peq{margin:12px 0 0;color:#8ea3bd;font-size:clamp(13px,.82vw,20px);line-height:1.45}
.ag-aviso{display:inline-flex;align-items:center;gap:10px;margin:clamp(18px,2.6vh,34px) 0 0;padding:9px 18px 9px 10px;border-radius:99px;font-size:clamp(14px,.95vw,23px);font-weight:500;color:#dff6f3;
  background:rgba(40,175,164,.10);box-shadow:inset 0 0 0 1px rgba(95,227,214,.3)}
.ag-aviso__ico{display:grid;place-items:center;width:1.9em;height:1.9em;border-radius:50%;color:#04211d;background:linear-gradient(135deg,#7ff0e6,#28AFA4)}
.ag-aviso__ico svg{width:60%;height:60%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ag-btn{display:flex;width:max-content;margin:clamp(16px,2.4vh,30px) auto 0;gap:10px}
.ag-letra{margin:clamp(12px,1.8vh,22px) auto 0;max-width:60em;color:#7f93ab;font-size:clamp(12.5px,.8vw,19px);line-height:1.5}

/* apilado: móvil y pantallas verticales */
@media (max-width:768px),(max-aspect-ratio:1/1){
  .ag{--fw:min(100vw,600px);--fh:calc(var(--fw) * 16 / 9)}
  .ag-pista{height:auto}
  .ag-escena{position:relative;top:auto;height:auto;overflow:hidden}
  .ag-capa{position:relative;inset:auto;display:flex;flex-direction:column}
  .ag-intro{order:-1;position:relative;left:auto;top:auto;width:auto;padding:clamp(84px,12vh,120px) 20px 0;opacity:1;transform:none;max-width:640px;margin:0 auto}
  .ag-h2{font-size:clamp(32px,9.2vw,56px)}
  .ag-entradilla{font-size:16px}
  .ag-marco{position:relative;left:auto;top:auto;width:var(--fw);height:var(--fh);margin:calc(var(--fh) * -.25) auto 0;transform:none}
  .ag-nodo{width:clamp(30px,8.6vw,48px)}
  .ag-nodo[data-n="1"]{--x:30.1%;--y:30.2%}.ag-nodo[data-n="2"]{--x:75.5%;--y:30.2%}.ag-nodo[data-n="3"]{--x:89.1%;--y:43.6%}
  .ag-nodo[data-n="4"]{--x:75.1%;--y:56.3%}.ag-nodo[data-n="5"]{--x:29.7%;--y:57.7%}.ag-nodo[data-n="6"]{--x:11.5%;--y:42.4%}
  .ag-nucleo{left:50%;top:42.4%;width:56%}
  .ag-velo{background:linear-gradient(180deg,#03080f 0%,rgba(11,22,38,0) 9%,rgba(11,22,38,0) 100%)}
  .ag-velo::after{display:none}
  .ag-lineas{display:none}
  .ag-chat{position:relative;left:auto;top:auto;width:calc(var(--fw) * .9);height:auto;margin:calc(var(--fh) * -.37) auto 0;font-size:14px;opacity:1;transform:none}
  .ag-chat__cuerpo{overflow:visible;-webkit-mask-image:none;mask-image:none;padding-bottom:1.6em}
  .ag-chat__pista{padding-top:1em}
  .ag-msg{display:block;opacity:0;transform:translateY(12px) scale(.96);transition:opacity .5s ease,transform .6s cubic-bezier(.25,1.3,.5,1)}
  .ag-msg.on{opacity:1;transform:none;animation:none}
  .ag-escribe,.ag-escribe.on{display:none}
  .ag-beneficios{display:grid;gap:12px;padding:30px 20px 0;max-width:640px;margin:0 auto;width:100%}
  .ag-ben{position:relative;left:auto;top:auto;width:auto}
  .ag-ben.on{opacity:1;transform:none}
  .ag-formas{position:relative;left:auto;top:auto;width:auto;max-width:640px;margin:0 auto;padding:52px 20px 76px;transform:none;visibility:visible;pointer-events:auto}
  .ag-formas>*,.ag-modo{opacity:0;transform:translateY(40px);transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1)}
  .ag-formas>.ag-tarjetas{opacity:1;transform:none}
  .ag .ag-modo.pr-tarjeta:not(.pr-tarjeta--top){transition:opacity .8s ease,transform 1s cubic-bezier(.2,.7,.2,1),translate .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s ease}
  .ag-modo[data-orden="1"]{transition-delay:.12s,.12s,0s,0s!important}
  .ag-formas .visto{opacity:1;transform:none}
  .ag-tarjetas{grid-template-columns:1fr;gap:16px}
  .ag-btn{width:100%;justify-content:center}
  .ag-aviso{border-radius:18px;text-align:left}
  .ag::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;background:linear-gradient(180deg,rgba(4,11,18,0),#040b12)}
}
@media (min-width:769px) and (min-aspect-ratio:1/1) and (max-width:1100px){
  .ag-tarjetas{gap:14px}
  .ag-modo .pr-linea{display:none}
}
/* movimiento reducido en PC: sin fijar; escena completa a pantalla y modalidades debajo */
.ag--quieto .ag-pista{height:auto}
.ag--quieto .ag-escena{position:relative;height:auto;overflow:visible}
.ag--quieto .ag-capa{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden}
.ag--quieto .ag-formas{position:relative;left:auto;top:auto;transform:none;margin:0 auto;padding:40px 0 clamp(80px,12vh,160px);visibility:visible;pointer-events:auto}
.ag--quieto .ag-formas>*,.ag--quieto .ag-modo{opacity:1;transform:none}
.ag--quieto .ag-velo{background:radial-gradient(ellipse 90% 34% at 50% 0%,rgba(42,143,176,.10),transparent 70%),linear-gradient(180deg,#03080f 0%,rgba(3,8,15,.55) 9%,rgba(11,22,38,0) 22%),linear-gradient(90deg,rgba(7,15,27,.72) 0%,rgba(7,15,27,.35) 24%,transparent 38%,transparent 66%,rgba(7,15,27,.35) 80%,rgba(7,15,27,.6) 100%)}
.ag--quieto::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;pointer-events:none;background:linear-gradient(180deg,rgba(4,11,18,0),#040b12)}
@media (prefers-reduced-motion:reduce){
  .ag-entra,.ag-msg,.ag-ben,.ag-nodo,.ag-formas>*,.ag-modo,.ag-lineas line{transition:none!important;animation:none!important}
  .ag-nucleo::after,.ag-escribe i{animation:none}
  .ag-pildora,.ag-pildora.on{transition:none!important}
}

/* ============ v19 · Separación Agentes ↔ Precios de webs ============ */
/* Tarjetas de agentes: acento turquesa (la esfera), distinto de las tarjetas azules de webs */
.ag-formas__h .degradado{background:linear-gradient(100deg,#7ff0e6 0%,#5fe3d6 40%,var(--turquesa) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.ag-modo.pr-tarjeta{background:linear-gradient(160deg,rgba(14,52,58,.82),rgba(6,22,28,.9) 62%);
  box-shadow:inset 0 0 0 1px rgba(95,227,214,.4),inset 0 1px 0 rgba(255,255,255,.09),0 0 0 1px rgba(40,175,164,.12),0 30px 90px -34px rgba(40,175,164,.5),0 0 56px rgba(40,175,164,.13)}
.ag-modo.pr-tarjeta::after{content:"";position:absolute;left:12%;right:12%;top:-1px;height:2px;border-radius:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,#7ff0e6,transparent);box-shadow:0 0 18px rgba(127,240,230,.7)}
.ag-modo .pr-nombre{color:#f2fffd}
.ag-modo .pr-cifra{background:linear-gradient(100deg,#9ff7ee 0%,#5fe3d6 45%,#33cfc1 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 0 18px rgba(95,227,214,.28))}
.ag-modo .pr-desde{color:#9fd8d2}
.ag-precios{border-top-color:rgba(95,227,214,.18)}
.ag-modo .pr-puntos{border-top-color:rgba(95,227,214,.14)}
.ag-btn.btn--brillo{background:linear-gradient(100deg,#8ff3ea,#3fd6c8 50%,var(--turquesa));
  box-shadow:0 0 0 1px rgba(127,240,230,.7),0 12px 44px -8px rgba(40,175,164,.85),0 0 46px rgba(95,227,214,.3),inset 0 1px 0 rgba(255,255,255,.5)}

/* Precios de webs: línea con los tipos de web bajo el H2 */
.pr-tipos{margin:18px auto 0;color:#cfe0f3;font-size:clamp(17px,1.3vw,32px);font-weight:600;letter-spacing:-.005em}
.pr-tipos+.pr-entradilla{margin-top:10px}

/* ============ v20 · Página sin cortes: un solo fondo y bordes fundidos ============ */
/* Un único azul noche (--negro) en html/body. Las secciones no pintan fondo propio; sus brillos y texturas se funden arriba
   y abajo con máscaras, y las escenas fijadas (que sí tienen fondo) se funden con los velos de js/costuras.js al entrar/salir. */
.ag,.tr,.pr,.ap,.eq{background:transparent}
.ct{background:linear-gradient(180deg,var(--negro) 0%,#04101a 46%,var(--negro) 100%)}
.pie{background:linear-gradient(180deg,var(--negro),#040912 60%,#03070e)}
.pie::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(ellipse 60% 120% at 50% 0%,rgba(36,95,155,.16),transparent 70%);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 45%);mask-image:linear-gradient(180deg,transparent,#000 45%)}
.pie>*{position:relative;z-index:1}
.pie::before{-webkit-mask-image:radial-gradient(ellipse 55% 80% at 50% 0%,#000,transparent 70%),linear-gradient(180deg,transparent,#000 40%);
  mask-image:radial-gradient(ellipse 55% 80% at 50% 0%,#000,transparent 70%),linear-gradient(180deg,transparent,#000 40%);
  -webkit-mask-composite:source-in;mask-composite:intersect}
.ct-horizonte{box-shadow:none}
/* Precios: brillos en una capa propia, fundida arriba y abajo; la rejilla ya no toca los bordes */
.pr{overflow:visible;overflow:clip;isolation:isolate}
.pr::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;z-index:-1;pointer-events:none;
  background:radial-gradient(ellipse 70% 30% at 50% 18%,rgba(42,143,176,.12),transparent 72%),
             radial-gradient(ellipse 50% 34% at 78% 56%,rgba(40,175,164,.10),transparent 70%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 80%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 16%,#000 80%,transparent 100%)}
.pr::before{z-index:-1;-webkit-mask-image:radial-gradient(ellipse 70% 46% at 50% 50%,#000,transparent 75%);mask-image:radial-gradient(ellipse 70% 46% at 50% 50%,#000,transparent 75%)}
.ap-resto{background:none;isolation:isolate}
.ap-resto::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(60% 50% at 50% 22%,rgba(36,95,155,.14),transparent 70%);
  -webkit-mask-image:linear-gradient(180deg,transparent,#000 30%,#000 75%,transparent);mask-image:linear-gradient(180deg,transparent,#000 30%,#000 75%,transparent)}
/* finales de Agentes (apilado / quieto): al azul común, no a otro tono */
@media (max-width:768px),(max-aspect-ratio:1/1){.ag::after{height:28svh;background:linear-gradient(180deg,rgba(5,11,21,0),var(--negro))}}
.ag--quieto::after{height:28vh;background:linear-gradient(180deg,rgba(5,11,21,0),var(--negro))}
/* velos de costura (js/costuras.js): del color del fondo común; se escalan en Y (solo transform) según asome el borde */
.costura{position:absolute;left:0;right:0;height:var(--cos-h,32vh);z-index:80;pointer-events:none;transform:scaleY(0);will-change:transform}
.costura--arr{top:-1px;transform-origin:50% 0;background:linear-gradient(180deg,var(--negro) 0%,rgba(5,11,21,.86) 22%,rgba(5,11,21,.5) 52%,rgba(5,11,21,.16) 80%,rgba(5,11,21,0) 100%)}
.costura--aba{bottom:-1px;transform-origin:50% 100%;background:linear-gradient(0deg,var(--negro) 0%,rgba(5,11,21,.86) 22%,rgba(5,11,21,.5) 52%,rgba(5,11,21,.16) 80%,rgba(5,11,21,0) 100%)}
@media (max-width:768px),(max-aspect-ratio:1/1){.costura{height:var(--cos-h,22svh)}}

/* ============ v20 · Agentes → «Y ahora, tu web» → Precios: una sola escena ============ */
.tr{position:relative;z-index:3;pointer-events:none;--d:min(46vh,28vw);margin-top:-100vh;margin-top:-100svh}
.tr-pista{position:relative;height:245vh;height:245svh}
.tr-escena{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate;background:none}
.tr-esfera{position:absolute;left:50%;top:0;width:calc(var(--d) * 1.9);height:calc(var(--d) * 1.9);margin:calc(var(--d) * -.95) 0 0 calc(var(--d) * -.95);
  border-radius:50%;overflow:hidden;opacity:0;will-change:transform,opacity;
  -webkit-mask-image:radial-gradient(circle closest-side,#000 50%,rgba(0,0,0,.55) 64%,transparent 92%);mask-image:radial-gradient(circle closest-side,#000 50%,rgba(0,0,0,.55) 64%,transparent 92%)}
.tr-esfera__media{position:absolute;width:calc(var(--d) * 4);height:calc(var(--d) * 2.25);left:calc(var(--d) * (.95 - 4 * .496));top:calc(var(--d) * (.95 - 2.25 * .49))}
.tr-esfera__media img,.tr-esfera__media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tr-esfera__media video{opacity:0;transition:opacity .6s ease}
.tr-esfera__media video.on{opacity:1}
/* destello del núcleo */
.tr-flash{position:absolute;left:50%;top:50%;width:var(--d);height:var(--d);margin:calc(var(--d) * -.5) 0 0 calc(var(--d) * -.5);border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(circle closest-side,#fff 0%,#dcfffb 10%,rgba(127,240,230,.85) 24%,rgba(64,206,196,.42) 46%,rgba(44,148,176,.14) 70%,transparent 100%);will-change:transform,opacity}
/* onda de choque: anillo de luz que se expande por toda la pantalla */
.tr-onda{position:absolute;left:50%;top:50%;width:var(--d);height:var(--d);margin:calc(var(--d) * -.5) 0 0 calc(var(--d) * -.5);border-radius:50%;pointer-events:none;opacity:0;
  box-shadow:0 0 0 2px rgba(160,248,240,.9),0 0 40px 8px rgba(95,227,214,.5),inset 0 0 50px 4px rgba(95,227,214,.4);will-change:transform,opacity}
.tr-onda--b{box-shadow:0 0 0 1px rgba(127,240,230,.55),0 0 30px 4px rgba(44,148,176,.4),inset 0 0 30px rgba(44,148,176,.3)}
/* luz que ilumina la pantalla tras la onda (círculo que se apaga antes de sus bordes: nunca hace línea) */
.tr-luz{position:absolute;left:50%;top:50%;width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(circle closest-side,rgba(127,240,230,.30) 0%,rgba(64,206,196,.18) 18%,rgba(44,148,176,.10) 38%,rgba(36,95,155,.04) 60%,transparent 82%);will-change:transform,opacity}
.tr-halo{position:absolute;left:50%;top:50%;width:calc(var(--d) * 1.6);height:calc(var(--d) * 1.6);margin:calc(var(--d) * -.8) 0 0 calc(var(--d) * -.8);border-radius:50%;pointer-events:none;opacity:0;
  background:radial-gradient(circle closest-side,rgba(95,227,214,.34) 0%,rgba(44,148,176,.16) 45%,transparent 100%);will-change:transform,opacity}
.tr-check{position:absolute;left:50%;top:50%;width:calc(var(--d) * .8);height:calc(var(--d) * .8);margin:calc(var(--d) * -.4) 0 0 calc(var(--d) * -.4);overflow:visible;opacity:0;
  filter:drop-shadow(0 0 22px rgba(95,227,214,.45)) drop-shadow(0 0 60px rgba(44,148,176,.35));will-change:transform,opacity}
.tr-trazo{stroke-dasharray:1 1;stroke-dashoffset:1}
.tr-frase{position:absolute;left:var(--pad);right:var(--pad);top:50%;margin:0;text-align:center;opacity:0;
  font-size:clamp(52px,7.4vw,260px);font-weight:800;line-height:1;letter-spacing:-.05em;color:#fff;text-shadow:0 10px 60px rgba(0,0,0,.5);will-change:transform,opacity}
.tr-frase__b{display:inline-block;padding:0 .04em .08em;margin:0 -.04em -.08em}
/* Precios sube desde la luz: monta sobre el final de la escena */
.pr{margin-top:calc(-37vh - 120px);margin-top:calc(-37svh - 120px)}
@media (max-width:768px),(max-aspect-ratio:1/1){
  .tr{--d:min(64vw,40svh);margin-top:-60vh;margin-top:-60svh}
  .tr-pista{height:185vh;height:185svh}
  .tr-frase{font-size:clamp(42px,13vw,84px)}
  .tr-frase__a{display:block}
  .tr-onda--b{display:none}
  .pr{margin-top:-35vh;margin-top:-35svh}
}
/* movimiento reducido: sin fijar ni solapar; estado final quieto (check + frase sobre un halo que se funde) */
.tr--quieto{margin-top:0!important}
.tr--quieto .tr-pista{height:auto}
.tr--quieto .tr-escena{position:relative;height:min(78vh,820px);min-height:460px}
.tr--quieto .tr-esfera,.tr--quieto .tr-onda,.tr--quieto .tr-flash{display:none}
.tr--quieto .tr-trazo{stroke-dashoffset:0}
.tr--quieto~.pr{margin-top:0}
