/* Presentación 3D de Electro Tuber (capa a pantalla completa sobre la web) */
.intro{position:fixed;inset:0;z-index:1000;display:none;overflow:hidden;background:#050506;color:#fff;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;opacity:1;transition:opacity .9s ease,visibility .9s;-webkit-font-smoothing:antialiased}
html.et-intro .intro{display:block}
html.et-intro:not(.et-intro-saliendo) body{overflow:hidden}
.intro.is-out{opacity:0;visibility:hidden;pointer-events:none}
.intro-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}

/* Acabado cinematográfico: viñeta, grano, franjas y fundidos */
.intro-vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.7) 100%)}
.intro-grain{position:absolute;inset:-50%;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:intro-grano .6s steps(4) infinite}
@keyframes intro-grano{0%{transform:translate(0,0)}25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-5%)}75%{transform:translate(-2%,-3%)}100%{transform:translate(0,0)}}
.intro-bars::before,.intro-bars::after{content:"";position:absolute;left:0;right:0;height:0;background:#000;z-index:4;transition:height 1.2s cubic-bezier(.7,0,.2,1)}
.intro-bars::before{top:0}.intro-bars::after{bottom:0}
.intro.is-ready .intro-bars::before,.intro.is-ready .intro-bars::after{height:8vh}
.intro.is-final .intro-bars::before,.intro.is-final .intro-bars::after{height:0}
.intro-dip{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:3}
.intro-flash{position:absolute;inset:0;pointer-events:none;opacity:0;z-index:3;mix-blend-mode:screen;background:radial-gradient(circle at 50% 50%,rgba(255,235,236,.95),rgba(255,59,69,.55) 30%,rgba(0,0,0,0) 70%)}

/* Carga inicial */
.intro-loading{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .4s}
.intro.is-loading .intro-loading{opacity:1}
.intro-loading svg{width:54px;height:54px;color:#ff3b45;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(0 0 14px rgba(255,59,69,.8));animation:intro-latido 1.1s ease-in-out infinite}
@keyframes intro-latido{50%{transform:scale(1.12);opacity:.55}}

/* Controles */
.intro-skip{position:absolute;top:calc(14px + env(safe-area-inset-top));right:16px;z-index:6;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(10,10,12,.5);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font:600 .95rem/1 Inter,system-ui,sans-serif;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.intro-skip:hover,.intro-skip:focus-visible{background:#d10f1b;border-color:#d10f1b;outline:none;transform:translateY(-1px)}
.intro-skip svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.intro-skip kbd{font:600 .72rem Inter,system-ui,sans-serif;opacity:.6;border:1px solid rgba(255,255,255,.3);border-radius:6px;padding:2px 6px}
.intro-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.1);z-index:6}
.intro-progress i{display:block;height:100%;background:linear-gradient(90deg,#d10f1b,#ff5a62);box-shadow:0 0 12px #ff3b45;transform:scaleX(0);transform-origin:left}

/* Textos */
.intro-caps{position:absolute;inset:0;pointer-events:none;z-index:5}
.cap{position:absolute;left:clamp(20px,6vw,96px);bottom:calc(8vh + 44px);max-width:min(680px,88vw);opacity:0;transition:opacity .35s ease}
.cap.on{opacity:1;transition:opacity .1s}
.cap.center{left:0;right:0;margin:0 auto;text-align:center;bottom:calc(8vh + 24px)}
.cap-k{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;color:#ff5a62;opacity:0;transform:translateY(10px);filter:blur(6px);transition:opacity .6s,transform .6s,filter .6s}
.cap-k::before{content:"";width:28px;height:2px;background:currentColor}
.cap.center .cap-k::after{content:"";width:28px;height:2px;background:currentColor}
.cap-t{font-size:clamp(2.2rem,6.4vw,5rem);font-weight:800;letter-spacing:-.04em;line-height:1.02;margin:.18em 0 .16em;filter:drop-shadow(0 6px 28px rgba(0,0,0,.6))}
.cap-t .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}
.cap-t .w>span{display:inline-block;transform:translateY(108%);transition:transform .85s cubic-bezier(.2,.8,.2,1) var(--d)}
.cap-t b{color:#ff3b45;font-weight:800}
.cap-s{font-size:clamp(1rem,1.7vw,1.22rem);color:rgba(255,255,255,.8);max-width:560px;opacity:0;transform:translateY(12px);filter:blur(6px);transition:opacity .7s .25s,transform .7s .25s,filter .7s .25s;text-shadow:0 2px 20px rgba(0,0,0,.7)}
.cap.center .cap-s{margin:0 auto}
.cap.on .cap-k,.cap.on .cap-s{opacity:1;transform:none;filter:none}
.cap.on .cap-t .w>span{transform:none}
.cap-stats{display:grid;grid-template-columns:repeat(3,auto);gap:clamp(18px,4vw,44px);justify-content:start;margin-top:22px}
.cap-stats strong{display:block;white-space:nowrap;font-size:clamp(1.6rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.cap-stats span{color:rgba(255,255,255,.65);font-size:.9rem}
.cap-cta{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px;opacity:0;transform:translateY(12px);transition:opacity .7s .5s,transform .7s .5s}
.cap.on .cap-cta{opacity:1;transform:none;pointer-events:auto}
.ibtn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 24px;border-radius:12px;font:600 1rem Inter,system-ui,sans-serif;border:1px solid transparent;cursor:pointer;color:#fff;text-decoration:none;transition:transform .15s,box-shadow .15s}
.ibtn:hover{transform:translateY(-2px)}
.ibtn .ico{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ibtn-pri{background:#d10f1b;box-shadow:0 10px 30px rgba(209,15,27,.45)}
.ibtn-wa{background:#1fa855}

/* Etiquetas sobre objetos 3D */
.intro-labels{position:absolute;inset:0;pointer-events:none;z-index:4}
.chip{position:absolute;left:0;top:0;opacity:0;transition:opacity .4s;will-change:transform}
.chip.on{opacity:1}
.chip>span{display:block;white-space:nowrap;transform:translate(-50%,calc(-100% - 6px));padding:6px 13px;border-radius:999px;background:rgba(12,12,14,.62);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-weight:600;font-size:.86rem;transition:background .3s,border-color .3s}
.chip.l>span{transform:translate(calc(-100% - 12px),-50%)}
.chip.r>span{transform:translate(12px,-50%)}
.chip.hot>span{background:#d10f1b;border-color:#ff5a62;box-shadow:0 0 22px rgba(255,59,69,.6)}
.chip.dim>span{transform:translate(-50%,10px);background:transparent;border-color:transparent;color:rgba(255,255,255,.6);font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}

@media (max-width:760px){
  .cap{left:16px;right:16px;bottom:calc(6vh + 30px)}
  .cap.center{left:16px;right:16px}
  .cap-k{font-size:.7rem;letter-spacing:.18em}
  .cap-stats{grid-template-columns:repeat(3,auto);gap:16px}
  .cap-stats strong{font-size:1.3rem;white-space:nowrap}
  .cap-stats span{font-size:.78rem}
  .chip.l>span{transform:translate(-50%,12px)}
  .intro.is-ready .intro-bars::before,.intro.is-ready .intro-bars::after{height:5vh}
  .intro-skip kbd{display:none}
  .chip>span{font-size:.74rem;padding:5px 10px}
  .ibtn{flex:1 1 auto}
}
@media (prefers-reduced-motion: reduce){
  .intro-grain{animation:none}
}
