/* Server-rendered compatibility layer. The visual source remains the original Vue CSS. */
html,body{background:#000}body{margin:0}.main__content{position:relative;height:100%;min-height:calc(100vh - 90px);width:100%;padding:90px 0}.home.main__content{padding:0;min-height:100vh}.mb-intro-seen .intro{display:none!important}.intro{background:#030303;height:100vh;width:100%;display:flex;justify-content:center;align-items:center;position:fixed;inset:0;z-index:9999;transition:opacity .45s ease,visibility .45s ease}.intro.is-leaving{opacity:0;visibility:hidden}.intro img{max-width:500px;width:min(90vw,500px)}
.mb-page-transition{position:fixed;inset:0;background:#030303;opacity:0;visibility:hidden;pointer-events:none;z-index:9998;transition:opacity .18s ease,visibility .18s ease}.mb-page-transition.is-active{opacity:1;visibility:visible}
/* AOS-equivalent effects, without keeping Vue/AOS as a dependency. */
[data-aos]{opacity:0;transition-property:opacity,transform;transition-duration:.55s;transition-timing-function:ease}[data-aos=fade-up]{transform:translate3d(0,18px,0)}[data-aos=fade-right]{transform:translate3d(-18px,0,0)}[data-aos=fade-down]{transform:translate3d(0,-18px,0)}[data-aos].aos-animate{opacity:1;transform:none}
/* Preserve original menu/dropdown states in vanilla JS. */
.locale__menu{display:none}.locale__switcher.is-open .locale__menu{display:flex}.header.toggle-menu .mobile-nav,.mobile-nav.toggle{left:0}.header .menu-btn{border:0;background:transparent;padding:0}.locale__button{cursor:pointer}.locale__menu a{cursor:pointer}
/* Lazy image equivalent. */
.lazy-img{opacity:0;transition:opacity .35s ease}.lazy-img.is-loaded{opacity:1}
/* Painting zoom/pan equivalent. */
.panzoom__element{touch-action:none;cursor:grab;transform-origin:center center}.panzoom__element.is-dragging{cursor:grabbing}.panzoom__element img{user-select:none;-webkit-user-drag:none}.panzoom__controls button{background:transparent;border:0;padding:0;cursor:pointer}.panzoom__controls button img{display:block}
/* Share panel starts collapsed exactly like Vue transition. */
.share__container.not-visible{height:0;overflow:hidden}.share__container.is-visible{height:50px;overflow:visible}.social__sharing a{position:relative;display:inline-block;padding:8px}.social__sharing a img{height:16px;width:16px}.social__tooltip{visibility:hidden;opacity:0;position:absolute}.social__sharing a:hover .social__tooltip{visibility:visible;opacity:1}
/* Press-image lightbox replacement for vue-gallery/blueimp. */
.mb-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:10050;display:none;align-items:center;justify-content:center;padding:60px}.mb-lightbox.is-open{display:flex}.mb-lightbox__image{max-width:92vw;max-height:86vh;object-fit:contain}.mb-lightbox__close,.mb-lightbox__prev,.mb-lightbox__next{position:absolute;background:rgba(0,0,0,.5);color:#fff;border:2px solid #fff;cursor:pointer;z-index:2}.mb-lightbox__close{top:20px;right:25px;border-radius:50%;width:48px;height:48px;font-size:30px;line-height:40px}.mb-lightbox__prev,.mb-lightbox__next{top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:25px}.mb-lightbox__prev{left:20px}.mb-lightbox__next{right:20px}.mb-lightbox__caption{position:absolute;bottom:18px;left:20px;right:20px;text-align:center;color:#fff;font-size:14px}
/* Film keeps Vue's intentional short reveal but never waits on an API call. */
.film__container.mb-film-pending .row{opacity:0}.film__container>.row{transition:opacity .45s ease}
/* Sticky artist navigation equivalent. */
@media(min-width:1200px){.sidebar__menu{position:sticky;top:110px}}
/* Contact feedback; original Vue accidentally used green for both, retained visually. */
#form-msg{display:none}#form-msg.is-visible{display:block}
/* Respect users who request reduced motion. */
@media(prefers-reduced-motion:reduce){[data-aos],.intro,.mb-page-transition,.lazy-img{transition:none!important;transform:none!important}.intro{animation:none!important}}

.mb-home-video{object-fit:cover;min-height:100vh;height:100%;width:100%;position:absolute;inset:0;object-position:left}.mb-lightbox-trigger{appearance:none;-webkit-appearance:none;border:0;padding:0;background:transparent;color:inherit;width:100%;text-align:inherit;cursor:pointer}.ps{overflow-y:auto;overscroll-behavior:contain}.locale__switcher .locale__button svg:first-child{height:24px;width:24px;fill:#fff;margin-right:8px}.mb-mobile-pagination{display:none}
@media(max-width:767px){.mb-desktop-locale{display:none!important}.mb-mobile-locale{display:flex!important}.mb-desktop-pagination{display:none!important}.mb-mobile-pagination{display:block!important}}
@media(min-width:768px){.mb-desktop-locale{display:block}.mb-mobile-locale{display:none!important}.mb-desktop-pagination{display:block}.mb-mobile-pagination{display:none!important}}
