.nicolas-video-play { position: absolute; z-index: 3; top: 50%; left: 50%; display: grid; width: clamp(3.75rem, 6vw, 5rem); aspect-ratio: 1; place-items: center; isolation: isolate; transform: translate(-50%, -50%); border: 1px solid rgb(255 255 255 / .72); border-radius: 62% 38% 56% 44% / 40% 60% 43% 57%; background: rgb(16 17 15 / .72); box-shadow: 0 8px 26px rgb(0 0 0 / .24); color: var(--nicolas-white); text-decoration: none; transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease; }
.nicolas-video-play::before,
.nicolas-video-play::after { position: absolute; z-index: 1; inset: -1px; border-radius: inherit; content: ""; pointer-events: none; animation-play-state: paused; }
.nicolas-video-play::after { z-index: 0; inset: -3px; border: 1px solid rgb(255 255 255 / .48); opacity: 0; transform: scale(.96); }
@property --nicolas-play-border-angle { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@supports (mask-composite: exclude) or (-webkit-mask-composite: xor) {
    .nicolas-video-play::before { padding: 1.5px; background: conic-gradient(from var(--nicolas-play-border-angle), transparent 0deg 270deg, rgb(255 255 255 / .2) 292deg, rgb(255 255 255 / .95) 315deg, rgb(255 255 255 / .2) 338deg, transparent 360deg); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; }
}
.nicolas-video-play.is-motion-active::before { animation: nicolas-play-border-turn 5s linear infinite; }
.nicolas-video-play.is-motion-active::after { animation: nicolas-play-invitation 3s ease-out infinite; }
.nicolas-video-play svg { position: relative; z-index: 2; width: 2.4rem; height: 2.4rem; margin-left: .2rem; transform-origin: center; animation-play-state: paused; }
.nicolas-video-play.is-motion-active svg { animation: nicolas-play-icon-pulse 3s ease-in-out infinite; }
@keyframes nicolas-play-border-turn { to { --nicolas-play-border-angle: 360deg; } }
@keyframes nicolas-play-icon-pulse { 0%, 72%, 100% { transform: scale(1); } 80% { transform: scale(1.2); } }
@keyframes nicolas-play-invitation { 0%, 72% { opacity: 0; transform: scale(.96); } 80% { opacity: .48; } 100% { opacity: 0; transform: scale(1.18); } }
.nicolas-video-play:hover { border-color: var(--nicolas-white); background: rgb(16 17 15 / .88); box-shadow: 0 10px 30px rgb(0 0 0 / .32); }
.nicolas-video-play:focus-visible { outline: 3px solid var(--nicolas-white); outline-offset: 5px; }
/* Home is the shared reference; these selectors do not affect other lightboxes. */
:is(.nicolas-home__video-dialog, .nicolas-venues__video-dialog) { position: fixed; inset: 0; width: min(1000px, calc(100% - 2rem)); max-width: none; max-height: calc(100dvh - 2rem); margin: auto; padding: 0; overflow: visible; border: 0; background: transparent; color: var(--nicolas-white); }
:is(.nicolas-home__video-dialog, .nicolas-venues__video-dialog)[open] { display: grid; place-items: center; }
:is(.nicolas-home__video-dialog, .nicolas-venues__video-dialog)::backdrop { background: rgb(16 17 15 / .92); }
:is(.nicolas-home__video-dialog, .nicolas-venues__video-dialog) video { display: block; width: 100%; max-height: calc(100dvh - 3rem); aspect-ratio: 16 / 9; background: #000; object-fit: contain; }
:is(.nicolas-home__video-close, .nicolas-venues__video-close) { position: absolute; z-index: 2; top: -.85rem; right: -.85rem; display: grid; width: 2.75rem; aspect-ratio: 1; place-items: center; padding: 0; appearance: none; -webkit-appearance: none; border: 1px solid rgb(255 255 255 / .8); border-radius: 50%; background: #242720; box-shadow: none; color: var(--nicolas-white); cursor: pointer; -webkit-tap-highlight-color: transparent; }
:is(.nicolas-home__video-close, .nicolas-venues__video-close) span { position: absolute; width: 1rem; height: 1.5px; background: currentColor; transform: rotate(45deg); }
:is(.nicolas-home__video-close, .nicolas-venues__video-close) span + span { transform: rotate(-45deg); }
:is(.nicolas-home__video-close, .nicolas-venues__video-close):focus-visible,
:is(.nicolas-home__video-dialog, .nicolas-venues__video-dialog)[data-video-input="keyboard"] :is(.nicolas-home__video-close, .nicolas-venues__video-close):focus { outline: 3px solid var(--nicolas-white); outline-offset: 3px; }
/* Safari may mark the automatically focused X as focus-visible after a tap. */
:is(.nicolas-home__video-dialog, .nicolas-venues__video-dialog)[data-video-input="pointer"] :is(.nicolas-home__video-close, .nicolas-venues__video-close):focus { outline: none; }
@media (prefers-reduced-motion: reduce) {
    .nicolas-video-play { transition: none; }
    .nicolas-video-play::before,
    .nicolas-video-play::after,
    .nicolas-video-play svg { animation: none; }
}
