/* Recorded Canva entrances, independently triggered as content enters the viewport. */
html.section-motion-pending #support > *,
html.section-motion-pending #family > *,
html.section-motion-pending #about .reference-type,
html.section-motion-pending #animals .reference-type,
html.section-motion-pending #adoption .reference-type,
html.section-motion-pending #about .source-marker,
html.section-motion-pending #animals .source-marker,
html.section-motion-pending #adoption .source-marker,
html.section-motion-pending #about .photo-composition,
html.section-motion-pending #animals .photo-composition,
html.section-motion-pending #adoption .source-step{opacity:0}
.section-motion-queued{opacity:0;translate:0 calc(var(--u)*8);transition:opacity 900ms cubic-bezier(.22,.61,.36,1),translate 900ms cubic-bezier(.22,.61,.36,1);transition-delay:var(--motion-delay,0ms)}
.section-motion-queued.motion-revealed{opacity:1;translate:0 0}
.section-photo-queued{translate:0 calc(var(--u)*8);transition:translate 1100ms cubic-bezier(.22,.61,.36,1);transition-delay:var(--motion-delay,0ms)}
.section-photo-queued .photograph,.section-photo-queued .photo-backing{opacity:0;transition:opacity 1100ms cubic-bezier(.22,.61,.36,1)}
.section-photo-queued .photograph{transition-delay:calc(var(--motion-delay,0ms) + var(--photo-delay,0ms))}
.section-photo-queued .photo-backing{transition-delay:calc(var(--motion-delay,0ms) + var(--backing-delay,200ms))}
.section-photo-queued.motion-revealed{translate:0 0}
.section-photo-queued.motion-revealed .photograph,.section-photo-queued.motion-revealed .photo-backing{opacity:1}
.adoption-step-queued{opacity:0;translate:0 calc(var(--u)*8);transition:opacity 900ms cubic-bezier(.22,.61,.36,1),translate 900ms cubic-bezier(.22,.61,.36,1)}
.adoption-step-visible{opacity:1;translate:0 0}
.adoption-directional-paw{opacity:0;pointer-events:none}
.motion-instant,.motion-instant *{transition:none!important}
@media(prefers-reduced-motion:reduce){
 html.section-motion-pending #support *,html.section-motion-pending #family *,
 html.section-motion-pending #about *,html.section-motion-pending #animals *,html.section-motion-pending #adoption *,
 .section-motion-queued,.adoption-step-queued,.adoption-directional-paw,
 .section-photo-queued .photograph,.section-photo-queued .photo-backing{opacity:1!important;translate:none!important;transition:none!important}
 .section-photo-queued{translate:none!important;transition:none!important}
}

/* The 6-second reference keeps the silhouette fixed while the photograph zooms in. */
#about .about-recorded-entrance{translate:none;transition:none}
.about-photo-window{position:absolute;inset:0;z-index:1}
#about .about-photo-window .photograph{clip-path:none!important;transform-origin:50% 44.3%}
#about .about-recorded-entrance .photograph,#about .about-recorded-entrance .photo-backing{transition:none}
#about .about-recorded-entrance.motion-revealed .photograph{transform:scale(1.1)}
@media(prefers-reduced-motion:reduce){#about .about-recorded-entrance.motion-revealed .photograph{transform:none}}

/* Only the hanging cat's tail swings; its paws and body remain attached. */
.hanging-cat{overflow:visible;pointer-events:none}
.hanging-cat-body,.hanging-cat-tail{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.hanging-cat-body{clip-path:polygon(0 0,100% 0,100% 70%,80% 70%,80% 85%,0 85%)}
 .hanging-cat-tail{overflow:visible;pointer-events:none}
@media(prefers-reduced-motion:reduce){.hanging-cat-tail{animation:none!important}}

.source-support > .hanging-cat{padding:0!important;display:block;inset:auto;z-index:2}

/* A six-second, root-fixed bend for the cat resting on the FAQ card. */
.faq-sway-cat{overflow:visible;pointer-events:none}
.faq-cat-body,.faq-cat-tail{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
.faq-cat-body{clip-path:polygon(0 0,100% 0,100% 36%,87% 36%,87% 100%,0 100%)}
.faq-cat-tail{overflow:visible;pointer-events:none}

/* Reference paper silhouette; the SVG viewport cuts the right and bottom straight. */
#footer .footer-trim,#footer .footer-pink{display:none}
#footer [data-photo="footer"] .photograph{
 clip-path:none!important;
 -webkit-mask-image:url("assets/footer-reference-edge.svg?v=faf416d1cbcc");
 mask-image:url("assets/footer-reference-edge.svg?v=faf416d1cbcc");
 -webkit-mask-size:100% 100%;mask-size:100% 100%;
 -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
}

#footer [data-photo="footer"]{left:0!important;width:calc(var(--u)*229.46735)!important}

#footer [data-photo="footer"] .photograph{object-fit:cover;object-position:center bottom}
