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