@import"https://fonts.googleapis.com/css2?family=Dancing+Script:wght@400;600;700&family=Cormorant+Garamond:ital,wght@0,300;0,400;1,400&family=Quicksand:wght@300;400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Quicksand:wght@300;400;500;600&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--gold: #ffd700;--red: #c41e3a;--cream: #fdf6e3;--brown: #3d2314}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;font-family:Quicksand,sans-serif}.app-3d{width:100%;height:100vh;position:relative;background:#0a0a15}.loader{position:fixed;inset:0;background:linear-gradient(135deg,#0a0a15,#1a1a2e);display:flex;align-items:center;justify-content:center;z-index:1000}.loader-content{text-align:center;color:#fff}.loader-spinner{width:50px;height:50px;border:3px solid rgba(255,215,0,.2);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.loader-content p{font-family:Dancing Script,cursive;font-size:1.5rem;color:var(--gold);animation:pulse 2s ease-in-out infinite}.envelope-3d-hint{font-family:Quicksand,sans-serif;font-size:14px;color:var(--gold);background:#0009;padding:8px 16px;border-radius:20px;border:1px solid rgba(255,215,0,.3);white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:hintGlow 2s ease-in-out infinite}@keyframes hintGlow{0%,to{box-shadow:0 0 10px #ffd70033}50%{box-shadow:0 0 20px #ffd70066}}.letter-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .5s ease-out;padding:1rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.letter-3d{background:linear-gradient(135deg,var(--cream) 0%,#f5edd6 100%);padding:2.5rem;border-radius:8px;max-width:500px;width:100%;position:relative;box-shadow:0 25px 80px #00000080,0 0 0 1px #ffd70033,inset 0 0 100px #fff8dc4d;animation:letterSlideIn .6s cubic-bezier(.34,1.56,.64,1);transform-origin:center bottom}@keyframes letterSlideIn{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.letter-3d:before{content:"";position:absolute;inset:12px;border:2px solid var(--gold);border-radius:4px;opacity:.4;pointer-events:none}.letter-3d:after{content:"";position:absolute;inset:8px;border:1px solid rgba(196,30,58,.2);border-radius:6px;pointer-events:none}.letter-3d-header{text-align:right;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(61,35,20,.1)}.letter-3d-header span{font-family:Cormorant Garamond,serif;font-size:.9rem;font-style:italic;color:var(--brown);opacity:.7}.letter-3d-content{font-family:Cormorant Garamond,serif;font-size:1.1rem;line-height:1.8;color:var(--brown)}.letter-3d-content p{margin-bottom:1rem;text-indent:2rem}.letter-3d-content .greeting{font-family:Dancing Script,cursive;font-size:1.8rem;font-weight:600;color:var(--red);text-indent:0;margin-bottom:1.5rem}.letter-3d-content .closing{text-indent:0;margin-top:1.5rem;font-style:italic}.letter-3d-content .signature{font-family:Dancing Script,cursive;font-size:1.5rem;font-weight:600;color:var(--red);text-indent:0;text-align:right;margin-top:.5rem}.close-letter{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff;padding:10px 30px;border-radius:25px;font-family:Quicksand,sans-serif;font-size:.9rem;cursor:pointer;transition:all .3s ease}.close-letter:hover{background:#ffffff1a;border-color:var(--gold);color:var(--gold)}.audio-player-3d{position:fixed;bottom:2rem;right:2rem;z-index:50}.audio-btn{width:56px;height:56px;border-radius:50%;border:2px solid var(--gold);background:#0a0a15cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 20px #0006,0 0 #ffd70000}.audio-btn:hover{transform:scale(1.1);box-shadow:0 6px 25px #00000080,0 0 30px #ffd70033}.play-icon:before{content:"";font-size:1.4rem}.waves{display:flex;align-items:flex-end;gap:3px;height:24px}.waves span{width:4px;background:var(--gold);border-radius:2px;animation:wave .5s ease-in-out infinite}.waves span:nth-child(1){height:10px;animation-delay:0s}.waves span:nth-child(2){height:20px;animation-delay:.1s}.waves span:nth-child(3){height:14px;animation-delay:.2s}@keyframes wave{0%,to{transform:scaleY(1)}50%{transform:scaleY(.5)}}.footer-3d{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);color:#ffffff80;font-size:.85rem;font-family:Quicksand,sans-serif;text-shadow:0 2px 10px rgba(0,0,0,.5);z-index:10}.footer-3d span:before{content:"";margin-right:.5rem}.footer-3d span:after{content:"";margin-left:.5rem}@media(max-width:768px){.letter-3d{padding:1.5rem;margin:1rem}.letter-3d-content{font-size:1rem}.letter-3d-content .greeting{font-size:1.5rem}.letter-3d-content .signature{font-size:1.3rem}.audio-player-3d{bottom:1rem;right:1rem}.audio-btn{width:48px;height:48px}.envelope-3d-hint{font-size:12px;padding:6px 12px}}@media(max-width:480px){.letter-3d{padding:1.2rem}.letter-3d-content p{text-indent:1rem}.close-letter{bottom:-45px;padding:8px 24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--deep-wine: #2a1215;--rich-burgundy: #4a1c24;--warm-rose: #c4707a;--blush: #e8b4bc;--soft-gold: #d4a86a;--warm-cream: #fdf6ed;--antique-white: #f5ebe0;--font-display: "Cormorant", Georgia, serif;--font-body: "Quicksand", "Segoe UI", sans-serif;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-soft: cubic-bezier(.25, .46, .45, .94)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.landing{position:fixed;inset:0;background:linear-gradient(180deg,#1a0d10,#2a1215 30%,#1f1012 70%,#150a0c);z-index:2000;transition:opacity 1s var(--ease-out-soft)}.landing:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse 80% 50% at 30% 20%,rgba(196,112,122,.08) 0%,transparent 60%),radial-gradient(ellipse 60% 60% at 70% 80%,rgba(212,168,106,.06) 0%,transparent 50%);pointer-events:none;z-index:0}.landing.transitioning{opacity:0;pointer-events:none}.landing-scroll-container{height:100vh;overflow-y:auto;overflow-x:hidden}.landing-scroll-container::-webkit-scrollbar{width:4px}.landing-scroll-container::-webkit-scrollbar-track{background:#0003}.landing-scroll-container::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,var(--warm-rose),var(--soft-gold));border-radius:2px}.snowfall{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1}.snowflake{position:absolute;top:-20px;color:#fffc;animation:fall linear infinite;text-shadow:0 0 8px rgba(255,255,255,.4);will-change:transform,opacity}.snowflake:before{content:"•"}@keyframes fall{0%{transform:translateY(-20px) rotate(0);opacity:0}10%{opacity:1}90%{opacity:.8}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.petals-container{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1}.floating-petal{position:absolute;top:-30px;background:radial-gradient(ellipse at center,rgba(232,180,188,.7) 0%,rgba(196,112,122,.3) 50%,transparent 70%);border-radius:50% 0 50% 50%;animation:petalFall linear infinite;will-change:transform}@keyframes petalFall{0%{transform:translateY(-30px) rotate(0) translate(0);opacity:0}10%{opacity:.6}50%{transform:translateY(50vh) rotate(180deg) translate(40px)}90%{opacity:.4}to{transform:translateY(100vh) rotate(360deg) translate(-20px);opacity:0}}.ambient-orbs{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:0}.glow-orb{position:absolute;border-radius:50%;filter:blur(80px);animation:float 15s ease-in-out infinite;will-change:transform}.glow-orb-1{width:400px;height:400px;background:radial-gradient(circle,rgba(196,112,122,.2) 0%,transparent 70%);top:-100px;left:-100px}.glow-orb-2{width:300px;height:300px;background:radial-gradient(circle,rgba(212,168,106,.12) 0%,transparent 70%);bottom:-50px;right:-50px;animation-delay:-5s}.glow-orb-3{width:250px;height:250px;background:radial-gradient(circle,rgba(232,180,188,.1) 0%,transparent 70%);top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(20px,-30px) scale(1.05)}66%{transform:translate(-15px,15px) scale(.95)}}section{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;padding:clamp(3rem,8vh,5rem) clamp(1.5rem,5vw,4rem)}.section-inner{max-width:700px;text-align:center;position:relative;z-index:2}section .section-inner,section .hero-content,section .landing-content{opacity:1;transform:translateY(0)}@keyframes revealUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-section{background:radial-gradient(ellipse at 50% 30%,rgba(196,112,122,.1) 0%,transparent 60%)}.hero-content{text-align:center;position:relative;padding:3rem 2rem}.hero-frame{position:absolute;inset:0;pointer-events:none}.frame-corner{position:absolute;width:40px;height:40px;opacity:.3}.frame-corner:before,.frame-corner:after{content:"";position:absolute;background:var(--soft-gold)}.frame-tl{top:0;left:0}.frame-tl:before{width:1px;height:40px}.frame-tl:after{width:40px;height:1px}.frame-tr{top:0;right:0}.frame-tr:before{width:1px;height:40px;right:0}.frame-tr:after{width:40px;height:1px;right:0}.frame-bl{bottom:0;left:0}.frame-bl:before{width:1px;height:40px;bottom:0}.frame-bl:after{width:40px;height:1px;bottom:0}.frame-br{bottom:0;right:0}.frame-br:before{width:1px;height:40px;bottom:0;right:0}.frame-br:after{width:40px;height:1px;bottom:0;right:0}.hero-prelude{font-family:var(--font-body);font-weight:400;font-size:clamp(.8rem,2vw,1rem);color:var(--blush);letter-spacing:.35em;text-transform:uppercase;margin-bottom:1rem;opacity:0;animation:fadeSlideUp .8s var(--ease-out-expo) .3s forwards}.hero-title{margin:0;line-height:1}.title-for{display:block;font-family:var(--font-display);font-weight:300;font-style:italic;font-size:clamp(1.4rem,4vw,2rem);color:var(--warm-cream);letter-spacing:.1em;margin-bottom:.25rem;opacity:0;animation:fadeSlideUp .8s var(--ease-out-expo) .5s forwards}.title-name{display:block;font-family:var(--font-display);font-weight:500;font-size:clamp(4.5rem,15vw,10rem);color:var(--warm-cream);letter-spacing:.02em;line-height:.9;text-shadow:0 0 80px rgba(212,168,106,.4),0 0 120px rgba(196,112,122,.2);opacity:0;animation:nameReveal 1.2s var(--ease-out-expo) .7s forwards}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes nameReveal{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.hero-subtitle{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:clamp(1rem,2.5vw,1.3rem);color:#ffffff80;margin-top:1.5rem;letter-spacing:.02em;opacity:0;animation:fadeSlideUp .8s var(--ease-out-expo) 1s forwards}.hero-ornament{margin-top:2.5rem;display:flex;justify-content:center;align-items:center;gap:1.5rem;opacity:0;animation:fadeSlideUp .8s var(--ease-out-expo) 1.2s forwards}.ornament-dot{width:4px;height:4px;background:var(--soft-gold);border-radius:50%;opacity:.5}.ornament-star{font-size:.9rem;color:var(--soft-gold);animation:starTwinkle 3s ease-in-out infinite}@keyframes starTwinkle{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}.scroll-indicator{position:absolute;bottom:-3rem;left:50%;transform:translate(-50%);text-align:center;opacity:0;animation:fadeSlideUp .8s var(--ease-out-expo) 1.8s forwards}.scroll-text{font-family:var(--font-body);font-size:.7rem;font-weight:400;color:#fff6;letter-spacing:.25em;text-transform:uppercase;display:block;margin-bottom:.75rem}.scroll-arrow{display:flex;justify-content:center}.arrow-line{width:1px;height:30px;background:linear-gradient(to bottom,var(--soft-gold),transparent);animation:arrowPulse 2s ease-in-out infinite}@keyframes arrowPulse{0%,to{opacity:.5;transform:scaleY(1)}50%{opacity:.8;transform:scaleY(1.2)}}.section-divider{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-bottom:2.5rem}.divider-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,var(--soft-gold),transparent)}.divider-star{font-size:.7rem;color:var(--soft-gold);opacity:.6}.love-section{background:radial-gradient(ellipse at 50% 50%,rgba(232,180,188,.06) 0%,transparent 60%)}.love-section .section-title{font-family:var(--font-display);font-weight:400;font-size:clamp(2.5rem,6vw,4rem);color:var(--warm-cream);letter-spacing:.08em;margin-bottom:2rem;text-shadow:0 0 60px rgba(212,168,106,.25)}.love-letter{position:relative;padding:0 1rem}.love-letter:before{content:'"';position:absolute;top:-1.5rem;left:50%;transform:translate(-50%);font-family:var(--font-display);font-size:5rem;color:var(--soft-gold);opacity:.15;line-height:1}.love-letter p{font-family:var(--font-display);font-weight:300;font-size:clamp(1.05rem,2.5vw,1.25rem);color:#ffffffbf;line-height:2;margin-bottom:1.5rem}.love-letter p:last-child{margin-bottom:0}.letter-signature{font-style:italic;color:var(--blush)!important;margin-top:.5rem}.bunny-section{background:radial-gradient(ellipse at 50% 70%,rgba(232,180,188,.06) 0%,transparent 60%)}.bunny-scene{margin-bottom:2.5rem;position:relative;height:80px}.bunny-pair{display:flex;justify-content:center;align-items:flex-end;gap:1rem;height:100%}.bunny-silhouette{position:relative;width:35px;height:45px;background:var(--blush);border-radius:50% 50% 45% 45%;opacity:.7;animation:bunnyBob 3s ease-in-out infinite}.bunny-silhouette:before{content:"";position:absolute;top:-25px;left:5px;width:10px;height:30px;background:var(--blush);border-radius:50%;transform:rotate(-10deg)}.bunny-silhouette:after{content:"";position:absolute;top:-25px;right:5px;width:10px;height:30px;background:var(--blush);border-radius:50%;transform:rotate(10deg)}.bunny-left{animation-delay:0s}.bunny-right{animation-delay:-1.5s;transform:scaleX(-1)}@keyframes bunnyBob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.bunny-right{animation-name:bunnyBobFlipped}@keyframes bunnyBobFlipped{0%,to{transform:scaleX(-1) translateY(0)}50%{transform:scaleX(-1) translateY(-8px)}}.meadow-ground{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:150px;height:2px;background:linear-gradient(90deg,transparent,var(--blush),transparent);opacity:.3}.bunny-title{font-family:var(--font-display);font-weight:400;font-size:clamp(2rem,5vw,3rem);color:var(--blush);letter-spacing:.08em;margin-bottom:1.5rem}.bunny-message{font-family:var(--font-display);font-weight:300;font-size:clamp(1rem,2.5vw,1.2rem);color:#ffffffa6;line-height:2.2}.floating-hearts{margin-top:2rem;display:flex;justify-content:center;gap:2rem}.heart{width:12px;height:12px;background:var(--warm-rose);transform:rotate(-45deg);opacity:.5;animation:heartPulse 3s ease-in-out infinite}.heart:before,.heart:after{content:"";position:absolute;width:12px;height:12px;background:var(--warm-rose);border-radius:50%}.heart:before{top:-6px;left:0}.heart:after{top:0;left:6px}.heart-1{animation-delay:0s}.heart-2{animation-delay:-1s;width:14px;height:14px;opacity:.6}.heart-2:before,.heart-2:after{width:14px;height:14px}.heart-2:before{top:-7px}.heart-2:after{left:7px}.heart-3{animation-delay:-2s}@keyframes heartPulse{0%,to{transform:rotate(-45deg) scale(1);opacity:.4}50%{transform:rotate(-45deg) scale(1.15);opacity:.7}}.christmas-section{background:radial-gradient(ellipse at 50% 30%,rgba(212,168,106,.08) 0%,transparent 60%)}.christmas-ornaments{display:flex;justify-content:center;align-items:flex-end;gap:2rem;margin-bottom:2.5rem;height:60px}.xmas-tree{width:0;height:0;border-left:20px solid transparent;border-right:20px solid transparent;border-bottom:40px solid var(--soft-gold);opacity:.6;position:relative;filter:drop-shadow(0 0 10px rgba(212,168,106,.4))}.xmas-tree:before{content:"";position:absolute;top:40px;left:-5px;width:10px;height:12px;background:var(--warm-rose);opacity:.8}.xmas-star{width:16px;height:16px;background:var(--soft-gold);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);opacity:.6;animation:starGlow 3s ease-in-out infinite}.xmas-star-1{animation-delay:0s}.xmas-star-2{animation-delay:-1.5s}@keyframes starGlow{0%,to{transform:scale(1);opacity:.5;filter:drop-shadow(0 0 5px rgba(212,168,106,.3))}50%{transform:scale(1.1);opacity:.8;filter:drop-shadow(0 0 15px rgba(212,168,106,.6))}}.christmas-title{font-family:var(--font-display);font-weight:500;font-size:clamp(2.5rem,7vw,4.5rem);color:var(--soft-gold);letter-spacing:.05em;margin-bottom:2rem;text-shadow:0 0 60px rgba(212,168,106,.35)}.christmas-message{font-family:var(--font-display);font-weight:300;font-size:clamp(1rem,2.5vw,1.2rem);color:#ffffffb3;line-height:2;margin-bottom:1.5rem}.christmas-message-accent{color:var(--warm-cream);font-style:italic}.snowflake-decoration{margin-top:2.5rem;display:flex;justify-content:center;gap:1.5rem}.snow-crystal{width:20px;height:20px;position:relative;opacity:.4;animation:crystalSpin 12s linear infinite}.snow-crystal:before,.snow-crystal:after{content:"";position:absolute;background:var(--warm-cream)}.snow-crystal:before{width:2px;height:100%;left:50%;transform:translate(-50%)}.snow-crystal:after{width:100%;height:2px;top:50%;transform:translateY(-50%)}.snow-crystal:nth-child(2){animation-delay:-4s;animation-direction:reverse}.snow-crystal:nth-child(3){animation-delay:-8s}@keyframes crystalSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gift-section{background:radial-gradient(ellipse at 50% 60%,rgba(196,112,122,.1) 0%,transparent 60%);min-height:100vh}.landing-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 2rem;width:100%;max-width:100%}.flourish-top{opacity:.5}.flourish-star{font-size:1rem;color:var(--soft-gold);animation:starTwinkle 4s ease-in-out infinite}.flourish-bottom{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:.9rem;color:#ffffff59;letter-spacing:.2em;margin-top:.5rem}.flourish-bottom span:before,.flourish-bottom span:after{content:"—";margin:0 1rem;opacity:.5}.invitation-card{position:relative;background:linear-gradient(135deg,#fdf6ed0a,#fdf6ed04,#d4a86a05);border:1px solid rgba(212,168,106,.2);border-radius:4px;padding:3.5rem 3rem;max-width:440px;width:100%;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 30px 80px #0006,0 0 0 1px #ffffff08 inset,0 0 60px #d4a86a0a;overflow:visible;transition:box-shadow .5s var(--ease-out-soft),transform .5s var(--ease-out-soft)}.invitation-card:hover{box-shadow:0 35px 100px #00000080,0 0 0 1px #ffffff0a inset,0 0 80px #d4a86a0f;transform:translateY(-4px)}.card-shimmer{position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(45deg,transparent 30%,rgba(212,168,106,.06) 45%,rgba(212,168,106,.12) 50%,rgba(212,168,106,.06) 55%,transparent 70%);background-size:250% 250%;animation:shimmer 5s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes shimmer{0%,to{background-position:200% 200%}50%{background-position:-50% -50%}}.corner{position:absolute;width:20px;height:20px;opacity:.35}.corner:before,.corner:after{content:"";position:absolute;background:var(--soft-gold)}.corner-tl{top:15px;left:15px}.corner-tl:before{width:1px;height:20px}.corner-tl:after{width:20px;height:1px}.corner-tr{top:15px;right:15px}.corner-tr:before{width:1px;height:20px;right:0}.corner-tr:after{width:20px;height:1px;right:0}.corner-bl{bottom:15px;left:15px}.corner-bl:before{width:1px;height:20px;bottom:0}.corner-bl:after{width:20px;height:1px;bottom:0}.corner-br{bottom:15px;right:15px}.corner-br:before{width:1px;height:20px;bottom:0;right:0}.corner-br:after{width:20px;height:1px;bottom:0;right:0}.wax-seal{position:absolute;top:-30px;left:50%;transform:translate(-50%);width:60px;height:60px;background:radial-gradient(circle at 30% 30%,#e85a5a 0%,var(--rich-burgundy) 40%,#5a1020 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 30px #8b1e3f80,inset 0 2px 10px #fff3,inset 0 -5px 15px #0000004d;animation:sealPulse 4s ease-in-out infinite}@keyframes sealPulse{0%,to{box-shadow:0 8px 30px #8b1e3f80,inset 0 2px 10px #fff3,inset 0 -5px 15px #0000004d}50%{box-shadow:0 8px 40px #8b1e3f99,0 0 25px #8b1e3f40,inset 0 2px 10px #fff3,inset 0 -5px 15px #0000004d}}.seal-heart{width:18px;height:18px;background:#ffffffe6;transform:rotate(-45deg) translateY(-2px);position:relative;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}.seal-heart:before,.seal-heart:after{content:"";position:absolute;width:18px;height:18px;background:#ffffffe6;border-radius:50%}.seal-heart:before{top:-9px;left:0}.seal-heart:after{top:0;left:9px}.card-inner{text-align:center}.card-prelude{font-family:var(--font-display);font-style:italic;font-weight:300;font-size:1rem;color:#ffffff80;margin-bottom:.75rem;letter-spacing:.03em}.card-title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.8rem,5vw,2.4rem);color:var(--warm-cream);letter-spacing:.08em;line-height:1.2;margin:0;text-shadow:0 0 50px rgba(212,168,106,.3),0 2px 4px rgba(0,0,0,.4)}.card-divider{display:flex;align-items:center;justify-content:center;margin:1.5rem 0;gap:1rem}.card-divider:before,.card-divider:after{content:"";height:1px;width:50px;background:linear-gradient(90deg,transparent,rgba(212,168,106,.35),transparent)}.divider-ornament{color:var(--soft-gold);font-size:.7rem;opacity:.6;animation:crystalSpin 15s linear infinite}.card-message{font-family:var(--font-display);font-weight:300;font-size:1.1rem;color:#ffffffa6;line-height:1.9;margin-bottom:2rem}.message-accent{display:block;margin-top:.5rem;font-style:italic;color:var(--blush)}.enter-button{position:relative;font-family:var(--font-body);font-size:clamp(.7rem,1.5vw,.8rem);font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--warm-cream);background:linear-gradient(135deg,#d4a86a1a,#c4707a14);border:1px solid rgba(212,168,106,.4);border-radius:3px;padding:1rem 2.5rem;min-height:48px;cursor:pointer;overflow:hidden;transition:all .4s var(--ease-out-expo)}.enter-button:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#d4a86a33,#c4707a26);opacity:0;transition:opacity .4s ease}.enter-button:hover{border-color:var(--soft-gold);transform:translateY(-2px);box-shadow:0 10px 40px #d4a86a33,0 0 0 1px #d4a86a1a,inset 0 1px #ffffff1a}.enter-button:hover:before{opacity:1}.enter-button:active{transform:translateY(0);transition-duration:.1s}.enter-button:focus-visible{outline:2px solid var(--soft-gold);outline-offset:4px}.enter-button:disabled,.enter-button.is-loading{cursor:not-allowed;opacity:.6}.enter-button.is-loading .button-text{animation:pulse 1.2s ease-in-out infinite}.button-text{position:relative;z-index:1}.button-shimmer{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(212,168,106,.12) 50%,transparent 100%);animation:buttonShimmer 3.5s ease-in-out infinite;animation-delay:2s;pointer-events:none}@keyframes buttonShimmer{0%,to{left:-100%}50%{left:100%}}.button-glow{position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(212,168,106,.35) 0%,transparent 70%);border-radius:50%;transform:translate(-50%,-50%);transition:all .5s var(--ease-out-expo);pointer-events:none}.enter-button:hover .button-glow{width:280px;height:280px}.transition-overlay{position:fixed;inset:0;background:var(--deep-wine);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;z-index:10;transition:opacity .5s ease}.landing.transitioning .transition-overlay{opacity:1}.transition-content{text-align:center;color:#fff}.transition-spinner{width:40px;height:40px;border:2px solid rgba(212,168,106,.2);border-top-color:var(--soft-gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.transition-content p{font-family:var(--font-display);font-style:italic;font-size:1.2rem;color:var(--soft-gold);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@media(max-width:768px){section{padding:3rem 1.5rem}.hero-content{padding:2rem 1rem}.frame-corner{width:30px;height:30px}.frame-corner:before{height:30px!important}.frame-corner:after{width:30px!important}.bunny-silhouette{width:30px;height:38px}.bunny-silhouette:before,.bunny-silhouette:after{width:8px;height:25px;top:-20px}.invitation-card{padding:3rem 2rem;margin:0 1rem}.wax-seal{width:50px;height:50px;top:-25px}.seal-heart{width:14px;height:14px}.seal-heart:before,.seal-heart:after{width:14px;height:14px}.seal-heart:before{top:-7px}.seal-heart:after{left:7px}.glow-orb{filter:blur(60px)}}@media(max-width:480px){section{padding:2rem 1rem}.hero-content{padding:1.5rem .5rem}.frame-corner{display:none}.bunny-pair{gap:.5rem}.bunny-silhouette{width:25px;height:32px}.bunny-silhouette:before,.bunny-silhouette:after{width:7px;height:20px;top:-16px}.invitation-card{padding:2.5rem 1.5rem;max-width:calc(100vw - 2rem)}.corner{display:none}.glow-orb{filter:blur(50px)}.card-shimmer{animation:none}}@media(max-height:500px)and (orientation:landscape){section{min-height:auto;padding:2rem}.invitation-card{padding:2rem}.card-divider{margin:1rem 0}.card-message{margin-bottom:1.5rem}}@media(prefers-reduced-motion:reduce){.snowflake,.floating-petal,.glow-orb,.wax-seal,.flourish-star,.divider-ornament,.card-shimmer,.button-shimmer,.bunny-silhouette,.heart,.xmas-star,.ornament-star,.arrow-line,.snow-crystal{animation:none!important}.snowfall,.petals-container,.ambient-orbs{display:none}section .section-inner,section .hero-content,section .landing-content,.hero-prelude,.title-for,.title-name,.hero-subtitle,.hero-ornament,.scroll-indicator{opacity:1!important;transform:none!important;animation:none!important;transition:none!important}.enter-button{transition:transform .1s ease,box-shadow .1s ease}.landing.transitioning{transition:opacity .3s ease}}@media(prefers-contrast:high){.invitation-card{border-width:2px;border-color:var(--soft-gold)}.enter-button{border-width:2px}.card-title,.section-title,.christmas-title,.bunny-title{text-shadow:none}}.skip-link{position:fixed;top:-60px;left:50%;transform:translate(-50%);background:var(--deep-wine);color:var(--warm-cream);padding:12px 24px;text-decoration:none;border-radius:8px;font-family:var(--font-body);font-size:.95rem;font-weight:500;letter-spacing:.02em;z-index:10000;transition:top .3s var(--ease-out-soft);border:2px solid var(--soft-gold);box-shadow:0 4px 20px #0000004d}.skip-link:focus{top:20px;outline:none;box-shadow:0 0 0 3px var(--soft-gold),0 4px 30px #d4a86a66}.enter-button:focus-visible{outline:3px solid var(--soft-gold);outline-offset:4px;box-shadow:0 0 0 6px #d4a86a4d,0 0 50px #d4a86a80,inset 0 0 20px #d4a86a1a}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}.invitation-card:before{content:"";position:absolute;inset:-2px;background:linear-gradient(45deg,transparent 30%,rgba(212,168,106,.4) 45%,rgba(232,180,188,.3) 50%,rgba(212,168,106,.4) 55%,transparent 70%);background-size:300% 300%;animation:cardBorderShimmer 6s ease-in-out infinite;border-radius:inherit;z-index:-1;opacity:.9;pointer-events:none}@keyframes cardBorderShimmer{0%,to{background-position:200% 200%;opacity:.7}50%{background-position:-100% -100%;opacity:1}}@media(prefers-reduced-motion:reduce){.invitation-card:before{animation:none;opacity:.5;background-position:50% 50%}}
