@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400;1,600&family=Cinzel+Decorative:wght@400;700&family=Playfair+Display:ital,wght@0,400;0,700;1,400;1,700&family=Dancing+Script:wght@400;600;700&family=Noto+Serif+Devanagari:wght@300;400;600&display=swap");*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--crimson:#8b0000;--deep-crimson:#5c0000;--gold:#c9941a;--gold-light:#f0c040;--gold-shine:gold;--ivory:#fff8e7;--ivory-dark:#f5e6c8;--saffron:#d4611a;--saffron-light:#f4a044;--maroon:#6b1a1a;--deep-maroon:#3d0000;--lotus-pink:#e8a0b0;--lotus-deep:#c06080;--text-dark:#2c1a0e;--text-mid:#5a3a1a;--text-light:#f5e6c8;--gradient-hero:linear-gradient(135deg,#3d0000,#6b1a1a 40%,#3d0000);--gradient-gold:linear-gradient(135deg,#8b6914,#c9941a 35%,gold 60%,#c9941a 80%,#8b6914);--gradient-inv:linear-gradient(180deg,#3d0000,#5c0000 30%,#8b0000 60%,#5c0000 85%,#3d0000);--gradient-section:linear-gradient(180deg,#fff8e7,#f5e6c8 50%,#fff8e7);--gradient-lock:radial-gradient(ellipse at center,#5c0000 0%,#3d0000 50%,#1a0000 100%);--shadow-gold:0 0 30px rgba(201,148,26,.5),0 0 60px rgba(201,148,26,.2);--shadow-text:2px 2px 8px rgba(0,0,0,.8);--shadow-card:0 8px 32px rgba(0,0,0,.3),0 2px 8px rgba(201,148,26,.2)}html{scroll-behavior:smooth}body{font-family:Cormorant Garamond,serif;background:var(--deep-maroon);color:var(--text-dark);overflow-x:hidden;line-height:1.7}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--deep-maroon)}::-webkit-scrollbar-thumb{background:var(--gold);border-radius:3px}.lock-screen{position:fixed;inset:0;z-index:1000;background:var(--gradient-lock);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.lock-screen:before{content:"";inset:0;background:radial-gradient(circle at 20% 20%,rgba(201,148,26,.08) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(201,148,26,.08) 0,transparent 50%),radial-gradient(circle at 50% 50%,rgba(139,0,0,.15) 0,transparent 60%)}.lock-screen:before,.petal{position:absolute;pointer-events:none}.petal{width:12px;height:20px;border-radius:60% 40% 60% 40%;opacity:0;animation:fallPetal linear infinite}@keyframes fallPetal{0%{transform:translateY(-20px) rotate(0deg) translateX(0);opacity:0}10%{opacity:.7}90%{opacity:.4}to{transform:translateY(110vh) rotate(2turn) translateX(60px);opacity:0}}.star-particle{position:absolute;border-radius:50%;background:var(--gold-light);animation:twinkle ease-in-out infinite alternate;pointer-events:none}@keyframes twinkle{0%{opacity:.1;transform:scale(.8)}to{opacity:.9;transform:scale(1.2)}}.lock-card{position:relative;z-index:10;background:rgba(60,5,5,.7);border:1px solid rgba(201,148,26,.4);border-radius:24px;padding:48px 52px;max-width:480px;width:90%;text-align:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 0 0 1px rgba(201,148,26,.15),0 0 60px rgba(201,148,26,.1),0 24px 80px rgba(0,0,0,.5);animation:cardAppear 1s ease-out}@keyframes cardAppear{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.lock-om{font-size:3.5rem;color:var(--gold);text-shadow:var(--shadow-gold);animation:omPulse 3s ease-in-out infinite;display:block;margin-bottom:4px}@keyframes omPulse{0%,to{text-shadow:0 0 20px rgba(201,148,26,.6),0 0 40px rgba(201,148,26,.3)}50%{text-shadow:0 0 40px rgba(201,148,26,.9),0 0 80px rgba(201,148,26,.5)}}.lock-subtitle-top{font-family:"Noto Serif Devanagari",serif;color:var(--gold-light);font-size:1rem;letter-spacing:.15em;margin-bottom:12px;opacity:.85}.lock-title{font-family:Cinzel Decorative,serif;font-size:clamp(1.6rem,4vw,2.2rem);color:var(--gold-light);text-shadow:var(--shadow-gold);line-height:1.3;margin-bottom:8px;background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lock-desc{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--ivory-dark);font-size:1.05rem;margin-bottom:32px;opacity:.85}.ornament-line{display:flex;align-items:center;gap:12px;margin:16px 0}.ornament-line:after,.ornament-line:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.ornament-line span{color:var(--gold);font-size:1.1rem}.unlock-btn{width:100%;padding:15px;background:var(--gradient-gold);border:none;border-radius:12px;color:var(--deep-crimson);font-family:Cinzel Decorative,serif;font-size:1rem;font-weight:700;letter-spacing:.12em;cursor:pointer;transition:all .3s ease;text-transform:uppercase;position:relative;overflow:hidden}.unlock-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.25) 50%,transparent);transform:translateX(-100%);transition:transform .5s ease}.unlock-btn:hover:before{transform:translateX(100%)}.unlock-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(201,148,26,.5),0 0 0 2px rgba(201,148,26,.3)}.unlock-btn:active{transform:translateY(0)}.lock-screen.exiting{animation:lockExit .8s ease-in-out forwards}@keyframes lockExit{0%{opacity:1;transform:scale(1);filter:blur(0)}40%{opacity:1;transform:scale(1.03);filter:blur(0)}to{opacity:0;transform:scale(1.08);filter:blur(12px);pointer-events:none}}.invitation-wrapper{background:var(--gradient-inv);min-height:100vh;position:relative}.hero-section{min-height:100vh;position:relative;flex-direction:column;overflow:hidden;padding:60px 24px;background:var(--gradient-hero)}.hero-bg-mandala,.hero-section{display:flex;align-items:center;justify-content:center}.hero-bg-mandala{position:absolute;inset:0;pointer-events:none}.hero-bg-mandala img{width:min(80vmin,720px);height:min(80vmin,720px);object-fit:contain;opacity:.12;animation:slowSpin 60s linear infinite}@keyframes slowSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.corner-ornament{position:absolute;width:120px;height:120px;pointer-events:none}.corner-ornament.top-left{top:0;left:0;transform-origin:top left}.corner-ornament.top-right{top:0;right:0;transform:scaleX(-1);transform-origin:top right}.corner-ornament.bottom-left{bottom:0;left:0;transform:scaleY(-1);transform-origin:bottom left}.corner-ornament.bottom-right{bottom:0;right:0;transform:scale(-1);transform-origin:bottom right}.hero-content{position:relative;z-index:10;text-align:center;max-width:800px;animation:heroReveal 1.2s ease-out .3s both}@keyframes heroReveal{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.shubh-vivah{font-family:"Noto Serif Devanagari",serif;font-size:clamp(1.2rem,3vw,1.8rem);color:var(--gold-light);letter-spacing:.2em;margin-bottom:8px;opacity:.9;text-shadow:0 0 20px rgba(201,148,26,.5)}.wedding-of{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--ivory-dark);font-size:clamp(1rem,2.5vw,1.3rem);letter-spacing:.15em;margin-bottom:20px;opacity:.75}.names-container{display:flex;align-items:center;justify-content:center;gap:clamp(16px,4vw,40px);margin:8px 0 16px;flex-wrap:wrap}.bride-name,.groom-name{font-family:Cinzel Decorative,serif;font-size:clamp(2.2rem,7vw,4.5rem);font-weight:700;line-height:1.1;background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 2px 8px rgba(201,148,26,.5));animation:nameGlow 3s ease-in-out infinite alternate}@keyframes nameGlow{0%{filter:drop-shadow(0 2px 8px rgba(201,148,26,.4))}to{filter:drop-shadow(0 2px 20px rgba(201,148,26,.8))}}.names-ampersand{font-family:Dancing Script,cursive;font-size:clamp(2.5rem,6vw,5rem);color:var(--lotus-pink);line-height:1;filter:drop-shadow(0 0 12px rgba(224,160,176,.6));animation:ampPulse 2.5s ease-in-out infinite}@keyframes ampPulse{0%,to{transform:scale(1) rotate(-3deg)}50%{transform:scale(1.08) rotate(3deg)}}.hero-tagline{font-style:italic;color:var(--ivory-dark);font-size:clamp(1rem,2.5vw,1.25rem);margin-top:8px;opacity:.8;letter-spacing:.05em}.hero-tagline,.scroll-hint{font-family:Cormorant Garamond,serif}.scroll-hint{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--gold-light);opacity:.6;animation:scrollBounce 2s ease-in-out infinite;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase}@keyframes scrollBounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}.scroll-arrow{font-size:1.5rem;color:var(--gold)}.section-container{max-width:900px;margin:0 auto;padding:80px 24px;position:relative;z-index:5}.section-header{text-align:center;margin-bottom:48px}.section-badge{display:inline-flex;align-items:center;gap:10px;font-family:Cormorant Garamond,serif;font-style:italic;color:var(--gold-light);font-size:.95rem;letter-spacing:.2em;margin-bottom:12px;text-transform:uppercase;opacity:.85}.section-badge span{font-size:1.2rem}.section-title{font-family:Cinzel Decorative,serif;font-size:clamp(1.8rem,4vw,2.8rem);background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;line-height:1.2}.gold-divider{display:flex;align-items:center;justify-content:center;gap:16px;margin:16px auto;max-width:400px}.gold-divider:after,.gold-divider:before{content:"";flex:1 1;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.gold-divider-icon{color:var(--gold);font-size:1.3rem}.date-section{background:linear-gradient(180deg,#2a0000,#1a0000 50%,#2a0000);position:relative;overflow:hidden}.date-section:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 15% 50%,rgba(201,148,26,.06) 0,transparent 40%),radial-gradient(circle at 85% 50%,rgba(201,148,26,.06) 0,transparent 40%);pointer-events:none}.date-card{background:rgba(92,0,0,.4);border:1px solid rgba(201,148,26,.3);border-radius:20px;padding:48px 40px;text-align:center;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-card),inset 0 0 60px rgba(201,148,26,.04);transition:transform .4s ease,box-shadow .4s ease}.date-card:hover{transform:translateY(-4px);box-shadow:0 12px 48px rgba(0,0,0,.4),0 0 30px rgba(201,148,26,.15)}.date-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-gold);border-radius:20px 20px 0 0}.date-display{margin:32px 0}.date-day{font-family:Cinzel Decorative,serif;font-size:clamp(4rem,12vw,8rem);font-weight:700;line-height:1;background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 12px rgba(201,148,26,.4));animation:dateGlow 3s ease-in-out infinite alternate}@keyframes dateGlow{0%{filter:drop-shadow(0 4px 12px rgba(201,148,26,.3))}to{filter:drop-shadow(0 4px 24px rgba(201,148,26,.7))}}.date-month-year{font-family:Cormorant Garamond,serif;font-size:clamp(1.4rem,3vw,2rem);color:var(--ivory-dark);letter-spacing:.25em;text-transform:uppercase;margin-top:4px}.date-day-name{font-family:Dancing Script,cursive;font-size:clamp(1.2rem,3vw,1.7rem);color:var(--lotus-pink);margin-top:4px}.save-date-label{font-family:Cinzel Decorative,serif;font-size:clamp(1.1rem,3vw,1.6rem);background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.3em;text-transform:uppercase;margin-bottom:12px}.muhurat-strip{display:inline-flex;align-items:center;gap:8px;background:rgba(201,148,26,.12);border:1px solid rgba(201,148,26,.25);border-radius:40px;padding:8px 24px;color:var(--gold-light);font-family:Cormorant Garamond,serif;font-size:1rem;font-style:italic;margin-top:20px}.countdown-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-top:40px;max-width:600px;margin-left:auto;margin-right:auto}.countdown-box{background:hsla(0,0%,100%,.04);border:1px solid rgba(201,148,26,.2);border-radius:14px;padding:20px 12px;text-align:center;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}.countdown-box:hover{transform:translateY(-3px);box-shadow:0 6px 20px rgba(201,148,26,.15)}.countdown-number{font-family:Cinzel Decorative,serif;font-size:clamp(1.8rem,4vw,2.5rem);background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;display:block}.countdown-label{font-family:Cormorant Garamond,serif;color:var(--ivory-dark);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;opacity:.7;margin-top:6px;display:block}.details-section{background:linear-gradient(180deg,#1a0000,#0d0000 60%,#1a0000);position:relative;overflow:hidden}.details-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:24px;gap:24px;margin-top:32px}@media (max-width:640px){.details-grid{grid-template-columns:1fr}.countdown-grid{grid-template-columns:repeat(2,1fr)}}.detail-card{background:rgba(92,0,0,.3);border:1px solid rgba(201,148,26,.25);border-radius:18px;padding:36px 28px;text-align:center;position:relative;overflow:hidden;transition:all .4s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.detail-card:hover{border-color:rgba(201,148,26,.5);transform:translateY(-4px);box-shadow:0 12px 36px rgba(0,0,0,.4),0 0 24px rgba(201,148,26,.1)}.detail-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-gold);opacity:0;transition:opacity .4s ease}.detail-card:hover:after{opacity:1}.detail-icon{font-size:2.5rem;display:block;margin-bottom:14px;animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.detail-card-title{font-family:Cinzel Decorative,serif;font-size:1rem;background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.1em;margin-bottom:8px}.detail-card-value{font-family:Playfair Display,serif;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--ivory);font-weight:700;line-height:1.2;margin-bottom:6px}.detail-card-sub{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--ivory-dark);font-size:.95rem;opacity:.7}.venue-card{grid-column:1/-1}.map-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 24px;background:transparent;border:1.5px solid rgba(201,148,26,.4);border-radius:40px;color:var(--gold-light);font-family:Cormorant Garamond,serif;font-size:.95rem;font-style:italic;cursor:pointer;text-decoration:none;transition:all .3s ease;letter-spacing:.05em}.map-btn:hover{background:rgba(201,148,26,.15);border-color:var(--gold);color:var(--gold-shine);transform:translateY(-2px)}.blessing-footer{background:var(--deep-maroon);padding:60px 24px 40px;text-align:center;position:relative}.blessing-text{font-family:"Noto Serif Devanagari",serif;font-size:clamp(1rem,2.5vw,1.4rem);color:var(--gold-light);letter-spacing:.1em;opacity:.85;margin-bottom:12px}.blessing-english{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--ivory-dark);font-size:1rem;opacity:.6;margin-bottom:32px}.footer-names{font-family:Cinzel Decorative,serif;font-size:clamp(1.1rem,3vw,1.6rem);background:var(--gradient-gold);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.footer-copy{color:var(--text-mid);font-size:.8rem;font-family:Cormorant Garamond,serif;opacity:.5}.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.diya-row{display:flex;justify-content:center;gap:clamp(16px,4vw,40px);margin:24px 0}.diya{font-size:clamp(1.5rem,3vw,2.2rem);animation:diwaFlicker ease-in-out infinite}.diya:first-child{animation-duration:1.8s;animation-delay:0s}.diya:nth-child(2){animation-duration:2.1s;animation-delay:.3s}.diya:nth-child(3){animation-duration:1.6s;animation-delay:.6s}.diya:nth-child(4){animation-duration:2.3s;animation-delay:.9s}.diya:nth-child(5){animation-duration:1.9s;animation-delay:.15s}@keyframes diwaFlicker{0%,to{transform:scale(1) rotate(-3deg);filter:brightness(1)}25%{transform:scale(1.1) rotate(3deg);filter:brightness(1.3)}50%{transform:scale(.95) rotate(-2deg);filter:brightness(.9)}75%{transform:scale(1.05) rotate(2deg);filter:brightness(1.2)}}@media (max-width:480px){.lock-card{padding:32px 28px}.names-container{gap:8px}.date-card{padding:32px 20px}.detail-card{padding:28px 20px}}.music-control{position:fixed;top:24px;right:24px;z-index:2000;gap:12px}.music-control,.music-toggle{display:flex;align-items:center}.music-toggle{width:48px;height:48px;border-radius:50%;background:rgba(139,0,0,.4);border:1px solid rgba(201,148,26,.4);color:var(--gold-light);justify-content:center;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px rgba(0,0,0,.3)}.music-toggle:hover{transform:scale(1.1);border-color:var(--gold);background:rgba(139,0,0,.6);box-shadow:0 0 20px rgba(201,148,26,.3)}.music-toggle.muted{opacity:.7}.music-toggle span{font-size:1.4rem;line-height:1}.audio-waves{display:flex;align-items:center;gap:3px;height:20px}.wave{width:3px;background:var(--gold);border-radius:3px;height:100%;animation:waveAnim 1s ease-in-out infinite alternate}.wave:nth-child(2){animation-delay:.2s}.wave:nth-child(3){animation-delay:.4s}@keyframes waveAnim{0%{height:20%;opacity:.5}to{height:100%;opacity:1}}.music-toggle.muted .wave{animation:none;height:2px;opacity:.3}