/* Quiet atmosphere, progressive reveals and a shared motion preference. */
.mist-host{position:relative;isolation:isolate}
.mist-layer{position:absolute;inset:0 0 auto;height:480px;overflow:hidden;pointer-events:none;z-index:-1;mask-image:linear-gradient(transparent,#000 17%,#000 72%,transparent)}
.mist-wisp{position:absolute;left:-8%;top:12%;width:92%;height:62%;opacity:0;background:radial-gradient(ellipse at 22% 61%,#cab67640,transparent 31%),radial-gradient(ellipse at 51% 43%,#b59d632f,transparent 34%),radial-gradient(ellipse at 77% 62%,#d8cc9a24,transparent 29%);filter:blur(17px);transform-origin:center;animation:hos-mist-drift 19s ease-in-out infinite;animation-delay:var(--mist-delay,-3s)}
.mist-wisp+.mist-wisp{left:auto;right:-9%;top:35%;width:85%;height:55%;animation-name:hos-mist-return;animation-duration:24s;animation-delay:calc(var(--mist-delay,-3s) - 9s);background:radial-gradient(ellipse at 23% 65%,#d6c18c29,transparent 28%),radial-gradient(ellipse at 48% 45%,#c6b4873b,transparent 35%),radial-gradient(ellipse at 79% 34%,#a3864524,transparent 32%)}
.mist-host:not(.mist-in-view) .mist-wisp{animation-play-state:paused}
@keyframes hos-mist-drift{0%,100%{opacity:.08;transform:translate3d(-7%,14px,0) rotate(-9deg) scale(.95)}35%{opacity:.9}70%{opacity:.48}90%{opacity:.12;transform:translate3d(16%,-24px,0) rotate(4deg) scale(1.13)}}
@keyframes hos-mist-return{0%,100%{opacity:.06;transform:translate3d(8%,20px,0) rotate(8deg) scale(1)}40%{opacity:.75}85%{opacity:.1;transform:translate3d(-18%,-35px,0) rotate(-6deg) scale(1.16)}}
/* A single light pass when a ticket enters the viewport. The QR stays readable. */
.community-ticket{overflow:hidden}
.community-ticket:after{content:'';position:absolute;inset:-45% -65%;pointer-events:none;background:linear-gradient(110deg,transparent 39%,#fff7d55c 48%,transparent 57%);opacity:0;transform:translateX(-60%)}
.community-ticket.ticket-arrived:after{animation:hos-ticket-shine 1.6s ease-out .3s both}
@keyframes hos-ticket-shine{0%{transform:translateX(-60%);opacity:0}20%{opacity:.65}100%{transform:translateX(65%);opacity:0}}
.motion-photo{transform:translate3d(0,var(--photo-drift,0px),0) scale(1.055);transition:transform .18s linear}
.event-row{transition:background-color .3s,border-color .3s}
@media(hover:hover) and (pointer:fine){.event-row:hover{background-color:#e6c34a06;border-color:#a68b3f66}.text-link>span,.event-action a>span{display:inline-block;transition:transform .3s}.text-link:hover>span,.event-action a:hover>span{transform:translate(3px,-3px)}}
.motion-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 10px;border:1px solid #655632;background:transparent;color:#c8c4b1;font-size:10px;letter-spacing:.2px;border-radius:2px;line-height:1.4}
.motion-toggle:hover{color:var(--gold);border-color:var(--gold)}
.motion-toggle-symbol{color:var(--gold);font-size:13px;min-width:11px}
.motion-toggle:disabled{cursor:default;opacity:.8}
.footer-bottom{align-items:center;flex-wrap:wrap}
html[data-motion="paused"] *,html[data-motion="paused"] *:before,html[data-motion="paused"] *:after,html.motion-tab-hidden *,html.motion-tab-hidden *:before,html.motion-tab-hidden *:after{animation-play-state:paused!important}
html[data-motion="paused"]{scroll-behavior:auto}
html[data-motion="paused"] .mist-layer{opacity:0}
html[data-motion="paused"] .community-ticket:after{animation:none;opacity:0}
html[data-motion="paused"] .motion-photo{transform:none;transition:none}
html[data-motion="paused"] .stories-track,html[data-motion="paused"] .story-card{transition:none!important}
html[data-motion="paused"] .parcel-card:hover .parcel-photo img,html[data-motion="paused"] .text-link:hover>span,html[data-motion="paused"] .event-action a:hover>span{transform:none}
@media(max-width:620px){.mist-layer{height:330px}.mist-wisp{width:105%;height:70%;filter:blur(12px)}.mist-wisp+.mist-wisp{display:none}.motion-toggle{font-size:9px;min-height:38px}}
@media(prefers-reduced-motion:reduce){.mist-layer{display:none}.community-ticket:after{display:none}.motion-photo{transform:none;transition:none}.text-link>span,.event-action a>span,.event-row{transition:none}}
