.up2-halloween {
    padding: 0; border: 0; margin: auto; overflow: visible;
    width: min(680px, calc(100vw - 32px), calc(100dvh - 88px));
    max-width: none; max-height: none; background: #031323; color: #fff;
    border-radius: 18px; box-shadow: 0 24px 90px #0008;
}
.up2-halloween::backdrop { background: rgb(0 6 16 / 78%); }
.up2-halloween__art { position: relative; width: 100%; aspect-ratio: 1; }
.up2-halloween__video { display: block; width: 100%; height: 100%; aspect-ratio: 1; object-fit: contain; border-radius: 18px; }
.up2-halloween__close {
    position: absolute; top: 2.8%; right: 2.5%; display: grid; place-items: center;
    width: max(44px, 6%); height: max(44px, 6%); padding: 0; border: 0;
    border-radius: 50%; background: #031323; color: #fff; cursor: pointer;
    font: 36px/1 Arial, sans-serif;
}
.up2-halloween__cta {
    position: absolute; left: 6.6%; top: 82.2%; width: 86.8%; height: 9.5%;
    min-height: 32px; border-radius: 999px; cursor: pointer;
}
.up2-halloween__controls { display: flex; justify-content: center; min-height: 40px; padding: 2px 8px 8px; }
.up2-halloween__pause { border: 0; background: transparent; color: #fff; padding: 6px 12px; font: 13px/1.4 Arial, sans-serif; text-decoration: underline; cursor: pointer; }
.up2-halloween :is(button, a):focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px #e90078; }
.up2-halloween__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
