.deco-layer { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.deco-loop,.deco-logo { position:absolute; overflow:hidden; opacity:0; transition:opacity .45s ease; }
.deco-loop { visibility:hidden; }
.deco-video { position:absolute; display:block; object-fit:fill; pointer-events:none; max-width:none; }
.deco-logo-foreground { position:absolute; inset:0; width:100%; height:100%; z-index:3; pointer-events:none; }
.deco-reel-foreground { position:absolute; inset:0; width:100%; height:100%; z-index:5; pointer-events:none; }
.deco-logo { z-index:4; pointer-events:none; }
.deco-left { mask-image:linear-gradient(to right,transparent,#000 1.4% 97.5%,transparent),linear-gradient(to bottom,#000 98%,transparent); mask-composite:intersect; }
.deco-right { mask-image:linear-gradient(to right,transparent,#000 2.5% 98.6%,transparent),linear-gradient(to bottom,#000 98%,transparent); mask-composite:intersect; }
.deco-logo { mask-image:var(--logo-alpha-mask,linear-gradient(#000,#000)),linear-gradient(to right,transparent,#000 1.5% 98.5%,transparent); mask-mode:alpha; mask-composite:intersect; mask-size:100% 100%; mask-repeat:no-repeat; }
.deco-logo-mask { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.deco-bonus { mask-image:linear-gradient(to right,#000 0 16.2%,transparent 16.65% 83.35%,#000 83.8% 100%),linear-gradient(to bottom,#000 83%,transparent 85.7%); mask-composite:intersect; }
/* The one-time mask feathers the open logo shoulders across x242..334 and
   narrows to the original x270..278 by y162 (mirrored on the right). Keep this
   safe old side-only mask as fallback; the bottom still fades at y799..806. */
.deco-pulse { mask-image:var(--pulse-scenery-mask,linear-gradient(to right,#000 0 16.14832536%,transparent 16.62679426% 83.37320574%,#000 83.85167464% 100%),linear-gradient(to bottom,#000 84.90967056%,transparent 85.65356004%)); mask-composite:intersect; mask-mode:alpha; mask-size:100% 100%; mask-repeat:no-repeat; }
@media(prefers-reduced-motion:reduce) { .deco-layer,.deco-logo { display:none; } }

/* Portrait scenery is one illustrated cabinet. Landscape video crops and traced
   foregrounds must not project across its separate reel window. */
html[data-layout="portrait"] :is(.deco-layer,.deco-logo,.deco-logo-foreground,.deco-reel-foreground){display:none!important}
