/* A little more movement, with the same invitation and our guests' artwork. */
.venue-photo{margin:-15px -8px 25px}
.venue-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;object-position:center 55%;border:5px solid white}
.venue-photo figcaption{font-family:var(--script);font-size:21px;line-height:1.35;color:var(--berry);margin:13px 8px 0}
.guest-chat-section{background:#f6cbdc;padding-top:65px;padding-bottom:88px}
.guest-chat-section h2{color:var(--berry)}
.chat-intro{font-size:16px;max-width:540px;margin:0 auto;line-height:1.8}
.chat-card{display:grid;grid-template-columns:1fr 210px;align-items:center;gap:28px;background:var(--paper);padding:28px;margin-top:32px;text-align:left;border:2px solid var(--berry);box-shadow:7px 7px 0 #c180a8;transform:rotate(-1deg)}
.chat-copy h3{font-size:30px;color:var(--berry);margin-bottom:14px}
.chat-copy p{font-size:15px;line-height:1.7}
.chat-copy .button{margin-top:22px;background:var(--berry)}
.chat-pending{grid-template-columns:1fr;text-align:center}
.chat-copy .chat-status{font-size:13px;color:var(--berry);margin-top:20px}
.chat-qr{margin:0;text-align:center}
.chat-qr img{display:block;width:100%;height:auto;aspect-ratio:1;background:white;border-radius:12px}
.chat-qr figcaption{font-size:12px;line-height:1.5;margin-top:10px;color:var(--muted)}
.chat-mascot{position:absolute;left:15px;top:1px;width:91px;height:103px;--tilt:-12deg}
.guest-chat-section .eyebrow,.guest-chat-section>h2{position:relative;z-index:2}
.floating-nav{max-width:calc(100vw - 16px)}
.floating-nav a{padding-left:12px;padding-right:12px}
.hero>.eyebrow{animation:invitation-in .8s ease-out both}
.hero h1{animation:invitation-in .95s cubic-bezier(.16,1,.3,1) .1s both}
.hero-question{animation:invitation-in .9s cubic-bezier(.16,1,.3,1) .25s both}
.child-photo{animation:portrait-entrance 1.15s cubic-bezier(.2,.8,.25,1.15) .35s both;--entry-x:-65px;--entry-rotation:-9deg}
.child-photo:nth-of-type(2){--entry-x:65px;--entry-rotation:9deg;animation-delay:.7s}
.childhood-collage .child-photo img{animation:portrait-breathe 5s ease-in-out 1.5s infinite}
.childhood-collage .child-photo:nth-of-type(2) img{animation-delay:2.8s}
.collage-or{animation:invitation-in .65s ease-out 1s both}
.hero-note{animation:invitation-in .8s ease-out 1.1s both}
.scroll-link{animation:invitation-in .8s ease-out 1.3s both}
.scroll-link span{animation:scroll-nudge 1.8s ease-in-out 2s infinite}
.love-strip>span{animation:strip-sway 4s ease-in-out infinite}
.love-strip>span:nth-child(even){animation-delay:-2s}
.reveal{translate:0 35px;scale:.975;transition:opacity .85s ease,translate .85s cubic-bezier(.16,1,.3,1),scale .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0ms)}
.reveal.revealed{translate:0 0;scale:1}
.supplied-sticker{height:auto;object-fit:contain;filter:drop-shadow(0 4px 0 #fff9);animation-duration:5.5s}
.section-sticker.supplied-sticker{width:106px;height:106px;top:0}
.hero-sticker.supplied-sticker{width:72px;height:96px;right:12px;bottom:5px;--tilt:8deg}
.supplied-extra{position:absolute;right:15px;bottom:23px;width:78px;max-height:92px;--tilt:10deg;animation-delay:-2s}
.calendar-section .supplied-extra{left:7px;right:auto;bottom:15px;width:59px}
.intro .supplied-extra{width:67px;bottom:18px;right:10px}
.activity-sticker.supplied-sticker{width:70px;height:78px;animation-duration:4.5s}
.gift-sticker.supplied-sticker{height:130px;width:160px;margin:-12px auto 7px;--tilt:-5deg}
.sticker-bird{animation-name:bird-float;animation-duration:6s}
.sticker-bee{animation-name:bee-hover;animation-duration:4s}
.motion-paused .hero .child-photo,.motion-paused .hero>.eyebrow,.motion-paused .hero h1,.motion-paused .hero-question,.motion-paused .collage-or,.motion-paused .hero-note,.motion-paused .scroll-link{animation:none!important}
.motion-paused .reveal{scale:1}
@keyframes invitation-in{from{opacity:0;translate:0 23px}to{opacity:1;translate:0 0}}
@keyframes portrait-entrance{0%{opacity:0;translate:var(--entry-x) 60px;scale:.76;rotate:var(--entry-rotation)}65%{opacity:1}100%{opacity:1;translate:0 0;scale:1;rotate:0deg}}
@keyframes scroll-nudge{0%,100%{translate:0 0}50%{translate:0 5px}}
@keyframes strip-sway{0%,100%{translate:-5px 0}50%{translate:5px 0}}
@keyframes bird-float{0%,100%{transform:translate(0,0) rotate(var(--tilt))}50%{transform:translate(-8px,-12px) rotate(calc(var(--tilt) + 9deg))}}
@keyframes bee-hover{0%,100%{transform:translate(0,0) rotate(var(--tilt))}35%{transform:translate(5px,-8px) rotate(calc(var(--tilt) + 8deg))}70%{transform:translate(-4px,-4px) rotate(calc(var(--tilt) - 5deg))}}
@media(max-width:500px){
 .venue-photo{margin:-15px -5px 23px}.venue-photo figcaption{font-size:20px}
 .guest-chat-section{padding-top:87px;padding-bottom:80px}.guest-chat-section>h2{font-size:44px}
 .chat-intro{font-size:16px}.chat-intro br{display:none}
 .chat-card{grid-template-columns:1fr;gap:25px;padding:28px 21px;text-align:center;margin-top:26px}
 .chat-copy h3{font-size:30px}.chat-copy .button{width:100%;min-height:52px}
 .chat-qr{width:188px;max-width:100%;margin:auto}.chat-qr figcaption{font-size:12px}
 .chat-mascot{width:73px;height:86px;top:0;left:10px}
 .floating-nav{padding:6px;bottom:max(12px,env(safe-area-inset-bottom))}.floating-nav a{padding:10px 9px;font-size:12px}.floating-nav a:first-child{padding:5px 8px}
 .hero-sticker.supplied-sticker{width:46px;height:65px;right:5px;bottom:5px}
 .section-sticker.supplied-sticker{width:82px;height:86px;top:-2px}
 .supplied-extra{width:58px;max-height:75px;right:4px;bottom:9px}.intro .supplied-extra{width:48px;right:7px;bottom:11px}
 .calendar-section .supplied-extra{width:43px;left:4px;bottom:12px}
 .activity-sticker.supplied-sticker{width:56px;height:64px}
 .gift-sticker.supplied-sticker{width:130px;height:107px;margin:-16px auto 6px}
}
@media(max-width:360px){.floating-nav a{padding:11px 7px;font-size:11px}.floating-nav a:first-child{padding:5px 7px}.hero-sticker.supplied-sticker{width:40px;height:58px}.chat-card{padding:26px 17px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;translate:0 0;scale:1}.child-photo{opacity:1;translate:0 0;scale:1;rotate:0deg}}

/* The gift is now the only decorative sticker. */
.intro,.calendar-section,.location-section,.program-section,.countdown-section{padding-top:65px}
.guest-chat-section{padding-top:65px}
.timeline{margin-top:31px}
.timeline-keyword{font-family:var(--script);font-size:25px;line-height:1.45;color:var(--berry);align-self:start}
.highlight .timeline-keyword{padding-top:18px}
.gift-sticker{animation:sticker-float 6s ease-in-out infinite;animation-delay:-1s}
@media(max-width:500px){
 .intro,.calendar-section,.location-section,.program-section,.countdown-section,.guest-chat-section{padding-top:52px}
 .timeline-keyword{font-size:21px;line-height:1.45}
}
