/* Visible, restrained fantasy-portrait motion and moving daylight. */
.fantasy-hero .hero-visual { position:relative!important; overflow:hidden!important; isolation:isolate; }
.fantasy-hero .hero-visual img { animation:elf-portrait-drift 8.5s cubic-bezier(.45,0,.55,1) infinite alternate!important; transform-origin:62% 55%!important; will-change:transform; }
.fantasy-hero .hero-visual::before { content:""; position:absolute; inset:-15%; z-index:2; pointer-events:none; background:linear-gradient(115deg,transparent 20%,rgba(255,247,216,.0) 38%,rgba(255,243,185,.16) 51%,transparent 64%); mix-blend-mode:screen; animation:elf-daylight-drift 12s ease-in-out infinite alternate; }
.fantasy-hero .hero-visual::after { content:""; position:absolute; inset:0; z-index:3; pointer-events:none; background:radial-gradient(ellipse at 74% 22%,rgba(255,239,177,.26),transparent 47%); animation:elf-glow-pulse 5.8s ease-in-out infinite alternate!important; }
@keyframes elf-portrait-drift { 0% {transform:translate3d(0,0,0) scale(1.01) rotate(-.25deg)} 50% {transform:translate3d(-.7%,.45%,0) scale(1.045) rotate(0deg)} 100% {transform:translate3d(-1.25%,-.6%,0) scale(1.065) rotate(.25deg)} }
@keyframes elf-daylight-drift { from{transform:translateX(-26%) rotate(-5deg);opacity:.35} to{transform:translateX(21%) rotate(4deg);opacity:.8} }
@keyframes elf-glow-pulse { from{opacity:.28} to{opacity:.85} }
@media(max-width:680px){.fantasy-hero .hero-visual img{animation-duration:11s!important}}
@media(prefers-reduced-motion:reduce){.fantasy-hero .hero-visual img{animation:none!important;transform:none!important}.fantasy-hero .hero-visual::before,.fantasy-hero .hero-visual::after{animation:none!important;opacity:.2!important}}
