/* Lightweight decorative layers: no pointer events, no layout shifts. */
.cover,.section,.hero{position:relative;isolation:isolate}.cover,.section{overflow:hidden}.cover-inner,.section> :not(.decorations),.hero-copy{position:relative;z-index:1}.decorations{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.cloud{position:absolute;width:100px;height:30px;background:linear-gradient(#fff,#f1e9df);border-radius:80px;opacity:.65;filter:drop-shadow(0 6px 8px #ab968611);animation:cloud-drift 13s ease-in-out infinite alternate}.cloud:before,.cloud:after{content:'';position:absolute;background:inherit;border-radius:50%;bottom:8px}.cloud:before{width:45px;height:45px;left:15px}.cloud:after{width:57px;height:57px;right:12px}.cloud-one{left:-25px;top:17%}.cloud-two{right:-24px;bottom:15%;transform:scale(.7);animation-delay:-6s;animation-duration:17s}.balloon{position:absolute;width:45px;height:57px;border-radius:50% 50% 47% 47%;opacity:.55;box-shadow:inset -8px -6px 13px #77675e12,inset 6px 4px 9px #fff9;animation:balloon-sway 7s ease-in-out infinite;transform-origin:center 130px}.balloon:before{content:'';position:absolute;width:8px;height:8px;bottom:-5px;left:19px;background:inherit;clip-path:polygon(50% 0,100% 100%,0 100%)}.balloon:after{content:'';position:absolute;width:1px;height:100px;background:#b29b7f66;top:62px;left:22px;transform:rotate(4deg);transform-origin:top}.balloon i{position:absolute;left:10px;top:10px;width:9px;height:18px;border-radius:50%;background:#ffffff88;transform:rotate(25deg)}.balloon-pink{background:#e8b8be;left:16px;bottom:12%;animation-delay:-2s}.balloon-blue{background:#adcbdc;right:15px;top:13%;animation-delay:-5s}.little-heart,.little-star{position:absolute;color:#b99d79;opacity:.45;font:30px Georgia;animation:little-float 6s ease-in-out infinite}.little-heart{left:7%;top:47%}.little-star{right:9%;bottom:38%;animation-delay:-3s;font-size:37px}.hero .balloon,.hero .cloud{opacity:.28}.schedule .balloon-pink,.gifts .balloon-blue{display:none}.prediction .cloud{opacity:.45}.prediction .balloon{opacity:.28}.rsvp .balloon{width:32px;height:42px;opacity:.3}.rsvp .balloon:after{top:47px;left:16px}.rsvp .balloon:before{left:13px}.rsvp .balloon-pink{bottom:30%}.attendance{border:0;padding:0;margin:0;min-width:0}.attendance legend{font-size:12px;margin:18px 0 10px}.attendance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.answer{position:relative;cursor:pointer;text-align:center;border:1px solid var(--line);border-radius:70px 70px 8px 8px;background:#fff9;padding:19px 5px 23px;margin:0;transition:transform .25s,background .25s,box-shadow .25s;min-width:0}.answer input{position:absolute;width:1px;height:1px;opacity:0;left:50%;top:50%}.answer-art{display:block;font:36px Georgia;line-height:1.3;color:var(--gold);margin-bottom:12px}.answer strong{display:block;font:22px/1.05 'Cormorant Garamond',Georgia;min-height:46px}.answer small{display:block;font-size:9px;line-height:1.5;margin-top:5px}.answer-check{position:absolute;bottom:5px;left:calc(50% - 8px);font-size:12px;opacity:0}.answer.yes .answer-art{color:var(--blue)}.answer.no .answer-art{color:var(--pink)}.answer:hover{transform:translateY(-4px)}.answer:has(input:checked){background:#e8eff3;border-color:var(--blue);box-shadow:0 4px 14px #527a9018}.answer.no:has(input:checked){background:#f6e5e7;border-color:var(--pink)}.answer.maybe:has(input:checked){background:#efe6d9;border-color:var(--gold)}.answer:has(input:checked) .answer-check{opacity:1}.answer:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:4px}.rsvp form{max-width:520px}.cover .envelope{animation:envelope-breathe 6s ease-in-out infinite}.gift-icon{display:inline-block;animation:little-float 6s ease-in-out infinite}.team span{animation:little-float 6s ease-in-out infinite}.girl span{animation-delay:-3s}@keyframes balloon-sway{0%,100%{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(7deg) translateY(-15px)}}@keyframes cloud-drift{from{translate:-8px 0}to{translate:26px -9px}}@keyframes little-float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes envelope-breathe{0%,100%{translate:0 0}50%{translate:0 -6px}}@media(max-width:480px){.balloon-pink{left:-16px}.balloon-blue{right:-15px}.little-heart{left:2%}.little-star{right:2%}.answer strong{font-size:21px}.attendance-options{gap:7px}.answer small{font-size:8px}.cloud{scale:.75}}@media(prefers-reduced-motion:reduce){.decorations *,.cover .envelope,.gift-icon,.team span{animation:none!important;transition:none!important}.answer{transition:none}}
