@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700&family=Great+Vibes&family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400&display=swap";:root{--color-gold:#d4af37;--color-gold-dark:#b8860b;--color-maroon:maroon;--color-maroon-dark:#4a0000;--color-navy:#0a2342;--color-navy-light:#1d3a5f;--color-ivory:#fdfbf7;--color-white:#fff;--color-dark-brown:#3e2723;--color-text-dark:#2c1a14;--color-bg-light:#f9f6f0;--color-bg-card:#fff;--font-primary:"Cinzel", serif;--font-secondary:"Playfair Display", serif;--shadow-subtle:0 4px 20px #0000000d;--shadow-deep:0 10px 40px #0000001a;--glow-gold:0 0 20px #d4af37cc, 0 0 40px #d4af3766}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-secondary);background-color:var(--color-navy);color:var(--color-text-dark);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);color:var(--color-maroon);font-weight:600}a{color:inherit;text-decoration:none}.app-container{min-height:100%;background:var(--color-navy);perspective:1500px;min-height:-webkit-fill-available;position:relative;overflow:hidden}.app-container:not(.open){width:100%;height:100%;height:-webkit-fill-available;position:fixed;top:0;left:0;overflow:hidden}.card-wrapper{width:100%;height:100vh;height:-webkit-fill-available;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.app-container.open .card-wrapper{height:auto;position:relative}.card-door{width:50%;height:100%;background-color:var(--color-navy);z-index:100;-webkit-transition:-webkit-transform 1.5s cubic-bezier(.645,.045,.355,1),box-shadow 1s,filter 1s;transform-origin:100%;align-items:center;height:-webkit-fill-available;transition:transform 1.5s cubic-bezier(.645,.045,.355,1),box-shadow 1s,filter 1s;display:flex;position:fixed;top:0;box-shadow:0 0 50px #0006}.app-container.lit .card-door{box-shadow:0 0 60px var(--color-gold), inset 0 0 40px #d4af3766;filter:brightness(1.1) drop-shadow(0 0 20px var(--color-gold))}.card-door.left-door{transform-origin:0;border-right:2px solid var(--color-gold-dark);left:0}.card-door.right-door{transform-origin:100%;border-left:2px solid var(--color-gold-dark);right:0}.card-door.left-door.opened{opacity:0;pointer-events:none;-webkit-transition:-webkit-transform 1.5s cubic-bezier(.645,.045,.355,1),opacity 1s .5s;transition:transform 1.5s cubic-bezier(.645,.045,.355,1),opacity 1s .5s;transform:rotateY(-110deg)}.card-door.right-door.opened{opacity:0;pointer-events:none;-webkit-transition:-webkit-transform 1.5s cubic-bezier(.645,.045,.355,1),opacity 1s .5s;transition:transform 1.5s cubic-bezier(.645,.045,.355,1),opacity 1s .5s;transform:rotateY(110deg)}.door-pattern{opacity:.1;background-image:repeating-linear-gradient(45deg, var(--color-gold) 0, var(--color-gold) 2px, transparent 2px, transparent 10px);width:100%;height:100%}.door-frame{border:2px solid var(--color-gold-dark);pointer-events:none;position:absolute;top:20px;bottom:20px}.left-door .door-frame{border-right:none;left:20px;right:0}.right-door .door-frame{border-left:none;left:0;right:20px}.door-frame:after{content:"";border:1px solid var(--color-gold);position:absolute;top:6px;bottom:6px}.left-door .door-frame:after{border-right:none;left:6px;right:0}.right-door .door-frame:after{border-left:none;left:0;right:6px}.damask-side{width:150px;height:100%;color:var(--color-gold-dark);z-index:5;pointer-events:none;filter:drop-shadow(2px 0 5px #0000004d);position:absolute;top:0}.damask-left{right:0}.damask-right{left:0;transform:scaleX(-1)}.cover-logo-container{z-index:101;cursor:pointer;flex-direction:column;align-items:center;transition:opacity .5s,transform .5s;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.cover-logo-container.hidden{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-50%)scale(.8)}.logo-circle-bg{background-color:var(--color-navy);border:3px solid var(--color-gold);border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;transition:all 1s ease-in-out;display:flex;position:relative;box-shadow:inset 0 0 20px #0003,0 5px 15px #00000080}.logo-circle-bg:before{content:"";border:1px solid var(--color-gold);border-radius:50%;position:absolute;inset:-10px}.cover-ganesha{object-fit:contain;filter:drop-shadow(0 2px 4px #0000001a);width:125px;height:auto;max-height:150px;transition:all 1s ease-in-out}.cover-logo-container.glowing .logo-circle-bg{border-color:#fff3b0;transform:scale(1.05);box-shadow:0 0 30px #d4af37,inset 0 0 20px #d4af37}.cover-logo-container.glowing .cover-ganesha{color:#fff3b0;filter:drop-shadow(0 0 15px #ffdf00)}.tap-text{color:var(--color-gold);font-family:var(--font-primary);letter-spacing:3px;opacity:.9;margin-top:30px;font-size:1.2rem;font-weight:700;animation:2s ease-in-out infinite pulseText}@keyframes pulseText{0%{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}to{opacity:.6;transform:scale(1)}}.inner-content{opacity:0;background:var(--color-navy);box-sizing:border-box;width:100%;min-height:100%;padding:0 16px;transition:opacity 1.5s ease-in-out .5s,transform 1.5s ease-out .5s;position:relative;overflow:hidden;transform:translateY(30px)}.inner-content.visible{opacity:1;transform:translateY(0)}.card-texture-bg{opacity:.4;background-image:radial-gradient(var(--color-gold) 1px, transparent 1px), radial-gradient(var(--color-gold) 1px, transparent 1px);z-index:0;pointer-events:none;background-position:0 0,25px 25px;background-size:50px 50px;position:absolute;inset:0}.side-lamp{width:50px;height:200px;color:var(--color-gold);z-index:10;filter:drop-shadow(0 5px 10px #00000080);position:absolute;top:0}.left-lamp{left:5%}.right-lamp{right:5%}.corner-lotus{z-index:5;filter:drop-shadow(0 5px 5px #0000004d);width:100px;height:60px;position:absolute}.top-left{width:80px;top:10px;left:10px;transform:rotate(135deg)}.top-right{width:80px;top:10px;right:10px;transform:rotate(-135deg)}.bottom-left{width:80px;bottom:10px;left:10px;transform:rotate(45deg)}.bottom-right{width:80px;bottom:10px;right:10px;transform:rotate(-45deg)}.ganapathi-layout{z-index:2;text-align:center;max-width:900px;margin:0 auto;padding:40px 20px 80px;position:relative}.crown{flex-direction:column;align-items:center;margin-bottom:30px;display:flex}.inner-ganesha{filter:drop-shadow(0 2px 2px #0000004d);width:80px;height:auto;margin-bottom:15px}.om-text{font-family:var(--font-primary);color:var(--color-gold);letter-spacing:2px;margin:0;font-size:1.1rem;font-weight:600}.body-section{justify-content:center;display:flex;position:relative}.trunk{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0a234299;border:1px solid #d4af3733;border-radius:15px;width:100%;max-width:700px;padding:30px;box-shadow:0 15px 35px #0006}.parents-section{margin-bottom:40px}.parents-names{font-family:var(--font-secondary);color:var(--color-gold);margin-bottom:10px;font-size:1.3rem;font-weight:700}.invite-text{font-family:var(--font-primary);color:var(--color-ivory);font-size:1.1rem;font-style:italic;line-height:1.6}.couple-section{margin:40px 0}.couple-section .names{font-family:var(--font-cursive);color:var(--color-gold);margin:10px 0;font-size:4rem;line-height:1.2}.ampersand{font-family:var(--font-secondary);color:var(--color-gold-dark);margin:0 15px;font-size:2rem}.bride-parents{font-family:var(--font-primary);color:var(--color-ivory);margin-top:10px;font-size:1rem;font-style:italic}.decorative-divider{justify-content:center;gap:15px;margin:30px 0;font-size:1.2rem;display:flex;position:relative}.decorative-divider span{color:var(--color-gold);margin:0 5px}.decorative-divider span:nth-child(2){color:var(--color-gold-dark);font-size:1.5rem}.events-container{justify-content:center;align-items:center;gap:40px;margin:20px 0;display:flex}.event-details{flex:1}.vertical-divider{border-left:2px dashed var(--color-gold);background-color:#0000;width:2px;height:80px}.event-title{font-family:var(--font-secondary);color:var(--color-gold);margin-bottom:10px;font-size:1.8rem}.event-details .date,.event-details .time{font-family:var(--font-primary);color:var(--color-ivory);margin:5px 0;font-size:1rem}.venue-section{margin:20px 0}.venue-title{font-family:var(--font-secondary);color:var(--color-gold);margin-bottom:10px;font-size:1.8rem}.venue-name{font-family:var(--font-primary);color:var(--color-ivory);margin:5px 0;font-size:1.2rem;font-weight:700}.venue-address{font-family:var(--font-primary);color:var(--color-ivory);margin-bottom:15px;font-size:1rem}.location-btn{color:var(--color-gold);border:1px solid var(--color-gold);font-family:var(--font-primary);cursor:pointer;background-color:#0000;border-radius:25px;padding:10px 25px;font-size:1rem;transition:all .3s}.location-btn:hover{background-color:var(--color-gold);color:var(--color-navy)}.countdown-section{border-top:1px solid #d4af374d;margin-top:50px;padding-top:30px}.countdown-title{font-family:var(--font-secondary);color:var(--color-gold);margin-bottom:20px;font-size:1.5rem}.countdown-container{justify-content:center;gap:20px;display:flex}.time-box{background-color:var(--color-navy-light);border:1px solid var(--color-gold);border-radius:10px;flex-direction:column;min-width:80px;padding:15px;display:flex;box-shadow:0 4px 8px #0000004d}.time-value{font-family:var(--font-secondary);color:var(--color-gold);font-size:2rem;font-weight:700}.time-label{font-family:var(--font-primary);color:var(--color-ivory);text-transform:uppercase;margin-top:5px;font-size:.9rem}@media (width<=768px){.side-lamp{display:none}.corner-lotus{width:55px}.top-left{top:6px;left:6px}.top-right{top:6px;right:6px}.bottom-left{bottom:6px;left:6px}.bottom-right{bottom:6px;right:6px}.ganapathi-layout{padding:20px 12px 50px}.trunk{padding:15px 12px}.inner-ganesha{width:55px}.om-text{font-size:.85rem}.parents-names{font-size:1rem}.invite-text{font-size:.9rem}.couple-section .names{font-size:2.6rem}.ampersand{font-size:1.5rem}.bride-parents{font-size:.85rem}.events-container{flex-direction:column;gap:15px}.vertical-divider{border-left:none;border-top:1px dashed var(--color-gold);width:60%;height:1px;margin:0 auto}.event-title{font-size:1.4rem}.event-details .date,.event-details .time{font-size:.85rem}.venue-title{font-size:1.4rem}.venue-name{font-size:1rem}.venue-address{font-size:.85rem}.location-btn{padding:8px 18px;font-size:.85rem}.countdown-section{margin-top:25px;padding-top:20px}.countdown-title{margin-bottom:12px;font-size:1.1rem}.countdown-container{gap:10px}.time-box{border-radius:8px;min-width:60px;padding:10px 8px}.time-value{font-size:1.5rem}.time-label{font-size:.7rem}.decorative-divider{margin:15px 0}}
