@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,700;1,400;1,700&family=Open+Sans:wght@400;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}.hidden{display:none!important}:root{--primary-color: #78a2cc;--accent-color: #cd6246;--light-color: #f8f9fa;--dark-color: #2c3e50;--text-color: #555;--spacing-unit: 1rem;--border-radius: 8px;--transition: all .3s ease;--gif-height: 600px}body{font-family:Open Sans,sans-serif;line-height:1.6;color:var(--text-color);background-color:var(--light-color);margin:0;padding:0;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,serif;color:var(--primary-color);letter-spacing:.5px}h3{font-size:1.75rem}.section h1{font-size:3.5rem;font-weight:700;text-align:center;padding-top:2.5rem;margin-top:0}.language-switcher{text-align:center;padding:1.5rem 1.5rem 0;margin:0 auto}.lang-btn{background:none;border:2px solid transparent;padding:6px 12px;cursor:pointer;font-size:14px;font-weight:600;border-radius:var(--border-radius);transition:var(--transition);color:var(--primary-color);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.lang-btn.active{background-color:var(--primary-color);color:#fff}.lang-btn:hover:not(.active){border-color:var(--primary-color)}html[lang=en] .es,html[lang=es] .en{display:none}.hero{position:relative;text-align:center;overflow:hidden;padding-top:3rem}.hero-image{width:100%;overflow:hidden}.scene-container{position:relative;width:100%;max-width:1200px;margin:0 auto}.rotating-backgrounds{position:relative;width:100%}.scene{position:relative;width:100%;height:0;padding-bottom:50%}.scene.next-scene{margin-top:-1px;transform:rotate(180deg)}.scene img.background{position:absolute;top:0;left:0;width:100%;height:auto}.figures-container{position:absolute;top:0;left:0;width:100%;pointer-events:none}.figures-container img{position:absolute;top:0;left:0;width:100%;height:auto}.class-greg{right:calc(50% - 600px)}.class-hazel{left:calc(50% - 600px)}.next-greg,.next-hazel{opacity:0}@keyframes slideRightOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slideLeftOut{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slideRightIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideLeftIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes flipBackground{0%{transform:rotate(0)}to{transform:rotate(-180deg)}}.animate-greg-out{animation:slideRightOut 3s forwards}.animate-hazel-out{animation:slideLeftOut 3s forwards}.animate-background{animation:flipBackground 2s forwards}.animate-greg-in{animation:slideLeftIn 1.5s forwards}.animate-hazel-in{animation:slideRightIn 1.5s forwards}main{position:relative;z-index:1;background:#fff;overflow:hidden}main.hero-overlap{margin-top:calc(var(--gif-height) * -1);border-top-left-radius:30px;border-top-right-radius:30px;box-shadow:0 -10px 30px #0000001a}.content-wrapper{background-color:var(--light-color);padding:1px 0}.section{padding:5rem 2rem;max-width:1200px;margin:0 auto;position:relative;background-color:var(--light-color)}.section:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:50%;height:1px;background:linear-gradient(to right,transparent,var(--primary-color),transparent)}.section:last-child:after{display:none}.section h2{text-align:center;margin-bottom:2.5rem;font-size:2.5rem;position:relative;display:block;width:100%}.section h2:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background-color:var(--accent-color);border-radius:3px}.content{max-width:800px;margin:0 auto}.section-card{background-color:#fff;border-radius:var(--border-radius);padding:1.5rem;box-shadow:0 5px 15px #0000000d}body.index-page .section-card,body.transportation-page .section-card,body.accommodations-page .section-card{text-align:center}.section-card>p{margin-bottom:1.25rem}#couple{text-align:center;padding-top:3rem}.wedding-date,.wedding-location,.countdown{font-family:Cormorant Garamond,serif;font-size:1.4rem;font-style:italic;color:var(--primary-color)}.wedding-date{margin:2rem 0 .3rem}.wedding-location{margin-bottom:.3rem}.countdown{margin-bottom:2rem}.decorative-element,.card{display:none}.info-block{display:flex;margin-bottom:1.25rem;transition:var(--transition)}.info-block:last-child{margin-bottom:0}.info-block:hover{transform:translateY(-3px)}.info-content{flex:1}.info-content h3{margin-bottom:.5rem;color:var(--primary-color)}.info-content p{margin-bottom:0}.hotel-list{margin-bottom:10px}.hotel-item{margin-bottom:20px}.hotel-item:last-child{margin-bottom:0}.qa-item{margin-bottom:1.25rem;padding:.75rem 0;transition:var(--transition)}.qa-item:last-child{margin-bottom:0}.qa-item:hover{transform:translateY(-3px)}.qa-item h3{margin-bottom:.5rem;color:var(--primary-color)}.qa-item p{margin-bottom:0}.activities-list{list-style:none;margin:1.25rem 0}.activities-list li{margin-bottom:.5rem;position:relative;transition:var(--transition);padding:.5rem 0 .5rem 1.5rem}.info-list{list-style:none;margin:1.25rem 0}.info-list li{margin-bottom:1.5rem;position:relative;padding-left:1.5rem}.info-list li:last-child{margin-bottom:0}.info-list li:before{content:"•";color:var(--accent-color);font-weight:700;display:inline-block;width:1em;margin-left:-1em;position:absolute;left:1.5rem}.whatsapp-contact{margin-top:1.5rem}.activities-list li:last-child{margin-bottom:0}.activities-list li:hover{transform:translate(5px)}.activities-list li:before{content:"•";color:var(--accent-color);font-weight:700;display:inline-block;width:1em;margin-left:-1em;position:absolute;left:1.5rem}.story-scene{position:relative;width:100%;max-width:1200px;margin:0 auto 1.5rem;padding-bottom:50%;overflow:hidden}.story-scene img{position:absolute;top:0;left:0;width:100%;height:auto}.story-scene .scene-background{z-index:1}.story-scene .scene-greg,.story-scene .scene-hazel{z-index:2;transition:transform .5s ease,opacity .5s ease}.scene-greg.scene-hidden{transform:translate(100%);opacity:0}.scene-hazel.scene-hidden{transform:translate(-100%);opacity:0}.scene-greg.scene-active,.scene-greg.scene-animating-in,.scene-greg.scene-animating-out,.scene-hazel.scene-active,.scene-hazel.scene-animating-in,.scene-hazel.scene-animating-out{opacity:1}.scene-greg.scene-animating-in,.scene-hazel.scene-animating-in{transform:translate(0);transition:transform 2s ease-out,opacity 2s ease-out}.scene-greg.scene-animating-out{transform:translate(100%);transition:transform 3s ease-in,opacity 3s ease-in}.scene-hazel.scene-animating-out{transform:translate(-100%);transition:transform 3s ease-in,opacity 3s ease-in}.story-link{margin-top:1.5rem;text-align:center}.story-link a{display:inline-block;padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;text-decoration:none;border-radius:var(--border-radius);transition:var(--transition)}.story-link a:hover{background-color:var(--accent-color);transform:translateY(-2px)}.link-button{display:inline-block;padding:.5rem 1rem;color:var(--primary-color);text-decoration:none;border:2px solid var(--primary-color);border-radius:var(--border-radius);transition:var(--transition);margin:0 .5rem;font-family:inherit;font-size:inherit;cursor:pointer;background:none}.link-button:hover{background-color:var(--primary-color);color:#fff}.link-button .hidden{display:none}.link-button.cta-button{background-color:var(--primary-color);color:#fff}.link-button.cta-button:hover{background-color:var(--dark-color);border-color:var(--dark-color)}.info-card{display:flex;flex-direction:column;margin-bottom:2rem;padding:1rem}.info-card:last-child{margin-bottom:0}.info-card h3{color:var(--primary-color);margin-top:1rem;margin-bottom:1rem;text-align:center}.card-image-container{width:100%;max-width:350px;margin:0 auto 1rem}.card-image{width:100%;border-radius:var(--border-radius);display:block}.card-info{text-align:center}.card-info p{margin-bottom:.5rem;line-height:1.6}.card-info p:last-child{margin-bottom:0}@media (max-width: 768px){.info-card{padding:1.5rem 1rem}}@media (max-width: 768px){.section{padding:3rem 1.5rem}.section h1{font-size:2.8rem}.section h2{font-size:2rem}.section h3,.info-content h3,.qa-item h3{font-size:1.5rem}.wedding-date,.wedding-location,.countdown{font-size:1.2rem}}@media (max-width: 480px){.section{padding:2.5rem 1rem}.section h1{font-size:2.2rem}.section h2{font-size:1.8rem}.section h3,.info-content h3,.qa-item h3{font-size:1.3rem}.wedding-date,.wedding-location,.countdown{font-size:1.1rem}.language-switcher{top:10px;right:10px}}.rsvp-section{max-width:600px;margin:0 auto}.rsvp-step{opacity:1;transition:opacity .3s ease}.rsvp-step.hidden{display:none;opacity:0}.rsvp-form{text-align:center}.rsvp-form p,.form-group{margin-bottom:1.5rem}.form-input{width:100%;padding:.75rem;border:2px solid var(--primary-color);border-radius:var(--border-radius);font-size:1rem;font-family:inherit;transition:var(--transition)}.code-input{width:120px;text-align:center;letter-spacing:2px;text-transform:uppercase;margin:0 auto;display:block}.form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #cd62461a}.form-input.invalid{border-color:var(--accent-color)}.error-message{color:var(--accent-color);font-size:.9rem;margin-top:.5rem;height:0;opacity:0;transition:opacity .3s ease,height .3s ease}.error-message.visible{opacity:1;height:1.2em}#attendees-section{display:inline-block;text-align:left;margin:0 auto 1rem}.attendee-option{margin:.75rem 0;transition:var(--transition)}.attendee-option:hover{background-color:#78a2cc0d}.attendee-option input[type=checkbox]{margin-right:.75rem}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.shake{animation:shake .5s ease-in-out}.party-name{color:var(--primary-color);font-size:1.5rem;margin:1rem 0 2rem;text-align:center}#confirmation-step{text-align:center}.confirmation-message,#confirmed-attendees,#confirmation-step p{margin-bottom:2rem}.hamburger-menu{position:fixed;top:20px;left:20px;z-index:1002;cursor:pointer}.hamburger-icon{display:flex;flex-direction:column;justify-content:space-between;width:30px;height:20px;background-color:transparent;border:none;cursor:pointer;padding:0;z-index:1002;position:relative}.hamburger-icon span{display:block;height:3px;width:100%;background-color:var(--primary-color);border-radius:3px}.hamburger-icon.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.hamburger-icon.open span:nth-child(2){opacity:0}.hamburger-icon.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.menu-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--light-color);z-index:999;opacity:0;visibility:hidden}.menu-overlay.open{opacity:1;visibility:visible}.menu-content{position:fixed;top:0;left:0;width:100%;height:100%;background-color:transparent;z-index:1000;transform:translateY(-100%);overflow-y:auto;padding:0;display:flex;justify-content:center;align-items:center;pointer-events:none}.menu-content.open{transform:translateY(0);pointer-events:auto}.menu-content ul{list-style:none;padding:0;margin:0;text-align:center;max-width:400px;width:100%}.menu-content li{margin-bottom:10px}.menu-content a{display:block;color:var(--primary-color);text-decoration:none;font-size:20px;font-family:Cormorant Garamond,serif;padding:6px 0;position:relative}.menu-content a:hover{color:var(--accent-color)}.menu-content a.active:after{content:"";position:absolute;bottom:-3px;left:50%;transform:translate(-50%);width:40px;height:2px;background-color:var(--accent-color);border-radius:2px}.menu-content .menu-title,.menu-content .en,.menu-content .es{display:none}html[lang=en] .menu-content .en,html[lang=es] .menu-content .es{display:block}.navigation-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--light-color);z-index:998;opacity:0;visibility:hidden;pointer-events:none}.navigation-overlay.active{opacity:1;visibility:visible;pointer-events:all}
