:root{--color-bg: #FFF8F3;--color-bg-soft: #FFF0E8;--color-bg-card: rgba(255, 255, 255, .75);--color-gold: #C5975B;--color-gold-light: #E8D5B7;--color-gold-shimmer: #F0E4CF;--color-blush: #F2C4C4;--color-blush-soft: #FAE3E3;--color-blush-deep: #E8A0A0;--color-rose: #D4918E;--color-text: #5A4A42;--color-text-light: #8B7B73;--color-text-heading: #3E2E26;--color-white: #FFFFFF;--color-cream: #FDF6EF;--color-divider: #E8D5C4;--color-success: #7BAF7B;--font-display: "Great Vibes", cursive;--font-heading: "Cormorant Garamond", serif;--font-body: "Montserrat", sans-serif;--max-width: 900px;--section-padding: 5rem 1.5rem;--border-radius: 20px;--shadow-soft: 0 4px 30px rgba(197, 151, 91, .08);--shadow-card: 0 8px 40px rgba(197, 151, 91, .12);--shadow-glow: 0 0 60px rgba(197, 151, 91, .15)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.particles-bg{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.particle{position:absolute;border-radius:50%;opacity:.3;animation:floatParticle linear infinite}@keyframes floatParticle{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.3}90%{opacity:.3}to{transform:translateY(-10vh) rotate(360deg);opacity:0}}section{position:relative;z-index:1}.section-padding{padding:var(--section-padding);max-width:var(--max-width);margin:0 auto}.section-divider{display:flex;align-items:center;justify-content:center;gap:1rem;margin:0 auto;padding:0;max-width:300px}.section-divider .line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--color-gold-light),transparent)}.section-divider .ornament{color:var(--color-gold);font-size:1.2rem}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;overflow:hidden;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-blush-soft) 40%,var(--color-bg-soft) 100%)}.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center 20%;background-repeat:no-repeat;opacity:.15;z-index:1;pointer-events:none;filter:sepia(.3) saturate(.8) contrast(1.1);mix-blend-mode:multiply}.momentos-section{padding:8rem 0;background:var(--color-white);overflow:hidden;position:relative;min-height:90vh}.momentos-section .section-title{position:relative;z-index:10;margin-bottom:.5rem;text-align:center}.momentos-section .section-subtitle{position:relative;z-index:10;text-align:center;margin-bottom:2rem}.momentos-container{position:relative;width:100%;height:600px;margin-top:2rem}.momento-bubble{position:absolute;cursor:pointer;z-index:5}.bubble-inner{width:100%;height:100%;border-radius:50%;border:1px solid var(--color-gold-light);overflow:hidden;box-shadow:var(--shadow-card);transition:all .5s cubic-bezier(.4,0,.2,1);background:var(--color-white)}.momento-bubble:hover .bubble-inner{transform:scale(1.15) rotate(3deg);box-shadow:var(--shadow-glow);border-color:var(--color-gold);z-index:100}.bubble-inner img{width:100%;height:100%;object-fit:cover;transition:all .6s cubic-bezier(.4,0,.2,1);opacity:.5;filter:grayscale(.6) brightness(.9)}.momento-bubble:hover img{transform:scale(1.1);opacity:1;filter:grayscale(0) brightness(1.1)}@media(max-width:768px){.momentos-container{height:800px}.momento-bubble{width:clamp(100px,30vw,140px)!important;height:clamp(100px,30vw,140px)!important}}.hero:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(ellipse at center,rgba(197,151,91,.06) 0%,transparent 70%);animation:heroGlow 8s ease-in-out infinite alternate}@keyframes heroGlow{0%{transform:scale(1) rotate(0)}to{transform:scale(1.1) rotate(5deg)}}.hero-content{position:relative;z-index:2;padding:2rem}.hero-cross{font-size:2.5rem;color:var(--color-gold);margin-bottom:.5rem;filter:drop-shadow(0 0 10px rgba(197,151,91,.3))}.hero-subtitle{font-family:var(--font-heading);font-size:1.3rem;font-weight:300;letter-spacing:.35em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.5rem}.hero-name{font-family:var(--font-display);font-size:clamp(3rem,10vw,6.5rem);color:var(--color-text-heading);line-height:1.2;margin-bottom:.5rem;background:linear-gradient(135deg,var(--color-text-heading) 0%,var(--color-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-fullname{font-family:var(--font-heading);font-size:clamp(1rem,3vw,1.4rem);font-weight:300;letter-spacing:.2em;color:var(--color-text-light);margin-bottom:2rem}.hero-details{display:flex;flex-direction:column;align-items:center;gap:2rem;margin-top:1.5rem}.hero-date-box{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem 3rem;border-top:1px solid var(--color-gold-light);border-bottom:1px solid var(--color-gold-light);background:#fff3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.hero-date-main{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--color-gold);letter-spacing:.1em;text-transform:uppercase}.hero-date-divider{width:40px;height:1px;background:var(--color-blush);opacity:.5}.hero-date-time{font-family:var(--font-heading);font-size:1.2rem;font-weight:300;color:var(--color-text-light);letter-spacing:.2em}.hero-description{max-width:600px;font-family:var(--font-heading);font-size:1.1rem;line-height:1.8;color:var(--color-text);font-style:italic}.hero-description p{margin:0}.description-spacer{height:1.5rem}.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-text-light);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;animation:scrollBounce 2s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}.hero-floral-left,.hero-floral-right{position:absolute;width:clamp(120px,25vw,280px);opacity:.15;pointer-events:none}.hero-floral-left{top:5%;left:-3%;transform:rotate(-15deg)}.hero-floral-right{bottom:5%;right:-3%;transform:rotate(165deg)}.parents-section{background:var(--color-white);text-align:center;padding:5rem 1.5rem}.parents-section .section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);color:var(--color-gold);margin-bottom:.5rem}.parents-section .section-verse{font-family:var(--font-heading);font-style:italic;font-size:1rem;color:var(--color-text-light);max-width:500px;margin:0 auto 3rem;line-height:1.8}.parents-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:700px;margin:0 auto}@media(max-width:600px){.parents-grid{grid-template-columns:1fr;gap:2.5rem}}.parent-group{text-align:center}.parent-group-label{font-family:var(--font-heading);font-size:.85rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold);margin-bottom:1rem;position:relative;display:inline-block}.parent-group-label:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:40px;height:1px;background:var(--color-gold-light)}.parent-name{font-family:var(--font-heading);font-size:1.15rem;font-weight:400;color:var(--color-text-heading);line-height:1.8}.parent-ampersand{font-family:var(--font-display);font-size:1.8rem;color:var(--color-gold);display:block;margin:.25rem 0}.events-section{padding:5rem 1.5rem;background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-cream) 100%)}.events-section .section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);color:var(--color-gold);text-align:center;margin-bottom:3rem}.events-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:800px;margin:0 auto}@media(max-width:700px){.events-grid{grid-template-columns:1fr}}.event-card{background:var(--color-bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-gold-light);border-radius:var(--border-radius);padding:2.5rem 2rem;text-align:center;box-shadow:var(--shadow-card);transition:transform .4s ease,box-shadow .4s ease;position:relative;overflow:hidden}.event-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent)}.event-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-glow)}.event-card-icon{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,var(--color-gold-light),var(--color-gold-shimmer));display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:var(--color-gold)}.event-card-type{font-family:var(--font-heading);font-size:.8rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--color-gold);margin-bottom:.5rem}.event-card-name{font-family:var(--font-heading);font-size:1.4rem;font-weight:600;color:var(--color-text-heading);margin-bottom:1rem}.event-card-detail{display:flex;align-items:flex-start;gap:.5rem;justify-content:center;font-size:.9rem;color:var(--color-text-light);margin-bottom:.5rem;line-height:1.5}.event-card-detail svg{flex-shrink:0;margin-top:2px;color:var(--color-gold)}.event-card-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.7rem 1.8rem;font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gold);border:1.5px solid var(--color-gold);border-radius:50px;background:transparent;cursor:pointer;text-decoration:none;transition:all .3s ease}.event-card-btn:hover{background:var(--color-gold);color:var(--color-white);transform:scale(1.05)}.carousel-section{padding:5rem 0;background:var(--color-white);overflow:hidden}.carousel-section .section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);color:var(--color-gold);text-align:center;margin-bottom:.5rem;padding:0 1.5rem}.carousel-section .section-subtitle{font-family:var(--font-heading);font-size:1rem;color:var(--color-text-light);text-align:center;margin-bottom:3rem;padding:0 1.5rem}.carousel-container{position:relative;max-width:1100px;margin:0 auto;padding:0 1.5rem}.carousel-track{display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:1rem 0 2rem}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{flex:0 0 auto;width:clamp(260px,45vw,340px);scroll-snap-align:center;position:relative}.carousel-image-wrapper{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-card);aspect-ratio:3/4;transition:transform .4s ease,box-shadow .4s ease}.carousel-image-wrapper:hover{transform:scale(1.03);box-shadow:var(--shadow-glow)}.carousel-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.carousel-image-overlay{position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,#3e2e2666);pointer-events:none}.carousel-controls{display:flex;justify-content:center;gap:1rem;margin-top:1.5rem}.carousel-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--color-gold-light);background:var(--color-white);color:var(--color-gold);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.carousel-btn:hover{background:var(--color-gold);color:var(--color-white);border-color:var(--color-gold)}.carousel-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--color-gold-light);border:none;cursor:pointer;transition:all .3s ease}.carousel-dot.active{background:var(--color-gold);width:24px;border-radius:4px}.rsvp-section{padding:5rem 1.5rem;background:linear-gradient(180deg,var(--color-cream) 0%,var(--color-blush-soft) 50%,var(--color-bg) 100%)}.rsvp-section .section-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);color:var(--color-gold);text-align:center;margin-bottom:.5rem}.rsvp-section .section-subtitle{font-family:var(--font-heading);font-size:1rem;color:var(--color-text-light);text-align:center;margin-bottom:3rem}.rsvp-card{max-width:550px;margin:0 auto;background:var(--color-bg-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--color-gold-light);border-radius:var(--border-radius);padding:3rem 2.5rem;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.rsvp-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-blush),var(--color-gold),var(--color-blush))}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-family:var(--font-heading);font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-text-heading);margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.85rem 1.2rem;font-family:var(--font-body);font-size:.95rem;color:var(--color-text);background:var(--color-white);border:1.5px solid var(--color-divider);border-radius:12px;outline:none;transition:border-color .3s ease,box-shadow .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-gold);box-shadow:0 0 0 3px #c5975b1a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light);opacity:.6}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:500px){.form-row{grid-template-columns:1fr}}.attendance-toggle{display:flex;gap:.75rem;margin-bottom:1.5rem}.attendance-option{flex:1;position:relative}.attendance-option input{display:none}.attendance-option label{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:1.5px solid var(--color-divider);border-radius:12px;cursor:pointer;transition:all .3s ease;text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:500}.attendance-option input:checked+label{border-color:var(--color-gold);background:#c5975b14;color:var(--color-gold)}.attendance-option label .toggle-icon{font-size:1.5rem}.submit-btn{width:100%;padding:1rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--color-white);background:linear-gradient(135deg,var(--color-gold) 0%,var(--color-rose) 100%);border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 20px #c5975b4d}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #c5975b66}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.rsvp-success{text-align:center;padding:2rem 0}.rsvp-success .success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--color-success),#95C995);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;color:#fff;font-size:2rem}.rsvp-success h3{font-family:var(--font-display);font-size:2rem;color:var(--color-gold);margin-bottom:.5rem}.rsvp-success p{font-family:var(--font-heading);color:var(--color-text-light);font-size:1.05rem}.footer{text-align:center;padding:3rem 1.5rem;background:var(--color-bg)}.footer-name{font-family:var(--font-display);font-size:2.5rem;color:var(--color-gold);margin-bottom:.5rem}.footer-text{font-family:var(--font-heading);font-size:.95rem;color:var(--color-text-light);margin-bottom:1.5rem}.footer-hearts{color:var(--color-blush-deep);font-size:1.2rem;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@media(max-width:768px){:root{--section-padding: 3.5rem 1.25rem}.hero-cross{font-size:2rem}.event-card,.rsvp-card{padding:2rem 1.5rem}}@media(max-width:400px){.hero-date{font-size:.95rem;padding:.6rem 1.2rem}}
