/* Epic lightbox (a.fresco) */
.epic-lb { position: fixed; inset: 0; z-index: 100000; display: none; align-items: center; justify-content: center; flex-direction: column; padding: 4vh 4vw; }
.epic-lb.is-open { display: flex; animation: epicLbIn .25s ease both; }
.epic-lb__backdrop { position: absolute; inset: 0; background: rgba(10, 10, 12, .92); }
.epic-lb__stage { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; width: 100%; max-width: 1200px; max-height: 86vh; }
.epic-lb__stage img { max-width: 100%; max-height: 86vh; width: auto; height: auto; object-fit: contain; box-shadow: 0 20px 60px rgba(0, 0, 0, .4); }
.epic-lb__video { position: relative; width: min(100%, calc(86vh * 16 / 9)); aspect-ratio: 16 / 9; background: #000; }
.epic-lb__video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.epic-lb__caption { position: relative; z-index: 1; margin: 1em 0 0; color: #fff; font-size: 14px; text-align: center; }
.epic-lb__btn { position: absolute; z-index: 2; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .1); color: #fff; font-size: 30px; line-height: 1; cursor: pointer; transition: background .2s; }
.epic-lb__btn:hover, .epic-lb__btn:focus-visible { background: rgba(255, 255, 255, .25); }
.epic-lb__btn[hidden] { display: none; }
.epic-lb__close { top: 16px; right: 16px; }
.epic-lb__prev { left: 16px; top: 50%; transform: translateY(-50%); }
.epic-lb__next { right: 16px; top: 50%; transform: translateY(-50%); }
html.epic-lb-open { overflow: hidden; }
@keyframes epicLbIn { from { opacity: 0; } to { opacity: 1; } }
