/* A quiet moving photograph; the price and room controls stay readable. */
.pet-motion-frame{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:3/2;border-radius:16px;background:#e7e4dc;line-height:0}
.pet-motion-frame>.pet-motion-image{display:block;width:100%;height:100%!important;max-height:none!important;object-fit:cover;object-position:center;border-radius:0!important;transform-origin:50% 55%}
.pet-motion-frame.motion-ready>.pet-motion-image{animation:crea-pet-drift 19s ease-in-out infinite alternate;animation-play-state:paused}
.pet-motion-frame[data-motion="running"]>.pet-motion-image{animation-play-state:running}
.pet-motion-control{position:absolute;z-index:2;right:12px;bottom:12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:40px;padding:9px 12px;border:1px solid rgba(255,255,255,.8);border-radius:30px;background:rgba(255,255,255,.93);color:#203b35;font:600 11px/1.4 system-ui,sans-serif;letter-spacing:.02em;box-shadow:0 2px 12px rgba(27,42,34,.1);cursor:pointer;touch-action:manipulation}
.pet-motion-control:hover{background:#fff}
.pet-motion-control:focus-visible{outline:3px solid #dfae55;outline-offset:3px}
.pet-motion-control[hidden]{display:none!important}
.pet-motion-control .motion-symbol{font-size:14px;line-height:1;width:14px;text-align:center}
.pet-hero-visual .pet-motion-frame{border-radius:15px}
.pet-story-photo .pet-motion-frame{border-radius:18px}
.detail-pet-visual .pet-motion-frame{border-radius:16px}
.hero-visual>.pet-motion-frame{position:absolute;inset:0 0 34px;aspect-ratio:auto;border-radius:180px 180px 8px 8px}
.hero-visual>.pet-motion-frame>.pet-motion-image{object-position:28% 50%}
.hero-visual>.visual-note{pointer-events:none;top:auto;bottom:54px;left:18px;padding:10px 14px;border-radius:8px;background:rgba(255,254,251,.92)}
.hero-visual>.visual-note span{font-size:8px}
.hero-visual>.visual-note strong{font-size:17px;line-height:1.4;margin-top:4px}
.pet-strip>.pet-motion-frame{width:100%;max-height:270px;border-radius:6px}
.pet-strip>.pet-motion-frame>.pet-motion-image{max-height:none}
@keyframes crea-pet-drift{from{transform:scale(1.01) translate3d(0,0,0)}to{transform:scale(1.07) translate3d(-.5%,-.35%,0)}}
@media(max-width:700px){
 .pet-hero-visual .pet-motion-frame{aspect-ratio:16/10;border-radius:11px}
 .pet-story-photo .pet-motion-frame{border-radius:15px}
 .detail-pet-visual .pet-motion-frame{border-radius:12px}
 .detail-pet-visual .pet-motion-control{right:6px;bottom:6px;padding:6px;min-width:36px;min-height:36px}
 .detail-pet-visual .motion-label{display:none}
 .hero-visual>.pet-motion-frame{border-radius:110px 110px 5px 5px}
 .hero-visual>.pet-motion-frame>.pet-motion-image{object-position:50% 55%}
 .pet-strip>.pet-motion-frame{max-height:230px}
}
@media(prefers-reduced-motion:reduce){
 .pet-motion-frame.motion-ready>.pet-motion-image{animation:none!important;transform:none!important}
 .pet-motion-control{display:none!important}
}

/* Frames contain the actual animal movement. No whole-photo animation. */
.pet-motion-frame.motion-ready>.pet-motion-image{animation:none!important;transform:none!important}
