:root{--fondo:#151515;--capa:#1f1f1f;--linea:#2e2e2e;--suave:#9b9b9b;--rojo:#ff0000;--verde:#00ff00;--azul:#0000ff;--curva:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--fondo);color:#f2f2f2;font-family:"Inter Tight",system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-height:calc(100vh * var(--zv,1));overflow-x:hidden}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid #fff;outline-offset:3px;border-radius:6px}
.fondo{display:none;position:fixed;inset:-20%;z-index:-1;filter:blur(110px);opacity:.38;
  background:radial-gradient(30% 35% at 25% 35%,#f72d00,transparent),radial-gradient(30% 35% at 60% 70%,#3fa73f,transparent),radial-gradient(30% 35% at 85% 30%,#1a75bb,transparent);
  animation:respira 12s ease-in-out infinite alternate}
@keyframes respira{from{transform:rotate(0) scale(1)}to{transform:rotate(12deg) scale(1.1)}}
.arriba{display:flex;justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:16px 28px}
.marca{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600}
.marca img{height:26px}.marca span{display:flex;flex-direction:column;line-height:1.05}.marca small{font-size:11px;font-weight:400}
.idioma{display:inline-flex;gap:2px;padding:3px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.18)}
.idioma button{display:grid;place-items:center;width:38px;height:28px;border-radius:999px;border:0;background:none;cursor:pointer;opacity:.45}
.idioma button[aria-pressed="true"]{opacity:1;background:rgba(255,255,255,.16)}
.idioma img{width:24px;height:17px;border-radius:3px;object-fit:cover}
.todo{max-width:1120px;margin:0 auto;padding:1vh 28px 6vh;display:grid;grid-template-columns:1.05fr .95fr;gap:5vw;align-items:center}
/* panel de confianza */
.escudo{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);
  animation:neon 3.2s linear infinite}
@keyframes neon{0%{box-shadow:-10px 0 26px -6px var(--rojo),10px 0 26px -6px var(--azul),0 10px 26px -6px var(--verde)}
  33%{box-shadow:-10px 0 26px -6px var(--verde),10px 0 26px -6px var(--rojo),0 10px 26px -6px var(--azul)}
  66%{box-shadow:-10px 0 26px -6px var(--azul),10px 0 26px -6px var(--verde),0 10px 26px -6px var(--rojo)}
  100%{box-shadow:-10px 0 26px -6px var(--rojo),10px 0 26px -6px var(--azul),0 10px 26px -6px var(--verde)}}
.confianza h1{font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.04em;line-height:1.05;margin-top:18px}
.confianza .lead{font-size:clamp(15px,1.2vw,17px);color:#cfcfcf;font-weight:300;margin-top:12px;max-width:46ch;line-height:1.55}
.puntos{list-style:none;margin-top:22px;display:grid;gap:10px}
.puntos li{display:grid;grid-template-columns:34px 1fr;gap:12px;align-items:start;opacity:0;transform:translateY(16px);animation:sube .8s cubic-bezier(.16,1,.3,1) forwards}
.puntos li:nth-child(1){animation-delay:.15s}.puntos li:nth-child(2){animation-delay:.25s}.puntos li:nth-child(3){animation-delay:.35s}
.puntos li:nth-child(4){animation-delay:.45s}.puntos li:nth-child(5){animation-delay:.55s}.puntos li:nth-child(6){animation-delay:.65s}.puntos li:nth-child(7){animation-delay:.75s}
@keyframes sube{to{opacity:1;transform:none}}
.puntos i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid #333;transition:border-color .3s,box-shadow .3s}
.puntos li:hover i{border-color:var(--c);box-shadow:0 0 18px -4px var(--c)}
.puntos svg{width:17px;height:17px}
.puntos b{display:block;font-weight:500;font-size:14.5px}
.puntos span{font-size:13px;color:var(--suave);line-height:1.45}
/* ventana de entrada */
.ventana{position:relative;isolation:isolate;border-radius:24px;padding:28px;background:rgba(24,24,24,.86);border:1px solid rgba(255,255,255,.1);
  -webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 40px 120px rgba(0,0,0,.55);
  animation:entra .9s cubic-bezier(.16,1,.3,1) both}
@keyframes entra{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
.ventana::before{display:none;content:"";position:absolute;inset:-1px;border-radius:29px;padding:1.5px;pointer-events:none;
  background:linear-gradient(135deg,#ff0000,#00ff00 50%,#0000ff);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.85}
.ventana::after{content:"";position:absolute;inset:-1px;border-radius:29px;z-index:-1;pointer-events:none;
  box-shadow:-22px 0 60px -30px #ff0000,22px 0 60px -30px #0000ff,0 26px 60px -30px #00ff00}
.ventana h2{font-size:23px;font-weight:500;letter-spacing:-.03em}
.ventana .sub{color:var(--suave);font-size:15px;margin-top:6px}
.aviso{margin-top:18px;padding:12px 14px;border-radius:14px;font-size:14px}
.aviso.ok{background:rgba(0,255,0,.08);border:1px solid rgba(0,255,0,.3)}
.aviso.mal{background:rgba(255,0,0,.08);border:1px solid rgba(255,0,0,.35)}
.google{margin-top:18px;display:flex;align-items:center;justify-content:center;gap:10px;padding:13px;border-radius:14px;background:#fff;color:#111;font-weight:500;
  transition:transform .3s var(--curva),box-shadow .3s}
.google:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,255,255,.12)}
.o{display:flex;align-items:center;gap:12px;color:#777;font-size:13px;margin:14px 0}
.o::before,.o::after{content:"";flex:1;height:1px;background:#333}
label{display:block;font-size:13px;color:var(--suave);margin:0 0 7px}
input[type=email],input[type=password]{width:100%;font:inherit;font-size:16px;color:#fff;background:#141414;border:1px solid #333;border-radius:14px;padding:13px 15px;margin-bottom:14px;
  transition:border-color .3s,box-shadow .3s}
input:focus{outline:none;border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.08)}
.entrar{width:100%;margin-top:4px;border:0;cursor:pointer;font:inherit;font-size:16px;font-weight:500;padding:14px;border-radius:999px;background:var(--rojo);color:#fff;
  transition:transform .3s var(--curva),box-shadow .3s}
.entrar:hover{transform:translateY(-2px);box-shadow:0 0 22px -4px var(--rojo)}
.enlaces{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:18px;font-size:14px;color:var(--suave)}
.enlaces a{color:#fff;border-bottom:1px solid rgba(255,255,255,.3)}
.crear{margin-top:16px;padding-top:14px;border-top:1px solid #2c2c2c;text-align:center;font-size:15px;color:#cfcfcf}
.crear a{display:inline-block;margin-top:10px;padding:11px 22px;border-radius:999px;border:1px solid rgba(255,255,255,.3);color:#fff;font-weight:500;transition:background .3s,color .3s}
.crear a:hover{background:#fff;color:#111}
@media (max-width:900px){.todo{grid-template-columns:1fr}.ventana{order:-1}}
@media (prefers-reduced-motion:reduce){.fondo,.escudo,.puntos li,.ventana{animation:none!important;opacity:1;transform:none}}

/* tarjeta sola (recuperar contraseña, etc.) */
.solo{max-width:520px;margin:0 auto;padding:3vh 24px 8vh}
.solo .ventana{text-align:center}
.solo .escudo{margin:0 auto 22px}
.solo form{text-align:left;margin-top:24px}
.paso{display:flex;gap:10px;justify-content:center;margin:26px 0 4px;flex-wrap:wrap}
.paso > span{font-size:13px;color:#cfcfcf;padding:7px 12px;border-radius:999px;border:1px solid #333}
.paso > span b{color:#fff}
.hecho{margin-top:22px;padding:18px;border-radius:18px;background:rgba(0,255,0,.06);border:1px solid rgba(0,255,0,.3);text-align:left;font-size:15px;line-height:1.55}
.volver{display:inline-block;margin-top:20px;font-size:14px;color:#cfcfcf;border-bottom:1px solid rgba(255,255,255,.3)}
/* 06-11: botones más finos y discretos (Luis: «se ven gigantes») */
.ventana{max-width:420px;justify-self:center;width:100%}
.google{margin-top:18px;padding:10px 14px;border-radius:12px;font-size:14px;gap:9px;
  background:rgba(255,255,255,.04);color:#f2f2f2;border:1px solid #333;transition:border-color .3s,box-shadow .3s,background .3s}
.google svg,.google img{width:17px;height:17px}
.google:hover{transform:none;background:rgba(255,255,255,.07);border-color:#4285f4;box-shadow:0 0 18px -6px #4285f4}
label{font-size:12.5px;margin-bottom:6px}
input[type=email],input[type=password]{font-size:15px;padding:10px 13px;border-radius:12px;margin-bottom:12px}
.entrar{font-size:14.5px;padding:10px 14px;border-radius:12px;margin-top:2px}
.entrar:hover{transform:none;box-shadow:0 0 20px -4px var(--rojo)}
.o{font-size:12px;margin:14px 0}
.enlaces{font-size:13px;margin-top:14px}
.crear{font-size:13.5px}
.crear a{padding:8px 18px;font-size:13.5px;margin-top:8px}
/* 06-11 (2): Entrar sin relleno rojo, solo neón; puntos: al pasar el ratón SOLO neón (sin línea de color) y la letra crece un poco */
.entrar{display:block;width:auto;min-width:150px;margin:6px auto 0;padding:8px 26px;font-size:14px;border-radius:999px;
  background:rgba(255,255,255,.04);color:#fff;border:1px solid rgba(255,255,255,.18);
  box-shadow:0 0 14px -5px var(--rojo),0 0 0 0 transparent;transition:box-shadow .3s,border-color .3s}
.entrar:hover,.entrar:focus-visible{border-color:rgba(255,255,255,.35);
  box-shadow:-8px 0 20px -6px var(--rojo),8px 0 20px -6px var(--azul),0 6px 20px -6px var(--verde)}
.puntos li{cursor:default}
.puntos li:hover i{border-color:#333;box-shadow:0 0 22px -2px var(--c)}
.puntos li>div{transform-origin:left center;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.puntos li:hover>div{transform:scale(1.06)}
.puntos li:hover b{color:#fff}.puntos li:hover span{color:#cfcfcf}

/* 07-11-2026 (Luis): toda la web al 80 %, por igual; las medidas de pantalla se compensan con --zv */
:root{--zv:1.25}body{zoom:.8}
/* 12-11-2026 (Luis: videos que se ven pequeños dentro de un recuadro blanco en Mac/Safari): Safari aplica dos veces el 80 % al contenido de los reproductores (iframe). Se compensa en el propio iframe: en todos los navegadores el video llena su caja. */
/* solo REPRODUCTORES de video (no PayPal ni otros: PayPal fija su alto por fuera y se cortaba); --zv:1 porque dentro ya no hay 80 % que compensar */
body iframe:is([src*="player.vimeo.com"],[src*="youtube.com/embed"],[src*="youtube-nocookie.com"]){zoom:1.25;--zv:1}
