/* Motion correction only. Original page.css and hero-g assets are retained. */
.hero-g-plate .aurora-window{position:absolute;inset:0;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 1%,#000 99%,transparent),linear-gradient(to bottom,transparent,#000 1.5%,#000);mask-composite:intersect}
.hero-g-plate .aurora-drift{animation:aurora-sway-v2 16s ease-in-out infinite;transform-origin:50% 0}
.hero-g-plate .aurora-shimmer{inset:0;background:none;transform:none;opacity:.46;mask-image:linear-gradient(105deg,transparent 35%,#000 50%,transparent 65%);mask-size:300% 100%;mask-repeat:no-repeat;animation:aurora-light-v2 10s linear infinite}
.hero-g-plate .aurora-shimmer .paper-layer{background-color:#efe9dc}
.file-mode .hero-g-plate .aurora-shimmer .paper-layer,.file-mode[data-paper=night] .hero-g-plate .aurora-shimmer .paper-layer{filter:url(#aurora-cream-v2)}
.hero-g-plate .snow-fall{animation:snow-fall-v2 42s linear infinite;opacity:1}
.hero-g-plate .snow-v2-tile{position:absolute;inset:0;background:url("/assets/mockup/v9-loki/suomalaiset-nettikasinot/art/hero-g-snow-v2.svg?v=386519328f") center/100% 100% no-repeat}
.hero-g-plate .snow-v2-copy{transform:translate(-2.4%,-100%)}
@keyframes aurora-sway-v2{0%,100%{transform:translateX(-1.8%) skewX(-1.8deg) scaleX(1.08)}50%{transform:translateX(1.8%) skewX(1.8deg) scaleX(1.08)}}
@keyframes aurora-light-v2{from{mask-position:100% 0}to{mask-position:0% 0}}
/* Linear descent + two smooth sway cycles. Copy offset exactly cancels the
   full-cycle drift, so the flakes occupy identical positions at each wrap. */
@keyframes snow-fall-v2{from{transform:translate(0,0)}to{transform:translate(2.4%,100%)}}
.hero-g-plate .snow-sway-v2{animation:snow-sway-v2 21s ease-in-out infinite}
@keyframes snow-sway-v2{0%,100%{transform:translateX(-.4%)}50%{transform:translateX(.4%)}}
@media(prefers-reduced-motion:reduce){.hero-g-plate .aurora-drift{transform:scaleX(1.08)!important}}
