@keyframes ofrenda-hotspot-bloom-ring{0%{transform:scale(.5);opacity:0}40%{transform:scale(1.05);opacity:.85}to{transform:scale(1.9);opacity:0}}@keyframes ofrenda-hotspot-pulse{0%,to{transform:scale(1);opacity:0}4%{transform:scale(1);opacity:.85}18%{transform:scale(1.5);opacity:0}24%{transform:scale(1);opacity:.7}40%{transform:scale(1.65);opacity:0}}.ofrenda-hotspot-pulse{opacity:0}[data-ofrenda-hotspots][data-shown=true] [data-ofrenda-hotspot][data-placed=true] .ofrenda-hotspot-pulse{animation-name:ofrenda-hotspot-bloom-ring,ofrenda-hotspot-pulse;animation-duration:var(--hotspot-bloom-ring,.7s),var(--hotspot-pulse,2.6s);animation-timing-function:ease-out,ease-out;animation-iteration-count:1,infinite;animation-fill-mode:both,both;animation-delay:var(--hotspot-delay,0s),calc(var(--hotspot-delay, 0s) + var(--hotspot-bloom-ring, .7s))}.ofrenda-hotspot-number{opacity:0;transform:scale(.35);transition:background-color .15s ease-out,color .15s ease-out,transform .15s ease-out,box-shadow .15s ease-out;box-shadow:0 0 12px rgba(255,140,40,.55)}@keyframes ofrenda-hotspot-pop{0%{transform:scale(.35);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}[data-ofrenda-hotspots][data-shown=true] [data-ofrenda-hotspot][data-placed=true] .ofrenda-hotspot-number{animation:ofrenda-hotspot-pop var(--hotspot-bloom-pop,.5s) ease-out both;animation-delay:var(--hotspot-delay,0s)}@media (hover:hover){[data-ofrenda-hotspot]:hover .ofrenda-hotspot-number{background-color:var(--festival-orange,#f47b20);color:var(--festival-dark,#1a0a2e);transform:scale(var(--hotspot-hover-scale,1.14));box-shadow:0 0 20px 6px rgba(255,180,60,.7)}}[data-ofrenda-hotspot]:focus-visible .ofrenda-hotspot-number{transform:scale(var(--hotspot-hover-scale,1.14));box-shadow:0 0 20px 6px rgba(255,180,60,.7)}@keyframes ofrenda-hotspot-flash{0%{transform:scale(1);box-shadow:0 0 12px rgba(255,140,40,.55)}35%{transform:scale(1.22);box-shadow:0 0 26px 10px rgba(255,220,140,.9)}to{transform:scale(1);box-shadow:0 0 12px rgba(255,140,40,.55)}}[data-ofrenda-hotspot][data-tap=true] .ofrenda-hotspot-number{animation:ofrenda-hotspot-flash var(--hotspot-flash,.22s) ease-out}.ofrenda-hotspot-card{transform-origin:center}@keyframes ofrenda-hotspot-card-enter{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes ofrenda-hotspot-card-exit{0%{transform:scale(1);opacity:1}to{transform:scale(.45);opacity:0}}.ofrenda-hotspot-card[data-phase=enter]{animation:ofrenda-hotspot-card-enter var(--hotspot-unfold,.3s) ease-out both}.ofrenda-hotspot-card[data-phase=exit]{animation:ofrenda-hotspot-card-exit var(--hotspot-unfold,.3s) ease-in both;pointer-events:none}[data-ofrenda-hotspots] [data-ofrenda-hotspot]{transition:opacity var(--hotspot-fade,.5s) ease-out}[data-ofrenda-hotspots][data-zoomed=true] [data-ofrenda-hotspot][data-placed=true]:not([aria-expanded=true]){opacity:var(--hotspot-dim,.45)}@keyframes ofrenda-hotspot-body-in{0%{opacity:0}to{opacity:1}}.ofrenda-hotspot-body{animation:ofrenda-hotspot-body-in var(--hotspot-unfold,.3s) ease-out both}@media (prefers-reduced-motion:reduce){.ofrenda-hotspot-pulse{animation:none!important;opacity:0!important}[data-ofrenda-hotspots][data-shown=true] [data-ofrenda-hotspot][data-placed=true] .ofrenda-hotspot-number{animation:none!important;opacity:1!important;transform:none!important}[data-ofrenda-hotspot] .ofrenda-hotspot-number{transition:none!important}.ofrenda-hotspot-body,[data-ofrenda-hotspot][data-tap=true] .ofrenda-hotspot-number{animation:none!important}.ofrenda-hotspot-card[data-phase=enter],.ofrenda-hotspot-card[data-phase=exit]{animation:none!important;transform:none!important;opacity:1!important}}.ofrenda-spotlight{background:color-mix(in srgb,var(--festival-dark) calc(var(--spot-alpha, .66) * 100%),transparent);-webkit-mask-image:radial-gradient(ellipse calc(var(--spot-rx0, 1px) * var(--spot-feather, 1.7)) calc(var(--spot-ry0, 1px) * var(--spot-feather, 1.7)) at var(--spot-x0,-9999px) var(--spot-y0,-9999px),transparent calc(100% * var(--spot-clear, .95) / var(--spot-feather, 1.7)),#000 100%),radial-gradient(ellipse calc(var(--spot-rx1, 1px) * var(--spot-feather, 1.7)) calc(var(--spot-ry1, 1px) * var(--spot-feather, 1.7)) at var(--spot-x1,-9999px) var(--spot-y1,-9999px),transparent calc(100% * var(--spot-clear, .95) / var(--spot-feather, 1.7)),#000 100%),radial-gradient(ellipse calc(var(--spot-rx2, 1px) * var(--spot-feather, 1.7)) calc(var(--spot-ry2, 1px) * var(--spot-feather, 1.7)) at var(--spot-x2,-9999px) var(--spot-y2,-9999px),transparent calc(100% * var(--spot-clear, .95) / var(--spot-feather, 1.7)),#000 100%),radial-gradient(ellipse calc(var(--spot-rx3, 1px) * var(--spot-feather, 1.7)) calc(var(--spot-ry3, 1px) * var(--spot-feather, 1.7)) at var(--spot-x3,-9999px) var(--spot-y3,-9999px),transparent calc(100% * var(--spot-clear, .95) / var(--spot-feather, 1.7)),#000 100%);mask-image:radial-gradient(ellipse calc(var(--spot-rx0, 1px) * var(--spot-feather, 1.7)) calc(var(--spot-ry0, 1px) * var(--spot-feather, 1.7)) at var(--spot-x0,-9999px) var(--spot-y0,-9999px),transparent calc(100% * var(--spot-clear, .95) / var(--spot-feather, 1.7)),#000 100%),radial-gradient(ellipse calc(var(--spot-rx1, 1px) * var(--spot-feather, 1.7)) calc(var(--spot-ry1, 1px) * var(--spot-feather, 1.7)) at var(--spot-x1,-9999px) var(--spot-y1,-9999px),transparent calc(100% * var(--spot-clear, .95) / var(--spot-feather, 1.7)),#000 100%),radial-gradient(ellipse calc(var(--spot-rx2, 1px) * var(--spot-feather, 1.7)) calc(var(--spot-ry2, 1px) * var(--spot-feather, 1.7)) at var(--spot-x2,-9999px) var(--spot-y2,-9999px),transparent calc(100% * var(--spot-clear, .95) / var(--spot-feather, 1.7)),#000 100%),radial-gradient(ellipse calc(var(--spot-rx3, 1px) * var(--spot-feather, 1.7)) calc(var(--spot-ry3, 1px) * var(--spot-feather, 1.7)) at var(--spot-x3,-9999px) var(--spot-y3,-9999px),transparent calc(100% * var(--spot-clear, .95) / var(--spot-feather, 1.7)),#000 100%);-webkit-mask-composite:source-in;mask-composite:intersect}