/* Warm light over the existing photograph; only transform and opacity animate. */
.hero-atmosphere{position:absolute;inset:0;z-index:4;overflow:hidden;pointer-events:none;border-radius:inherit}
.hero-light{position:absolute;pointer-events:none}
.hero-light--beam{inset:-25% -35%;background:linear-gradient(115deg,transparent 46%,#ffc76608 48%,#ffe5a822 50%,#ffd69209 52%,transparent 55%);transform:translate3d(-18%,0,0);opacity:0;animation:hero-light-sweep 17s ease-in-out infinite}
.hero-light--halo{width:60%;height:86%;right:-4%;top:1%;background:radial-gradient(ellipse,#ffd9851a,transparent 68%);opacity:.3;animation:hero-light-breathe 9s ease-in-out infinite alternate}
.hero-firefly{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);animation:hero-firefly-drift var(--flight) ease-in-out var(--delay) infinite;pointer-events:none}
.hero-firefly::before{content:"";position:absolute;inset:0;border-radius:50%;background:#fff4bd;box-shadow:0 0 4px 1px #ffe49dcc,0 0 11px 3px #efce635c;opacity:.12;animation:hero-firefly-glow var(--pulse) ease-in-out var(--pulse-delay) infinite}
.hero-stage[data-motion="paused"] .hero-light,.hero-stage[data-motion="paused"] .hero-firefly,.hero-stage[data-motion="paused"] .hero-firefly::before{animation-play-state:paused}
@keyframes hero-light-sweep{0%,12%{transform:translate3d(-18%,0,0);opacity:0}30%{opacity:.55}65%{opacity:.45}85%,100%{transform:translate3d(22%,0,0);opacity:0}}
@keyframes hero-light-breathe{from{opacity:.18;transform:scale(.95)}to{opacity:.65;transform:scale(1.04)}}
@keyframes hero-firefly-drift{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(calc(var(--x1) * min(1vw,14px)),calc(var(--y1) * min(1vh,8px)),0)}50%{transform:translate3d(calc(var(--x2) * min(1vw,14px)),calc(var(--y2) * min(1vh,8px)),0)}75%{transform:translate3d(calc(var(--x3) * min(1vw,14px)),calc(var(--y3) * min(1vh,8px)),0)}}
@keyframes hero-firefly-glow{0%,100%{opacity:.08;transform:scale(.7)}30%{opacity:.4}55%{opacity:.92;transform:scale(1.15)}75%{opacity:.3}}
@media(max-width:760px){.hero-light--halo{width:100%;height:50%;top:auto;bottom:4%;right:-12%}.hero-light--beam{opacity:.3}}
@media(prefers-reduced-motion:reduce){.hero-atmosphere{display:none}}
