/* ═══ HERO DINÁMICO v2 · estilo CONSEN/IT-Soft en neón 24/7 ═══ */
.hero{height:100vh;min-height:660px}
.slide{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:center;padding:120px 5% 70px}
.slide-in{max-width:600px}
.slide.active .slide-in{animation:rise .8s ease both}

/* Kicker con línea (estilo "— Work With Consen") */
.slide-kicker{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--cyan);margin-bottom:16px}
.slide-kicker::before{content:'';width:36px;height:2px;background:var(--mag);box-shadow:var(--glow-m)}

/* Divisor con acento */
.slide-div{height:1px;background:linear-gradient(90deg,var(--line),transparent);margin:22px 0;position:relative}
.slide-div::after{content:'';position:absolute;left:0;top:-1px;width:64px;height:3px;border-radius:2px;background:linear-gradient(90deg,var(--mag),var(--cyan))}

/* CTA + bloque de contacto que "suena" */
.hero-ctas{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.hero-call{display:flex;align-items:center;gap:12px;color:var(--mut);font-size:11.5px;letter-spacing:.5px}
.hero-call .ic{width:48px;height:48px;border-radius:50%;border:1px solid var(--mag);color:var(--mag);display:grid;place-items:center;font-size:19px;animation:ringing 3.4s ease-in-out infinite}
.hero-call b{display:block;color:var(--tx);font-size:15px;letter-spacing:0}
@keyframes ringing{0%,86%,100%{transform:rotate(0)}88%{transform:rotate(-14deg)}92%{transform:rotate(14deg)}96%{transform:rotate(-8deg)}}

/* ═══ COMPOSICIÓN VISUAL DERECHA ═══ */
.slide-visual{position:relative;height:100%;min-height:440px;display:flex;align-items:center;justify-content:center;gap:16px;transform:translate(calc(var(--mx,0)*10px),calc(var(--my,0)*7px));transition:transform .3s ease-out}

/* Píldoras verticales (óvalos con foto) */
.pill{position:relative;width:clamp(110px,15vw,210px);aspect-ratio:1/2.15;border-radius:999px;overflow:hidden;border:2px solid rgba(168,85,247,.5);box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 26px rgba(168,85,247,.18)}
.pill::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,10,.05),rgba(5,6,10,.55));pointer-events:none}
.pill-img{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;filter:saturate(.9) contrast(1.05)}
.pill-img.empty{background:radial-gradient(circle at 50% 30%,rgba(34,211,238,.3),rgba(168,85,247,.15)),repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 2px,transparent 2px 14px),var(--panel)}

/* Laterales más pequeñas y desplazadas · flotan solas */
.pill-l{border-color:rgba(34,211,238,.45);animation:flL 6.5s ease-in-out infinite alternate}
.pill-r{border-color:rgba(236,72,153,.45);animation:flR 7.8s ease-in-out infinite alternate}
@keyframes flL{from{transform:translateY(16px) scale(.84)}to{transform:translateY(46px) scale(.84)}}
@keyframes flR{from{transform:translateY(44px) scale(.84)}to{transform:translateY(12px) scale(.84)}}

/* Central grande con botón play */
.pill-c{width:clamp(150px,19vw,270px);aspect-ratio:1/2.05;z-index:2;border-color:rgba(34,211,238,.85);box-shadow:0 22px 60px rgba(0,0,0,.6),0 0 44px rgba(34,211,238,.3);animation:flC 5.6s ease-in-out infinite alternate}
@keyframes flC{from{transform:translateY(-12px)}to{transform:translateY(12px)}}

/* Botón reproducir: anillo dashed girando + halo pulsante */
.playbtn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:#fff;color:var(--mag);border:0;display:grid;place-items:center;font-size:32px;cursor:pointer;z-index:3;box-shadow:0 12px 40px rgba(0,0,0,.55);transition:transform .25s}
.playbtn:hover{transform:translate(-50%,-50%) scale(1.1)}
.playbtn .ring{position:absolute;inset:-13px;border-radius:50%;border:2px dashed rgba(255,255,255,.75);animation:spin 14s linear infinite;pointer-events:none}
.playbtn::after{content:'';position:absolute;inset:-24px;border-radius:50%;border:2px solid rgba(34,211,238,.55);animation:halo 2.2s ease-out infinite;pointer-events:none}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes halo{0%{transform:scale(.72);opacity:1}100%{transform:scale(1.3);opacity:0}}

/* Decoraciones animadas */
.deco{position:absolute;pointer-events:none;z-index:1}
.deco.dots{width:130px;height:96px;top:6%;left:0;background-image:radial-gradient(rgba(34,211,238,.55) 1.5px,transparent 1.6px);background-size:15px 15px;opacity:.55;animation:drift 9s ease-in-out infinite alternate}
.deco.spark{color:var(--mag);font-size:24px;top:12%;right:10%;animation:twinkle 3.2s ease-in-out infinite}
.deco.spark.s2{color:var(--cyan);font-size:15px;top:26%;right:2%;animation-delay:1.1s}
.deco.spark.s3{color:var(--pur);font-size:18px;bottom:14%;left:6%;animation-delay:.5s}
@keyframes twinkle{0%,100%{opacity:.15;transform:scale(.75) rotate(0deg)}50%{opacity:1;transform:scale(1.25) rotate(25deg)}}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(16px,12px)}}
.orbit{position:absolute;width:min(500px,86%);aspect-ratio:1;border:1px dashed rgba(168,85,247,.35);border-radius:50%;animation:spin 46s linear infinite;z-index:0}
.orbit::before{content:'';position:absolute;top:-6px;left:50%;width:11px;height:11px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}

/* ═══ MODAL DE VIDEO ═══ */
.vmodal{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:300;display:none;align-items:center;justify-content:center;padding:20px}
.vmodal.on{display:flex}
.vbox{position:relative;width:min(900px,94vw);aspect-ratio:16/9;background:#000;border-radius:18px;border:1px solid var(--line);overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.7)}
.vbox iframe{width:100%;height:100%;border:0}
.vclose{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;border:0;font-size:16px;cursor:pointer;backdrop-filter:blur(6px)}

/* Responsive */
@media(max-width:980px){
  .slide{grid-template-columns:1fr;padding:110px 6% 40px;gap:10px}
  .slide-visual{min-height:360px;order:2}
  .orbit{display:none}
  .pill-l,.pill-r{display:none}
}