/* EL PORTAL: ANTES Y DESPUES EN 3D (17-sep).
   SOELYS: «una animation pro de before and after estilo intro pero mejor,
   chiquita-mediana, nada generic» · «que gire la id» · «quita la lupa» ·
   «por que hay muchas fotos de before and after en la homepage, no 3D pro».
   UNA sola pieza, como su imagen de referencia: un anillo cian en perspectiva
   es el escaner; el carne entra borroso y girado por la izquierda, lo atraviesa
   -- lo que ya cruzo sale limpio --, gira de frente y se queda PLANO, que es
   lo que lo deja nitido. Sin fotos estaticas, sin grano, sin lupa. */
#ad{--ad-fondo:#050C1B;--ad-borde:rgba(148,163,184,.16);--ad-texto:#E6EDF7;--ad-suave:#8FA3BF;--ad-cian:#67E8F9;--ad-verde:#34D399;
  max-width:880px;margin:16px auto 0}
#ad .ad-escena{position:relative;border-radius:20px;overflow:hidden;color:var(--ad-texto);display:flex;flex-direction:column;
  background:var(--ad-fondo);border:1px solid var(--ad-borde);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  box-shadow:0 30px 70px -30px rgba(4,6,12,.65);-webkit-user-select:none;user-select:none}
#ad .ad-cab,#ad .ad-pie{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 16px;z-index:3}
#ad .ad-cab{border-bottom:1px solid var(--ad-borde)}
#ad .ad-pie{border-top:1px solid var(--ad-borde);flex-wrap:wrap;min-height:50px}
#ad .ad-rot{display:flex;align-items:center;gap:8px;font:700 10.5px ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ad-suave)}
#ad .ad-rot i{width:7px;height:7px;border-radius:99px;background:#F87171;box-shadow:0 0 9px #F87171;transition:background .35s,box-shadow .35s}
#ad.hecho .ad-rot i{background:var(--ad-verde);box-shadow:0 0 9px var(--ad-verde)}
#ad .ad-t{font:600 10.5px ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace;color:var(--ad-cian);font-variant-numeric:tabular-nums;letter-spacing:.06em}
/* la sala: fondo profundo, suelo que refleja, un riel de luz */
#ad .ad-mesa{position:relative;height:clamp(250px,44vw,410px);perspective:1100px;perspective-origin:50% 45%;overflow:hidden;cursor:pointer;touch-action:pan-y;
  background:radial-gradient(70% 60% at 50% 42%,#0E2346 0%,rgba(5,12,27,0) 70%),
             linear-gradient(180deg,#050C1B 0%,#081631 64%,#0A1B3A 64.5%,#050C1B 100%)}
#ad .ad-mesa::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.35;
  background-image:linear-gradient(rgba(148,163,184,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.08) 1px,transparent 1px);
  background-size:26px 26px;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 64%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 64%,transparent 100%)}
#ad .ad-riel{position:absolute;left:6%;right:6%;top:64%;height:2px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(103,232,249,.55) 30%,rgba(103,232,249,.55) 70%,transparent);box-shadow:0 0 16px rgba(103,232,249,.35)}
/* EL PORTAL: dos anillos en perspectiva (metal y luz) y su resplandor */
#ad .ad-portal{position:absolute;left:50%;top:46%;width:clamp(110px,17vw,170px);height:clamp(190px,31vw,300px);
  transform:translate(-50%,-50%) rotateY(60deg);transform-style:preserve-3d;pointer-events:none;transition:opacity .8s ease}
#ad .ad-anillo{position:absolute;border-radius:50%}
#ad .ad-anillo.a{inset:0;border:8px solid #7F93AE;box-shadow:inset 0 0 0 2px #0B1220,0 0 0 2px #1E293B,0 0 30px rgba(0,0,0,.5)}
#ad .ad-anillo.b{inset:11px;border:4px solid var(--ad-cian);box-shadow:0 0 26px 7px rgba(103,232,249,.55),inset 0 0 28px 4px rgba(103,232,249,.45)}
#ad .ad-luz{position:absolute;inset:16px;border-radius:50%;opacity:var(--luz,.45);transition:opacity .2s linear;
  background:radial-gradient(circle,rgba(165,243,252,.55) 0%,rgba(59,130,246,.22) 45%,transparent 70%)}
#ad.hecho .ad-portal{opacity:.28}
/* EL CARNE: su pose la pone el guion (ad.js); en reposo, sin transformar */
#ad .ad-hoja{position:absolute;left:50%;top:46%;width:clamp(170px,36%,300px);border-radius:8px;background:#fff;z-index:2;
  transform:translate(-50%,-50%);box-shadow:0 22px 50px rgba(0,0,0,.6);will-change:transform;opacity:0}
#ad.reposa .ad-hoja{will-change:auto}
#ad .ad-hoja canvas{display:block;width:100%;height:auto;border-radius:8px}
#ad .ad-hoja .ad-despues{position:absolute;inset:0;height:100%;clip-path:inset(0 0 0 var(--corte,100%))}
#ad.hecho .ad-hoja{box-shadow:0 26px 60px rgba(34,211,238,.25),0 0 0 1px rgba(103,232,249,.5)}
#ad .ad-brillo{position:absolute;inset:0;border-radius:8px;pointer-events:none;overflow:hidden;z-index:2}
#ad .ad-brillo::before{content:"";position:absolute;top:-25%;bottom:-25%;width:36%;left:-60%;transform:skewX(-18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}
#ad.brilla .ad-brillo::before{animation:ad-brillo 1.1s cubic-bezier(.3,.7,.3,1) forwards}
@keyframes ad-brillo{to{left:130%}}
/* mantener pulsado = ver el antes */
#ad.comparando .ad-despues{clip-path:inset(0 0 0 100%) !important}
#ad .ad-fichas{display:flex;flex-wrap:wrap;gap:6px}
#ad .ad-ficha{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:99px;border:1px solid var(--ad-borde);background:#0E1A30;
  font:600 11px ui-monospace,"SF Mono","Cascadia Mono",Consolas,monospace;color:#E2E8F0;opacity:0;transform:translateY(5px);
  transition:opacity .35s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
#ad .ad-ficha b{color:var(--ad-verde);font-weight:800}
#ad .ad-ficha.si{opacity:1;transform:none}
#ad .ad-guia{font-size:11px;color:var(--ad-suave)}
#ad .ad-escena:focus-visible{outline:2px solid var(--ad-cian);outline-offset:3px}
@media (max-width:640px){ #ad .ad-hoja{width:58%} #ad .ad-ficha{font-size:10.5px} #ad .ad-cab,#ad .ad-pie{padding:10px 12px} }
#proof [data-ad-sustituida]{display:none !important}

/* SOLO LA ANIMACION (20-sep): la demostracion sigue corriendo porque alimenta
   la escena, pero su salida vieja no se ensena. Lo que se apaga aqui aparecia
   solo al terminar la demostracion: el recorte ampliado (el carne gigante),
   las fichas de especificaciones, las pestanas de escenas y la pildora de
   estado. La escena 3D es lo unico que queda. */
#proof [data-ad-sustituida],
#proof #proofDetalle,
#proof #proofSpecs,
#proof #sceneTabs,
#proof #sceneStory,
#proof #proofStatus{display:none !important}
