section[id]{scroll-margin-top:84px}
:focus-visible{outline:3px solid var(--green-light);outline-offset:4px}
.card:focus-visible{outline-offset:3px}
.play{transition:transform .25s cubic-bezier(.16,1,.3,1)}
.card:hover .play{transform:translateY(-3px)}
body.modal-open{overflow:hidden}
#lightbox{position:fixed;inset:0;margin:auto;padding:0;border:0;background:transparent;color:var(--cream);overflow:visible;max-width:none;max-height:none;width:min(90vw,1160px,160dvh)}
#lightbox::backdrop{background:rgba(0,0,0,.92)}
.lightbox-inner{position:relative;aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden}
#lightbox.portrait{width:min(90vw,50.625dvh)}
#lightbox.portrait .lightbox-inner{aspect-ratio:9/16}
#lightbox-video{width:100%;height:100%;object-fit:contain}
.lightbox-close{position:absolute;top:12px;right:12px;z-index:2;width:40px;height:40px;border:1px solid rgba(247,243,238,.35);border-radius:50%;background:rgba(0,0,0,.6);color:var(--cream);font-size:26px;cursor:pointer}
#video-status:not(:empty){position:absolute;left:20px;right:20px;top:64px;background:rgba(0,0,0,.8);padding:12px;border-radius:8px}
@media(max-width:900px){.logos .row{display:flex;overflow-x:auto;gap:28px}.logos img{flex:0 0 120px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
