@import "https://fonts.googleapis.com/css2?family=Patrick+Hand&family=Permanent+Marker&display=swap";.envelope-scene[data-v-8d14a530]{--green:#bdddb9;--blue:#2e4052;--yellow:#ffc857;--red:#a40006;--dark-red:#5a0002;--spiral-tile:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='13' fill='none' stroke='%23f2c400' stroke-width='4'/%3E%3C/svg%3E");perspective:1200px;background:#f8f0e2;justify-content:center;align-items:center;width:100%;height:100vh;display:flex;position:relative;overflow:hidden}.envelope-wrapper[data-v-8d14a530]{aspect-ratio:1.55;z-index:2;width:min(720px,80vw);transform-style:preserve-3d;filter:drop-shadow(0 25px 25px #0000002e);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-shell[data-v-8d14a530]{z-index:2;transform-style:preserve-3d;position:absolute;inset:0}.letter[data-v-8d14a530]{z-index:1;background:#fffdfa;width:min(630px,70vw);height:min(415px,46vw);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 4px 10px #00000026}.letter-content .footer-credit-link[data-v-8d14a530]{color:#155f9e;transition:color .2s}.letter-content .footer-credit-link[data-v-8d14a530]:hover{color:#c93b35}.letter-content[data-v-8d14a530]{background:beige;width:100%;height:100%;position:relative;overflow:hidden}.injected-page[data-v-8d14a530]{width:100%}.envelope-front[data-v-8d14a530]{clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);z-index:3;background:linear-gradient(145deg,#ddc8a4,#cdb58d);position:absolute;inset:0}.letter-content .countdown-label--mobile[data-v-8d14a530]{display:none}@media (width<=700px){.letter-content .countdown-label--desktop[data-v-8d14a530]{display:none}.letter-content .countdown-label--mobile[data-v-8d14a530]{display:inline}}.envelope-flap[data-v-8d14a530]{clip-path:polygon(0 0,100% 0,50% 60%);transform-origin:top;backface-visibility:hidden;z-index:4;background:linear-gradient(145deg,#ead7b6,#d4bd96);position:absolute;inset:0}.wax-seal[data-v-8d14a530]{z-index:6;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;display:flex;position:absolute;top:51%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.wax-seal img[data-v-8d14a530]{object-fit:cover;width:100%;height:100%;display:block}.confetti-layer[data-v-8d14a530]{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.confetti[data-v-8d14a530]{opacity:.55;border-radius:1px;width:7px;height:11px;animation-name:confettiDrift-8d14a530;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;position:absolute}@keyframes confettiDrift-8d14a530{0%{transform:translate(0)rotate(0)}to{transform:translate(6px,-22px)rotate(25deg)}}.confetti-1[data-v-8d14a530]{background:#751c2d;animation-duration:6.5s;animation-delay:-1.2s;top:5%;left:22%}.confetti-2[data-v-8d14a530]{background:#431328;border-radius:50%;width:5px;height:5px;animation-duration:5.2s;animation-delay:-3s;top:11%;left:61%}.confetti-3[data-v-8d14a530]{background:#c93b35;animation-duration:7.4s;animation-delay:-.5s;top:22%;left:38%}.confetti-4[data-v-8d14a530]{background:#155f9e;border-radius:50%;width:5px;height:5px;animation-duration:6s;animation-delay:-2.4s;top:30%;left:8%}.confetti-5[data-v-8d14a530]{background:#d99b16;animation-duration:8.2s;animation-delay:-4.1s;top:38%;left:72%}.confetti-6[data-v-8d14a530]{background:#751c2d;border-radius:50%;width:5px;height:5px;animation-duration:5.8s;animation-delay:-1.8s;top:46%;left:46%}.confetti-7[data-v-8d14a530]{background:#431328;animation-duration:7s;animation-delay:-3.6s;top:55%;left:88%}.confetti-8[data-v-8d14a530]{background:#c93b35;border-radius:50%;width:5px;height:5px;animation-duration:6.8s;animation-delay:-.9s;top:63%;left:15%}.confetti-9[data-v-8d14a530]{background:#155f9e;animation-duration:5.4s;animation-delay:-2.9s;top:71%;left:55%}.confetti-10[data-v-8d14a530]{background:#d99b16;border-radius:50%;width:5px;height:5px;animation-duration:7.6s;animation-delay:-4.4s;top:79%;left:30%}.confetti-11[data-v-8d14a530]{background:#751c2d;animation-duration:6.2s;animation-delay:-1.5s;top:87%;left:67%}.confetti-12[data-v-8d14a530]{background:#431328;border-radius:50%;width:5px;height:5px;animation-duration:8.5s;animation-delay:-3.3s;top:93%;left:4%}.confetti-13[data-v-8d14a530]{background:#c93b35;animation-duration:5.6s;animation-delay:-.3s;top:6%;left:94%}.confetti-14[data-v-8d14a530]{background:#155f9e;border-radius:50%;width:5px;height:5px;animation-duration:7.2s;animation-delay:-2.1s;top:13%;left:27%}.confetti-15[data-v-8d14a530]{background:#d99b16;animation-duration:6.6s;animation-delay:-4.8s;top:21%;left:79%}.confetti-16[data-v-8d14a530]{background:#751c2d;border-radius:50%;width:5px;height:5px;animation-duration:5.9s;animation-delay:-1.1s;top:29%;left:52%}.confetti-17[data-v-8d14a530]{background:#431328;animation-duration:6.9s;animation-delay:-2.6s;top:37%;left:18%}.confetti-18[data-v-8d14a530]{background:#c93b35;border-radius:50%;width:5px;height:5px;animation-duration:5.5s;animation-delay:-.7s;top:45%;left:96%}.confetti-19[data-v-8d14a530]{background:#155f9e;animation-duration:7.8s;animation-delay:-3.9s;top:53%;left:41%}.confetti-20[data-v-8d14a530]{background:#d99b16;border-radius:50%;width:5px;height:5px;animation-duration:6.4s;animation-delay:-1.9s;top:61%;left:64%}.confetti-21[data-v-8d14a530]{background:#751c2d;animation-duration:5.1s;animation-delay:-4.3s;top:69%;left:10%}.confetti-22[data-v-8d14a530]{background:#431328;border-radius:50%;width:5px;height:5px;animation-duration:7.1s;animation-delay:-2.2s;top:77%;left:83%}.confetti-23[data-v-8d14a530]{background:#c93b35;animation-duration:6.3s;animation-delay:-.4s;top:85%;left:35%}.confetti-24[data-v-8d14a530]{background:#155f9e;border-radius:50%;width:5px;height:5px;animation-duration:8s;animation-delay:-3.1s;top:92%;left:58%}.confetti-25[data-v-8d14a530]{background:#d99b16;animation-duration:5.7s;animation-delay:-1.6s;top:96%;left:74%}.confetti-26[data-v-8d14a530]{background:#751c2d;border-radius:50%;width:5px;height:5px;animation-duration:6.7s;animation-delay:-4.6s;top:95%;left:12%}.background-doodles[data-v-8d14a530]{pointer-events:none;position:absolute;inset:0}.doodle[data-v-8d14a530]{opacity:1;filter:grayscale()contrast(1.2);font-size:40px;position:absolute}.bat[data-v-8d14a530]{animation:3.2s ease-in-out infinite bat-flutter-8d14a530}.ghost[data-v-8d14a530]{animation:4.5s ease-in-out infinite ghost-float-8d14a530}.pumpkin[data-v-8d14a530]{animation:3.8s ease-in-out infinite pumpkin-wiggle-8d14a530}.spider[data-v-8d14a530]{transform-origin:top;animation:3.4s ease-in-out infinite spider-dangle-8d14a530}.star[data-v-8d14a530]{animation:2.6s ease-in-out infinite star-twinkle-8d14a530}.bat-1[data-v-8d14a530]{top:15%;left:15%}.bat-2[data-v-8d14a530]{animation-delay:-1.6s;top:20%;right:17%}.ghost[data-v-8d14a530]{bottom:25%;left:10%}.pumpkin[data-v-8d14a530]{bottom:18%;right:12%}.spider[data-v-8d14a530]{top:35%;right:8%}.star-1[data-v-8d14a530]{top:25%;left:7%}.star-2[data-v-8d14a530]{animation-delay:-1.3s;bottom:20%;left:20%}@keyframes bat-flutter-8d14a530{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(6px,-10px)rotate(-8deg)}}@keyframes ghost-float-8d14a530{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes pumpkin-wiggle-8d14a530{0%,to{transform:rotate(0)}50%{transform:rotate(6deg)}}@keyframes spider-dangle-8d14a530{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes star-twinkle-8d14a530{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.scroll-hint[data-v-8d14a530]{cursor:pointer;z-index:10;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:calc(50% + 10rem)}.scroll-hint-label[data-v-8d14a530]{text-transform:uppercase;letter-spacing:.06em;color:#751c2d;background:#fffdfaeb;border:1.5px solid #751c2d38;border-radius:999px;padding:8px 18px;font-family:Patrick Hand,cursive;font-size:15px;box-shadow:0 8px 20px #751c2d1f}.scroll-hint-text--mobile[data-v-8d14a530]{display:none}@media (width<=700px){.scroll-hint-text--desktop[data-v-8d14a530]{display:none}.scroll-hint-text--mobile[data-v-8d14a530]{display:inline}}.scroll-hint-arrow[data-v-8d14a530]{color:#fffdfa;background:#751c2d;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;animation:1.5s infinite arrowBounce-8d14a530;display:flex;box-shadow:0 8px 18px #751c2d47}.scroll-hint-arrow svg[data-v-8d14a530]{width:16px;height:16px}@media (width<=700px){.scroll-hint-arrow[data-v-8d14a530]{display:none}}@keyframes arrowBounce-8d14a530{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}@media (width<=700px){.envelope-wrapper[data-v-8d14a530]{cursor:pointer;width:92vw}.letter[data-v-8d14a530]{cursor:pointer;opacity:0;width:76vw;height:48vw;position:relative;top:auto;left:auto;transform:none}}.letter-content[data-v-8d14a530]{--wine:#751c2d;--ink:#431328;--red-content:#c93b35;--blue-content:#155f9e;--yellow-content:#d99b16;--cream:#f8f0e2;--paper:#fffdfa;--line:#decdb5;color:var(--ink);font-family:DM Sans,sans-serif}.letter-content .display-font[data-v-8d14a530]{font-family:Playfair Display,serif}.letter-content .hero-title-handwritten[data-v-8d14a530]{font-family:Patrick Hand,cursive}.letter-content .invitation-shell[data-v-8d14a530]{background:radial-gradient(circle at 93% 8%,#d99b162e,#0000 22rem),radial-gradient(circle at 4% 62%,#155f9e1c,#0000 20rem);width:100%;padding-bottom:48px;position:relative;overflow:hidden}.letter-content .dots[data-v-8d14a530]{background-image:radial-gradient(#751c2d24 1px,#0000 1px);background-size:17px 17px}.letter-content .soft-card[data-v-8d14a530]{background:#fffdfaeb;border:1px solid #751c2d29;transition:box-shadow .35s,transform .35s;box-shadow:0 22px 55px #751c2d1a}.letter-content .soft-card[data-v-8d14a530]:hover{transform:translateY(-2px);box-shadow:0 26px 60px #751c2d29}.letter-content .hero-photo-frame[data-v-8d14a530]{position:relative}.letter-content .photo-crop[data-v-8d14a530]{cursor:pointer;position:relative;overflow:hidden}.letter-content .photo-crop img[data-v-8d14a530]{object-fit:cover;width:100%;height:100%;transition:transform .5s}.letter-content .photo-crop[data-v-8d14a530]:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 30%,#ffffff8c 48% 52%,#0000 70%);transition:transform .85s;position:absolute;inset:0;transform:translate(-130%)}.letter-content .calendar-grid[data-v-8d14a530]{grid-template-columns:repeat(7,minmax(0,1fr));gap:.42rem;display:grid}.letter-content .calendar-day[data-v-8d14a530]{min-height:2.05rem;color:var(--wine);border-radius:999px;place-items:center;font-size:.75rem;font-weight:700;transition:background-color .25s,transform .25s;display:grid}.letter-content .calendar-range[data-v-8d14a530]{border:3px solid var(--red-content);color:var(--wine);background:#c93b3514;border-radius:999px;grid-column:6/span 2;grid-template-columns:repeat(2,minmax(0,1fr));transition:box-shadow .3s;display:grid;overflow:hidden}.letter-content .calendar-range[data-v-8d14a530]:hover{box-shadow:0 0 0 4px #c93b352e}.letter-content .calendar-range .calendar-day[data-v-8d14a530]{color:var(--wine);border-radius:0}.letter-content .map-lines[data-v-8d14a530]{background-color:#f5e8cf;background-image:linear-gradient(28deg,#0000 46%,#155f9e52 47% 49%,#0000 50%),linear-gradient(112deg,#0000 43%,#c93b353b 44% 47%,#0000 48%),linear-gradient(#0000 49%,#751c2d24 50% 52%,#0000 53%);background-size:130px 130px,155px 155px,46px 46px}.letter-content .map-pin[data-v-8d14a530]{cursor:pointer;transition:transform .3s,box-shadow .3s;animation:3.8s ease-in-out infinite float-pin-8d14a530;box-shadow:0 12px 26px #751c2d42}.letter-content .map-pin[data-v-8d14a530]:hover{transform:scale(1.15)translateY(-4px);box-shadow:0 18px 34px #751c2d57}.copy-popup[data-v-8d14a530]{background:var(--wine);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:10;border-radius:999px;padding:.4rem .85rem;font-size:.8rem;font-weight:600;transition:opacity .25s,transform .25s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(6px);box-shadow:0 10px 22px #751c2d4d}.guest-bubble{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;font-size:.85rem;font-weight:700;transition:transform .2s;display:flex;position:relative;box-shadow:0 6px 14px #751c2d2e}.guest-bubble:hover{transform:translateY(-3px)scale(1.06)}.guest-bubble-tooltip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#751c2d;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.guest-bubble:hover .guest-bubble-tooltip{opacity:1;transform:translate(-50%)translateY(0)}.letter-content .rsvp-checkbox-label[data-v-8d14a530]{cursor:pointer;transition:border-color .25s,background-color .25s,transform .15s}.letter-content .rsvp-checkbox-label[data-v-8d14a530]:has(input:checked){background-color:#22c55e14;border-color:#22c55e}.letter-content .rsvp-checkbox-label[data-v-8d14a530]:hover{transform:translateY(-1px)}.letter-content .rsvp-checkbox-label--danger[data-v-8d14a530]:has(input:checked){background-color:#c93b351a;border-color:#c93b35}.letter-content .rsvp-checkbox[data-v-8d14a530]{accent-color:#22c55e}.letter-content .rsvp-checkbox--danger[data-v-8d14a530]{accent-color:#c93b35}.letter-content select[data-v-8d14a530]:valid,.letter-content select[data-v-8d14a530]:valid:hover{border-color:#22c55e}.copy-popup.visible[data-v-8d14a530]{opacity:1;transform:translate(-50%)translateY(0)}.letter-content .timeline-line[data-v-8d14a530]{background:linear-gradient(var(--yellow-content), var(--blue-content));width:2px;position:absolute;top:2.3rem;bottom:2.3rem;left:.8rem}.letter-content .timeline-line+article>span[data-v-8d14a530],.letter-content .timeline-line~article>span[data-v-8d14a530]{left:calc(-2.3rem - 3px)}.letter-content .canva-card[data-v-8d14a530]{transition:transform .3s,box-shadow .3s}.letter-content .canva-card[data-v-8d14a530]:hover{transform:translate(4px)translateY(-2px);box-shadow:0 18px 36px #751c2d24}.letter-content .canva-card:hover [data-lucide][data-v-8d14a530]{transform:scale(1.15)rotate(-6deg)}.letter-content .canva-card [data-lucide][data-v-8d14a530]{transition:transform .3s}.letter-content .canva-button[data-v-8d14a530]{transition:box-shadow .3s,transform .3s;position:relative;overflow:hidden}.letter-content .canva-button[data-v-8d14a530]:after{content:"";background:linear-gradient(115deg,#0000 30%,#fff6 48% 52%,#0000 70%);transition:transform .7s;position:absolute;inset:0;transform:translate(-130%)}.letter-content .canva-button[data-v-8d14a530]:hover:after{transform:translate(130%)}.letter-content .canva-button[data-v-8d14a530]:hover{box-shadow:0 12px 26px #c93b3559}#rules-list li[data-v-8d14a530]{transition:background-color .25s,transform .25s}#rules-list li[data-v-8d14a530]:hover{background-color:#d99b161a;transform:translate(3px)}#rules-list li:hover span[aria-hidden=true][data-v-8d14a530]{transform:rotate(-10deg)scale(1.1)}#rules-list li span[aria-hidden=true][data-v-8d14a530]{transition:transform .3s}.letter-content input[data-v-8d14a530],.letter-content select[data-v-8d14a530],.letter-content textarea[data-v-8d14a530]{background:var(--paper);color:var(--ink);border-color:#cdb997;transition:border-color .25s,box-shadow .25s}.letter-content input[data-v-8d14a530]:hover,.letter-content select[data-v-8d14a530]:hover,.letter-content textarea[data-v-8d14a530]:hover{border-color:var(--blue-content)}.letter-content input[data-v-8d14a530]:focus,.letter-content select[data-v-8d14a530]:focus,.letter-content textarea[data-v-8d14a530]:focus{border-color:var(--blue-content);outline:none;box-shadow:0 0 0 3px #155f9e26}.letter-content button[data-v-8d14a530],.letter-content input[data-v-8d14a530],.letter-content select[data-v-8d14a530],.letter-content textarea[data-v-8d14a530]{font:inherit}.letter-content .reveal[data-v-8d14a530]{animation:.65s ease-out both reveal-8d14a530}.letter-content .reveal-delay[data-v-8d14a530]{animation-delay:.13s}.leave-popup-overlay[data-v-8d14a530]{z-index:999;opacity:0;background:#4313288c;justify-content:center;align-items:center;padding:20px;transition:opacity .2s;display:flex;position:fixed;inset:0}.leave-popup-overlay.hidden[data-v-8d14a530]{display:none}.leave-popup-overlay.visible[data-v-8d14a530]{opacity:1}.leave-popup-modal[data-v-8d14a530]{text-align:center;background:#fffdfa;border-radius:1.5rem;width:100%;max-width:320px;padding:1.75rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);transform:scale(.9);box-shadow:0 30px 60px #0000004d}.leave-popup-overlay.visible .leave-popup-modal[data-v-8d14a530]{transform:scale(1)}.leave-popup-step-2[data-v-8d14a530]{max-width:420px;padding:2.25rem}.leave-popup-step-2 .leave-popup-text[data-v-8d14a530]{font-size:1.15rem}.leave-popup-step-3[data-v-8d14a530]{background:linear-gradient(135deg,#751c2d,#431328);max-width:560px;padding:3rem;animation:.4s popup-shake-8d14a530}.leave-popup-step-3 .leave-popup-text[data-v-8d14a530]{color:#fff;font-size:1.5rem;font-weight:700}@keyframes popup-shake-8d14a530{0%,to{transform:translate(0)scale(1)}20%{transform:translate(-6px)scale(1.02)}40%{transform:translate(6px)scale(1.02)}60%{transform:translate(-4px)scale(1.02)}80%{transform:translate(4px)scale(1.02)}}.leave-popup-text[data-v-8d14a530]{color:#431328;margin:0 0 1.25rem;font-family:DM Sans,sans-serif;font-size:1rem;line-height:1.5}.leave-popup-actions[data-v-8d14a530]{flex-direction:column;gap:.6rem;display:flex}.leave-popup-btn[data-v-8d14a530]{cursor:pointer;border:none;border-radius:999px;padding:.7rem 1.2rem;font-family:DM Sans,sans-serif;font-size:.9rem;font-weight:700;transition:transform .15s}.leave-popup-btn[data-v-8d14a530]:hover{transform:translateY(-1px)}.leave-popup-btn--confirm[data-v-8d14a530]{color:#fff;background:#c93b35}.leave-popup-btn--cancel[data-v-8d14a530]{color:#fff;background:#22c55e}.leave-popup-step-3 .leave-popup-btn--confirm[data-v-8d14a530]{color:#751c2d;background:#fff}@keyframes reveal-8d14a530{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes float-pin-8d14a530{50%{transform:translateY(-7px)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.letter-content[data-v-8d14a530] *,.letter-content[data-v-8d14a530] :before,.letter-content[data-v-8d14a530] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.background-doodles .doodle[data-v-8d14a530]{animation:none!important}}*{box-sizing:border-box}html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);margin:0;padding:0}button,input{font:inherit}.birthday-site[data-v-177c09cb]{min-height:100vh}body{background-color:#f8f0e2}
