.intro-stage{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;border:0;border-radius:0;background:#eee9dc;color:#303b2d;overflow:hidden;padding:0;z-index:1000;animation:none!important}.intro-stage::backdrop{background:#eee9dc}.intro-stage .intro-center{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 22px;position:relative;z-index:2}.intro-stage .intro-kicker{letter-spacing:4px;font-size:10px;margin-bottom:45px}.intro-stage .intro-title{font:clamp(40px,7vw,72px)/1.1 'DM Serif Display',serif;margin:30px 0 12px}.intro-stage .intro-caption{font-size:13px;color:#747769;min-height:22px}.intro-skip{position:absolute;right:24px;top:24px;background:transparent;border:1px solid #9aa38e;border-radius:30px;padding:12px 20px;font-size:12px;color:#4d6345;z-index:5}.intro-halo{position:absolute;width:min(80vw,650px);aspect-ratio:1;border:1px solid #a4ad902e;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);animation:halo-breathe 5s ease-in-out infinite}.intro-halo:before,.intro-halo:after{content:'';position:absolute;inset:12%;border:1px dashed #a4ad9040;border-radius:50%}.intro-halo:after{inset:-12%;border-style:solid}.envelope{width:260px;height:165px;position:relative;perspective:900px;animation:envelope-arrive 1.2s cubic-bezier(.16,1,.3,1) both;filter:drop-shadow(0 20px 15px #303b2d1c)}.envelope-back{position:absolute;inset:0;background:#b9c4a7;border-radius:6px}.envelope-letter{position:absolute;inset:10px 15px;background:#fffdf6;border-radius:4px;padding:20px 0;display:grid;place-content:center;gap:6px;transition:transform .8s .2s cubic-bezier(.16,1,.3,1);font:32px 'Caveat',cursive}.envelope-letter small{font:9px 'DM Sans',sans-serif;letter-spacing:3px}.envelope-front{position:absolute;inset:0;clip-path:polygon(0 0,50% 55%,100% 0,100% 100%,0 100%);background:linear-gradient(140deg,#d3dbc5,#bac7ab);border-radius:6px}.envelope-flap{position:absolute;inset:0;background:#aabb96;clip-path:polygon(0 0,100% 0,50% 57%);transform-origin:top;transition:transform .7s;z-index:3;backface-visibility:hidden}.wax-seal{position:absolute;left:calc(50% - 23px);top:65px;width:46px;height:46px;background:#bd6949;color:#fff3df;border:4px double #d79878;border-radius:50%;display:grid;place-items:center;font:25px Georgia;z-index:4;transition:opacity .2s,transform .5s}.intro-stage.opening .envelope-flap{transform:rotateX(180deg)}.intro-stage.opening .wax-seal{opacity:0;transform:scale(1.5)}.intro-stage.opening .envelope-letter{transform:translateY(-90px) rotate(-4deg)}.intro-stage.departing{animation:intro-exit .75s cubic-bezier(.7,0,.3,1) forwards!important}.intro-open{margin-top:25px;min-width:210px;justify-content:center;box-shadow:0 7px 25px #4d63451f}.intro-loader{width:160px;height:3px;background:#cdd3c0;border-radius:5px;margin:20px auto 0;overflow:hidden}.intro-loader:after{content:'';display:block;width:45%;height:100%;background:#64794f;animation:loading-swipe 1.1s ease-in-out infinite}.intro-loader[hidden]{display:none}.intro-flower{position:absolute;color:#bd694950;font:60px Georgia;animation:flower-orbit 12s linear infinite;pointer-events:none}.intro-flower.a{top:18%;left:14%}.intro-flower.b{bottom:17%;right:14%;font-size:85px;animation-direction:reverse}.intro-flower.c{top:24%;right:22%;font-size:30px}
@keyframes envelope-arrive{from{opacity:0;transform:translateY(80px) rotate(-20deg) scale(.65)}to{opacity:1;transform:translateY(0) rotate(-6deg) scale(1)}}@keyframes intro-exit{to{opacity:0;transform:translateY(-12%) scale(1.08)}}@keyframes halo-breathe{50%{transform:translate(-50%,-50%) scale(1.08)}}@keyframes flower-orbit{to{transform:rotate(360deg)}}@keyframes loading-swipe{from{transform:translateX(-110%)}to{transform:translateX(330%)}}
.replay-intro{position:fixed;bottom:16px;right:16px;border:1px solid #cdd2bf;border-radius:30px;background:#f9f7efee;color:#4d6345;padding:10px 14px;font-size:11px;z-index:30}.spark-trail{position:fixed;pointer-events:none;z-index:60;color:#bd6949;font-size:18px;animation:spark-fade .85s ease-out forwards}.selection-burst{position:fixed;pointer-events:none;z-index:60;font-size:24px;animation:choice-burst .9s cubic-bezier(.15,.7,.3,1) forwards}.selection-fly{position:fixed;pointer-events:none;z-index:55;font-size:30px;animation:choice-deliver .9s cubic-bezier(.45,0,.2,1) forwards}@keyframes spark-fade{to{transform:translateY(-28px) rotate(70deg) scale(.2);opacity:0}}@keyframes choice-burst{to{transform:translate(var(--bx),var(--by)) rotate(var(--br));opacity:0}}@keyframes choice-deliver{0%{transform:scale(.7)}30%{transform:translate(calc(var(--fx)*.25),-55px) scale(1.3) rotate(-15deg)}100%{transform:translate(var(--fx),var(--fy)) scale(.4) rotate(15deg);opacity:0}}
.hero h1 em{position:relative;display:inline-block}.hero h1 em:after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:9px;background:#c58a6455;border-radius:60% 40% 45% 50%;transform:rotate(-4deg);transform-origin:left;animation:underline-draw 1.1s .6s both}@keyframes underline-draw{from{transform:rotate(-4deg) scaleX(0)}to{transform:rotate(-4deg) scaleX(1)}}.hero-party .hero-copy>*{animation-name:welcome-in}.summary.plan-ready{box-shadow:0 0 0 3px #879a6340,0 15px 40px #303b2d12}.ready-stamp{font:11px monospace;letter-spacing:2px;border:2px solid #788a62;color:#60734e;width:max-content;padding:7px 12px;margin:15px 0 0;transform:rotate(-7deg);animation:stamp-in .5s cubic-bezier(.34,1.56,.64,1)}@keyframes stamp-in{from{opacity:0;transform:rotate(-20deg) scale(2.5)}to{opacity:1;transform:rotate(-7deg) scale(1)}}
.send-animation{height:85px;position:relative;overflow:hidden;background:#e5e9db;border-radius:8px;margin:15px 0}.send-animation .plane{position:absolute;left:0;top:20px;font-size:37px;color:#4d6345;animation:plane-loop 2.2s ease-in-out infinite}.send-animation:after{content:'A little plan, on its way…';position:absolute;bottom:10px;left:0;right:0;text-align:center;font:11px 'DM Sans',sans-serif;color:#647059}@keyframes plane-loop{0%{transform:translateX(-45px) translateY(12px) rotate(-10deg)}55%{transform:translateX(170px) translateY(-12px) rotate(5deg)}100%{transform:translateX(500px) translateY(-30px) rotate(-10deg)}}
@media(max-width:500px){.intro-stage .intro-kicker{margin-bottom:35px}.envelope{width:220px;height:145px}.intro-stage .intro-title{margin-top:35px}.intro-flower.a{left:6%;font-size:35px}.intro-flower.b{right:5%;font-size:45px}.intro-skip{top:15px;right:15px}.intro-stage .intro-center{padding:65px 20px 30px}.replay-intro{font-size:10px}.intro-stage .intro-caption{max-width:250px}}@media(max-height:580px){.intro-stage .intro-kicker{margin-bottom:16px}.envelope{width:180px;height:110px}.wax-seal{top:43px}.intro-stage .intro-title{font-size:34px;margin:20px 0 8px}.intro-open{margin-top:10px}.intro-stage .intro-center{padding:45px 15px 15px}}
html.motion-paused .spark-trail,html.motion-paused .selection-burst,html.motion-paused .selection-fly{display:none}html.motion-paused .intro-stage.departing{opacity:0}html.motion-paused .send-animation .plane{left:45%;transform:none}@media(prefers-reduced-motion:reduce){.spark-trail,.selection-burst,.selection-fly{display:none}.intro-stage.departing{opacity:0}.send-animation .plane{left:45%;transform:none}}
