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