/* Transform-only photo motion keeps image downloads and layout unchanged. */
.photo-motion{animation:photo-breathe 12s ease-in-out infinite alternate;animation-delay:var(--motion-delay,0s);animation-play-state:paused;transform-origin:center}
.photo-motion.motion-visible{animation-play-state:running}
@keyframes photo-breathe{from{scale:1;translate:0 0}to{scale:1.025;translate:0 -2px}}
.hero-image.photo-motion{animation-name:hero-breathe}
@keyframes hero-breathe{from{scale:1;translate:0 0}to{scale:1.015;translate:0 -4px}}
.photo:has(>.photo-motion),.blog-card>a:has(>.photo-motion){overflow:hidden}
.blog-card>a:has(>.photo-motion){display:block}
.photo-motion:hover, a:focus-visible .photo-motion,html.photos-paused .photo-motion{animation-play-state:paused!important}
.photo-motion-control{display:block;margin:1rem 5vw 1.5rem auto;padding:.55rem .85rem;border:1px solid currentColor;border-radius:999px;background:#fffaf2;color:#254657;font:inherit;font-size:.8rem;cursor:pointer}
.photo-motion-control:focus-visible{outline:3px solid #e85d4a;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.photo-motion{animation:none!important}}
