/* The goose lives beside the Sunday card; he never follows the visitor offstage. */
.hero-keepsake{position:absolute;right:-18px;bottom:26px;display:flex;align-items:flex-end;gap:8px;max-width:calc(100% + 12px)}
.hero-keepsake .photo-caption{position:relative;right:auto;bottom:auto;max-width:none;flex:0 1 auto;margin-bottom:5px}
.goose-stage{position:relative;width:100px;height:164px;flex:0 0 100px}
.goose-button{position:absolute;left:12px;bottom:0;width:76px;height:160px;display:block;border:0;padding:0;background:transparent;color:var(--brown);border-radius:40%;cursor:grab;touch-action:manipulation;transform:translate(var(--goose-x,0px),var(--goose-y,0px)) rotate(var(--goose-tilt,0deg));transform-origin:50% 90%;transition:transform 360ms cubic-bezier(.2,.85,.3,1.2);-webkit-user-select:none;user-select:none}
.goose-button img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;transform-origin:50% 92%;animation:goose-breathe 4.8s ease-in-out infinite}
.goose-button:focus-visible{outline:2px dashed var(--accent);outline-offset:7px}
.goose-button:active{cursor:grabbing}
.goose-button::before{content:'Mine!';position:absolute;left:50%;top:-29px;transform:translate(-50%,5px) rotate(-5deg);background:var(--paper);border:1px solid var(--line);border-radius:15px 15px 15px 3px;padding:3px 10px;font:italic 17px/1.35 var(--serif);color:var(--brown);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 150ms,transform 150ms}
.goose-button.is-guarding::before{opacity:1;transform:translate(-50%,0) rotate(-5deg)}
.goose-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@keyframes goose-breathe{0%,100%{transform:translateY(0) rotate(-.8deg)}50%{transform:translateY(-2px) rotate(.8deg)}}
@media(max-width:850px){.hero-keepsake{right:-10px}.goose-stage{width:88px;height:151px;flex-basis:88px}.goose-button{left:10px;width:68px;height:146px}.hero-keepsake .photo-caption{padding:15px 18px}.hero-keepsake .photo-caption strong{font-size:1.45rem}}
@media(max-width:680px){.hero-keepsake{right:0;bottom:25px;max-width:100%;gap:5px}.goose-stage{width:78px;height:143px;flex-basis:78px}.goose-button{left:8px;width:62px;height:138px}.hero-keepsake .photo-caption{padding:15px 17px}.hero-keepsake .photo-caption strong{font-size:1.4rem}.hero-keepsake .photo-caption span{font-size:.63rem;letter-spacing:.1em}.goose-button::before{font-size:15px}}
@media(max-width:370px){.hero-keepsake .photo-caption{padding:13px 12px}.hero-keepsake .photo-caption strong{font-size:1.25rem}.hero-keepsake .photo-caption span{font-size:.59rem;letter-spacing:.06em}.goose-stage{width:72px;flex-basis:72px}.goose-button{left:5px}}
@media(prefers-reduced-motion:reduce){.goose-button{transform:none!important;transition:none}.goose-button img{animation:none}.goose-button::before{transition:none}}
