/* VSL · hero con el vídeo de presentación como protagonista */
.vhero{position:relative;padding-top:var(--nav-h);overflow:hidden;isolation:isolate;background:radial-gradient(60% 50% at 50% 58%,rgba(255,97,26,.16),transparent 72%),radial-gradient(90% 60% at 50% 115%,#1C130D,transparent 70%),linear-gradient(180deg,var(--night) 0%,#0E0A08 70%,var(--temple) 100%)}
.vhero__in{--tf:clamp(34px,min(5.2vw,6.8svh),74px);display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:clamp(12px,2.2svh,24px) clamp(14px,2.2svh,24px)}
.vhero__kicker{display:inline-flex;align-items:center;gap:10px;font:700 12.5px/1 var(--f-sans);letter-spacing:.16em;text-transform:uppercase;color:var(--peach)}
.vhero__kicker i{width:8px;height:8px;border-radius:50%;background:var(--ember);box-shadow:0 0 0 0 rgba(255,97,26,.6);animation:vpulse 1.8s infinite}
@keyframes vpulse{70%{box-shadow:0 0 0 10px rgba(255,97,26,0)}100%{box-shadow:0 0 0 0 rgba(255,97,26,0)}}
.vhero__title{max-width:1240px;text-wrap:balance;font-size:var(--tf)}
.vhero__lead{margin-top:clamp(6px,1.2svh,12px);max-width:760px}
.vhero__player{width:100%;max-width:min(1120px,calc((100svh - var(--nav-h) - 158px - 1.9 * var(--tf)) * 16 / 9));min-width:min(100%,480px);margin-top:clamp(10px,1.8svh,18px)}
.vhero__cta{display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.3svh,12px);margin-top:clamp(12px,2svh,20px)}
.vhero__cta .terms{justify-content:center}

/* ---------- reproductor ---------- */
.vsl{position:relative;aspect-ratio:16/9;border-radius:var(--r-lg);overflow:hidden;background:#000;box-shadow:0 0 0 1px rgba(255,150,90,.28),0 0 80px -20px rgba(255,97,26,.55),0 40px 90px -40px #000;-webkit-user-select:none;user-select:none}
.vsl video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.vsl__poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .5s var(--ease);pointer-events:none}
.vsl.is-ready .vsl__poster{opacity:0}
.vsl__spin{position:absolute;left:50%;top:50%;width:42px;height:42px;margin:-21px 0 0 -21px;border-radius:50%;border:3px solid rgba(255,255,255,.22);border-top-color:var(--ember);animation:vspin .8s linear infinite;pointer-events:none}
.vsl.is-ready .vsl__spin{display:none}
@keyframes vspin{to{transform:rotate(360deg)}}
.vsl__layer{position:absolute;inset:0 0 54px;z-index:2;background:none;border:0;cursor:pointer}
.vsl__unmute{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;padding:16px 22px 16px 18px;border:0;border-radius:18px;background:rgba(12,9,7,.78);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--bone);text-align:left;cursor:pointer;box-shadow:0 0 0 1px rgba(255,150,90,.4),0 20px 50px -14px rgba(0,0,0,.8);animation:vbob 2.4s var(--ease) infinite}
.vsl__unmute svg{flex:none;width:46px;height:46px;padding:11px;border-radius:50%;background:var(--ember);color:var(--on-ember);box-shadow:0 0 30px rgba(255,97,26,.7)}
.vsl__unmute span{display:flex;flex-direction:column;gap:3px;font:400 14px/1.25 var(--f-sans);color:var(--bone-2)}
.vsl__unmute b{font:700 17px/1.2 var(--f-sans);color:var(--bone)}
.vsl.has-sound .vsl__unmute{display:none}
@keyframes vbob{50%{transform:translate(-50%,calc(-50% - 4px))}}
.vsl__big{position:absolute;left:50%;top:50%;z-index:1;width:84px;height:84px;margin:-42px 0 0 -42px;display:grid;place-items:center;border-radius:50%;background:var(--ember);color:var(--on-ember);box-shadow:0 0 40px rgba(255,97,26,.8);opacity:0;transform:scale(.8);transition:opacity .25s,transform .25s var(--ease);pointer-events:none}
.vsl__big svg{width:34px;height:34px;margin-left:4px}
.vsl.has-sound.is-paused .vsl__big,.vsl.is-ended .vsl__big{opacity:1;transform:none}
.vsl__bar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:flex;align-items:center;gap:12px;height:54px;padding:0 14px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.72))}
.vsl__ctrl{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:44px;height:34px;padding:0 10px;border:0;border-radius:10px;background:rgba(255,255,255,.12);color:#fff;font:700 13.5px/1 var(--f-sans);cursor:pointer;transition:background .2s}
.vsl__ctrl:hover{background:rgba(255,255,255,.22)}
.vsl__ctrl svg{width:18px;height:18px}
.vsl__progress{flex:1;height:6px;border-radius:99px;background:rgba(255,255,255,.22);overflow:hidden}
.vsl__fill{height:100%;background:linear-gradient(90deg,#FF9858,#FF611A);transform-origin:0 50%;transform:scaleX(0);box-shadow:0 0 12px rgba(255,97,26,.8)}

.vsl__full[hidden]{display:none}
.vsl.is-full,.vsl:fullscreen{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
.vsl:fullscreen video,.vsl.is-full video{object-fit:contain}
.vsl:-webkit-full-screen{width:100%;height:100%;aspect-ratio:auto;border-radius:0;box-shadow:none}
.vsl:-webkit-full-screen video{object-fit:contain}

@media (max-width:640px){
  .vhero__title{font-size:clamp(34px,10.6vw,52px)}
  .vhero__player{min-width:0;max-width:none;margin-inline:calc(var(--gutter) * -1);width:calc(100% + var(--gutter) * 2)}
  .vsl{border-radius:0;box-shadow:0 0 0 1px rgba(255,150,90,.22),0 0 60px -24px rgba(255,97,26,.6)}
  .vsl__unmute{padding:12px 16px 12px 12px;gap:10px;border-radius:14px}
  .vsl__unmute svg{width:38px;height:38px;padding:9px}
  .vsl__unmute b{font-size:15px}
  .vsl__unmute span{font-size:12.5px}
  .vsl__bar{height:44px;padding:0 8px;gap:8px}
  .vsl__layer{bottom:44px}
  .vsl__ctrl{height:30px;min-width:40px;padding:0 8px;font-size:12.5px}
  .vhero__cta .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.vsl__unmute,.vhero__kicker i{animation:none}}
