:root{--maroon:#5d061e;--maroon-dark:#3a0312;--gold:#b8860b;--gold-light:#d4af37;--ivory:#fff;--text-ivory:#3a0312}body{color:var(--text-ivory);background:#f8f1f1 radial-gradient(circle,#fff 0%,#f7e8e8 100%);min-height:100vh;margin:0;padding:0;font-family:Playfair Display,serif;overflow-x:hidden}.invitation-container{flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:600px;min-height:100vh;margin:0 auto;padding-top:120px;display:flex}.envelope-scene{perspective:1000px;z-index:100;width:320px;height:220px;margin-top:80px;transition:transform .8s;position:relative}.envelope{background:var(--maroon);cursor:pointer;z-index:50;width:100%;height:100%;position:relative;box-shadow:0 30px 60px #000c}.flap{width:0;height:0;position:absolute}.flap.top{border-left:160px solid #0000;border-right:160px solid #0000;border-top:115px solid var(--maroon);transform-origin:top;z-index:60;filter:drop-shadow(0 2px 5px #00000080);transition:transform .6s;top:0;left:0}.flap.bottom{z-index:40;border-bottom:110px solid #3d0315;border-left:160px solid #0000;border-right:160px solid #0000;bottom:0;left:0}.flap.left{z-index:30;border-top:110px solid #0000;border-bottom:110px solid #0000;border-left:160px solid #5a0a20;top:0;left:0}.flap.right{z-index:30;border-top:110px solid #0000;border-bottom:110px solid #0000;border-right:160px solid #5a0a20;top:0;right:0}.seal-img{z-index:70;width:70px;height:70px;transition:all .4s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope.opened .flap.top{z-index:20;transform:rotateX(180deg)}.envelope.opened .seal-img{opacity:0;pointer-events:none;transform:translate(-50%,-50%)scale(.5)}.floral-decoration{pointer-events:none;z-index:80;background-repeat:no-repeat;background-size:contain;width:150px;height:150px;position:absolute}.floral-tl{background-image:url(https://png.pngtree.com/png-vector/20240926/ourmid/pngtree-orchid-flower-border-png-image_13895130.png);top:-60px;left:-60px}.floral-br{background-image:url(https://png.pngtree.com/png-vector/20231023/ourmid/pngtree-red-orchid-on-white-background-vibrant-png-image_10174647.png);bottom:-60px;right:-60px;transform:rotate(180deg)}.card-inside{box-sizing:border-box;border:2px solid var(--gold);z-index:25;text-align:center;background:#fff url(https://www.transparenttextures.com/patterns/cream-paper.png);flex-direction:column;align-items:center;width:300px;height:200px;padding:25px;transition:all .8s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:10px;left:10px;overflow:hidden;box-shadow:0 0 20px #0000004d}.envelope.opened .card-inside{z-index:90;height:445px;transform:translateY(-200px)scale(1.1)}.save-the-date{letter-spacing:4px;color:var(--maroon);text-transform:uppercase;margin-bottom:10px;font-family:Cinzel,serif;font-size:.9rem}.card-names{color:var(--maroon-dark);margin:15px 0;font-family:Great Vibes,cursive;font-size:2.2rem}.card-photo{object-fit:cover;border:1px solid var(--gold);opacity:0;width:100%;height:200px;margin:15px 0;transition:opacity .5s .5s}.envelope.opened .card-photo{opacity:1}.card-date{color:var(--gold);letter-spacing:2px;font-family:Cinzel,serif;font-size:1.1rem;font-weight:700}.details-container{opacity:0;text-align:center;width:100%;padding:50px 20px;transition:all 1s;transform:translateY(100px)}.details-container.visible{opacity:1;transform:translateY(0)}.hero-date{color:var(--maroon);text-shadow:0 5px 15px #0000001a;margin-bottom:20px;font-family:Cinzel,serif;font-size:4rem;font-weight:900}.venue-name{text-transform:uppercase;letter-spacing:3px;color:var(--maroon-dark);margin-bottom:10px;font-size:1.6rem}.address-text{color:#555;margin-bottom:40px;font-size:.9rem}.primary-btn{background:var(--maroon);border:2px solid var(--maroon);color:#fff;text-transform:uppercase;letter-spacing:3px;cursor:pointer;width:100%;max-width:350px;margin:20px auto;padding:18px;font-family:Cinzel,serif;text-decoration:none;transition:all .3s;display:block;box-shadow:0 4px 15px #5d061e33}.primary-btn:hover{background:var(--maroon-dark);border-color:var(--maroon-dark);color:var(--gold-light);transform:translateY(-2px);box-shadow:0 8px 25px #3a031266}.back-envelope-btn{opacity:.6;cursor:pointer;color:var(--maroon);margin-top:50px;font-size:.8rem;text-decoration:underline}.vinyl-text{color:var(--maroon)!important}.calendar-section p{color:var(--maroon-dark)!important}.border-top,.border-bottom{border-color:#4a041a33!important}#countdown-timer .number{color:var(--maroon)!important}#countdown-timer .label{color:var(--maroon-dark)!important}.map-box{border:2px solid var(--gold);filter:contrast(1.1);width:100%;height:350px;margin:40px 0;position:relative;overflow:hidden}.map-box iframe{border:0;width:100%;height:100%}.btn-outline-gold{color:var(--gold)!important;border:1px solid var(--gold)!important;text-transform:uppercase!important;letter-spacing:1px!important;background:0 0!important;padding:8px 20px!important;font-family:Cinzel,serif!important;font-size:.7rem!important;transition:all .3s!important}.btn-outline-gold:hover{background:var(--gold)!important;color:var(--maroon-dark)!important;box-shadow:0 0 15px #d4af374d!important}.vinyl-container{z-index:10001;position:absolute;top:20px;right:-100px}@media (width<=768px){.invitation-container{padding-top:80px}.envelope-scene{margin-top:50px;transform:scale(.8)}.hero-date{font-size:3rem}.vinyl-container{top:-10px;right:-50px;transform:scale(.8)}.map-box{height:250px}.envelope.opened .card-inside{transform:translateY(-160px)scale(1.1)}}
