.navbar-demo{backdrop-filter:blur(12px);z-index:1000;background:#fffffff0;border-bottom:1px solid #2d50161f;padding:.8rem 0;transition:transform .4s;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.navbar-demo.visible{transform:translateY(0)}.nav-demo-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 24px;display:flex}.nav-demo-left{align-items:center;gap:1rem;display:flex}.back-link{color:#4a6741;letter-spacing:.5px;border-radius:4px;align-items:center;gap:6px;padding:.5rem 1rem;font-family:Raleway,sans-serif;font-size:.85rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.back-link:hover{color:#2d5016;background:#2d501612}.back-link svg{width:15px;height:15px}.demo-badge{color:#fff;text-transform:uppercase;letter-spacing:2px;background:#2d5016;border-radius:2px;padding:.25rem .85rem;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:600}.nav-cta-demo{color:#fff;letter-spacing:1px;background:#2d5016;border-radius:2px;align-items:center;gap:7px;padding:.6rem 1.5rem;font-family:Raleway,sans-serif;font-size:.82rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.nav-cta-demo:hover{background:#1e3510;transform:translateY(-1px);box-shadow:0 6px 20px #2d501640}.nav-cta-demo svg{width:15px;height:15px}@media (width<=600px){.back-link span,.demo-badge{display:none}.back-link{padding:.5rem}.nav-cta-demo span{display:none}.nav-cta-demo{padding:.6rem}}:root,[data-palette=garden],[data-palette=garden-clasico]{--g-white:#fff;--g-offwhite:#f8faf6;--g-mist:#edf2e8;--g-green:#2d5016;--g-green-lt:#4a7a30;--g-green-pale:#a8c49a;--g-rose:#c8a4a5;--g-rose-deep:#9e6b6c;--g-gold:#b8a060;--g-dark:#1a2e10;--g-text:#2a3820;--g-text-lt:#5a7050}[data-palette=garden-verano]{--g-white:#fff;--g-offwhite:#faf8ff;--g-mist:#eee8f8;--g-green:#5a5a9e;--g-green-lt:#7878c0;--g-green-pale:#b8b4d8;--g-rose:#f0d080;--g-rose-deep:#c8a030;--g-gold:#d4b060;--g-dark:#2a2850;--g-text:#2a2840;--g-text-lt:#5a5880}[data-palette=garden-noche]{--g-white:#f8fbf5;--g-offwhite:#1a2e10;--g-mist:#243818;--g-green:#a8c49a;--g-green-lt:#c4d8b8;--g-green-pale:#6a9060;--g-rose:#d4af60;--g-rose-deep:#b89040;--g-gold:#d4af60;--g-dark:#0e1a08;--g-text:#e8f0e0;--g-text-lt:#a0b890}button.music-control-btn{background:#2d5016!important;box-shadow:0 8px 25px #2d501659,inset 0 0 0 4px #ffffff1f!important}button.music-control-btn:hover{box-shadow:0 12px 35px #2d501680,inset 0 0 0 4px #fff3!important}button.music-control-btn.playing{animation:4s linear infinite spin,2.5s ease-in-out infinite pulse-garden!important}@keyframes pulse-garden{0%,to{box-shadow:0 8px 25px #2d501659}50%{box-shadow:0 12px 40px #2d501699}}button.music-control-btn.playing:after{border-color:#2d501666!important}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--g-white);color:var(--g-text);font-family:Raleway,sans-serif;overflow-x:hidden}.hero{background:var(--g-white);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{filter:saturate(.65)brightness(.5);z-index:0;background-image:url(https://res.cloudinary.com/dtqj6adlq/image/upload/w_1920,q_auto,f_auto/v1772463983/fiesta15-0_hfwtlt.jpg);background-position:top;background-size:cover;position:absolute;inset:0}.hero-overlay{background:linear-gradient(to bottom, #2d501626 0%, #0a14051a 40%, #ffffff80 85%, var(--g-white) 100%), linear-gradient(to right, #fff3 0%, transparent 30%, transparent 70%, #fff3 100%);z-index:1;position:absolute;inset:0}.floral-frame{z-index:2;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.floral-frame svg{opacity:0;width:min(680px,90vw);height:min(680px,90vh);animation:2s .8s forwards frameBloom}@keyframes frameBloom{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.hero-content{z-index:3;text-align:center;opacity:0;max-width:600px;padding:2rem;animation:1.4s cubic-bezier(.16,1,.3,1) .4s forwards contentRise;position:relative}@keyframes contentRise{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-eyebrow{letter-spacing:6px;text-transform:uppercase;color:#ffffffbf;margin-bottom:1.2rem;font-family:Raleway,sans-serif;font-size:clamp(.65rem,1.5vw,.78rem);font-weight:500;display:block}.hero-name{color:#fff;letter-spacing:-2px;text-shadow:0 4px 40px #0000004d,0 0 80px #a8c49a26;margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:clamp(5rem,14vw,10rem);font-style:italic;font-weight:300;line-height:.9;display:block}.hero-xv{letter-spacing:8px;text-transform:uppercase;color:#ffffffb3;margin-bottom:2.5rem;font-family:Raleway,sans-serif;font-size:clamp(.7rem,1.8vw,.88rem);font-weight:400;display:block}.hero-ornament{justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.hero-ornament-line{background:#ffffff73;width:70px;height:1px}.hero-ornament-center{align-items:center;gap:6px;display:flex}.hero-ornament-center svg{color:#c8dcb4cc;width:20px;height:20px}.hero-date{color:#ffffffe0;letter-spacing:2px;backdrop-filter:blur(6px);background:#ffffff14;border:1px solid #ffffff40;padding:.7rem 2rem;font-family:Cormorant Garamond,serif;font-size:clamp(1rem,2.5vw,1.35rem);font-style:italic;display:inline-block}.scroll-indicator{z-index:3;cursor:pointer;opacity:0;animation:1s 2.2s forwards fadeIn;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}@keyframes fadeIn{to{opacity:1}}.scroll-indicator svg{color:#ffffff80;width:24px;height:24px;animation:2.5s ease-in-out infinite gentleBounce}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}section:not(.hero){padding:90px 20px;position:relative}.container{max-width:1060px;margin:0 auto}.section-header{text-align:center;margin-bottom:3.5rem}.section-tag{letter-spacing:5px;text-transform:uppercase;color:var(--g-green-lt);margin-bottom:.8rem;font-family:Raleway,sans-serif;font-size:.65rem;display:block}.section-title{color:var(--g-dark);font-family:Cormorant Garamond,serif;font-size:clamp(2.8rem,6vw,4.5rem);font-style:italic;font-weight:300;line-height:1;display:block}.leaf-divider{justify-content:center;align-items:center;gap:1rem;margin-top:1.2rem;display:flex}.leaf-divider-line{background:var(--g-green-pale);width:50px;height:1px}.leaf-divider svg{width:16px;height:16px;color:var(--g-green-pale)}.countdown-section{background:var(--g-offwhite);border-top:1px solid #2d501614;border-bottom:1px solid #2d501614}.countdown{background:#2d501626;border:1px solid #2d501626;grid-template-columns:repeat(4,1fr);gap:1px;max-width:640px;margin:0 auto;display:grid}.countdown-item{background:var(--g-white);text-align:center;padding:2.5rem 1rem;transition:background .3s;position:relative}.countdown-item:hover{background:var(--g-mist)}.countdown-number{color:var(--g-green);font-family:Cormorant Garamond,serif;font-size:3.8rem;font-weight:300;line-height:1;display:block}.countdown-label{letter-spacing:4px;text-transform:uppercase;color:var(--g-text-lt);margin-top:.5rem;font-family:Raleway,sans-serif;font-size:.62rem;display:block}.info-section{background:var(--g-white)}.info-section:before{content:"";background:linear-gradient(to right, transparent, var(--g-green-pale) 20%, var(--g-rose) 50%, var(--g-green-pale) 80%, transparent);height:4px;position:absolute;top:0;left:0;right:0}.info-grid{grid-template-columns:repeat(3,1fr);gap:2rem;max-width:860px;margin:0 auto;display:grid}.info-card{background:var(--g-white);text-align:center;border:1px solid #2d50161f;padding:2.5rem 1.8rem;transition:all .35s;position:relative;overflow:hidden}.info-card:before{content:"";background:linear-gradient(to right, var(--g-green-pale), var(--g-rose), var(--g-green-pale));transform-origin:0;height:3px;transition:transform .4s;position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.info-card:hover:before{transform:scaleX(1)}.info-card:after{content:"";background:var(--g-mist);opacity:0;border-radius:50%;width:60px;height:60px;transition:opacity .3s;position:absolute;bottom:-20px;right:-20px}.info-card:hover:after{opacity:1}.info-card:hover{border-color:#2d501633;transform:translateY(-5px);box-shadow:0 20px 50px #2d501614}.info-icon-garden{justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 1.4rem;display:flex}.info-icon-garden svg{width:100%;height:100%}.info-card h3{color:var(--g-green);margin-bottom:1rem;font-family:Cormorant Garamond,serif;font-size:1.7rem;font-style:italic;font-weight:400}.info-card p{color:var(--g-text-lt);margin-bottom:.2rem;font-family:Libre Baskerville,serif;font-size:.92rem;line-height:1.8}.info-card p strong{color:var(--g-text);font-weight:400}.gallery-section{background:var(--g-mist);border-top:1px solid #2d501614}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:6px;max-width:1060px;margin:2.5rem auto 0;display:grid}.gallery-item:first-child{grid-area:span 2/span 2}.gallery-item{cursor:pointer;aspect-ratio:1;background:var(--g-green-pale);position:relative;overflow:hidden}.gallery-item:first-child{aspect-ratio:unset}.gallery-item img{object-fit:cover;filter:saturate(.9);width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1),filter .4s;display:block}.gallery-item:hover img{filter:saturate(1.05);transform:scale(1.06)}.gallery-item:before{content:"";z-index:1;background:#2d501600;transition:background .4s;position:absolute;inset:0}.gallery-item:hover:before{background:#2d501633}.gallery-item:after{content:"";z-index:2;pointer-events:none;border:1.5px solid #fffc;border-radius:50%;width:44px;height:44px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0)}.gallery-item:hover:after{transform:translate(-50%,-50%)scale(1)}.gallery-item:hover{box-shadow:inset 0 0 0 2px #ffffff4d}.placeholder{background:linear-gradient(135deg, var(--g-mist), var(--g-green-pale));width:100%;height:100%;min-height:180px;color:var(--g-green-lt);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.placeholder-icon{opacity:.4;font-size:1.8rem}.lightbox{z-index:9999;backdrop-filter:blur(8px);background:#0a1405f2;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.lightbox.active{display:flex}.lightbox-img{object-fit:contain;max-width:90vw;max-height:88vh;animation:.3s lbIn;box-shadow:0 0 80px #2d50164d}@keyframes lbIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:2px;justify-content:center;align-items:center;width:42px;height:42px;font-size:1.1rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:#2d501666}.lightbox-nav{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:2px;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.3rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#2d501666}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{letter-spacing:2px;color:#ffffff73;background:#0006;padding:.4rem 1rem;font-family:Raleway,sans-serif;font-size:.78rem;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.rsvp-section{background:var(--g-offwhite);border-top:1px solid #2d501614}.rsvp-section:before{content:"";pointer-events:none;background-image:radial-gradient(circle,#2d50160a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.rsvp-form{background:var(--g-white);z-index:1;border:1px solid #2d501626;max-width:540px;margin:0 auto;padding:3rem 2.5rem;position:relative;box-shadow:0 20px 60px #2d50160f}.form-ornament{text-align:center;margin-bottom:2rem}.form-ornament svg{width:120px;height:28px;color:var(--g-green-pale)}.form-group{margin-bottom:1.5rem}.form-group label{letter-spacing:3px;text-transform:uppercase;color:var(--g-green-lt);margin-bottom:.5rem;font-family:Raleway,sans-serif;font-size:.65rem;font-weight:600;display:block}.form-group input,.form-group select{width:100%;color:var(--g-text);background:var(--g-white);appearance:none;border:1px solid #2d501633;border-radius:0;outline:none;padding:.9rem 1.1rem;font-family:Libre Baskerville,serif;font-size:.95rem;transition:all .3s}.form-group select option{background:#fff}.form-group input:focus,.form-group select:focus{border-color:var(--g-green-lt);background:var(--g-offwhite);box-shadow:0 0 0 3px #2d50160f}.form-group input::placeholder{color:#5a705066;font-style:italic}.submit-btn{background:var(--g-green);color:#fff;letter-spacing:4px;text-transform:uppercase;cursor:pointer;border:none;width:100%;margin-top:.5rem;padding:1.1rem;font-family:Raleway,sans-serif;font-size:.75rem;font-weight:600;transition:all .3s}.submit-btn:hover{background:var(--g-dark);transform:translateY(-2px);box-shadow:0 10px 30px #2d501633}.submit-btn span{z-index:1;position:relative}.footer{background:var(--g-dark);color:#fffc;text-align:center;padding:5rem 2rem 3rem;position:relative;overflow:hidden}.footer:before{content:"";background:linear-gradient(to right, transparent, var(--g-green-pale) 30%, var(--g-rose) 50%, var(--g-green-pale) 70%, transparent);height:3px;position:absolute;top:0;left:0;right:0}.footer-ornament{opacity:.6;width:160px;margin:0 auto 2rem;display:block}.footer p{color:#ffffff80;margin-bottom:.6rem;font-family:Libre Baskerville,serif;font-size:1rem;font-style:italic}.footer-name{color:var(--g-green-pale);letter-spacing:2px;margin-top:.5rem;font-family:Cormorant Garamond,serif;font-size:3rem;font-style:italic;font-weight:300;display:block}.powered{letter-spacing:1px;color:#ffffff40;border-top:1px solid #ffffff14;margin-top:3rem;padding-top:2rem;font-family:Raleway,sans-serif;font-size:.75rem}.powered a{color:var(--g-green-pale);text-decoration:none;transition:color .2s}.powered a:hover{color:#fff}@media (width<=768px){.countdown{grid-template-columns:repeat(2,1fr)}.info-grid{grid-template-columns:1fr;max-width:380px}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-item:first-child{aspect-ratio:16/9;grid-area:span 1/span 2}.rsvp-form{padding:2.5rem 1.5rem}}@media (width<=480px){.gallery-grid{grid-template-columns:1fr;gap:4px}.gallery-item:first-child{grid-column:span 1}.floral-frame svg{width:90vw;height:90vw}}
