@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes floaty{0%,100%{transform:translateY(-4px)}50%{transform:translateY(4px)}}
/* Keep the logo fully present while the gold highlight travels across it. */
@keyframes logoShimmer{0%,62%,100%{background-position:100% center;filter:drop-shadow(0 0 1px rgba(212,175,55,.16))}76%{background-position:0 center;filter:drop-shadow(0 0 7px rgba(212,175,55,.42))}88%{background-position:55% center;filter:drop-shadow(0 0 3px rgba(212,175,55,.24))}}
@keyframes sparkle{0%,66%,100%{opacity:.18;transform:scale(.55) rotate(0)}73%{opacity:1;transform:scale(1.45) rotate(25deg)}80%{opacity:.78;transform:scale(.95) rotate(48deg)}87%{opacity:.22;transform:scale(.6) rotate(70deg)}}
@keyframes botanicalFloat{0%,100%{transform:translateY(-3px)}50%{transform:translateY(5px)}}
.hero-glow{animation:breathe 24s ease-in-out infinite}.hero-botanical,.hero-people{animation:botanicalFloat 20s ease-in-out infinite;transform-origin:center}.logo-type{animation:logoShimmer 8s ease-in-out infinite}.sparkle-a{animation:sparkle 5.5s ease-in-out infinite}.sparkle-b{animation:sparkle 5.5s .8s ease-in-out infinite}.sparkle-c{animation:sparkle 5.5s 1.6s ease-in-out infinite}.reveal{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-glow,.hero-botanical,.hero-people,.logo-type,.sparkle{animation:none}.sparkle{display:none}.reveal{opacity:1;transform:none;transition:none}}
@keyframes markGlow{0%,100%{transform:rotate(-1deg) scale(1);filter:drop-shadow(0 3px 5px rgba(164,123,36,.16))}50%{transform:rotate(1deg) scale(1.045);filter:drop-shadow(0 4px 11px rgba(212,175,55,.42))}}
.ja-mark{animation:markGlow 5.5s ease-in-out infinite}.ja-mark .mark-spark{transform-origin:49px 14px;animation:sparkle 4.8s .4s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.ja-mark,.ja-mark .mark-spark{animation:none}}
@keyframes dividerGlint{0%,100%{transform:translateX(-10px) scale(.8);opacity:.45}50%{transform:translateX(10px) scale(1.12);opacity:1}}
.divider-glint{transform-origin:795px 40px;animation:dividerGlint 6s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.divider-glint{animation:none}}

/* v0.1K — a small shared sparkle language for illustrated moments */
@keyframes artSparkle{0%,100%{opacity:.48;transform:scale(.94)}50%{opacity:1;transform:scale(1.055)}}
.art-sparkles{animation:artSparkle 4.8s ease-in-out infinite}.audience-art svg circle{animation:artSparkle 6.4s ease-in-out infinite;transform-origin:center}
@media(prefers-reduced-motion:reduce){.art-sparkles,.audience-art svg circle{animation:none}}

/* v0.1L — livelier, still calm motion across illustrated graphics */
@keyframes gentleSway{0%,100%{transform:rotate(-1.2deg) translateY(0)}50%{transform:rotate(1.2deg) translateY(-5px)}}
@keyframes happyBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes softPulse{0%,100%{transform:scale(.96);opacity:.68}50%{transform:scale(1.06);opacity:1}}
@keyframes driftGlow{0%,100%{transform:translate(0,0) scale(.98)}50%{transform:translate(5px,-5px) scale(1.04)}}
.workshop-art .joy-plants,.workshop-art .joy-leaves{transform-origin:center bottom;animation:gentleSway 7s ease-in-out infinite}
.workshop-art .joy-people{animation:happyBob 6.5s ease-in-out infinite}
.workshop-art .joy-hearts{transform-origin:center;animation:softPulse 4.2s ease-in-out infinite}
.workshop-art .joy-orb{transform-origin:center;animation:driftGlow 8s ease-in-out infinite}
.workshop-art .joy-table{animation:happyBob 9s 1s ease-in-out infinite}
.audience-art svg{animation:happyBob 9s ease-in-out infinite}
.hero-illustration svg{animation:driftGlow 18s ease-in-out infinite;transform-origin:center}
@media(prefers-reduced-motion:reduce){.workshop-art .joy-plants,.workshop-art .joy-leaves,.workshop-art .joy-people,.workshop-art .joy-hearts,.workshop-art .joy-orb,.workshop-art .joy-table,.audience-art svg,.hero-illustration svg{animation:none}}

/* v0.1N — quiet autonomous motion; expressive hover motion is handled by persistent-motion.js so the artwork stays exactly where the pointer leaves it. */
@keyframes subtleBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes subtleSway{0%,100%{transform:rotate(-.45deg) translateY(0)}50%{transform:rotate(.45deg) translateY(-2px)}}
@keyframes subtlePulse{0%,100%{transform:scale(.985);opacity:.78}50%{transform:scale(1.02);opacity:.96}}
.workshop-art .joy-plants,.workshop-art .joy-leaves{animation:subtleSway 10s ease-in-out infinite}
.workshop-art .joy-people,.workshop-art .joy-table{animation:subtleBob 10s ease-in-out infinite}
.workshop-art .joy-hearts,.workshop-art .joy-orb{animation:subtlePulse 8s ease-in-out infinite}
.audience-art svg{animation:subtleBob 11s ease-in-out infinite}
.hero-illustration svg{animation:driftGlow 24s ease-in-out infinite;transform-origin:center}
@media(prefers-reduced-motion:reduce){.workshop-art .joy-plants,.workshop-art .joy-leaves,.workshop-art .joy-people,.workshop-art .joy-table,.workshop-art .joy-hearts,.workshop-art .joy-orb,.audience-art svg,.hero-illustration svg{animation:none}}
