/* Gentle, low-amplitude motion. Text stays still and readable. */
@keyframes koza-photo-arrive{from{opacity:0;transform:translateY(15px) rotate(-3deg)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}
@keyframes koza-butterfly-float{0%,100%{transform:translate(0,0) rotate(15deg)}50%{transform:translate(-8px,-10px) rotate(23deg)}}
@keyframes koza-sun-sway{0%,100%{transform:rotate(-15deg)}50%{transform:rotate(1deg)}}
@keyframes koza-badge-float{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-5px) rotate(-9deg)}}
@keyframes koza-flight{to{stroke-dashoffset:-44}}
@keyframes koza-sticker-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(-4deg)}}
@media(prefers-reduced-motion:no-preference){
 .hero-photo-wrap{animation:koza-photo-arrive .9s cubic-bezier(.2,.65,.3,1) both}
 .hero-butterfly{animation:koza-butterfly-float 6s ease-in-out infinite;transform-origin:50% 65%}
 .sun-doodle{animation:koza-sun-sway 9s ease-in-out infinite;transform-origin:50% 50%}
 .age-seal{animation:koza-badge-float 7s ease-in-out infinite}
 .flight-trail path{animation:koza-flight 8s linear infinite}
 .faq-butterfly{animation:koza-sticker-sway 8s ease-in-out infinite}
}
@media(min-width:761px) and (max-width:1000px){.hero-photo-wrap{height:auto;aspect-ratio:1/1}}
@media(prefers-reduced-motion:reduce){.hero-photo-wrap,.hero-butterfly,.sun-doodle,.age-seal,.flight-trail path,.faq-butterfly{animation:none!important}}

/* Section entrances are opt-in through JS; content stays visible if JS is off. */
@media(prefers-reduced-motion:no-preference){
 .reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
 .reveal-ready.reveal-shown{opacity:1;transform:translateY(0)}
 .program-card.reveal-shown:hover{transform:translateY(-6px);transition-delay:0ms}
 .photo-sticker{animation:koza-sticker-sway 9s ease-in-out infinite}
}
@media(prefers-reduced-motion:reduce){.reveal-ready{opacity:1;transform:none;transition:none!important}.photo-sticker{animation:none!important}}
