:root{--bg-color:#e8e5df;--text-dark:#333;--envelope-color:#2a2a2a;--gold:#bca371;--font-serif:"Playfair Display", serif;--font-sans:"Montserrat", sans-serif;--font-script:"Great Vibes", cursive}body{font-family:var(--font-serif);color:var(--text-dark);background-color:var(--bg-color);margin:0;padding:0;overflow-x:hidden}.invitation-wrapper{flex-direction:column;align-items:center;min-height:100vh;display:flex;position:relative}.intro-envelope{background:var(--bg-color);z-index:100;flex-direction:column;justify-content:center;align-items:center;transition:transform 1s ease-in-out,opacity 1s ease-in-out;display:flex;position:fixed;inset:0}.intro-envelope.open-anim{opacity:0;transform:translateY(-100%)}.envelope-container{cursor:pointer;width:320px;height:200px;position:relative}.envelope-body{background-color:var(--envelope-color);border-radius:4px;width:100%;height:100%;position:relative;box-shadow:0 10px 25px #0003}.envelope-flap{clip-path:polygon(0 0,50% 100%,100% 0);z-index:2;transform-origin:top;background-color:#333;width:100%;height:60%;transition:transform .6s;position:absolute;top:0;left:0}.intro-envelope.opening .envelope-flap{transform:rotateX(180deg)}.wax-seal{background-color:var(--bg-color);z-index:3;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;transition:opacity .3s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 3px 8px #00000040}.intro-envelope.opening .wax-seal{opacity:0}.wax-seal span{font-family:var(--font-serif);color:var(--envelope-color);font-size:1.1rem;font-weight:600}.orchid{z-index:4;position:absolute}.orchid svg{width:100px;height:140px}.left-orchid{top:10px;left:-45px}.right-orchid{top:-20px;right:-45px;transform:scaleX(-1)}.click-to-open{font-family:var(--font-serif);letter-spacing:3px;color:var(--text-dark);margin-top:35px;font-size:1.1rem;animation:1.5s infinite pulse}.main-invitation-card{opacity:0;background-color:#f9f9f9;width:100%;max-width:600px;min-height:100vh;padding:50px 25px 40px;display:none;position:relative;box-shadow:0 0 30px #0000001a}.main-invitation-card.visible{animation:1s forwards fadeInCard;display:block}@keyframes fadeInCard{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.section{text-align:center;margin-bottom:45px;position:relative}.music-player{z-index:10;border:1px solid var(--gold);background:#fff;border-radius:6px;width:100%;max-width:220px;margin-bottom:20px;margin-left:auto;padding:8px 10px;position:sticky;top:10px;box-shadow:0 2px 8px #bca37126}.song-info{font-family:var(--font-sans);color:var(--gold);white-space:nowrap;text-overflow:ellipsis;margin-bottom:5px;font-size:.65rem;overflow:hidden}.player-controls{color:var(--text-dark);cursor:pointer;align-items:center;gap:8px;font-size:.8rem;display:flex}.player-controls i{flex-shrink:0}.progress-bar{background:#ddd;border-radius:2px;flex-grow:1;height:3px;overflow:hidden}.progress{background:var(--gold);width:0%;height:100%;transition:width .3s linear}.small-text{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;color:#777;margin:5px 0;font-size:.75rem}.invited-text{letter-spacing:3px;text-transform:uppercase;margin:20px 0;font-size:1.1rem;line-height:1.6}.couple-names{font-family:var(--font-script);color:var(--envelope-color);margin:10px 0;font-size:3.5rem;line-height:1.2}.guest-name-badge{background:var(--envelope-color);color:#fff;font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;border-radius:20px;margin-bottom:25px;padding:6px 15px;font-size:.75rem;display:inline-block;box-shadow:0 4px 10px #0000001a}.date-big{font-family:var(--font-serif);letter-spacing:5px;border-bottom:1px solid var(--text-dark);margin-bottom:15px;padding-bottom:10px;font-size:2.2rem;display:inline-block}.time-text{font-family:var(--font-sans);letter-spacing:1px;color:#555;font-size:.85rem}.section-title{font-family:var(--font-script);color:var(--envelope-color);margin-bottom:20px;font-size:2.2rem}.rsvp-badge{background-color:var(--envelope-color);color:#fff;width:190px;height:190px;box-shadow:0 0 0 5px var(--envelope-color), 0 10px 25px #0000004d;cursor:pointer;border:2px dashed #ffffff80;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;transition:transform .3s,box-shadow .3s;display:flex}.rsvp-badge:hover{box-shadow:0 0 0 5px var(--envelope-color), 0 15px 35px #0006;transform:scale(1.05)}.rsvp-badge h3{font-family:var(--font-script);color:#fff;text-align:center;margin:5px 0;font-size:1.6rem;line-height:1}.rsvp-badge p{font-family:var(--font-sans);letter-spacing:1px;text-align:center;margin:0;padding:0 15px;font-size:.6rem}.names-grid{text-align:center;font-family:var(--font-sans);justify-content:space-around;gap:20px;font-size:.85rem;line-height:1.9;display:flex}.names-grid .column{flex:1}.names-grid .title{letter-spacing:1px;text-transform:uppercase;margin-bottom:10px;font-size:.7rem;font-weight:600}.venue-svg-container{max-width:350px;margin:20px auto}.venue-svg-container svg{width:100%;height:auto}.venue-name-large{letter-spacing:2px;text-transform:uppercase;margin:10px 0;font-size:1.1rem;font-weight:600}.map-link{font-family:var(--font-sans);letter-spacing:2px;color:var(--text-dark);text-transform:uppercase;margin-top:15px;font-size:.7rem;text-decoration:underline;transition:color .3s;display:inline-block}.map-link:hover{color:var(--gold)}.attire-svg-container{max-width:300px;margin:20px auto}.attire-svg-container svg{width:100%;height:auto}.attire-type{font-family:var(--font-sans);letter-spacing:2px;text-transform:uppercase;margin-top:10px;font-size:.8rem}.note-text{font-family:var(--font-serif);color:#555;font-size:.95rem;font-style:italic;line-height:1.8}.footer-logo{font-family:var(--font-serif);color:var(--envelope-color);margin-bottom:10px;font-size:3rem}.close-text{font-family:var(--font-sans);letter-spacing:2px;cursor:pointer;text-transform:uppercase;font-size:.75rem;text-decoration:underline;transition:color .3s}.close-text:hover{color:var(--gold)}.rsvp-modal{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.rsvp-modal.show{display:flex}.rsvp-modal-content{background:#fff;border-radius:10px;width:90%;max-width:500px;max-height:90vh;padding:35px;position:relative;overflow-y:auto;box-shadow:0 20px 50px #0000004d}.close-modal{cursor:pointer;color:#999;font-size:1.8rem;transition:color .3s;position:absolute;top:10px;right:18px}.close-modal:hover{color:var(--text-dark)}.section-divider{justify-content:center;align-items:center;gap:15px;margin:30px 0;display:flex}.section-divider .line{background:var(--gold);width:60px;height:1px}.section-divider .diamond{background:var(--gold);width:8px;height:8px;transform:rotate(45deg)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@media (width<=480px){.couple-names{font-size:2.8rem}.date-big,.section-title{font-size:1.8rem}.rsvp-badge{width:160px;height:160px}.rsvp-badge h3{font-size:1.8rem}.names-grid{flex-direction:column;gap:25px}.envelope-container{width:280px;height:175px}.music-player{max-width:180px}}
