.aurora{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:radial-gradient(ellipse at 50% 0%,#3d2066,#1a0a2e 45%,#12061f)}.aurora-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.55;will-change:transform}.aurora-blob-1{width:55vw;height:55vw;max-width:620px;max-height:620px;top:-12%;left:-8%;background:radial-gradient(circle,rgba(232,165,152,.55),transparent 70%);animation:aurora-drift-1 22s ease-in-out infinite alternate}.aurora-blob-2{width:48vw;height:48vw;max-width:540px;max-height:540px;top:28%;right:-10%;background:radial-gradient(circle,rgba(180,120,255,.45),transparent 70%);animation:aurora-drift-2 26s ease-in-out infinite alternate}.aurora-blob-3{width:42vw;height:42vw;max-width:480px;max-height:480px;bottom:-8%;left:28%;background:radial-gradient(circle,rgba(245,200,66,.28),transparent 70%);animation:aurora-drift-3 20s ease-in-out infinite alternate}.aurora-noise{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes aurora-drift-1{0%{transform:translate(0) scale(1)}to{transform:translate(6vw,8vh) scale(1.08)}}@keyframes aurora-drift-2{0%{transform:translate(0) scale(1)}to{transform:translate(-5vw,6vh) scale(1.06)}}@keyframes aurora-drift-3{0%{transform:translate(0) scale(1)}to{transform:translate(4vw,-5vh) scale(1.1)}}.balloons{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.balloon{position:absolute;bottom:-180px;animation:float-up ease-in-out infinite;will-change:transform}.balloon-body{width:52px;height:64px;background:radial-gradient(circle at 35% 28%,rgba(255,255,255,.55),var(--balloon-color) 55%);border-radius:50%/45% 45% 55% 55%;position:relative;opacity:.85}.balloon-body:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--balloon-color)}.balloon-string{width:1px;height:80px;background:linear-gradient(to bottom,rgba(255,255,255,.35),transparent);margin:6px auto 0;animation:string-sway 4s ease-in-out infinite;transform-origin:top center}@keyframes float-up{0%{transform:translateY(0) translate(0);opacity:0}6%{opacity:.75}25%{transform:translateY(-28vh) translate(calc(var(--sway-amount) * .5))}50%{transform:translateY(-55vh) translate(calc(var(--sway-amount) * -.6))}75%{transform:translateY(-82vh) translate(calc(var(--sway-amount) * .4))}94%{opacity:.75}to{transform:translateY(-120vh) translate(calc(var(--sway-amount) * -.3));opacity:0}}@keyframes string-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@media(prefers-reduced-motion:reduce){.balloons{display:none}}.cake{position:relative;width:260px;display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}.cake-glow{position:absolute;top:-20px;left:50%;transform:translate(-50%);width:180px;height:80px;background:radial-gradient(ellipse,rgba(245,200,66,.35),transparent 70%);transition:opacity .6s ease;pointer-events:none}.cake:not(.lit) .cake-glow{opacity:0}.candles{display:flex;gap:34px;margin-bottom:-4px;z-index:2}.candle{display:flex;flex-direction:column;align-items:center;position:relative}.candle-stick{width:12px;height:42px;background:repeating-linear-gradient(45deg,#e8a598 0,#e8a598 6px,#fff1f0 6px,#fff1f0 12px);border-radius:4px 4px 0 0}.wick{width:2px;height:7px;background:#5a3d2b}.flame-wrap{position:relative;width:16px;height:26px;transition:opacity .35s ease,transform .35s ease}.flame{position:absolute;bottom:0;left:50%;transform:translate(-50%);border-radius:50%/62% 62% 38% 38%;transform-origin:50% 100%}.flame-outer{width:14px;height:22px;background:radial-gradient(circle at 50% 80%,#fff6bd,#f5c842 50%,#e8b86d 90%);animation:flicker-outer .5s ease-in-out infinite alternate;box-shadow:0 0 20px 8px #f5c84280}.flame-inner{width:7px;height:12px;bottom:2px;background:radial-gradient(circle at 50% 80%,#fff,#ffe082 80%);animation:flicker-inner .35s ease-in-out infinite alternate-reverse}.smoke{position:absolute;top:-12px;width:5px;height:12px;border-radius:50%;background:#b4b4be99;opacity:0}.smoke-1{left:calc(50% - 4px)}.smoke-2{left:calc(50% + 2px);animation-delay:.4s!important}.cake:not(.lit) .flame-wrap{opacity:0;transform:scale(.15)}.cake:not(.lit) .smoke{animation:smoke-rise 2s ease-out infinite}@keyframes flicker-outer{0%{transform:translate(-50%) scale(1) rotate(-4deg)}to{transform:translate(-50%) scale(1.1) rotate(4deg)}}@keyframes flicker-inner{0%{transform:translate(-50%) scale(1)}to{transform:translate(-50%) scale(1.15)}}@keyframes smoke-rise{0%{opacity:.6;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-30px) scale(2.2)}}.layer{border-radius:12px;position:relative}.layer-top{width:150px;height:58px;background:linear-gradient(180deg,#ffd6e0 0,#ffd6e0 42%,#e8a598 42%);z-index:1}.drip{position:absolute;top:22px;width:16px;height:18px;background:#ffd6e0;border-radius:0 0 10px 10px}.drip-1{left:16px;height:22px}.drip-2{left:66px}.drip-3{left:114px;height:24px}.layer-middle{width:196px;height:62px;margin-top:-8px;background:linear-gradient(180deg,#c98850 0,#c98850 30%,#8d5524 30%)}.layer-bottom{width:240px;height:68px;margin-top:-8px;background:linear-gradient(180deg,#ffd6e0 0,#ffd6e0 30%,#ff8fab 30%)}.plate{width:280px;height:16px;margin-top:-4px;background:linear-gradient(180deg,#f4f6fb,#c9d2e4);border-radius:50%}.countdown{width:100%;max-width:520px;margin:0 auto;text-align:center}.countdown-label{font-size:.85rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-gold);margin-bottom:16px}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.countdown-unit{padding:16px 8px;border-radius:var(--radius-md);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--shadow-soft)}.countdown-value{display:block;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;line-height:1;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--gold) 0%,var(--rose-gold) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.countdown-unit-label{display:block;margin-top:8px;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#ffffff8c}.countdown-live{font-family:Pacifico,cursive;font-size:clamp(1.4rem,4vw,2rem);color:var(--gold);text-shadow:0 0 24px rgba(245,200,66,.35)}.countdown--compact{max-width:420px}.countdown--compact .countdown-unit{padding:12px 6px}.countdown--compact .countdown-value{font-size:clamp(1.2rem,3vw,1.6rem)}@media(max-width:480px){.countdown-grid{gap:8px}.countdown-unit{padding:12px 4px}}.section-header{text-align:center;margin-bottom:48px}.section-label{display:inline-block;padding:6px 16px;margin-bottom:16px;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-gold);background:#e8a5981f;border:1px solid rgba(232,165,152,.25);border-radius:999px}.section-title{font-family:Pacifico,cursive;font-weight:400;font-size:clamp(2rem,5vw,2.75rem);color:var(--pink-soft);line-height:1.3}.section-subtitle{max-width:520px;margin:14px auto 0;font-size:1.05rem;line-height:1.65;color:#ffffffb8}.letter-section{width:100%;padding:60px 0 80px;font-family:Noto Sans Devanagari,Outfit,sans-serif}.letter-container{max-width:720px;margin:0 auto}.letter-lock{display:flex;flex-direction:column;align-items:center;padding:48px 32px;border-radius:var(--radius-lg);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-soft);transition:transform .3s ease}.letter-lock--error{animation:letter-shake .5s ease}.envelope-sealed{position:relative;width:160px;height:110px;margin-bottom:32px}.envelope-body{position:absolute;bottom:0;width:100%;height:80px;background:linear-gradient(160deg,#ffd6e0,#e8a598);border-radius:0 0 12px 12px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0003}.envelope-flap{position:absolute;top:18px;left:0;width:100%;height:60px;background:linear-gradient(180deg,#ff8fab,#e8a598);clip-path:polygon(0 0,50% 100%,100% 0);z-index:1}.envelope-heart{font-size:2rem;opacity:.7}.envelope-lock{position:absolute;bottom:28px;left:50%;transform:translate(-50%);font-size:1.6rem;z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.lock-hint{font-size:1.05rem;color:#ffffffbf;text-align:center;margin-bottom:24px;line-height:1.6}.letter-lock .countdown{margin-top:8px}.lock-form{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.lock-input{width:100%;padding:14px 20px;min-height:48px;font-family:inherit;font-size:1rem;font-weight:500;color:#fff;background:#ffffff14;border:1px solid var(--glass-border);border-radius:12px;text-align:center;letter-spacing:.04em;transition:border-color .25s ease,background .25s ease}.lock-input::placeholder{color:#ffffff59}.lock-input:focus{outline:none;border-color:#e8a59880;background:#ffffff1f}.lock-btn{padding:14px 28px;min-height:48px;font-size:1rem;font-weight:700;color:var(--bg-deep);background:linear-gradient(135deg,var(--gold),var(--rose-gold));border-radius:999px;transition:transform .25s ease,box-shadow .25s ease}.lock-btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px #f5c84259}.lock-btn:disabled{opacity:.7;cursor:wait;transform:none;box-shadow:none}.letter-lock--checking{min-height:280px;justify-content:center}.lock-error{margin-top:16px;font-size:.9rem;font-weight:600;color:#ff8fab;animation:fade-in .3s ease}.letter-container--open .letter-open{animation:letter-unfold .9s var(--ease-out) both}.letter-paper{padding:48px 40px;border-radius:var(--radius-lg);color:#3d2066;box-shadow:var(--shadow-soft),0 0 0 1px #e8a59833;position:relative;line-height:2;font-size:1.05rem;font-family:Noto Sans Devanagari,sans-serif;overflow:hidden;isolation:isolate;background-image:url(/couple-photo.png);background-size:cover;background-position:center 15%;background-repeat:no-repeat;background-attachment:fixed}.letter-paper:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(165deg,#fffcf8d1,#fff5f8c2 45%,#ffeef5b8);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);z-index:0}.letter-paper>*{position:relative;z-index:1}.letter-paper:before{content:"";position:absolute;top:0;left:48px;width:1px;height:100%;background:#e8a59859;z-index:1}.letter-paper strong{color:#4a2c6a;font-weight:700}.letter-tagline,.letter-wish{margin-bottom:22px}.letter-tagline strong,.letter-wish strong{font-size:1.08rem;line-height:1.75}.letter-date{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-gold);margin-bottom:24px}.letter-greeting{font-family:Pacifico,cursive;font-size:1.5rem;color:#4a2c6a;margin-bottom:20px}.letter-paper p{margin-bottom:18px;font-weight:400;text-shadow:0 1px 2px rgba(255,255,255,.6)}.letter-paper em{font-style:italic;color:#6b4080}.letter-closing{margin-top:28px;margin-bottom:0!important;font-weight:500}.letter-signature{display:block;font-family:Pacifico,cursive;font-size:1.6rem;color:#4a2c6a;margin-top:8px}@keyframes letter-shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes letter-unfold{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media(max-width:640px){.letter-lock{padding:36px 20px}.letter-paper{padding:36px 28px 36px 32px;font-size:.97rem;background-attachment:scroll;background-position:center 10%}.letter-paper:before{left:24px}}@media(prefers-reduced-motion:reduce){.letter-paper{background-attachment:scroll}}.nav{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:100;transition:top .3s ease}.nav--scrolled{top:12px}.nav-inner{display:flex;gap:4px;padding:6px;border-radius:999px;background:#1a0a2e8c;border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 32px #00000040}.nav-link{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:0 18px;border-radius:999px;font-size:.875rem;font-weight:600;letter-spacing:.02em;color:#ffffffa6;text-decoration:none;transition:color .25s ease,background .25s ease,transform .25s ease}.nav-link:hover{color:#fffffff2;background:#ffffff14}.nav-link:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.nav-link--active{color:var(--bg-deep);background:linear-gradient(135deg,var(--gold),var(--rose-gold));box-shadow:0 4px 16px #f5c8424d}@media(max-width:480px){.nav-inner{gap:2px;padding:4px}.nav-link{padding:0 12px;font-size:.78rem;min-width:auto}}.sparkles{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.sparkle{position:absolute;border-radius:50%;background:#ffe6b4d9;box-shadow:0 0 6px #f5c84299;animation:sparkle-twinkle ease-in-out infinite}@keyframes sparkle-twinkle{0%,to{opacity:.15;transform:scale(.8)}50%{opacity:.9;transform:scale(1.2)}}.video-section{width:100%;padding:60px 0 80px}.video-frame{position:relative;width:min(100%,880px);margin:0 auto;border-radius:var(--radius-lg);overflow:hidden;background:#0006;border:1px solid var(--glass-border);box-shadow:var(--shadow-soft),0 0 60px #e8a5981f,0 0 0 1px #ffffff0d inset;transition:box-shadow .5s ease,border-color .5s ease}.video-frame:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#e8a59866,#f5c84233,#ff8fab4d);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:2}.video-frame--playing{box-shadow:var(--shadow-soft),0 0 80px #e8a5982e}.video-skeleton{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,#ffffff0a 30%,#ffffff1a,#ffffff0a 70%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;z-index:1}.birthday-video{display:block;width:100%;max-height:72vh;background:#000;object-fit:contain;opacity:0;transition:opacity .5s ease}.birthday-video--loaded{opacity:1}.video-play-btn{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#1a0a2e66;z-index:3;transition:background .3s ease,opacity .4s ease}.video-frame--playing .video-play-btn{opacity:0;pointer-events:none}.video-play-btn:hover{background:#1a0a2e8c}.play-ring{position:absolute;width:96px;height:96px;border-radius:50%;border:2px solid rgba(245,200,66,.4);animation:play-pulse 2s ease-in-out infinite}.play-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--rose-gold));box-shadow:0 12px 36px #e8a59873;position:relative;transition:transform .25s ease;z-index:1}.video-play-btn:hover .play-icon{transform:scale(1.1)}.play-icon:after{content:"";position:absolute;top:50%;left:54%;transform:translate(-50%,-50%);border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent var(--bg-deep)}@keyframes skeleton-shimmer{to{background-position:-200% 0}}@keyframes play-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:.25}}@media(max-width:640px){.video-frame{border-radius:var(--radius-md)}.play-ring{width:80px;height:80px}.play-icon{width:60px;height:60px}.play-icon:after{border-width:10px 0 10px 17px}}.wish-card{--tilt-x: 0deg;--tilt-y: 0deg;perspective:800px;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:var(--card-delay, 0s)}.wish-card--visible{opacity:1;transform:translateY(0)}.wish-card-inner{height:100%;padding:28px 24px;text-align:center;border-radius:var(--radius-md);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(0);transition:transform .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease;will-change:transform}.wish-card:hover .wish-card-inner{background:var(--glass-hover);border-color:#e8a5984d;box-shadow:0 20px 48px #0000004d,0 0 40px #e8a59814;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-6px) translateZ(0)}.wish-emoji{font-size:2.4rem;display:block;margin-bottom:14px;transition:transform .3s ease}.wish-card:hover .wish-emoji{transform:scale(1.15)}.wish-title{font-size:1.2rem;font-weight:700;margin-bottom:10px;color:var(--gold)}.wish-text{font-size:.95rem;line-height:1.7;color:#ffffffc7;font-weight:400}@media(prefers-reduced-motion:reduce){.wish-card-inner{transform:none!important}}@media(max-width:900px){.wish-card{min-height:220px}}.site{position:relative;min-height:100vh}.page{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 24px;display:flex;flex-direction:column;align-items:center}.hero{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:100px 0 60px}.hero-kicker{font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-gold)}.hero-title{font-family:Pacifico,cursive;font-weight:400;font-size:clamp(2.4rem,6vw,4rem);line-height:1.3;margin:20px 0 24px;color:#fffffff2}.hero-name{display:block;font-size:clamp(3.2rem,9vw,6rem);margin-top:8px;background:linear-gradient(120deg,var(--rose-gold) 0%,var(--gold) 35%,var(--pink-glow) 65%,var(--gold-warm) 100%);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:name-shimmer 6s linear infinite,name-glow 3s ease-in-out infinite alternate;filter:drop-shadow(0 0 24px rgba(245,200,66,.25))}.hero-subtitle{max-width:520px;font-size:1.125rem;line-height:1.75;font-weight:400;color:#ffffffb8}.hero-countdown{width:100%;margin-top:32px;padding:0 8px}.anim-in{opacity:0;animation:hero-in .8s var(--ease-out) both}.celebrate-btn{margin-top:40px;padding:16px 48px;min-height:52px;font-size:1.05rem;font-weight:700;letter-spacing:.02em;color:var(--bg-deep);background:linear-gradient(135deg,var(--gold) 0%,var(--gold-warm) 50%,var(--rose-gold) 100%);border-radius:999px;box-shadow:0 8px 28px #f5c84259,0 0 0 1px #ffffff26 inset;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.celebrate-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 14px 40px #f5c84273,0 0 0 1px #fff3 inset}.celebrate-btn:active{transform:scale(.98)}.ripple-btn{position:relative;overflow:hidden}.ripple{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:#ffffff73;transform:scale(0);animation:ripple-expand .6s ease-out forwards;pointer-events:none}.cake-section{width:100%;display:flex;flex-direction:column;align-items:center;gap:32px;padding:80px 0 100px}.cake-wrap{padding:40px 48px;border-radius:var(--radius-lg);background:var(--glass);border:1px solid var(--glass-border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-soft);transition:filter .5s ease,transform .5s var(--ease-out)}.cake-wrap--dim{filter:brightness(.85)}.cake-wrap--celebrate{animation:cake-shake .6s var(--ease-out)}.candle-btn{padding:14px 36px;min-height:48px;font-size:1rem;font-weight:600;color:#fffffff2;background:var(--glass);border:1px solid var(--glass-border);border-radius:999px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background var(--duration-fast) ease,transform var(--duration-fast) ease,border-color var(--duration-fast) ease}.candle-btn:hover{background:var(--glass-hover);border-color:#e8a59859;transform:translateY(-2px)}.wish-made{font-size:1.1rem;font-weight:600;color:var(--gold);animation:wish-pop .6s var(--ease-out) both}.wishes-section{width:100%;padding-bottom:100px}.wishes-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.wishes-grid .wish-card:nth-child(1){grid-column:span 4}.wishes-grid .wish-card:nth-child(2){grid-column:span 4}.wishes-grid .wish-card:nth-child(3){grid-column:span 4}.wishes-grid .wish-card:nth-child(4){grid-column:span 6}.wishes-grid .wish-card:nth-child(5){grid-column:span 6}.wishes-grid .wish-card:nth-child(6){grid-column:span 12}@media(max-width:900px){.wishes-grid{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:4px 4px 16px;scrollbar-width:none}.wishes-grid::-webkit-scrollbar{display:none}.wishes-grid .wish-card{flex:0 0 min(85vw,320px);scroll-snap-align:center;grid-column:unset!important}}.footer{padding:32px 0 48px;font-size:.9rem;font-weight:500;color:#ffffff73;text-align:center}.footer:before{content:"";display:block;width:60px;height:1px;margin:0 auto 24px;background:linear-gradient(90deg,transparent,var(--rose-gold),transparent)}@keyframes hero-in{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}@keyframes name-shimmer{to{background-position:200% center}}@keyframes name-glow{0%{filter:drop-shadow(0 0 20px rgba(245,200,66,.2))}to{filter:drop-shadow(0 0 32px rgba(232,165,152,.35))}}@keyframes ripple-expand{to{transform:scale(18);opacity:0}}@keyframes cake-shake{0%,to{transform:translateY(0) rotate(0)}20%{transform:translateY(-6px) rotate(-1.5deg)}40%{transform:translateY(2px) rotate(1.5deg)}60%{transform:translateY(-4px) rotate(-1deg)}80%{transform:translateY(1px) rotate(.5deg)}}@keyframes wish-pop{0%{opacity:0;transform:scale(.92) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:640px){.hero{padding-top:88px}.cake-wrap{padding:28px 24px}}:root{--bg-deep: #1a0a2e;--bg-plum: #2d1b4e;--bg-violet: #4a2c6a;--rose-gold: #e8a598;--gold: #f5c842;--gold-warm: #e8b86d;--pink-soft: #ffd6e0;--pink-glow: #ff8fab;--glass: rgba(255, 255, 255, .07);--glass-border: rgba(255, 255, 255, .14);--glass-hover: rgba(255, 255, 255, .12);--shadow-soft: 0 24px 60px rgba(0, 0, 0, .35);--radius-lg: 24px;--radius-md: 16px;--ease-out: cubic-bezier(.22, 1, .36, 1);--duration-fast: .3s;--duration-reveal: .7s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Outfit,system-ui,sans-serif;background:var(--bg-deep);color:#fff;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.reveal{opacity:0;transform:translateY(32px);transition:opacity var(--duration-reveal) var(--ease-out),transform var(--duration-reveal) var(--ease-out)}.reveal--visible{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
