:root{--dev:'Noto Sans Devanagari','DM Sans',sans-serif;--aqua:#bff7e8;--rose:#ffc4df;--lav:#d9c7ff}
.page{min-height:100vh;background:#160c1d;color:#fff8ff;font-family:var(--dev);position:relative;isolation:isolate}.video-backdrop{position:fixed;inset:0;z-index:-3;overflow:hidden;background:#180b20}.video-backdrop video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.76}.video-shade{position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#120b1b70,#13091954 48%,#120817a8)}.page-intro .video-shade{background:linear-gradient(90deg,#11081878,#1b0d1f48 45%,#180c2060),linear-gradient(0deg,#140a1c99,transparent 65%)}.page-wishes .video-shade{background:linear-gradient(130deg,#170817b8,#3c122d7c 54%,#190e30a6)}.page-memories .video-shade{background:linear-gradient(130deg,#101323b8,#261a4970 54%,#0c1521ba)}
.intro-screen{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px 18px 30px;position:relative;overflow:hidden}.intro-kicker,.page-kicker{color:#f3c7dc;font-size:clamp(10px,1.3vw,13px);letter-spacing:.17em;text-shadow:0 1px 18px #ffd6ee80}.intro-frame{width:min(630px,94vw);margin:19px auto;padding:49px 30px 44px;position:relative;background:linear-gradient(140deg,#ffffff14,#f8d8ed0a);border:1px solid #ffdaed5c;backdrop-filter:blur(3px);box-shadow:0 0 85px #ff9cc51a,inset 0 0 45px #fff3f30a;animation:frame-arrive 1.3s both}.frame-corner{position:absolute;font-size:21px;color:#ffe4b0;text-shadow:0 0 18px #ffd396}.corner-tl{top:10px;left:13px}.corner-tr{top:10px;right:13px}.corner-bl{bottom:10px;left:13px}.corner-br{bottom:10px;right:13px}.intro-small{font-size:clamp(11px,1.7vw,15px);color:#fff0f7;margin:0 0 15px;text-shadow:0 2px 15px #170918}.intro-frame h1{font-size:clamp(38px,7.3vw,73px);line-height:1.46;margin:0;font-weight:600;letter-spacing:-.05em;color:#f7f0ff;text-shadow:0 3px 28px #f9c7e966}.intro-frame h1 span,.wishes-heading h1 span,.memories-heading h1 span{background:linear-gradient(100deg,#ffe0ee,#b9fff1 35%,#d8c2ff 66%,#ffe0c3);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 14px #e1a9d533)}.intro-divider{display:flex;align-items:center;justify-content:center;gap:13px;color:#ffe1ec;margin:13px 0 15px}.intro-divider i{height:1px;width:48px;background:linear-gradient(90deg,transparent,#ffdbec)}.intro-divider i:last-child{transform:rotate(180deg)}.intro-line{font-size:clamp(12px,1.7vw,16px);line-height:2;color:#fff0f7;text-shadow:0 2px 15px #180c1d;margin:0 0 23px}.enter-button{display:inline-flex;flex-direction:column;gap:7px;padding:13px 27px;border:1px solid #fcd5e9a6;background:#ffd7e923;color:#fff7fb;transition:background .3s,transform .3s;box-shadow:0 0 28px #efaacc20;text-decoration:none}.enter-button:hover{background:#ffd7e93c;transform:translateY(-3px)}.enter-button span{font-size:10px;color:#f4d3e6}.enter-button b{font-size:12px;letter-spacing:.05em}.intro-footer{display:flex;align-items:center;gap:12px;color:#f1d1e0;font-size:10px;letter-spacing:.1em;margin-top:22px}.footer-heart{font-size:18px;color:#ffc4df;animation:heartbeat 1.4s infinite}
.balloon{position:absolute;bottom:-170px;width:44px;height:57px;border-radius:52% 48% 50% 50%;background:linear-gradient(135deg,#ffdfedc9,#f071ac9c);box-shadow:inset -8px -8px 13px #8f347b40,0 0 24px #ffafd133;animation:balloon-rise 15s linear infinite;z-index:-1}.balloon:before{content:'';position:absolute;width:7px;height:7px;left:18px;bottom:-3px;transform:rotate(45deg);background:#ed8eb7}.balloon i{position:absolute;top:60px;left:21px;width:1px;height:72px;background:#ffe4f055}.balloon-one{left:8%;animation-duration:17s}.balloon-two{left:23%;width:32px;height:43px;background:linear-gradient(135deg,#d8fff0c9,#73cabaa1);animation-duration:21s;animation-delay:3s}.balloon-three{right:9%;background:linear-gradient(135deg,#f7dbffc9,#a77be8a1);animation-duration:19s;animation-delay:1s}.balloon-four{right:25%;width:35px;height:47px;background:linear-gradient(135deg,#fff0c9c9,#edaa79ad);animation-duration:22s;animation-delay:5s}.balloon-five{left:48%;width:26px;height:35px;animation-duration:18s;animation-delay:7s}.fireworks{position:absolute;color:#ffe4b5;font-size:32px;opacity:0;animation:firework 3.7s ease-out infinite;text-shadow:0 0 15px #ffe0a8}.fireworks b{position:absolute;color:#ffc3e0;font-size:23px;left:29px;top:-19px;font-weight:400}.firework-a{top:15%;left:14%}.firework-b{top:23%;right:16%;animation-delay:1.4s}.firework-c{bottom:21%;left:8%;animation-delay:2.6s}.float-heart{position:absolute;color:#ffd1e3;opacity:0;animation:heart-float 9s ease-in-out infinite}.heart-a{bottom:8%;right:14%;font-size:27px}.heart-b{bottom:8%;left:18%;font-size:17px;animation-delay:4s}
.site-nav{height:76px;padding:0 8%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff25;position:relative;z-index:2;background:#180c1c27;backdrop-filter:blur(7px)}.nav-brand,.nav-next{font-size:12px;color:#ffedf6;text-decoration:none}.nav-brand{font-size:20px}.nav-brand span{font-size:12px;margin-left:6px}.nav-caption{font-size:10px;color:#f6d5e5;letter-spacing:.08em}.nav-next{border:1px solid #ffffff42;padding:10px 15px;background:#ffffff0c}.nav-next b{margin-left:8px;color:#c6ffe9}.wishes-main,.memories-main{max-width:1000px;margin:auto;padding:58px 6% 76px}.wishes-heading,.memories-heading{text-align:center}.wishes-heading h1,.memories-heading h1{font-size:clamp(38px,6vw,62px);line-height:1.55;margin:14px 0 5px;font-weight:500;text-shadow:0 3px 25px #140817}.wishes-sub,.memories-heading>p:last-child{font-size:12px;color:#f2dfeb}.letter-glass{position:relative;max-width:710px;margin:32px auto 26px;padding:35px 43px 30px;background:linear-gradient(135deg,#ffe5f11d,#d7fff010);border:1px solid #ffd9ec4a;backdrop-filter:blur(5px);box-shadow:0 20px 75px #10071450,inset 0 0 45px #fff7fb08;color:#fff4fb}.letter-glass:before{content:'';position:absolute;inset:9px;border:1px solid #fff1f41c;pointer-events:none}.letter-glass>p{font-size:clamp(13px,1.55vw,16px);line-height:2.15;margin:0 0 13px;text-shadow:0 1px 12px #160b19}.letter-flower{position:absolute;top:-18px;left:calc(50% - 15px);font-size:28px;color:#ffd5e8;text-shadow:0 0 20px #ff91bf}.letter-sign{font-size:12px;line-height:1.9;color:#f6dae9;margin-top:16px}.letter-sign span{color:#fff2fa}.letter-sign b{font-size:21px;color:#ffc3df;margin-left:7px}.wishes-bottom{text-align:center;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;color:#f5dce9;font-size:11px}.next-page-button{padding:12px 17px;border:1px solid #ffdaeb80;background:#ffe0ef19;color:#fff5fa;text-decoration:none;font-size:11px}.next-page-button b{margin-left:10px;color:#c3ffe7}.petal{position:fixed;color:#ffd5e6;opacity:.55;pointer-events:none;animation:petal-drift 9s ease-in-out infinite}.petal-one{left:7%;top:28%;font-size:20px}.petal-two{right:8%;top:43%;font-size:24px;animation-delay:2s}.petal-three{right:13%;bottom:11%;font-size:21px;animation-delay:4s}
.memories-main{max-width:1120px;padding-top:48px}.memories-heading h1{line-height:1.5}.memory-gallery{display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:245px 245px;gap:19px;margin:34px 0 52px}.memory-shot{margin:0;min-width:0;position:relative}.shot-one{grid-row:span 2}.memory-shot .photo-placeholder{height:calc(100% - 34px);position:relative;background:linear-gradient(145deg,#4c3c65b3,#1b2536cc);border:1px solid #e5d8ff72;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;backdrop-filter:blur(3px);box-shadow:0 14px 50px #080d1b65}.photo-placeholder:after{content:'';position:absolute;inset:8px;border:1px solid #fff2ff37;pointer-events:none}.photo-placeholder>span{font-size:34px;color:#e9dbff}.photo-placeholder small{font-size:11px;color:#f3e7fa}.photo-placeholder>b{font-size:9px;color:#d5c1ef;font-weight:400}.memory-shot figcaption{height:34px;padding-top:10px;font-size:10px;color:#f0e3fa;text-align:center}.memory-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.shot-two img{object-fit:contain;object-position:center;background:#111522}.memory-shot.has-photo .photo-placeholder>span,.memory-shot.has-photo .photo-placeholder>small,.memory-shot.has-photo .photo-placeholder>b{display:none}.memories-end{text-align:center;padding:27px 15px 38px;border-top:1px solid #ffffff22}.memories-end>span{font-size:11px;color:#e4d4f6}.memories-end h2{font-size:42px;line-height:1.5;margin:12px 0;color:#f9f1ff;font-weight:500}.memories-end h2 em{font-style:normal;background:linear-gradient(90deg,#e3c8ff,#bff6f0,#ffd5e9);background-clip:text;color:transparent}.memories-end>div{font-size:24px;color:#ddc4ff}.memories-end a{display:inline-block;margin-top:14px;color:#e8dcf5;border:1px solid #e1d1f45e;padding:12px 19px;text-decoration:none;font-size:11px}.reveal{transition:opacity .9s ease,transform .9s ease}.reveal.visible{transform:translateY(0)}
@keyframes balloon-rise{0%{transform:translateY(0) rotate(-7deg);opacity:0}8%{opacity:.8}50%{transform:translate(18px,-60vh) rotate(8deg)}100%{transform:translate(-14px,-125vh) rotate(-8deg);opacity:0}}@keyframes firework{0%,48%,100%{opacity:0;transform:scale(.35)}55%{opacity:1;transform:scale(1.3)}68%{opacity:.8;transform:scale(1)}}@keyframes heartbeat{0%,100%{transform:scale(1)}40%{transform:scale(1.25)}}@keyframes heart-float{0%,100%{opacity:0;transform:translateY(0) rotate(-10deg)}20%,70%{opacity:.8}90%{opacity:0;transform:translateY(-75vh) rotate(14deg)}}@keyframes petal-drift{0%,100%{transform:translate(0,0) rotate(-10deg)}50%{transform:translate(10px,-28px) rotate(15deg)}}@keyframes frame-arrive{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:650px){.intro-frame{padding:43px 15px 35px}.intro-frame h1{font-size:clamp(34px,9vw,52px)}.site-nav{height:64px;padding:0 5%}.nav-caption{display:none}.wishes-main,.memories-main{padding:43px 6% 55px}.letter-glass{padding:31px 23px 26px;margin-top:27px}.letter-glass>p{font-size:13px;line-height:2}.wishes-heading h1,.memories-heading h1{font-size:clamp(34px,8vw,48px)}.memory-gallery{grid-template-columns:1fr 1fr;grid-template-rows:220px 175px;gap:10px;margin-top:27px}.shot-one{grid-row:span 2}.memory-shot figcaption{font-size:9px;line-height:1.5}.memory-shot .photo-placeholder{height:calc(100% - 43px)}.memory-shot figcaption{height:43px;padding:7px 3px}.shot-two{grid-column:1 / -1}.shot-two .photo-placeholder{height:clamp(300px,115vw,440px)}.shot-two img{object-fit:contain;object-position:center}.memories-end h2{font-size:34px}.firework-a{left:3%}.firework-b{right:5%}.firework-c{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
