:root{--bg-emerald:#064e3b;--bg-darker:#022c22;--gold:#d4af37;--text-light:#ecfdf5;--font-heading:"Cormorant Garamond", serif;--font-body:"Montserrat", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-emerald);color:var(--text-light);line-height:1.8;position:relative;overflow-x:hidden}.bg-pattern{z-index:-1;pointer-events:none;background-image:repeating-linear-gradient(45deg,#d4af370d 0 1px,#0000 1px 20px);width:100vw;height:100vh;position:fixed;top:0;left:0}.scroll-reveal{opacity:0;transition:all 1s cubic-bezier(.25,.8,.25,1);transform:translateY(40px)}.scroll-reveal.visible{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.2s}.section-heading{font-family:var(--font-heading);color:var(--gold);text-align:center;margin-bottom:3rem;font-size:3rem;font-weight:700}.hero{text-align:center;background:radial-gradient(circle at center, #064e3b00 0%, var(--bg-darker) 100%);justify-content:center;align-items:center;height:100vh;display:flex}.hero-border{border:2px solid var(--gold);padding:4rem;position:relative}.hero-border:before,.hero-border:after{content:"◈";color:var(--gold);background:var(--bg-emerald);font-size:2rem;position:absolute}.hero-border:before{top:-20px;left:50%;transform:translate(-50%)}.hero-border:after{bottom:-20px;left:50%;transform:translate(-50%)}.hero-subtitle{letter-spacing:6px;text-transform:uppercase;margin-bottom:2rem;font-size:1.2rem;display:block}.hero-title{font-family:var(--font-heading);color:var(--gold);margin-bottom:2rem;font-size:4.5rem;line-height:1.1}.hero-amp{vertical-align:middle;font-size:.5em}.hero-date{letter-spacing:2px;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:.5rem 0;font-size:1.2rem}.hosts-section{text-align:center;max-width:800px;margin:0 auto;padding:6rem 2rem}.cultural-card{background:#0003;border:1px solid #d4af374d;border-radius:8px;padding:4rem 2rem}.hosts-greeting{margin-bottom:2rem;font-size:1.2rem;line-height:2}.cultural-divider{background:var(--gold);width:80px;height:2px;margin:0 auto 2rem;position:relative}.cultural-divider:after{content:"♦";color:var(--gold);background:var(--bg-emerald);font-size:1.2rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hosts-label{text-transform:uppercase;letter-spacing:3px;color:var(--gold);margin-bottom:.5rem;font-size:.9rem}.hosts-names{font-family:var(--font-heading);color:var(--text-light);font-size:2.5rem}.celebrants-section{max-width:1000px;margin:0 auto;padding:4rem 2rem}.celebrant-card{align-items:center;gap:4rem;margin-bottom:8rem;display:flex}.celebrant-card.reverse{flex-direction:row-reverse}.celebrant-image-wrapper{flex:1;padding:15px;position:relative}.cultural-frame{border:2px solid var(--gold);z-index:-1;border-radius:4px;transition:transform .4s;position:absolute;inset:0}.celebrant-image-wrapper:hover .cultural-frame{transform:scale(1.05)rotate(2deg)}.celebrant-image{aspect-ratio:4/5;object-fit:cover;border-radius:4px;width:100%;display:block;box-shadow:0 20px 40px #00000080}.celebrant-details{flex:1}.celebrant-name{font-family:var(--font-heading);color:var(--gold);margin-bottom:.5rem;font-size:3.5rem}.celebrant-event{color:var(--text-light);text-transform:uppercase;letter-spacing:2px;border-bottom:1px solid #d4af374d;margin-bottom:1.5rem;padding-bottom:.5rem;font-size:1.1rem;display:inline-block}.celebrant-desc{font-size:1.1rem;line-height:1.9}.event-details{text-align:center;background:#0000001a;padding:6rem 2rem}.countdown-wrapper{flex-wrap:wrap;justify-content:center;gap:2rem;margin-top:3rem;display:flex}.countdown-box{border:1px solid var(--gold);background:var(--bg-darker);min-width:130px;padding:2rem;position:relative}.countdown-box:before{content:"";pointer-events:none;border:1px dashed #d4af3780;position:absolute;inset:4px}.time{font-family:var(--font-heading);color:var(--gold);font-size:3rem;line-height:1;display:block}.label{text-transform:uppercase;letter-spacing:2px;margin-top:1rem;font-size:.8rem;display:block}.location-section{text-align:center;max-width:1000px;margin:0 auto;padding:6rem 2rem}.location-info{margin-bottom:3rem}.time-text{margin-bottom:.5rem;font-size:1.2rem}.place-text{font-family:var(--font-heading);color:var(--gold);margin-bottom:1.5rem;font-size:2.2rem}.calendar-btn{border:1px solid var(--gold);color:var(--gold);text-transform:uppercase;letter-spacing:2px;background:#d4af371a;border-radius:4px;justify-content:center;align-items:center;margin-top:1rem;padding:.8rem 2rem;font-size:.9rem;text-decoration:none;transition:all .3s;display:inline-flex}.calendar-btn:hover{background:var(--gold);color:var(--bg-darker)}.cultural-map-border{border:2px solid var(--gold);background:var(--bg-darker);padding:10px;position:relative}.map-responsive-container{aspect-ratio:16/9;width:100%;overflow:hidden}.rsvp-section{max-width:800px;margin:0 auto;padding:6rem 2rem}.rsvp-card{background:#0000004d;border:1px solid #d4af3766}.rsvp-intro{text-align:center;color:var(--text-light);margin-bottom:3rem;font-size:1.1rem;line-height:1.8}.rsvp-form{text-align:left;flex-direction:column;gap:2rem;display:flex}.form-group{flex-direction:column;gap:.8rem;display:flex}.form-label{font-family:var(--font-heading);color:var(--gold);font-size:1.3rem;font-weight:600}.form-input{color:var(--text-light);font-family:var(--font-body);background:#022c22cc;border:1px solid #d4af374d;border-radius:4px;width:100%;padding:1rem 1.2rem;font-size:1rem;transition:all .3s}.form-input::placeholder{color:#ecfdf566}.form-input:focus{border-color:var(--gold);background:#022c22f2;outline:none;box-shadow:0 0 10px #d4af3733}.form-textarea{resize:vertical;min-height:120px}.rsvp-options{gap:1.5rem;display:flex}.rsvp-option{cursor:pointer;flex:1}.rsvp-option input[type=radio]{display:none}.rsvp-option .option-button{text-align:center;color:var(--text-light);background:#022c2280;border:1px solid #d4af374d;border-radius:4px;padding:1rem;font-size:1rem;font-weight:600;transition:all .3s;display:block}.rsvp-option input[type=radio]:checked+.option-button{background:var(--gold);color:var(--bg-darker);border-color:var(--gold);box-shadow:0 4px 15px #d4af374d}.rsvp-submit-btn{cursor:pointer;width:100%;margin-top:1rem;font-weight:600}.rsvp-feedback-message{text-align:center;flex-direction:column;align-items:center;gap:1rem;padding:3rem 1.5rem;animation:.5s forwards fadeIn;display:flex}.rsvp-feedback-message h3{font-family:var(--font-heading);color:var(--gold);font-size:2.2rem}.feedback-icon{border-radius:50%;justify-content:center;align-items:center;width:70px;height:70px;margin-bottom:1rem;font-size:3rem;display:flex}.success-message .feedback-icon{border:2px solid var(--gold);color:var(--gold);background:#d4af371a}.error-message .feedback-icon{color:#ef4444;background:#ef44441a;border:2px solid #ef4444}.hidden{display:none!important}.btn-loading{pointer-events:none;position:relative;color:#0000!important}.btn-loading:after{content:"";border:2px solid var(--gold);border-top-color:#0000;border-radius:50%;width:20px;height:20px;margin-top:-10px;margin-left:-10px;animation:.8s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}footer{text-align:center;background:var(--bg-darker);border-top:1px solid #d4af3733;padding:3rem 2rem}.back-link{color:var(--gold);margin-top:1rem;text-decoration:none;transition:opacity .3s;display:inline-block}.back-link:hover{opacity:.7}@media (width<=768px){.hero-border{border-left:none;border-right:none;padding:2rem}.hero-title{font-size:3.5rem}.celebrant-card,.celebrant-card.reverse{text-align:center;flex-direction:column;gap:3rem}.countdown-box{min-width:110px;padding:1.5rem}.time{font-size:2.5rem}.map-responsive-container{aspect-ratio:1}.rsvp-options{flex-direction:column;gap:1rem}}.music-toggle-btn{border:1px solid var(--gold);width:50px;height:50px;color:var(--gold);cursor:pointer;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#022c22cc;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 4px 15px #0000004d}.music-toggle-btn:hover{background:var(--gold);color:var(--bg-dark);transform:scale(1.1)}.music-toggle-btn .hidden{display:none}
