.forever-template{color:#1a1a1a;font-family:Lato,sans-serif}.forever-template .font-script{font-family:Great Vibes,cursive}.forever-template .font-serif{font-family:Playfair Display,serif}.forever-template .font-sans{font-family:Lato,sans-serif}@media (min-width:641px){.forever-template .parallax-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed}}@media (max-width:640px){.forever-template .parallax-bg{background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:scroll}}@keyframes fadeInUpForever{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.forever-template .reveal{opacity:0;transform:translateY(30px)}.forever-template .animate-fade-in-up{animation:.8s ease-out forwards fadeInUpForever}.forever-template .stagger-1{animation-delay:.1s}.forever-template .stagger-2{animation-delay:.2s}.forever-template .stagger-3{animation-delay:.3s}.forever-template .stagger-4{animation-delay:.4s}.forever-template .stagger-5{animation-delay:.5s}.forever-template .nav-link{transition:color .3s;position:relative}.forever-template .nav-link:after{content:"";background-color:currentColor;width:0;height:1px;transition:width .3s;position:absolute;bottom:-2px;left:0}.forever-template .nav-link:hover:after{width:100%}.forever-template .countdown-number{font-variant-numeric:tabular-nums}.forever-template .wedding-input{color:#fff;background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:.5rem;width:100%;padding:.75rem 1rem}.forever-template .wedding-input::placeholder{color:#fff9}.forever-template .wedding-input:focus{background-color:#ffffff26;border-color:#fff9;outline:none}.forever-template .wedding-select{color:#fff;appearance:none;background-color:#ffffff1a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px;border:1px solid #ffffff4d;border-radius:.5rem;width:100%;padding:.75rem 1rem}.forever-template .wedding-select:focus{border-color:#fff9;outline:none}.forever-template .wedding-select option{color:#1a1a1a}.forever-template .wedding-textarea{color:#fff;resize:none;background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:.5rem;width:100%;min-height:120px;padding:.75rem 1rem}.forever-template .wedding-textarea::placeholder{color:#fff9}.forever-template .wedding-textarea:focus{background-color:#ffffff26;border-color:#fff9;outline:none}
:root{--sv-primary:#8b7355;--sv-primary-dark:#6b5344;--sv-secondary:#d4a574;--sv-accent:#e8d5c4;--sv-cream:#faf6f1;--sv-warm-white:#fdf9f3;--sv-text-dark:#3d3229;--sv-text-muted:#7a6b5a;--sv-gold:#c9a961;--sv-rose:#d4a5a5;--sv-font-heading:"Playfair Display",serif;--sv-font-body:"Cormorant Garamond",serif;--sv-section-padding:5rem;--sv-container-max:1200px}.summer-vibes-template{font-family:var(--sv-font-body);background-color:var(--sv-warm-white);color:var(--sv-text-dark);line-height:1.6}.summer-vibes-template *{box-sizing:border-box}.sv-heading{font-family:var(--sv-font-heading);color:var(--sv-text-dark);font-weight:500}.sv-heading-italic{font-family:var(--sv-font-heading);font-style:italic;font-weight:400}.sv-body{font-family:var(--sv-font-body);color:var(--sv-text-muted)}.sv-hero{background-color:#000;min-height:100vh;position:relative;overflow:hidden}.sv-hero-content{z-index:50;position:relative}.sv-couple-names{font-family:var(--sv-font-heading);color:#fff;letter-spacing:.05em;text-align:center;text-shadow:0 4px 15px #0006;font-size:clamp(2.5rem,8vw,5rem);font-weight:500}.sv-ampersand{font-family:var(--sv-font-heading);color:#fff;opacity:.9;font-size:.8em;font-style:italic}.sv-countdown{background:var(--sv-warm-white);border-top:1px solid var(--sv-accent);border-bottom:1px solid var(--sv-accent)}.sv-countdown-item{text-align:center;padding:1.5rem}.sv-countdown-number{font-family:var(--sv-font-heading);color:var(--sv-primary-dark);font-size:clamp(2rem,5vw,3.5rem);font-weight:600;line-height:1}.sv-countdown-label{font-family:var(--sv-font-body);color:var(--sv-text-muted);text-transform:uppercase;letter-spacing:.15em;margin-top:.5rem;font-size:.9rem}.sv-invitation{background:var(--sv-warm-white);padding:4rem 2rem}.sv-invitation-title{font-family:var(--sv-font-heading);color:var(--sv-text-muted);text-align:center;font-size:clamp(1.2rem,3vw,1.5rem);font-weight:400}.sv-invitation-subtitle{font-family:var(--sv-font-heading);color:var(--sv-primary-dark);text-align:center;margin-top:.5rem;font-size:clamp(2rem,5vw,3rem);font-weight:500}.sv-date-section{background:linear-gradient(to bottom,var(--sv-warm-white),var(--sv-cream));text-align:center;padding:3rem 2rem}.sv-date-day{font-family:var(--sv-font-heading);color:var(--sv-text-muted);text-transform:uppercase;letter-spacing:.2em;font-size:1.2rem}.sv-date-number{font-family:var(--sv-font-heading);color:var(--sv-primary-dark);margin:.5rem 0;font-size:clamp(4rem,10vw,6rem);font-weight:600;line-height:1}.sv-date-month-year{font-family:var(--sv-font-heading);color:var(--sv-text-dark);text-transform:uppercase;letter-spacing:.15em;font-size:1.5rem}.sv-date-time{font-family:var(--sv-font-body);color:var(--sv-secondary);margin-top:1rem;font-size:1.3rem;font-weight:500}.sv-events{background:var(--sv-cream);padding:var(--sv-section-padding)2rem}.sv-section-title{font-family:var(--sv-font-heading);color:var(--sv-primary-dark);text-align:center;margin-bottom:1rem;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:500}.sv-section-description{font-family:var(--sv-font-body);color:var(--sv-text-muted);text-align:center;max-width:800px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.8}.sv-event-card{background:var(--sv-warm-white);border:1px solid var(--sv-accent);border-radius:12px;height:100%;padding:2.5rem;transition:transform .3s,box-shadow .3s;box-shadow:0 4px 20px #8b735514}.sv-event-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #8b735526}.sv-event-icon{background:linear-gradient(135deg,var(--sv-accent),var(--sv-cream));width:60px;height:60px;color:var(--sv-primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex}.sv-event-title{font-family:var(--sv-font-heading);color:var(--sv-primary-dark);text-align:center;margin-bottom:1rem;font-size:1.4rem;font-weight:500}.sv-event-date,.sv-event-time{font-family:var(--sv-font-body);color:var(--sv-secondary);text-align:center;font-size:1rem;font-weight:500}.sv-event-location{font-family:var(--sv-font-body);color:var(--sv-text-muted);text-align:center;margin-top:.5rem;font-size:1rem;line-height:1.6}.sv-event-button{border:1px solid var(--sv-primary);color:var(--sv-primary);font-family:var(--sv-font-body);cursor:pointer;background:0 0;border-radius:25px;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.75rem 1.5rem;font-size:.95rem;text-decoration:none;transition:all .3s;display:inline-flex}.sv-event-button:hover{background:var(--sv-primary);color:var(--sv-warm-white)}.sv-rsvp{background:linear-gradient(135deg,var(--sv-warm-white)0%,var(--sv-accent)100%);padding:var(--sv-section-padding)2rem}.sv-rsvp-form{background:var(--sv-warm-white);border-radius:16px;max-width:500px;margin:0 auto;padding:3rem;box-shadow:0 8px 40px #8b73551a}.sv-form-group{margin-bottom:1.5rem}.sv-form-label{font-family:var(--sv-font-body);color:var(--sv-text-dark);margin-bottom:.5rem;font-size:1rem;font-weight:500;display:block}.sv-form-input{border:1px solid var(--sv-accent);width:100%;font-family:var(--sv-font-body);color:var(--sv-text-dark);background:var(--sv-cream);border-radius:8px;padding:1rem 1.25rem;font-size:1rem;transition:border-color .3s,box-shadow .3s}.sv-form-input:focus{border-color:var(--sv-primary);outline:none;box-shadow:0 0 0 3px #8b73551a}.sv-form-input::placeholder{color:var(--sv-text-muted);opacity:.6}.sv-rsvp-buttons{gap:1rem;margin-top:2rem;display:flex}.sv-btn{font-family:var(--sv-font-body);cursor:pointer;border:none;border-radius:8px;flex:1;padding:1rem 1.5rem;font-size:1rem;font-weight:500;transition:all .3s}.sv-btn-decline{border:1px solid var(--sv-text-muted);color:var(--sv-text-muted);background:0 0}.sv-btn-decline:hover{background:var(--sv-text-muted);color:var(--sv-warm-white)}.sv-btn-accept{background:var(--sv-primary);color:var(--sv-warm-white)}.sv-btn-accept:hover{background:var(--sv-primary-dark)}.sv-rsvp-message{text-align:center;font-family:var(--sv-font-heading);color:var(--sv-primary-dark);padding:2rem;font-size:1.5rem}.sv-footer{background:var(--sv-primary-dark);text-align:center;padding:3rem 2rem}.sv-footer-names{font-family:var(--sv-font-heading);color:var(--sv-cream);font-size:clamp(1.5rem,4vw,2rem);font-weight:500}.sv-footer-ampersand{color:var(--sv-secondary);font-style:italic}.sv-divider{background:linear-gradient(to right,transparent,var(--sv-secondary),transparent);width:60px;height:1px;margin:2rem auto}.sv-floral-decoration{opacity:.1;pointer-events:none;position:absolute}@media (max-width:768px){:root{--sv-section-padding:3rem}.sv-rsvp-form{padding:2rem 1.5rem}.sv-rsvp-buttons{flex-direction:column}.sv-event-card{padding:1.5rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.sv-animate-in{animation:.8s forwards fadeInUp}html{scroll-behavior:smooth}
.we-template{--we-bg:#1a1614;--we-text:#f0e6d2;--we-accent:#d4af37;background-color:var(--we-bg);overflow-x:hidden}@keyframes we-fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-we-fade-in-up{animation:3s cubic-bezier(.29,.05,.95,.74) forwards we-fade-in-up}@keyframes we-fade-in{0%{opacity:0}to{opacity:1}}.animate-we-fade-in{animation:5s ease-in-out forwards we-fade-in}.sparkle-container{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.sparkle{opacity:0;background-color:#fff;border-radius:50%;width:3px;height:3px;animation:8s linear infinite float-sparkle,3s ease-in-out infinite alternate pulsate-sparkle;position:absolute;box-shadow:0 0 8px 3px #ffd70099,0 0 15px 5px #ffa50066}@keyframes float-sparkle{0%{transform:translateY(110vh)translate(0)scale(.8)}50%{transform:translateY(50vh)translate(20px)scale(1.2)}to{transform:translateY(-10vh)translate(-20px)scale(.6)}}@keyframes pulsate-sparkle{0%{opacity:0}20%{opacity:.8}80%{opacity:.5}to{opacity:0}}.scroll-fade-out-up{will-change:transform,opacity}.hero-inner-scroll{will-change:transform}@keyframes slide-in-left{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes we-slide-in-left-rotate{0%{opacity:0;transform:translate(-100px)rotate(-45deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes we-slide-in-right-rotate{0%{opacity:0;transform:translate(100px)rotate(45deg)}to{opacity:1;transform:translate(0)rotate(0)}}.is-visible .animate-slide-in-left{animation:3s ease-out forwards slide-in-left}.is-visible .animate-slide-in-right{animation:3s ease-out forwards slide-in-right}.is-visible .animate-we-slide-in-left-rotate{animation:3s cubic-bezier(.2,.8,.2,1) forwards we-slide-in-left-rotate}.is-visible .animate-we-slide-in-right-rotate{animation:3s cubic-bezier(.2,.8,.2,1) forwards we-slide-in-right-rotate}.we-decoration{pointer-events:none;z-index:1;opacity:.15;--we-deco-scale:1}.we-decoration svg{transform:scale(var(--we-deco-scale));transform-origin:50%}@media (max-width:768px){.we-decoration{opacity:.12;--we-deco-scale:.5}}
