/* Photo layers keep the original photographs intact. */
.nav{position:relative;z-index:9;background:var(--paper)}
.memory-sticker img,.outfit-memory>img{height:auto}
.hero{isolation:isolate}.hero-collage{height:370px;margin-top:30px}.hero-bottom{position:relative;z-index:6}.photo-note{width:218px;right:-12px;top:18px;z-index:4;transform:rotate(9deg)}.photo-slot{height:205px}.photo-slot img{filter:saturate(.72) contrast(1.05);object-position:center 35%}.photo-note>.hand{font-size:19px}.photo-note>.tape{z-index:2}.memory-sticker{position:absolute;left:78px;top:50px;width:265px;z-index:4;transform:rotate(-9deg);margin:0;filter:drop-shadow(3px 5px 0 #ecb1c4) drop-shadow(-3px -3px 0 #ecb1c4) drop-shadow(2px 6px 4px #53372e25)}.memory-sticker img{width:100%;display:block;aspect-ratio:1;object-fit:cover;clip-path:polygon(27% 2%,52% 0,65% 8%,67% 17%,63% 25%,65% 36%,76% 47%,82% 64%,95% 75%,100% 100%,0 100%,4% 82%,10% 65%,15% 47%,27% 37%,24% 25%,19% 17%,22% 7%)}.memory-sticker figcaption{position:absolute;left:25px;bottom:-9px;font:22px var(--hand);background:#e5cb6f;padding:0 12px;transform:rotate(5deg);filter:none}.cake-wrap{left:51%;top:45px;width:315px;z-index:3;transform:translateX(-50%) rotate(7deg)}.cake-caption{right:-90px;bottom:13px;background:var(--paper);padding:1px 7px;transform:rotate(-9deg)}.calendar-mini{left:-20px;top:8px;z-index:5;width:135px}.calendar-mini:before{left:37px}.calendar-mini strong{font-size:65px}.flower-one{left:252px;top:271px;width:88px;height:88px;z-index:6}.star-one{left:280px;top:0}.star-two{right:4px;bottom:35px;z-index:5}.outfit-board{gap:8px;padding-left:15px;padding-right:15px;min-height:390px}.outfit-memory{width:225px;flex:0 0 225px;margin:0 -10px 0 -15px;padding:10px 10px 8px;background:#fff9ef;transform:rotate(-11deg);position:relative;z-index:4;box-shadow:3px 5px 0 #53372e20}.outfit-memory>img{width:100%;aspect-ratio:1;object-fit:cover;object-position:center;display:block;filter:saturate(.7)}.outfit-memory figcaption{font:21px var(--hand);text-align:center;padding-top:7px}.outfit-memory .tape{z-index:1}.outfit-board .shirt-card{width:220px;margin-left:-16px;transform:rotate(6deg);z-index:2}.outfit-board .trouser-card{width:190px;transform:rotate(-5deg)}.outfit-board .swatches{margin:0 10px;z-index:3}.outfit-scribble{top:-17px;left:55px;background:var(--paper);padding:0 8px;z-index:5}
/* The balloons sit beside the invitation, leaving the content touchable. */
.party-sky{position:fixed;inset:0;z-index:8;pointer-events:none;overflow:hidden}.balloon{--x:8%;--delay:0s;--flight:28s;--color:#eeb3c4;position:absolute;left:var(--x);bottom:-180px;width:45px;height:125px;border:0;background:none;padding:0;pointer-events:auto;animation:balloon-flight var(--flight) linear infinite;animation-delay:var(--delay);touch-action:manipulation}.balloon:before{content:'';position:absolute;top:0;left:3px;width:39px;height:49px;background:radial-gradient(ellipse at 30% 24%,#fff9 0 7%,transparent 9%),var(--color);border:1px solid #79534055;border-radius:49% 49% 46% 46%;box-shadow:inset -5px -4px #53372e0c;transform:rotate(-9deg)}.balloon:after{content:'';position:absolute;left:22px;top:49px;height:70px;width:13px;border-left:1px solid #856f5680;border-radius:50%;transform:rotate(5deg)}.balloon:focus-visible{outline:2px dashed var(--berry);outline-offset:4px}.balloon.popped{opacity:0;pointer-events:none}.confetti-bit{position:fixed;left:var(--cx);top:var(--cy);width:7px;height:12px;background:var(--color);pointer-events:none;animation:confetti-pop 900ms ease-out forwards}.balloon-hint{position:absolute;top:60px;left:3px;font:13px var(--hand);color:var(--ink);white-space:nowrap;transform:rotate(-12deg);opacity:.85}.party-sky.paused .balloon{animation-play-state:paused}@keyframes balloon-flight{0%{translate:0 0;rotate:-10deg}25%{translate:15px calc(-25vh - 45px);rotate:8deg}50%{translate:-8px calc(-50vh - 90px);rotate:-5deg}75%{translate:12px calc(-75vh - 135px);rotate:8deg}100%{translate:0 calc(-100vh - 190px);rotate:-8deg}}@keyframes confetti-pop{0%{opacity:1;translate:0 0;rotate:0deg}100%{opacity:0;translate:var(--dx) var(--dy);rotate:var(--spin)}}
@media(max-width:760px){.hero-collage{height:365px;margin-top:22px;max-width:420px}.memory-sticker{width:215px;left:2px;top:75px;transform:rotate(-9deg)}.memory-sticker figcaption{font-size:18px;left:25px;bottom:0}.photo-note{width:148px;right:-2px;top:13px;transform:rotate(9deg);padding:8px 8px 5px}.photo-slot{height:139px}.photo-note>.hand{font-size:14px;margin-top:3px}.cake-wrap{width:208px;left:auto;right:-13px;top:166px;transform:rotate(8deg)}.cake-caption{font-size:16px;right:29px;bottom:-12px;line-height:1.05;background:transparent;padding:0}.calendar-mini{left:5px;top:4px;width:107px;transform:rotate(-8deg);padding:9px 5px}.calendar-mini strong{font-size:49px}.calendar-mini span{font-size:11px}.calendar-mini:before{left:28px;width:47px}.flower-one{left:12px;top:283px;width:64px;height:64px}.star-one{left:44%;top:28px;width:34px;height:34px;z-index:5}.star-two{right:0;bottom:21px;width:41px;height:41px}.hero-bottom{margin-top:5px}.outfit-board{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:32px 8px 25px;min-height:450px}.outfit-memory{grid-column:1;grid-row:1 / span 2;width:100%;max-width:210px;margin:0 -18px 0 -5px;align-self:center;padding:7px 7px 5px;transform:rotate(-10deg)}.outfit-memory>img{aspect-ratio: .8;object-position:50% 50%}.outfit-memory figcaption{font-size:16px}.outfit-board .shirt-card{grid-column:2;grid-row:1;width:85%;justify-self:end;margin:0;transform:rotate(8deg);padding:8px}.outfit-board .trouser-card{grid-column:2;grid-row:2;width:72%;justify-self:center;transform:rotate(-8deg);padding:7px}.outfit-board .shirt-card svg{height:142px}.outfit-board .trouser-card svg{height:150px}.outfit-board .swatches{position:absolute;left:16px;bottom:11px;display:flex;gap:5px;transform:rotate(4deg);margin:0;z-index:5}.outfit-board .swatches>span{width:24px;height:27px;border:2px solid #fff6e9}.outfit-board .swatches p{display:none}.outfit-scribble{left:28px;top:-13px;font-size:16px}.outfit-flower{right:-6px;bottom:-5px;z-index:5}.balloon{width:35px;opacity:.7}.balloon:before{width:28px;height:37px}.balloon:after{left:17px;top:37px;height:55px}.balloon-hint{font-size:11px;top:48px}}
@media(max-width:360px){.memory-sticker{width:185px;left:-3px;top:81px}.photo-note{width:132px;right:0}.photo-slot{height:124px}.cake-wrap{width:185px;right:-10px;top:173px}.hero-collage{height:350px}.flower-one{top:265px}.outfit-board .shirt-card svg{height:120px}.outfit-board .trouser-card svg{height:132px}}
@media(prefers-reduced-motion:reduce){.party-sky{display:none}}
.countdown-wrap{max-width:560px;margin:-10px auto 65px;text-align:center}.countdown-wrap>.hand{font-size:21px;color:var(--berry);margin:0 0 19px;transform:rotate(-2deg)}.countdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;grid-auto-flow:dense}.countdown-ticket{background:#fff9ee;border:1px solid #d2bda3;box-shadow:3px 5px 0 #d9b49e66;position:relative;padding:15px 8px 13px;transform:rotate(-3deg)}.countdown-ticket:before{content:'';position:absolute;left:25%;top:-6px;width:50%;height:14px;background:#d9bd9d88;transform:rotate(4deg)}.countdown-ticket:nth-child(even){background:#e8a4b8;color:#633847;transform:rotate(3deg);box-shadow:3px 5px 0 #bb7b8e55}.countdown-ticket:nth-child(3){transform:rotate(-1deg)}.countdown-ticket strong{display:block;font:52px/1.15 var(--hand);font-variant-numeric:tabular-nums;color:var(--berry)}.countdown-ticket:nth-child(even) strong{color:#613545}.countdown-ticket>span{display:block;font:18px var(--hand)}
@media(max-width:760px){.countdown-wrap{margin:-8px auto 48px;max-width:400px}.countdown-wrap>.hand{font-size:18px;max-width:290px;margin:0 auto 19px}.countdown{gap:10px}.countdown-ticket{padding:12px 3px 10px}.countdown-ticket strong{font-size:37px}.countdown-ticket>span{font-size:15px}}
@media(max-width:360px){.cutout-name{height:85px;gap:5px}.cutout-name i{font-size:66px;padding:0 7px 8px}.cutout-name i.apostrophe{font-size:40px;padding:0}.nav .brand{font-size:23px}.nav nav{font-size:10px;gap:11px}.nav nav a{white-space:nowrap}.nav .music{width:36px;height:36px;flex:0 0 36px;font-size:20px}}
/* Reserve a separate line for the cake note on phones. */
@media(max-width:760px){.hero-collage{height:420px}.cake-wrap .cake{display:block}.cake-caption{position:relative;inset:auto;width:max-content;max-width:100%;margin:3px auto 0;padding:5px 10px;background:var(--paper);text-align:center;transform:rotate(-8deg);line-height:1.2}.star-two{bottom:95px}}
@media(max-width:360px){.hero-collage{height:410px}}
