/* Cinematic is opt-in; content stays visible when JavaScript is unavailable. */
.mec-cinema-hero { position:relative; overflow:hidden; isolation:isolate; padding-bottom:64px; }
.mec-cinema-hero::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:2; opacity:.035; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' opacity='.8' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
.mec-cinema-light { position:absolute; inset:-50%; pointer-events:none; z-index:1; background:linear-gradient(110deg,transparent 42%,#ffffff12 49%,transparent 56%); animation:mec-light 3.6s ease-out both; }
.mec-cinema :is(.mxsb-hero__content,.mec-home-hero__copy) { animation:mec-copy .9s cubic-bezier(.2,.65,.3,1) both; }
.mec-cinema :is(.mxsb-hero__visual,.mec-home-hero__visual) { opacity:1; translate:0 var(--cinema-parallax,0px); animation:mec-visual 1.3s cubic-bezier(.2,.65,.3,1) both; }
.mec-cinema :is(.mxsb-hero__visual,.mec-home-hero__visual) img { animation:mec-ken-burns 4.8s ease-out both; transform-origin:55% 50%; }
.mec-cinema-cue { position:absolute; bottom:20px; left:0; width:100%; text-align:center; font-size:11px; letter-spacing:.12em; opacity:.65; pointer-events:none; animation:mec-cue 2s ease-in-out 2; }
.mec-cinema .mec-cinema-item { transition:opacity .75s ease var(--cinema-delay,0ms),translate .75s cubic-bezier(.2,.65,.3,1) var(--cinema-delay,0ms); }
.mec-cinema .mec-cinema-pending { opacity:0; translate:0 24px; }
.mec-cinema .mec-cinema-pending:focus-within { opacity:1; translate:0 0; }
.mec-cinema :is(.mec-button,.mxsb-button) { transition:translate .25s ease,box-shadow .25s ease; }
.mec-cinema :is(.mec-button,.mxsb-button):is(:hover,:focus-visible) { translate:0 -2px; box-shadow:0 10px 24px #0002; }
.mec-cinema-paused * { animation-play-state:paused !important; }
@keyframes mec-copy { from { transform:translateY(18px); } to { transform:translateY(0); } }
@keyframes mec-visual { from { opacity:.3; transform:translateY(28px); } to { opacity:1; transform:translateY(0); } }
@keyframes mec-ken-burns { from { transform:scale(1); } to { transform:scale(1.045); } }
@keyframes mec-light { from { transform:translateX(-65%); } to { transform:translateX(65%); } }
@keyframes mec-cue { 50% { transform:translateY(4px); } }
@media(max-width:767px) { .mec-cinema-light { display:none; } .mec-cinema .mec-cinema-item { transition-duration:.45s; transition-delay:0s; } .mec-cinema :is(.mxsb-hero__visual,.mec-home-hero__visual) img { animation:none; } }
@media(prefers-reduced-motion:reduce) { .mec-cinema *, .mec-cinema *::after { animation:none !important; transition:none !important; translate:none !important; } .mec-cinema .mec-cinema-pending { opacity:1; } .mec-cinema-light { display:none; } }
@media print { .mec-cinema .mec-cinema-pending { opacity:1; translate:none; } .mec-cinema-light,.mec-cinema-cue { display:none; } }
/* Take ownership of legacy reveal nodes only within the cinematic homepage. */
.mec-cinema .mec-cinema-item.mxsb-reveal { transform:none; opacity:1; }
.mec-cinema .mec-cinema-item.mxsb-reveal.mec-cinema-pending { opacity:0; }
.mec-cinema .mec-cinema-item.mxsb-reveal:focus-within { opacity:1; translate:none; }
@media(prefers-reduced-motion:reduce) { .mec-cinema .mec-cinema-item.mxsb-reveal.mec-cinema-pending { opacity:1; } }
@media print { .mec-cinema .mec-cinema-item.mxsb-reveal.mec-cinema-pending { opacity:1; } }
