@font-face{font-family:WeddingBrush;src:url('assets/manual-copy-font.woff') format('woff');font-display:swap}
:root{--yellow:#f5d444;--pink:#ee91b4;--hot:#f12682;--paper:#f3e8ce;--ink:#171510;--page:510px;--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}
body{margin:0;background:#171510;color:var(--ink);overflow-x:hidden;background-image:radial-gradient(#ffffff09 .7px,transparent .7px);background-size:5px 5px}
button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{font:inherit;border:0;padding:0;cursor:pointer;background:none;color:inherit}a{color:inherit}
button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid var(--hot);outline-offset:6px}img{max-width:100%;display:block;height:auto}h1,h2,p{margin:0}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.invitation{position:relative;z-index:1;width:100%;max-width:var(--page);margin:28px auto 0;background-color:var(--yellow);background-image:url('assets/paper-yellow.webp');background-size:100% auto;box-shadow:0 16px 80px #0005;isolation:isolate;overflow:clip}
.hero{position:relative;padding-top:14px}.hero-top{display:flex;align-items:center;justify-content:space-between;padding:0 24px 8px;gap:18px}.invite-tag{width:46%;transform:rotate(-3deg)}.pin-line{width:35%;height:16px;background:repeating-linear-gradient(90deg,var(--ink) 0 14px,transparent 14px 28px);transform:rotate(2deg)}
.photo-filter-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.hero-stage{position:relative;margin:0 12px;aspect-ratio:2/3;border:3px solid var(--ink);background:var(--pink);box-shadow:6px 5px 0 var(--hot);isolation:isolate}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:50% 54%;filter:url(#wedding-print)}.photo-tone{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,#28191dc4 .55px,transparent .85px),linear-gradient(180deg,#d3969d1a,transparent 38%,#40232312);background-size:2.5px 2.5px,100% 100%;mix-blend-mode:multiply;opacity:.43;box-shadow:inset 0 0 0 4px #ef9db385,inset 0 0 20px #32182733}
.married-title{position:absolute;top:3.8%;left:3%;width:94%;transform:rotate(-3deg);filter:drop-shadow(1px 3px 0 #21191166)}.hero-party-label{position:absolute;top:16%;left:10%;width:81%;padding:3% 2%;background:var(--yellow);transform:rotate(2deg);clip-path:polygon(1% 5%,7% 1%,12% 4%,22% 0,34% 4%,49% 1%,63% 5%,77% 1%,91% 4%,98% 0,100% 87%,94% 94%,83% 91%,70% 98%,53% 95%,40% 100%,25% 96%,13% 100%,0 94%)}.hero-names{position:absolute;bottom:2.3%;left:-1.5%;width:103%;max-width:none;transform:rotate(-2deg);filter:drop-shadow(0 3px 0 var(--ink))}
.sticker{pointer-events:none;user-select:none;position:absolute;filter:drop-shadow(2px 4px 1px #261d1426)}.hero-star{width:18%;top:37%;right:-6%;transform:rotate(13deg)}.hero-crown{width:16%;left:-6%;top:58%;transform:rotate(-16deg)}
.hero-date{position:relative;text-align:center;padding:24px 24px 46px}.date-strip{width:93%;margin:0 auto 12px;background:var(--pink);padding:7px 4px;transform:rotate(-2deg);clip-path:polygon(1% 9%,4% 0,10% 5%,18% 0,29% 5%,41% 1%,57% 7%,74% 1%,85% 6%,98% 0,100% 88%,96% 96%,85% 93%,76% 100%,60% 94%,43% 98%,22% 93%,9% 100%,0 90%)}.time-line{width:63%;margin:5px auto}.place-line{width:53%;margin:6px auto 17px}
.art-button{display:flex;justify-content:center;align-items:center;position:relative;min-height:48px;text-decoration:none;transition:transform .16s ease,filter .16s ease;flex-shrink:0}.art-button img{display:block;width:100%;height:auto;pointer-events:none}.art-button:hover{transform:translateY(-3px) rotate(-1deg);filter:drop-shadow(1px 3px 0 #17151033)}.art-button:active{transform:translateY(2px) rotate(1deg)}
.letter-section{position:relative;padding:36px 32px 76px}.letter-paper{position:relative;background:var(--paper);padding:66px 38px 28px;border:2px solid var(--ink);transform:rotate(-1deg);box-shadow:-12px 10px 0 var(--pink),-15px 12px 0 var(--ink);clip-path:polygon(0 0,100% 0,99% 8%,100% 14%,99% 25%,100% 33%,99% 44%,100% 52%,99% 65%,100% 78%,99% 88%,100% 100%,90% 99%,80% 100%,66% 99%,52% 100%,37% 99%,22% 100%,8% 99%,0 100%)}.letter-paper:before,.location-paper:before,.calendar-paper:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url('assets/paper-yellow.webp');background-size:600px;mix-blend-mode:multiply;opacity:.10}.poem{position:relative;width:100%;min-height:160px}.signature{width:60%;margin:28px auto 0;position:relative}
.pink-tape{display:block;position:absolute;background:var(--pink);width:110px;height:32px;opacity:.92;clip-path:polygon(3% 0,100% 0,96% 20%,100% 40%,96% 60%,100% 80%,96% 100%,0 100%,3% 80%,0 60%,4% 40%,0 20%)}.tape-top{top:9px;left:36%;transform:rotate(-7deg)}.letter-vinyl{width:31%;left:-3%;top:-5px;transform:rotate(-12deg);z-index:2}.letter-beer{width:23%;left:-3%;bottom:17%;transform:rotate(-12deg);z-index:2}.letter-heart{width:24%;right:-5%;bottom:36px;transform:rotate(8deg);z-index:2}
.moments-section{position:relative;padding:0 0 56px}.section-lettering{width:69%;margin:0 auto 24px}.photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 10px;transform:rotate(1deg)}.photo-cell{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--paper);border:4px solid var(--paper);box-shadow:2px 4px 0 var(--ink)}.photo-cell:only-child{grid-column:1/-1;width:min(320px,100%);justify-self:center}.photo-cell img{width:100%;height:100%;object-fit:cover;filter:sepia(.24) contrast(1.06) saturate(.84)}.photo-bow{width:24%;right:-3%;top:-35px;transform:rotate(12deg);z-index:2}.tiny-checkers{height:15px;width:43%;margin:24px auto 0;background:repeating-conic-gradient(var(--ink) 0 25%,transparent 0 50%) 0/15px 15px;transform:rotate(-2deg)}
.date-section{position:relative;padding:12px 28px 70px}.date-section h2{position:relative;z-index:2}.date-section .section-lettering{width:80%;margin-bottom:27px;transform:rotate(-3deg)}.calendar-paper{position:relative;background:var(--paper);padding:12px 12px 30px;transform:rotate(1deg);box-shadow:8px 8px 0 var(--pink);border:2px solid var(--ink)}.calendar-link{position:relative;display:block}.calendar{width:100%}.start-time{width:89%;margin:6px auto 12px;position:relative}.calendar-button{width:63%;margin:auto}.date-disco{width:25%;right:-7%;top:1%;z-index:3;transform:rotate(13deg)}.date-cake{width:31%;left:-3%;bottom:15px;z-index:3;transform:rotate(-8deg)}
.location-section{position:relative;padding:6px 20px 60px;scroll-margin-top:16px}.location-paper{position:relative;background:var(--paper);padding:30px 18px 22px;border:2px solid var(--ink);box-shadow:9px 8px 0 var(--pink);transform:rotate(-.7deg)}.directions-title{width:66%;margin:0 auto 13px;position:relative}.venue-title{width:49%;margin:0 auto 0;position:relative}.address-lettering{width:78%;margin:0 auto 20px;position:relative}.route-map{position:relative;width:100%;margin:0 0 18px}.route-map img{width:100%}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:relative}.button-row .art-button{min-height:52px}.copy-hint{position:relative;width:88%;margin:10px auto 0}.location-star{width:18%;right:-4%;top:-13px;transform:rotate(20deg)}
.closing-section{position:relative;text-align:center;padding:5px 28px 128px}.closing-heart{width:17%;margin:8px auto 20px;transform:rotate(8deg)}.closing-lettering{width:91%;margin:0 auto 24px}.closing-names{width:100%;transform:rotate(-3deg)}.closing-tagline{width:93%;margin:18px auto 32px}.share-buttons{display:grid;gap:10px;width:79%;margin:auto}.share-buttons .art-button:nth-child(2){width:79%;margin:auto;transform:rotate(-2deg)}.footer-checkers{height:24px;position:absolute;bottom:85px;left:0;right:0;background:repeating-conic-gradient(var(--ink) 0 25%,transparent 0 50%) 0/24px 24px}
.bottom-actions{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:var(--page);padding:9px 18px calc(9px + var(--safe-bottom));background:var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:14px;z-index:20;box-shadow:0 -4px 0 #f3e8ce99}.bottom-actions .art-button{min-height:52px}
.toast{position:fixed;z-index:80;left:50%;bottom:calc(106px + var(--safe-bottom));transform:translateX(-50%) rotate(-2deg);width:min(330px,86vw);padding:12px 44px 12px 14px;background:var(--paper);border:2px solid var(--ink);box-shadow:5px 5px 0 var(--hot)}.toast[hidden]{display:none}.toast img{width:100%}.toast-check{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:29px}.toast-check svg{stroke:var(--ink);fill:none;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}
.art-dialog{border:3px solid var(--ink);padding:0;background:var(--paper);color:var(--ink);max-height:90svh;max-width:94vw;box-shadow:9px 9px 0 var(--hot)}.art-dialog::backdrop{background:#171510e8}.media-dialog{width:min(900px,94vw);overflow:visible;background:var(--ink);line-height:0}.media-dialog #modal-image{width:100%;height:80svh;object-fit:contain;background:var(--paper)}.modal-close,.photo-prev,.photo-next{position:absolute;z-index:3;width:48px;height:48px;border:2px solid var(--ink);background:var(--yellow);display:grid;place-items:center}.modal-close{right:9px;top:9px;transform:rotate(4deg)}.modal-close svg,.photo-prev svg,.photo-next svg{width:32px;height:32px;stroke:var(--ink);stroke-width:5;fill:none;stroke-linecap:round;stroke-linejoin:round}.photo-prev{left:8px;top:48%;transform:rotate(-5deg)}.photo-next{right:8px;top:48%;transform:rotate(4deg)}
.media-dialog [hidden]{display:none}.photo-counter{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:5px 12px;background:var(--yellow);color:var(--ink);font-size:16px;line-height:1.4;border:2px solid var(--ink);pointer-events:none}
.manual-dialog{width:440px;padding:27px 24px 20px}.manual-dialog h2{margin:8px 0 20px}.manual-dialog .art-button{width:65%;margin:18px auto 0}.handwritten-field{font-family:WeddingBrush,cursive;font-size:28px;line-height:1.3;display:block;width:100%;min-height:115px;background:var(--yellow);color:var(--ink);padding:16px;border:2px dashed var(--ink);resize:none;overflow-wrap:anywhere}.copy-helper{position:fixed;left:-9999px;top:0;opacity:0}.skip-link{position:fixed;top:-100px;left:16px;width:180px;z-index:100}.skip-link:focus{top:12px}
.media-frame{overflow:hidden;max-height:80svh}
@media(min-width:800px){.invitation{margin-top:40px;margin-bottom:0}}
@media(max-width:540px){.invitation{margin:0 auto;box-shadow:none}.hero{padding-top:9px}.hero-top{padding:0 18px 7px}.hero-stage{margin:0 9px;border-width:2px}.hero-date{padding:20px 22px 40px}.hero-date .date-strip{margin-bottom:9px}.letter-section{padding:31px 26px 62px}.letter-paper{padding:57px 30px 25px}.letter-vinyl{width:29%}.section-lettering{margin-bottom:19px}.date-section{padding:10px 24px 66px}.location-section{padding:4px 17px 54px}.location-paper{padding:24px 14px 21px}.bottom-actions{padding-left:15px;padding-right:15px;gap:12px}.bottom-actions .art-button{min-height:49px}.photo-bow{top:-25px}}
@media(max-width:359px){.letter-section{padding-left:21px;padding-right:21px}.letter-paper{padding-left:24px;padding-right:24px}.date-section{padding-left:20px;padding-right:20px}.location-paper{padding-left:10px;padding-right:10px}.button-row{gap:4px}.button-row .art-button{min-height:48px}.bottom-actions{padding-left:10px;padding-right:10px;gap:8px}.share-buttons{width:88%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Keep decorative silhouettes outside the poem and calendar action. */
.letter-vinyl{width:25%;left:-6%;top:-28px}.letter-beer{width:19%;left:-7%}.date-cake{width:28%;left:-5%;bottom:12px}.date-disco{width:23%;right:-8%;top:55px}
.signature{width:91%;margin-top:24px}.hero-cherries{width:17%;left:1%;top:34%;transform:rotate(-12deg)}
.memory-stickers{display:grid;grid-template-columns:1.15fr 1fr 1fr;align-items:center;gap:15px;max-width:400px;padding:0 22px;margin:15px auto 0;pointer-events:none}
.memory-stickers img{width:100%;height:125px;object-fit:contain}.memory-camera{transform:rotate(-8deg)}.memory-rings{transform:rotate(10deg)}

.closing-boombox{transform:rotate(-6deg)}
@media(max-width:540px){.memory-stickers img{height:108px}}
@media(max-width:359px){.memory-stickers{gap:9px;padding:0 18px}.memory-stickers img{height:94px}}

/* Side collage: only the black rails move with the scroll; they cannot cover the invitation. */
.outer-deco{display:none;position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none}
.outer-rail{position:absolute;top:0;bottom:0;width:calc((100% - var(--page))/2);overflow:hidden;contain:layout paint}
.outer-rail-left{left:0}.outer-rail-right{right:0}
.outer-sticker{position:absolute;top:var(--start);left:var(--x);width:var(--size);max-width:180px;transform:translate3d(-50%,var(--parallax-y,0px),0) rotate(var(--tilt));transform-origin:50% 50%}
.outer-sticker img{width:100%;height:auto;pointer-events:none}
.outer-sticker[data-depth="far"]{z-index:1;opacity:.48}
.outer-sticker[data-depth="middle"]{z-index:2;opacity:.8}
.outer-sticker[data-depth="near"]{z-index:3;opacity:.97;filter:drop-shadow(3px 5px 0 #0005)}
.outer-tape{height:23px;max-width:260px;background:repeating-conic-gradient(var(--ink) 0 25%,var(--yellow) 0 50%) 0/22px 22px;clip-path:polygon(3% 0,100% 3%,97% 28%,100% 49%,97% 74%,100% 100%,0 96%,3% 72%,0 48%,3% 25%)}
.outer-tape-pink{background:var(--pink);height:20px}
@media(min-width:800px){.outer-deco{display:block}}
/* Exactly two held angles. Independent rotate preserves each sticker's original placement. */
.wiggle{--rock-from:-3deg;--rock-to:3deg;transform-origin:50% 55%;animation:sticker-wiggle var(--rock-duration,1.18s) steps(1,end) var(--rock-delay,-.32s) infinite}
@keyframes sticker-wiggle{0%,100%{rotate:var(--rock-from)}50%{rotate:var(--rock-to)}}
.hero-star,.letter-heart,.memory-rings,.date-champagne{--rock-duration:1.04s;--rock-delay:-.68s;--rock-from:-4deg;--rock-to:3deg}
.hero-crown,.letter-vinyl,.date-cake,.location-pizza{--rock-duration:1.34s;--rock-delay:-.17s;--rock-from:-3deg;--rock-to:4deg}
.hero-cherries,.photo-bow,.memory-camera,.memory-microphone{--rock-duration:1.26s;--rock-delay:-.89s}
.hero-arrow,.date-disco,.location-star,.closing-boombox{--rock-duration:1.42s;--rock-delay:-.47s;--rock-from:-2deg;--rock-to:2deg}
.motion-managed .wiggle:not(.is-in-view),.motion-paused .wiggle{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.wiggle{animation:none;rotate:none}.outer-sticker{transform:translate3d(-50%,0,0) rotate(var(--tilt))}}

/* Party ephemera belong to the photos, date and venue, not a separate panel. */
.hero-party-horn{width:20%;left:1%;bottom:22px;transform:rotate(-17deg)}
.letter-guitar{width:20%;right:-4%;top:4px;z-index:2;transform:rotate(12deg)}
.photo-collage{position:relative;padding-bottom:92px}
.noise-label{position:absolute;z-index:2;left:6%;bottom:12px;width:65%;padding:10px 13px 12px;background:var(--ink);transform:rotate(-5deg);pointer-events:none;box-shadow:5px 5px 0 var(--hot)}
.noise-label:before,.noise-label:after{content:"";position:absolute;z-index:1;width:35px;height:17px;top:-6px;background:var(--pink);opacity:.88;transform:rotate(24deg);clip-path:polygon(4% 0,100% 4%,95% 100%,0 95%,4% 67%,0 33%)}
.noise-label:before{left:8%}.noise-label:after{right:5%;top:auto;bottom:-5px;transform:rotate(-17deg)}
.noise-label img{width:100%}
.memory-microphone{width:25%;right:0;bottom:0;z-index:3;transform:rotate(13deg)}
.memory-stickers{margin-top:0;gap:12px;padding:0 26px}
.memory-cassette{transform:rotate(11deg);--rock-duration:1.3s;--rock-delay:-.62s}
.date-sparkler{width:20%;left:-5%;top:54px;z-index:3;transform:rotate(-13deg)}
.date-champagne{width:23%;right:-5%;bottom:9px;z-index:3;transform:rotate(11deg)}
.location-section{padding-bottom:35px}
.location-snacks{display:grid;grid-template-columns:1.1fr .4fr 1fr;align-items:center;gap:10px;margin:14px 28px 0;pointer-events:none}
.location-snacks img{width:100%;height:150px;object-fit:contain}
.location-pizza{transform:rotate(-11deg)}.location-fries{transform:rotate(9deg);--rock-duration:1.27s;--rock-delay:-.48s}
.snack-tape{height:18px;background:repeating-conic-gradient(var(--ink) 0 25%,transparent 0 50%) 0/18px 18px;transform:rotate(-8deg)}
.closing-objects{display:grid;grid-template-columns:1fr 1.3fr .95fr;align-items:center;gap:8px;margin:-5px -8px 24px;pointer-events:none}
.closing-objects img{width:100%;height:155px;object-fit:contain}
.closing-cheers{transform:rotate(-12deg)}.closing-cocktail{transform:rotate(12deg);--rock-duration:1.08s;--rock-delay:-.75s}
.hero-party-horn,.letter-guitar{--rock-duration:1.24s;--rock-delay:-.42s}
.date-sparkler{--rock-duration:1.12s;--rock-delay:-.83s;--rock-from:-2deg;--rock-to:2deg}
@media(max-width:540px){.photo-collage{padding-bottom:78px}.noise-label{padding:8px 10px;bottom:9px}.memory-stickers{margin-top:3px}.location-section{padding-bottom:30px}.location-snacks{margin:14px 20px 0}.location-snacks img{height:125px}.closing-objects img{height:125px}.date-sparkler{top:46px}}
@media(max-width:359px){.photo-collage{padding-bottom:70px}.noise-label{left:5%;width:66%;padding:7px 9px}.location-snacks{margin-left:14px;margin-right:14px;gap:7px}.location-snacks img{height:110px}.closing-objects{gap:5px}.closing-objects img{height:108px}}

/* New paper cards use the same outlined brush lettering as the invitation. */
.party-guide{padding:0 27px 62px;display:grid;gap:32px}
.event-paper,.dress-paper,.comfort-paper{position:relative;padding:24px 18px 26px;background:var(--paper);border:2px solid var(--ink);box-shadow:7px 7px 0 var(--ink)}
.event-paper{background:var(--pink);transform:rotate(-1deg)}
.dress-paper{box-shadow:-7px 7px 0 var(--hot);transform:rotate(1deg)}
.comfort-paper{background:var(--yellow);border-style:dashed;box-shadow:6px 6px 0 var(--pink);transform:rotate(-.7deg)}
.party-guide h2 img{width:100%;margin:0 auto 12px}
.guide-copy{width:100%;position:relative}
.red-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:0 0 14px;align-items:center}
.red-items img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(2px 3px 0 #17151025)}
.red-items img:nth-child(1){transform:rotate(-7deg)}.red-items img:nth-child(2){transform:rotate(6deg)}
.red-items img:nth-child(3){transform:rotate(6deg)}.red-items img:nth-child(4){transform:rotate(-5deg)}
.bgm-toggle{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));right:max(12px,calc((100vw - var(--page))/2 + 12px));z-index:25;width:44px;height:44px;display:grid;place-items:center;background:var(--paper);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--hot);transform:rotate(4deg)}
.bgm-toggle svg{width:26px;height:26px;fill:var(--ink);stroke:var(--ink);stroke-width:3;stroke-linejoin:round}
.bgm-toggle .bgm-pause{fill:none;stroke-width:5;display:none}
.bgm-toggle[data-playing="true"] .bgm-play{display:none}.bgm-toggle[data-playing="true"] .bgm-pause{display:block}
.closing-section{padding-bottom:calc(160px + var(--safe-bottom))}
.rsvp-section{position:relative;margin:42px 0 0;padding:35px 18px 20px;background:var(--paper);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--pink);text-align:left;scroll-margin-bottom:120px}
.rsvp-section>.pink-tape{width:95px;left:calc(50% - 48px);top:-14px;transform:rotate(-5deg)}
.rsvp-section h2 img{width:100%;margin-bottom:7px}.rsvp-hint{width:100%;margin:0 auto 18px}
#rsvp-form{display:grid;gap:10px}
#rsvp-form label{justify-self:start;height:33px;display:flex;align-items:center}
#rsvp-form label img{height:33px;width:auto}
#rsvp-form input{min-width:0;width:100%;height:50px;padding:10px 13px;background:#fffaf0;color:var(--ink);border:2px solid var(--ink);border-radius:0;font:17px/1.4 system-ui,-apple-system,'Malgun Gothic',sans-serif;scroll-margin-bottom:130px}
#rsvp-form input::placeholder{color:#6a6258}#rsvp-phone{letter-spacing:.16em}
.rsvp-submit{width:100%;margin:9px auto 0;scroll-margin-bottom:100px}.rsvp-submit:disabled{opacity:.55;cursor:wait;transform:none}
.rsvp-status{min-height:58px;margin-top:4px;font:15px/1.6 system-ui,-apple-system,'Malgun Gothic',sans-serif;overflow-wrap:anywhere;text-align:center}
.rsvp-status[data-state="error"]{color:#a01922}.rsvp-status[data-state="success"]{position:absolute;width:1px;height:1px;min-height:0;overflow:hidden;clip:rect(0,0,0,0)}
.rsvp-success-art{display:none;width:100%;margin-top:9px}.rsvp-status[data-state="success"]+.rsvp-success-art{display:block}
/* Reclaim the bottom of the small viewport while a guest is typing. */
body:has(#rsvp-form:focus-within) .bottom-actions{visibility:hidden}
@media(max-width:359px){.party-guide{padding-left:21px;padding-right:21px;gap:27px}.event-paper,.dress-paper,.comfort-paper{padding:20px 12px 23px}.closing-section{padding-left:22px;padding-right:22px}.rsvp-section{padding-left:14px;padding-right:14px}}
