:root{--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--title-h1:3rem;--title-h2:2.5rem;--title-h3:2rem;--title-h4:1.75rem;--text-body:1.125rem;--text-small:1rem;--text-caption:.875rem;--tinta:#1b1b1b;--acento:#616837;--fondo:#f6f3ee;--papel:#fffaf3;--olive:#616837;--transition:.18s ease-out;--transition-slow:.7s ease-out;--shadow-soft:0 2px 8px #00000014;--shadow-letterpress:0 1px 0 #fff,0 -1px 0 #0000000f;--border-subtle:1px solid #0000000f;--border-paper:1px solid #0000000f;--text-shadow-letterpress:0 1px 0 #fff,0 -1px 0 #0000000f;--inset-shadow:inset 0 1px 2px #0000001a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--fondo);color:var(--tinta);font-kerning:normal;font-feature-settings:"liga","lnum","tnum","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-display:swap;font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.6}.paper-surface{background:var(--papel);border:var(--border-paper);position:relative}.paper-surface:before{content:"";pointer-events:none;z-index:1;background:radial-gradient(circle at 20% 20%,#ffffff4d 0%,#0000 50%),radial-gradient(circle at 80% 80%,#fff3 0%,#0000 50%),radial-gradient(circle at 40% 60%,#00000005 0%,#0000 50%);position:absolute;inset:0}.paper-surface:after{content:"";pointer-events:none;z-index:2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cfilter id='noise'%3E%3CfeTurbulence baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");position:absolute;inset:0}.section-icon{opacity:.8;width:70px;height:70px;transition:opacity var(--transition),transform var(--transition);image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;margin:0 auto 1rem;display:block}.section-icon:hover{opacity:1;transform:scale(1.05)}.navbar{z-index:1000;transition:padding var(--transition);background:0 0;padding:1rem 0;position:fixed;top:0;left:0;right:0}.navbar.is-scrolled{padding:.5rem 0}.nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 2rem;display:flex}.nav-logo .monogram{letter-spacing:.05em;color:#fff;font-family:Parisienne,cursive;font-size:1.8rem;font-weight:400}.nav-menu{gap:2rem;list-style:none;display:flex}.nav-link{color:#fff;transition:color var(--transition);font-weight:500;text-decoration:none;position:relative}.nav-link:after{content:"";width:0;height:1px;transition:width var(--transition);background:linear-gradient(90deg,#fff,#0000);position:absolute;bottom:-2px;left:0}.nav-link:hover{color:#f0f0f0}.nav-link:hover:after{width:100%}.envelope-container{z-index:9999;opacity:1;background:0 0;justify-content:center;align-items:center;width:100%;height:100vh;transition:opacity 1s cubic-bezier(.4,0,.2,1),visibility 1s,transform 1s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0;transform:scale(1)}.envelope-container.hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .6s cubic-bezier(.4,0,.2,1),visibility .6s,transform .6s cubic-bezier(.4,0,.2,1);transform:scale(.95)}.envelope-wrapper{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100vh;margin:0;display:flex;position:relative}.envelope-top{z-index:1000;transform-origin:bottom;width:100%;transition:transform 1.2s cubic-bezier(.34,1.56,.64,1),opacity 1s ease-out,filter 1s ease-out;position:absolute;top:0;left:0;right:0}.envelope-flap{object-fit:contain;width:100%;height:auto;transition:transform .3s ease-out;animation:3s ease-in-out infinite envelopeFloat}.envelope-bottom{z-index:900;width:100%;height:100vh;transition:transform 1.2s cubic-bezier(.34,1.56,.64,1),opacity 1s ease-out,filter 1s ease-out;position:absolute;bottom:0;left:0;right:0}.envelope-top.opened{opacity:0;filter:blur(8px);pointer-events:none;transform:translateY(-400px)rotate(-5deg)scale(.95)}.envelope-bottom.opened{opacity:0;filter:blur(8px);pointer-events:none;transform:translateY(100vh)rotate(3deg)scale(.95)}.envelope-base{object-fit:contain;width:100%;height:auto}@keyframes envelopeFloat{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(1deg)}}@keyframes envelopeOpen{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}50%{opacity:.6;transform:translateY(-200px)rotate(-3deg)scale(.98)}to{opacity:0;transform:translateY(-400px)rotate(-5deg)scale(.95)}}@keyframes envelopeBottomOpen{0%{opacity:1;transform:translateY(0)rotate(0)scale(1)}50%{opacity:.6;transform:translateY(500px)rotate(2deg)scale(.98)}to{opacity:0;transform:translateY(100vh)rotate(3deg)scale(.95)}}@keyframes buttonPulse{0%,to{box-shadow:0 4px 20px #6168374d}50%{box-shadow:0 6px 30px #61683780}}.envelope-content{background:var(--papel);text-align:center;z-index:2;border:2px solid #ffffff4d;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:90%;max-width:400px;height:200px;padding:2rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-open-btn{background:var(--acento);color:#fff;cursor:pointer;z-index:2000;letter-spacing:.1em;border:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:130px;height:130px;font-family:Cormorant SC,serif;font-size:1.5rem;font-weight:600;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #6168374d}.envelope-open-btn small{letter-spacing:.1em;text-transform:uppercase;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:500}.envelope-open-icon{object-fit:contain;width:80px;height:80px;margin-bottom:.5rem}.envelope-open-btn.opening{opacity:0;filter:blur(10px);transition:all .6s cubic-bezier(.34,1.56,.64,1);transform:translate(-50%,-50%)scale(.3)rotate(180deg)}.envelope-open-btn:hover{background:var(--olive);transform:translate(-50%,-50%)translateY(-5px)scale(1.08);box-shadow:0 8px 24px #61683766}.envelope-open-btn:active{transition:all .1s;transform:translate(-50%,-50%)translateY(-2px)scale(1.02);box-shadow:0 4px 12px #6168374d}@media (max-width:768px){.envelope-flap{object-fit:cover;width:100%;height:35vh}.envelope-base{object-fit:cover;width:100%;height:100vh}.envelope-title{font-size:1.3rem}.envelope-open-btn{top:30%}.envelope-date{font-size:1rem}.scroll-indicator{bottom:20px}.scroll-arrow{width:25px;height:25px}.scroll-text{font-size:.8rem}}.hero{justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.hero-ready{animation:.8s cubic-bezier(.4,0,.2,1) forwards heroFadeIn}@keyframes heroFadeIn{0%{opacity:0}to{opacity:1}}.hero-content{margin-top:auto;padding:4rem 0}.scroll-indicator{z-index:10;flex-direction:column;align-items:center;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-arrow{cursor:pointer;border:3px solid #fff;border-top:none;border-left:none;width:30px;height:30px;transition:all .3s;animation:2s ease-in-out infinite scrollBounce;transform:rotate(45deg)}.scroll-arrow:hover{border-color:var(--acento)}.scroll-text{color:var(--acento);letter-spacing:.5px;margin-top:10px;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500}@keyframes scrollBounce{0%,20%,50%,80%,to{transform:rotate(45deg)translateY(0)}40%{transform:rotate(45deg)translateY(-10px)}60%{transform:rotate(45deg)translateY(-5px)}}.hero:after{content:"";z-index:1;background:linear-gradient(#0000 0%,#0006 50%,#000c 100%);position:absolute;inset:0}.hero-bg-container{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.parallax-bg{object-fit:cover;opacity:0;will-change:opacity;backface-visibility:hidden;width:100%;height:100%;transition:opacity .5s ease-in-out;position:absolute;top:0;left:0;transform:translateZ(0)}.parallax-bg.active.loaded{opacity:1}.parallax-bg.active:not(.loaded){opacity:0;background:var(--fondo)}.parallax-card{z-index:2;text-align:center;background:0 0;max-width:600px;margin:0 1rem;padding:2rem 2rem 3rem;position:relative}.hero-title{font-family:Parisienne,cursive;font-size:var(--title-h1);color:#fff;opacity:0;transition:opacity var(--transition-slow),transform var(--transition-slow);margin-bottom:.5rem;font-weight:400;line-height:1.2;transform:translateY(20px)}.hero-title.is-visible{opacity:1;transform:translateY(0)}.hero-subtitle{color:#fff;opacity:0;transition:opacity var(--transition-slow),transform var(--transition-slow);margin-bottom:1rem;font-family:Parisienne,cursive;font-size:2.5rem;font-weight:400;transition-delay:.2s;transform:translateY(20px)}.hero-text{font-family:Montserrat,sans-serif;font-size:var(--text-xl);color:#fff;opacity:0;transition:opacity var(--transition-slow),transform var(--transition-slow);margin-bottom:0;font-weight:400;transition-delay:.4s;transform:translateY(20px)}.hero-subtitle.is-visible,.hero-text.is-visible{opacity:1;transform:translateY(0)}.hero-buttons{opacity:0;transition:opacity var(--transition-slow),transform var(--transition-slow);flex-wrap:wrap;justify-content:center;gap:1rem;transition-delay:.4s;display:flex;transform:translateY(20px)}.hero-buttons.is-visible{opacity:1;transform:translateY(0)}@keyframes micro-oscillation{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.hero-buttons .btn{animation:4s ease-in-out infinite micro-oscillation}.hero-buttons .btn:nth-child(2){animation-delay:2s}.btn{background:var(--acento);color:#fff;height:45px;transition:all var(--transition);cursor:pointer;text-align:center;border:none;border-radius:20px;min-width:240px;max-width:100%;margin:20px auto;padding:.5rem 1rem;font-family:inherit;font-size:1rem;font-weight:500;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.btn:hover{background:var(--olive);color:#fff;box-shadow:var(--inset-shadow);transform:scale(1.03)}.btn:active{box-shadow:var(--inset-shadow);transform:scale(.98)}.btn--primary{background:var(--acento);color:#fff}.btn--primary:hover{background:var(--olive);color:#fff}.date-counter .btn--primary{color:var(--acento);border:2px solid var(--acento);background:#fff}.date-counter .btn--primary:hover{background:var(--acento);color:#fff}.btn--location{background:var(--acento);color:#fff;border:2px solid var(--acento)}.btn--location:hover{background:var(--olive);color:#fff}.btn--ghost{color:#fff;background:0 0;border:1px solid #fff}.btn--ghost:hover{color:var(--tinta);box-shadow:var(--inset-shadow);background:#fff}.intro-message{background:var(--papel);padding:4rem 0;position:relative}.intro-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:600px;margin:0 auto;display:flex}.intro-title{font-family:Parisienne,cursive;font-size:var(--title-h2);color:var(--tinta);margin-bottom:1.5rem;font-style:italic;font-weight:400;line-height:1.2}.guest-name{font-family:Parisienne,cursive;font-size:var(--title-h2);color:var(--acento);text-align:center;border-bottom:2px solid var(--acento);z-index:3;margin-top:2rem;padding:0;font-style:italic;font-weight:500;line-height:1.2;position:relative}.guest-small{color:var(--tinta);text-align:center;margin-top:.5rem;padding-bottom:3rem;font-family:Montserrat,sans-serif;font-size:.9rem;font-style:italic;font-weight:700;line-height:1.3}.intro-text{font-family:Montserrat,sans-serif;font-size:var(--text-body);color:var(--tinta);margin-bottom:0;line-height:1.4}.date-counter{background:linear-gradient(135deg,#6168374d 0%,#4d543066 100%) 50%/cover;flex-direction:column;justify-content:center;align-items:center;padding-top:4rem;padding-bottom:4rem;display:flex;position:relative}@media (min-width:768px){.date-counter{min-height:50vh;padding-top:2rem;padding-bottom:2rem}}.date-counter:before{content:"";z-index:1;background:#61683733;position:absolute;inset:0}.date-counter-content{text-align:center;z-index:2;max-width:600px;margin:0 auto;position:relative}.date-title{color:#fff;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem;font-family:Cormorant,serif;font-size:1.5rem;font-weight:500}.date-display{color:#fff;margin-bottom:.5rem;font-family:Parisienne,cursive;font-size:3rem;font-weight:400}.countdown{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.countdown-item{text-align:center;min-width:60px}.countdown-number{color:#fff;margin-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:2.5rem;font-weight:600;line-height:1}.countdown-label{color:#fff;text-transform:uppercase;letter-spacing:.05em;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500}.countdown-separator{color:#fff;margin:0 .5rem;font-family:Montserrat,sans-serif;font-size:2rem;font-weight:600}.main-message{background:var(--fondo);padding:4rem 0;position:relative}.main-content{text-align:center;max-width:700px;margin:0 auto}.main-text{color:var(--tinta);margin-bottom:0;font-family:Montserrat,sans-serif;font-size:1.2rem;line-height:1.7}.celebration{background:var(--papel);padding:4rem 0;position:relative}.celebration-content{text-align:center;max-width:600px;margin:0 auto}.celebration-header{flex-direction:column;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.celebration-icon{opacity:.8;width:50px;height:50px;transition:opacity var(--transition),transform var(--transition);filter:grayscale()brightness(.7)}.celebration-icon:hover{opacity:1;transform:scale(1.05)}.celebration-title{font-family:Cormorant SC,serif;font-size:var(--title-h3);color:var(--acento);letter-spacing:.02em;margin:0 0 1rem;font-weight:600}.celebration-text{font-size:var(--text-body);color:var(--tinta);margin:0 0 2rem;font-weight:400;line-height:1.6}.celebration-details{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.celebration-date{flex-direction:row;align-items:center;gap:1rem;display:flex}.date-text{text-transform:uppercase;color:var(--tinta);font-family:Cormorant SC,serif;font-size:3rem;font-weight:500}.time-number{color:var(--tinta);font-family:Cormorant SC,serif;font-size:3rem;font-weight:500}.time-text{color:var(--tinta);font-family:Cormorant SC,serif;font-size:2rem;font-weight:500}.celebration-location{flex-direction:column;align-items:center;gap:1rem;display:flex}.location-text{font-size:var(--text-body);color:var(--tinta);font-style:italic;font-weight:400}@media (max-width:768px){.celebration-header{flex-direction:column;gap:.5rem}.celebration-title{font-size:1.75rem}}.event-details{background:var(--papel);background:linear-gradient(135deg,#f6f3eef2 0%,#fffaf3fa 100%) 50%/cover;padding:4rem 0;position:relative}.event-details:before{content:"";z-index:1;background:#6b775547;position:absolute;inset:0}.details-content{text-align:center;z-index:2;max-width:600px;margin:0 auto;position:relative}.details-title{color:var(--tinta);margin-bottom:2rem;font-family:Cormorant SC,serif;font-size:2.2rem;font-weight:400}.details-info{margin-bottom:2rem}.date-time,.venue{color:var(--tinta);margin-bottom:1rem;font-family:Montserrat,sans-serif;font-size:1.1rem;line-height:1.6}.venue{color:var(--acento);font-weight:500}.details-subtext{color:var(--tinta);margin-bottom:0;font-family:Montserrat,sans-serif;font-size:1rem;font-style:italic;line-height:1.6}.emotional-message{background:var(--fondo);background:linear-gradient(135deg,#f6f3eee6 0%,#fffaf3f2 100%) 50%/cover;padding:4rem 0;position:relative}.emotional-message:before{content:"";z-index:1;background:#f6f3eed9;position:absolute;inset:0}.emotional-content{text-align:center;z-index:2;max-width:600px;margin:0 auto;position:relative}.emotional-text{color:var(--tinta);margin-bottom:0;font-family:Montserrat,sans-serif;font-size:1.2rem;line-height:1.7}.dress-code{background:var(--papel);padding-bottom:4rem;position:relative}.dress-content{text-align:center;max-width:600px;margin:0 auto}.dress-title{font-family:Cormorant SC,serif;font-size:var(--title-h3);color:var(--acento);letter-spacing:.02em;margin-bottom:1rem;font-weight:600}.dress-subtext{font-size:var(--title-h4);text-transform:uppercase;margin-top:1rem;font-family:Cormorant SC,serif;font-weight:600}.dress-description{font-size:var(--text-body);color:var(--tinta);opacity:.8;margin:0;font-style:italic;font-weight:400;line-height:1.6}.photo-gallery{background:var(--papel);padding:4rem 0;position:relative}.gallery-grid{grid-template-rows:auto auto;grid-template-columns:1fr 1fr;gap:2rem;max-width:1400px;margin:0 auto;display:grid}.gallery-vertical{width:100%;transition:transform var(--transition),box-shadow var(--transition);position:relative;overflow:hidden;box-shadow:0 4px 15px #0000001a}.gallery-horizontal{grid-column:1/-1;width:100%;margin-top:1rem;box-shadow:0 2px 8px #00000014}.gallery-vertical:hover{transform:translateY(-6px);box-shadow:0 12px 30px #00000026}.gallery-horizontal:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.gallery-image{object-fit:cover;width:100%;height:auto;max-height:400px;transition:transform var(--transition);display:block}.gallery-vertical .gallery-image{width:100%}.gallery-vertical:hover .gallery-image{transform:scale(1.03)}.gallery-horizontal:hover .gallery-image{transform:scale(1.02)}@media (max-width:768px){.gallery-grid{grid-template-columns:1fr;gap:1.5rem}.gallery-horizontal{margin-top:0}}.itinerary{background:var(--papel);padding:4rem 0;position:relative}.itinerary-content{text-align:center;max-width:800px;margin:0 auto}.itinerary-title{font-family:Cormorant SC,serif;font-size:var(--title-h3);color:var(--acento);letter-spacing:.02em;margin:0 0 3rem;font-weight:600}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline:before{content:"";background:var(--acento);width:2px;position:absolute;top:0;bottom:0;left:40px}.timeline-item{opacity:0;align-items:flex-start;gap:2rem;margin-bottom:2.5rem;transition:all .6s;display:flex;position:relative;transform:translateY(30px)}.timeline-item.is-visible{opacity:1;transform:translateY(0)}.timeline-icon{background:var(--papel);border:3px solid var(--acento);z-index:5;border-radius:50%;flex:0 0 90px;justify-content:center;align-items:center;height:90px;display:flex;position:relative}.timeline-icon img{opacity:.8;width:50px;height:50px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated}.timeline-content{text-align:left;flex:1;padding-bottom:1rem}.timeline-time{font-family:Cormorant SC,serif;font-size:var(--text-3xl);color:var(--acento);margin-bottom:.5rem;font-weight:600}.timeline-text{font-family:Montserrat,sans-serif;font-size:var(--text-body);color:var(--tinta);font-weight:500;line-height:1.4}@media (max-width:768px){.timeline:before{left:30px}.timeline-item{gap:1.5rem;margin-bottom:2rem}.timeline-icon{flex:0 0 70px;height:70px}.timeline-icon img{width:40px;height:40px;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated}.timeline-time{font-size:1.5rem}.timeline-text{font-size:1rem}.itinerary-title{font-size:1.6rem}}.rsvp-confirmation{background:var(--fondo);padding:4rem 0;position:relative}.rsvp-content{text-align:center;max-width:600px;margin:0 auto}.rsvp-title{font-family:Cormorant SC,serif;font-size:var(--title-h3);color:var(--acento);margin-bottom:1.5rem;font-weight:600}.rsvp-text{font-family:Montserrat,sans-serif;font-size:var(--text-body);color:var(--tinta);margin-bottom:0;line-height:1.6}.gratitude-message{background:var(--papel);padding:4rem 0;position:relative}.gratitude-content{text-align:center;max-width:600px;margin:0 auto}.gratitude-title{font-family:Cormorant SC,serif;font-size:var(--title-h3);color:var(--acento);letter-spacing:.02em;margin:0 0 1rem;font-weight:600}.gratitude-text{font-family:Montserrat,sans-serif;font-size:var(--text-xl);color:var(--tinta);margin-bottom:2rem;line-height:1.7}.gratitude-signature{font-family:Montserrat,sans-serif;font-size:var(--text-body);color:var(--acento);margin-bottom:0;font-weight:500;line-height:1.6}.gifts-section{background:var(--fondo);padding:4rem 0;position:relative}.gifts-content{text-align:center;max-width:600px;margin:0 auto}.gifts-title{font-family:Cormorant SC,serif;font-size:var(--title-h3);color:var(--acento);letter-spacing:.02em;margin:0 0 1rem;font-weight:600}.gifts-text{font-family:Montserrat,sans-serif;font-size:var(--text-xl);color:var(--tinta);margin-bottom:2rem;line-height:1.7}.playlist-suggest{background:var(--papel);padding:4rem 0;position:relative}.playlist-content{text-align:center;max-width:600px;margin:0 auto}.playlist-title{font-family:Cormorant SC,serif;font-size:var(--title-h3);color:var(--acento);letter-spacing:.02em;margin:0 0 1rem;font-weight:600}.playlist-text{font-family:Montserrat,sans-serif;font-size:var(--text-xl);color:var(--tinta);margin-bottom:2rem;line-height:1.7}.playlist-form{text-align:left;background:#fff;margin-top:2rem}.playlist-form .form-group{margin-bottom:1.5rem}.playlist-form label{color:var(--tinta);margin-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:.95rem;font-weight:500;display:block}.playlist-form .form-input{border:var(--border-paper);width:100%;transition:all var(--transition);background:#fff;border-radius:4px;padding:.75rem;font-family:Montserrat,sans-serif;font-size:1rem}.playlist-form .form-input:focus{border-color:var(--acento);outline:none;box-shadow:0 0 0 2px #6168371a}.playlist-form .form-actions{text-align:center;margin-top:2rem}.playlist-error{color:#c33;background:#fee;border:1px solid #fcc;border-radius:8px;margin-bottom:1rem;padding:.75rem;font-family:Montserrat,sans-serif;font-size:.9rem}.playlist-modal{isolation:isolate;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;z-index:999999!important;background:#000000e6!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important;inset:0!important}.playlist-modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;padding:2rem;animation:.4s ease-out slideInUp;position:relative;overflow-y:auto;box-shadow:0 10px 30px #00000080}.playlist-modal-close{color:var(--tinta);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:2rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.playlist-modal-close:hover{background:#0000000d;transform:scale(1.1)}.playlist-success{text-align:center;padding:1rem 0}.playlist-success .success-icon{margin-bottom:1rem;font-size:3rem}@media (max-width:768px){.playlist-form{margin:1rem;padding:1.5rem}.playlist-modal-content{width:95%;padding:1.5rem}}.modal{z-index:1000;opacity:0;visibility:hidden;width:100%;height:100%;transition:opacity var(--transition),visibility var(--transition);background:#000000a6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.modal.is-open{opacity:1;visibility:visible}.modal-content{background:var(--papel);border:var(--border-subtle);width:90%;max-width:500px;max-height:80vh;transition:transform var(--transition);border-radius:8px;padding:2rem;position:relative;overflow-y:auto;transform:scale(.95)}.modal.is-open .modal-content{transform:scale(1)}.modal-content h3{color:var(--tinta);text-align:center;margin-bottom:1.5rem;font-family:Parisienne,cursive;font-size:1.8rem}.gifts-modal-content p{color:var(--tinta);margin-bottom:1rem;font-family:Montserrat,sans-serif;font-size:1rem;line-height:1.6}.account-details{background:var(--fondo);border-radius:6px;margin:1.5rem 0;padding:1.5rem}.account-details p{color:var(--tinta);margin-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:.95rem}.account-details p:last-child{margin-bottom:0}.payment-options{flex-direction:column;gap:1.5rem;margin:1.5rem 0;display:flex}.payment-method{background:var(--fondo);border:var(--border-subtle);border-radius:8px;padding:1.5rem}.payment-method h4{color:var(--acento);margin-bottom:1rem;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:600}.pago-movil-details{font-family:Montserrat,sans-serif}.pago-movil-details p{color:var(--tinta);margin-bottom:.5rem;font-size:.95rem}.pago-movil-details p:last-child{margin-bottom:0}.data-row{border-bottom:1px solid #0000000d;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem 0;display:flex}.data-row:last-child{border-bottom:none;margin-bottom:0}.data-row span{color:var(--tinta);flex:1;font-size:.95rem}.copy-btn{background:var(--acento);color:#fff;cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;min-width:32px;height:28px;margin-left:.5rem;padding:.25rem .5rem;font-size:.8rem;transition:all .2s;display:flex}.copy-btn:hover{background:var(--tinta);transform:scale(1.05)}.copy-btn:active{transform:scale(.95)}@media (max-width:768px){.payment-options{gap:1rem}.payment-method{padding:1rem}.copy-btn{align-self:flex-end;margin-left:0}}.modal-actions{justify-content:center;gap:1rem;margin-top:2rem;display:flex}.photo-modal{z-index:10000;opacity:0;visibility:hidden;background:#000000e6;justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex;position:fixed;top:0;left:0}.photo-modal.is-open{opacity:1;visibility:visible}.photo-modal-content{justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.photo-modal img{object-fit:contain;border-radius:8px;max-width:100%;max-height:90vh;box-shadow:0 10px 30px #00000080}.photo-modal-close{cursor:pointer;z-index:10001;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:all .2s;display:flex;position:absolute;top:-50px;right:0}.photo-modal-close:hover{background:#fff;transform:scale(1.1)}.photo-modal-nav{pointer-events:none;justify-content:space-between;width:100%;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.photo-nav-btn{cursor:pointer;pointer-events:auto;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;margin:0 20px;font-size:24px;transition:all .2s;display:flex}.photo-nav-btn:hover{background:#fff;transform:scale(1.1)}.photo-nav-btn:disabled{opacity:.3;cursor:not-allowed}@media (max-width:768px){.photo-modal-content{max-width:95vw;max-height:95vh}.photo-modal-close{width:35px;height:35px;font-size:20px;top:-40px}.photo-nav-btn{width:40px;height:40px;margin:0 10px;font-size:20px}}.gallery-image{object-fit:cover;cursor:pointer;border-radius:8px;width:100%;height:100%;transition:transform .3s;box-shadow:0 4px 12px #0000001a}.gallery-image:hover{transform:scale(1.02);box-shadow:0 6px 20px #00000026}.music-toggle{background:var(--olive);color:#fff;cursor:pointer;z-index:1000;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;padding:0;transition:all .3s;display:flex;position:fixed;top:20px;right:20px;box-shadow:0 4px 12px #00000026}.music-icon{filter:brightness(0)invert();width:24px;height:24px;transition:all .3s}.music-toggle:hover{background:var(--olive);transform:scale(1.1);box-shadow:0 6px 16px #6168374d}.music-toggle.playing{background:var(--olive);animation:2s infinite pulse}.music-toggle.playing .music-icon{filter:brightness(0)invert()drop-shadow(0 0 4px #ffffff4d)}@keyframes pulse{0%{box-shadow:0 0 #616837b3}70%{box-shadow:0 0 0 10px #61683700}to{box-shadow:0 0 #61683700}}@media (max-width:768px){.music-toggle{width:45px;height:45px;font-size:18px;top:15px;right:15px}}.closing{background:var(--fondo);padding:3rem 0;position:relative}.closing-content{text-align:center;max-width:400px;margin:0 auto}.closing-date{color:var(--olive);letter-spacing:.1em;margin-bottom:.5rem;font-family:Montserrat,sans-serif;font-size:1.5rem;font-weight:600}.closing-location{color:var(--tinta);margin-bottom:0;font-family:Montserrat,sans-serif;font-size:1.1rem;font-weight:400}.section{padding:4rem 0;position:relative}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{text-align:center;margin-bottom:3rem;font-family:Parisienne,cursive;font-size:3rem;font-weight:400;position:relative}.section-title:after{content:"";background:linear-gradient(90deg,transparent,var(--acento),transparent);width:60px;height:1px;position:absolute;bottom:-1rem;left:50%;transform:translate(-50%)}.tl-photo-frame{border:2px solid #fff;border-radius:4px;max-height:200px;margin-top:1rem;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.tl-photo-frame img{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s ease-in-out}.tl-photo-frame img.is-visible{opacity:1}.tl-photo-frame:hover img{transform:scale(1.02)}.details-card{background:var(--papel);border:var(--border-subtle);box-shadow:var(--shadow-soft);border-radius:8px;max-width:600px;margin:0 auto;padding:3rem}.details-list{gap:1rem;margin-bottom:2rem;display:grid}.details-list dt{color:var(--acento);text-transform:uppercase;letter-spacing:.05em;font-size:.9rem;font-weight:600}.details-list dd{margin-bottom:.5rem;margin-left:0}.details-list a{color:var(--tinta);transition:border-color var(--transition);border-bottom:1px solid #0000;text-decoration:none}.details-list a:hover{border-bottom-color:var(--acento)}.details-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.gallery-item{cursor:pointer;transition:transform var(--transition);border:var(--border-paper);border-radius:8px;grid-column:span 4;position:relative;overflow:hidden}.gallery-item:nth-child(3n+1){grid-column:span 6}.gallery-item:nth-child(3n+2),.gallery-item:nth-child(3n){grid-column:span 3}.gallery-item:hover{box-shadow:var(--shadow-soft);transform:translateY(-2px)}.gallery-item img{object-fit:cover;width:100%;height:250px;transition:transform var(--transition)}.gallery-item:hover img{transform:scale(1.05)}.lightbox{z-index:2000;opacity:0;visibility:hidden;width:100%;height:100%;transition:all var(--transition);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;top:0;left:0}.lightbox.is-open{opacity:1;visibility:visible}.lightbox__content{max-width:90vw;max-height:90vh;transition:transform var(--transition);position:relative;transform:scale(.96)}.lightbox.is-open .lightbox__content{transform:scale(1)}.lightbox__img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%;box-shadow:0 8px 32px #0000004d}.lightbox__close{color:#fff;cursor:pointer;width:40px;height:40px;transition:background var(--transition);background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.5rem;font-size:2rem;line-height:1;display:flex;position:absolute;top:-50px;right:0}.lightbox__close:hover{background:#000000e6}.lightbox__prev,.lightbox__next{color:#fff;cursor:pointer;width:50px;height:50px;transition:background var(--transition);background:#000000b3;border:none;border-radius:50%;justify-content:center;align-items:center;padding:1rem;font-size:1.5rem;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox__prev{left:-70px}.lightbox__next{right:-70px}.lightbox__prev:hover,.lightbox__next:hover{background:#000000e6}.rsvp-form{background:var(--papel);border:var(--border-paper);max-width:500px;box-shadow:var(--shadow-soft);border-radius:8px;margin:0 auto;padding:2rem}.form-group{margin-bottom:1.5rem;position:relative}.form-group label{color:var(--tinta);transition:all var(--transition);margin-bottom:.5rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:var(--border-paper);width:100%;transition:all var(--transition);background:#fff;border-radius:4px;padding:.75rem;font-family:inherit;font-size:1rem;position:relative}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--acento);outline:none;transform:translateY(-1px);box-shadow:0 0 0 2px #6b62571a}.form-group input:focus+label,.form-group select:focus+label,.form-group textarea:focus+label{color:var(--acento);transform:translateY(-2px)}:is(.form-group input:user-invalid,.form-group select:user-invalid,.form-group textarea:user-invalid){border-color:#e74c3c;box-shadow:0 0 0 2px #e74c3c1a}:is(.form-group input:user-invalid+label,.form-group select:user-invalid+label,.form-group textarea:user-invalid+label){color:#e74c3c}.form-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.faq-list{max-width:600px;margin:0 auto}.faq-item{background:var(--papel);border:var(--border-subtle);border-radius:8px;margin-bottom:1rem;overflow:hidden}.faq-item summary{cursor:pointer;background:var(--papel);transition:background var(--transition);padding:1.5rem;font-weight:500;list-style:none;position:relative}.faq-item summary:after{content:"+";transition:transform var(--transition);font-size:1.2rem;position:absolute;top:50%;right:1.5rem;transform:translateY(-50%)}.faq-item[open] summary:after{transform:translateY(-50%)rotate(45deg)}.faq-item summary:hover{background:#6b62570d}.faq-item p{color:var(--acento);padding:0 1.5rem 1.5rem;line-height:1.6}#qrCode{justify-content:center;margin:1rem 0;display:flex}@media (max-width:768px){.nav-menu{display:none}.parallax-card{margin:0 .5rem;padding:2rem 1rem}.hero-buttons,.details-actions,.form-actions{flex-direction:column;align-items:center}.btn{text-align:center;width:95%;margin:.5rem 0;padding:.75rem 1rem;font-size:1rem}.btn--primary,.btn--ghost{width:95%}.lightbox__prev{left:1rem}.lightbox__next{right:1rem}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.gallery-item,.gallery-item:nth-child(3n+1),.gallery-item:nth-child(3n+2),.gallery-item:nth-child(3n){grid-column:span 1}}@media (max-width:480px){.container{padding:0 1rem}.section{padding:2rem 0}.section-title,.hero-title{font-size:2.5rem}.hero-subtitle{font-size:2rem}.hero-text{font-size:1.1rem}.invitation-title{font-size:2.5rem}.invitation-subtitle{font-size:1rem}.intro-title{font-size:2rem}.guest-name{max-width:100%;margin:1rem 0;padding:1rem 1.5rem;font-size:1.75rem}.intro-text,.date-title{font-size:1rem}.date-display{font-size:2.5rem}.countdown-number{font-size:2rem}.countdown-separator{font-size:1.5rem}.countdown{gap:.5rem}.countdown-item{min-width:50px}.main-text{font-size:1.1rem}.details-title{font-size:1.8rem}.date-time,.venue{font-size:1rem}.details-subtext{font-size:.9rem}.emotional-text{font-size:1.1rem}.dress-title{font-size:1.6rem}.dress-subtext{font-size:1.25rem}.dress-description{font-size:1rem}.rsvp-title{font-size:1.6rem}.rsvp-text{font-size:1rem}.gratitude-title{font-size:1.6rem}.gratitude-text{font-size:1.1rem}.gratitude-signature{font-size:1rem}.gifts-title,.celebration-title{font-size:1.6rem}.closing-date{font-size:1.3rem}.closing-location{font-size:1rem}.gifts-text{font-size:1.1rem}.modal-content{width:95%;padding:1.5rem}.modal-content h3{font-size:1.5rem}.account-details{padding:1rem}.modal-actions{flex-direction:column;gap:.5rem}.date-counter:before,.event-details:before,.emotional-message:before{background:#6b775559}.details-card,.rsvp-form{padding:1.5rem}}.landing-content-wrapper{isolation:isolate;position:relative}.scroll-reveal{opacity:0;transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.scroll-reveal-up{transform:translateY(30px)}.scroll-reveal-down{transform:translateY(-30px)}.scroll-reveal-fade{transform:translateY(0)}.scroll-reveal-visible{opacity:1;transform:translateY(0)}.scroll-reveal-visible i,.scroll-reveal-visible .section-title:after{animation:.6s ease-out .2s both subtleFadeIn}@keyframes subtleFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.scroll-reveal-visible .details-card,.scroll-reveal-visible .gallery-item,.scroll-reveal-visible .timeline-item{animation:.6s ease-out both cardFadeIn}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(15px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.scroll-reveal-visible .timeline-item:first-child{animation-delay:.1s}.scroll-reveal-visible .timeline-item:nth-child(2){animation-delay:.2s}.scroll-reveal-visible .timeline-item:nth-child(3){animation-delay:.3s}.scroll-reveal-visible .timeline-item:nth-child(4){animation-delay:.4s}.scroll-reveal-visible .timeline-item:nth-child(5){animation-delay:.5s}.scroll-reveal-visible .gallery-item:first-child{animation-delay:50ms}.scroll-reveal-visible .gallery-item:nth-child(2){animation-delay:.1s}.scroll-reveal-visible .gallery-item:nth-child(3){animation-delay:.15s}.scroll-reveal-visible .gallery-item:nth-child(4){animation-delay:.2s}.scroll-reveal-visible .gallery-item:nth-child(5){animation-delay:.25s}.scroll-reveal-visible .gallery-item:nth-child(6){animation-delay:.3s}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.parallax-bg,.parallax-card,.gallery-item:hover,.tl-photo-frame:hover img{transform:none!important}.hero-buttons .btn,.micro-oscillation{animation:none!important}.scroll-reveal{opacity:1!important;transform:none!important}.scroll-reveal-visible{animation:none!important}}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.focus-visible:focus{outline:2px solid var(--acento);outline-offset:2px}@media print{.navbar,.hero-buttons,.details-actions,.form-actions,.lightbox,.modal{display:none!important}.hero{height:auto;padding:2rem 0}.hero-content{box-shadow:none;border:1px solid #ccc}.section{break-inside:avoid;padding:1rem 0}.timeline-item{break-inside:avoid}body{font-size:12pt;line-height:1.4}.section-title{font-size:18pt}.hero-title{font-size:24pt}}.code-modal{isolation:isolate;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;z-index:999999!important;background:#000000e6!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important;inset:0!important}.code-modal-content{text-align:center;background:#fff;border-radius:12px;width:90%;max-width:400px;padding:2rem;animation:.4s ease-out slideInUp;box-shadow:0 10px 30px #00000080}.modal-title{color:#616837;margin:0 0 1rem;font-family:Cormorant SC,serif;font-size:1.5rem;font-weight:600}.modal-text{color:#666;margin-bottom:1.5rem;font-size:1rem;line-height:1.5}.code-input-container{flex-direction:column;gap:1rem;display:flex}.code-input{text-align:center;box-sizing:border-box;border:2px solid #ddd;border-radius:8px;width:100%;padding:1rem;font-size:1rem;transition:border-color .2s}.code-input:focus{border-color:#616837;outline:none}.code-error{color:#c33;background:#fee;border:1px solid #fcc;border-radius:8px;justify-content:center;align-items:center;margin-top:1rem;padding:.75rem;animation:.3s ease-out slideDown;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.rsvp-modal{isolation:isolate;justify-content:center;align-items:center;animation:.3s ease-out fadeIn;z-index:999999!important;background:#000000e6!important;width:100vw!important;height:100vh!important;margin:0!important;padding:0!important;display:flex!important;position:fixed!important;inset:0!important}.rsvp-modal-content{background:#fff;border-radius:12px;width:90%;max-width:500px;max-height:80vh;padding:2rem;animation:.4s ease-out slideInUp;overflow-y:auto;box-shadow:0 10px 30px #00000080}.rsvp-modal-content .btn{min-width:auto;margin:0;padding:.75rem 1.5rem;font-size:1rem}.rsvp-modal-content .btn--ghost{color:var(--acento);border:2px solid var(--acento);background:0 0}.rsvp-modal-content .btn--ghost:hover{color:var(--acento);border-color:var(--acento);background:#6168371a}.rsvp-welcome{text-align:center;background:linear-gradient(135deg,#6168371a,#6168370d);border:1px solid #61683733;border-radius:12px;margin:1rem 0 2rem;padding:1.5rem;animation:.6s ease-out fadeInUp}.welcome-content{max-width:500px;margin:0 auto}.welcome-title{color:var(--tinta);margin:0 0 .5rem;font-family:Cormorant SC,serif;font-size:1.5rem;font-weight:500;line-height:1.2}.welcome-text{color:var(--text-secondary);margin:0;font-size:.95rem;line-height:1.4}.welcome-text strong{color:var(--acento);font-weight:600}.rsvp-form-container{max-width:500px;margin:0 auto;animation:.8s ease-out fadeInUp}.rsvp-form{background:#fff;border:1px solid #6168371a;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #00000014}.form-group{margin-bottom:1.5rem}.form-label{color:var(--tinta);margin-bottom:.75rem;font-size:.95rem;font-weight:500;display:block}.radio-group{flex-direction:column;gap:.75rem;display:flex}.radio-option{cursor:pointer;background:#fff;border:2px solid #6168371a;border-radius:8px;align-items:center;padding:.75rem;transition:all .2s;display:flex}.radio-option:hover{background:#61683705;border-color:#6168374d}.radio-option input[type=radio]{display:none}.radio-custom{border:2px solid #6168374d;border-radius:50%;flex-shrink:0;width:20px;height:20px;margin-right:.75rem;transition:all .2s;position:relative}.radio-option input[type=radio]:checked+.radio-custom{border-color:var(--acento);background:var(--acento)}.radio-option input[type=radio]:checked+.radio-custom:after{content:"";background:#fff;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.radio-option input[type=radio]:checked~.radio-text{color:var(--acento);font-weight:500}.radio-text{color:var(--text-primary);font-size:.9rem;transition:all .2s}.form-textarea{width:100%;color:var(--text-primary);resize:vertical;background:#fff;border:2px solid #6168371a;border-radius:8px;min-height:80px;padding:.75rem;font-family:inherit;font-size:.9rem;transition:all .2s}.form-textarea:focus{border-color:var(--acento);outline:none;box-shadow:0 0 0 3px #6168371a}.form-textarea::placeholder{color:var(--text-secondary);opacity:.7}.form-actions{text-align:center;margin-top:2rem}.rsvp-submit{min-width:200px;position:relative;overflow:hidden}.rsvp-submit:disabled{opacity:.7;cursor:not-allowed}.btn-loading{display:none}.rsvp-success{text-align:center;padding:2rem;animation:.6s ease-out fadeInUp}.success-icon{margin-bottom:1rem;font-size:3rem;animation:.6s ease-out bounce}.success-title{color:var(--acento);margin:0 0 1rem;font-family:Cormorant SC,serif;font-size:1.5rem;font-weight:500}.success-text{color:var(--text-primary);margin:0 0 .5rem;font-size:1rem;font-weight:500}.success-details{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.4}.rsvp-error{margin-top:1rem;animation:.3s ease-out slideDown}.error-content{color:#c33;background:#fee;border:1px solid #fcc;border-radius:8px;align-items:center;padding:.75rem;display:flex}.error-icon{margin-right:.5rem;font-size:1.1rem}.error-text{font-size:.9rem;font-weight:500}.rsvp-status-info{border-left:3px solid var(--acento);background:#6168370d;border-radius:8px;margin:1.5rem 0;padding:1rem}.rsvp-status-text{margin:.5rem 0;font-size:1rem;line-height:1.6}.rsvp-status-confirmed{color:var(--acento);font-weight:600}.rsvp-status-declined{color:#d32f2f;font-weight:600}.rsvp-status-doubt{color:#f57c00;font-weight:600}.rsvp-status-unknown{color:#666;font-weight:600}.rsvp-status-info .success-details{color:var(--tinta);opacity:.8;margin:.75rem 0;font-size:.9rem;font-style:italic}.rsvp-status-info .success-details:first-of-type{margin-top:1rem}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width:768px){.rsvp-form{margin:0 1rem;padding:1.5rem}.welcome-title{font-size:1.3rem}.radio-option{padding:.6rem}.form-textarea{min-height:70px}}@media (max-width:480px){.rsvp-form{margin:0 .5rem;padding:1rem}.welcome-title{font-size:1.2rem}.success-icon{font-size:2.5rem}.success-title{font-size:1.3rem}}.floating-confirm-btn{z-index:999;background:var(--acento);color:#fff;cursor:pointer;border:none;border-radius:50px;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;min-width:200px;padding:1rem 1.5rem;font-family:Montserrat,sans-serif;font-size:1rem;font-weight:600;transition:all .3s;animation:3s ease-in-out infinite subtleVibrate;display:none;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #61683766}.floating-confirm-btn.hidden{animation:none;display:none!important}.floating-confirm-btn:hover{background:var(--olive);animation:none;transform:translate(-50%)translateY(-2px);box-shadow:0 6px 25px #61683780}.floating-confirm-btn:active{animation:none;transform:translate(-50%)translateY(0);box-shadow:0 2px 15px #6168374d}.floating-btn-text{display:inline-block}.floating-btn-icon{filter:brightness(0)invert();width:20px;height:20px}@keyframes subtleVibrate{0%,to{transform:translate(-50%)translateY(0)translate(0)rotate(0)}25%{transform:translate(-50%)translateY(-1px)translate(1px)rotate(.3deg)}50%{transform:translate(-50%)translateY(0)translate(0)rotate(0)}75%{transform:translate(-50%)translateY(-1px)translate(-1px)rotate(-.3deg)}}@media (min-width:769px){.floating-confirm-btn{display:none!important}}@media (max-width:768px){.floating-confirm-btn:not(.hidden){display:flex}}
