:root,[data-palette=vintage],[data-palette=vintage-sepia]{--v-bg:#f5edd8;--v-bg2:#ede0c4;--v-bg3:#faf5e8;--v-primary:#6b4020;--v-primary-rgb:107, 64, 32;--v-secondary:#a07840;--v-secondary-rgb:160, 120, 64;--v-gold:#c4a055;--v-dark:#2a1808;--v-text:#2a1808;--v-text-md:#2a180880;--v-border:#6b402033;--v-ink:#3d2010}[data-palette=vintage-borgona]{--v-bg:#f5eee8;--v-bg2:#ede0d4;--v-bg3:#faf6f0;--v-primary:#5c1a2a;--v-primary-rgb:92, 26, 42;--v-secondary:#8b5040;--v-secondary-rgb:139, 80, 64;--v-gold:#c4a055;--v-dark:#1a0808;--v-text:#1a0808;--v-text-md:#1a080880;--v-border:#5c1a2a33;--v-ink:#3d1018}[data-palette=vintage-pizarra]{--v-bg:#eef0f2;--v-bg2:#e0e4e8;--v-bg3:#f5f6f8;--v-primary:#2a3a4a;--v-primary-rgb:42, 58, 74;--v-secondary:#506070;--v-secondary-rgb:80, 96, 112;--v-gold:#a09060;--v-dark:#0a1218;--v-text:#0a1218;--v-text-md:#0a121880;--v-border:#2a3a4a33;--v-ink:#1a2830}button.music-control-btn{background:var(--v-primary)!important;box-shadow:0 8px 25px rgba(var(--v-primary-rgb), .35), inset 0 0 0 4px #ffffff14, inset 0 0 0 8px #ffffff0a!important}button.music-control-btn i{color:var(--v-bg)!important}button.music-control-btn:hover{box-shadow:0 12px 35px rgba(var(--v-primary-rgb), .5), inset 0 0 0 4px #ffffff24, inset 0 0 0 8px #ffffff12!important}button.music-control-btn.playing:after{border-color:rgba(var(--v-primary-rgb), .35)!important}.navbar-demo{backdrop-filter:blur(16px);z-index:1000;border-bottom:1px solid var(--v-border);background:#f5edd8f7;padding:.9rem 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 32px;display:flex}.nav-demo-left{align-items:center;gap:1rem;display:flex}.back-link{color:var(--v-text-md);align-items:center;gap:6px;padding:.5rem 1rem;font-family:Lato,sans-serif;font-size:.82rem;font-weight:300;text-decoration:none;transition:all .3s;display:inline-flex}.back-link:hover{color:var(--v-primary)}.back-link svg{width:15px;height:15px}.demo-badge{letter-spacing:3px;text-transform:uppercase;color:var(--v-primary);border:1px solid var(--v-border);padding:.25rem .8rem;font-family:Lato,sans-serif;font-size:.6rem;font-weight:700}.nav-cta-demo{background:var(--v-primary);color:var(--v-bg);align-items:center;gap:7px;padding:.6rem 1.6rem;font-family:Lato,sans-serif;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.nav-cta-demo:hover{background:var(--v-dark);box-shadow:0 6px 18px rgba(var(--v-primary-rgb), .3);transform:translateY(-1px)}.nav-cta-demo svg{width:15px;height:15px}@media (width<=600px){.nav-demo-container{padding:0 16px}.back-link span,.demo-badge{display:none}.back-link{padding:.5rem}.nav-cta-demo span{display:none}.nav-cta-demo{padding:.6rem 1rem}}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--v-bg);color:var(--v-text);font-family:Lato,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='400' height='400' filter='url(%23noise)' opacity='0.055'/%3E%3C/svg%3E");position:fixed;inset:0}.hero{background:var(--v-dark);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero-bg{filter:grayscale()brightness(.45)contrast(1.1);z-index:0;background-image:url(https://res.cloudinary.com/dtqj6adlq/image/upload/w_1920,q_auto,f_auto/v1772466167/boda-6_lnqqyh.jpg);background-position:50% 30%;background-size:cover;position:absolute;inset:0}.hero-vignette{z-index:1;background:radial-gradient(#0000 30%,#2a180880 65%,#2a1808d9 100%);position:absolute;inset:0}.hero-sepia{z-index:1;background:rgba(var(--v-primary-rgb), .2);mix-blend-mode:multiply;position:absolute;inset:0}.hero-ornament-top,.hero-ornament-bottom{z-index:3;opacity:.65;width:340px;position:absolute;left:50%;transform:translate(-50%)}.hero-ornament-top{top:32px}.hero-ornament-bottom{bottom:32px;transform:translate(-50%)scaleY(-1)}.hero-side-line{z-index:2;background:linear-gradient(#0000,#c4a05566,#0000);width:1px;position:absolute;top:15%;bottom:15%}.hero-side-line.left{left:40px}.hero-side-line.right{right:40px}.hero-content{z-index:4;text-align:center;opacity:0;max-width:800px;padding:2rem;animation:1.4s cubic-bezier(.16,1,.3,1) .4s forwards fadeUp;position:relative}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.hero-seal{width:80px;height:80px;margin-bottom:1.5rem;display:inline-block;position:relative}.hero-seal svg{width:100%;height:100%}.hero-pre{color:#f5edd8b3;letter-spacing:3px;margin-bottom:1.2rem;font-family:IM Fell English,serif;font-size:clamp(.8rem,2vw,1rem);font-style:italic;display:block}.hero-name-1,.hero-name-2{color:var(--v-bg);text-shadow:2px 3px 20px #2a180899;letter-spacing:-1px;font-family:Playfair Display,serif;font-size:clamp(4rem,11vw,8.5rem);font-style:italic;font-weight:900;line-height:.9;display:block}.hero-ampersand{color:var(--v-gold);margin:.3rem 0;font-family:IM Fell English,serif;font-size:clamp(1.8rem,4.5vw,3.5rem);font-style:italic;display:block}.hero-ornament-divider{justify-content:center;align-items:center;gap:.8rem;margin:1.8rem auto;display:flex}.hero-ornament-divider-line{background:linear-gradient(90deg,#0000,#c4a05599);flex:1;max-width:80px;height:1px}.hero-ornament-divider-line.r{background:linear-gradient(270deg,#0000,#c4a05599)}.hero-date-stamp{letter-spacing:4px;text-transform:uppercase;color:#f5edd8d9;backdrop-filter:blur(6px);background:#2a180866;border:1px solid #c4a05566;padding:.8rem 2.5rem;font-family:Lato,sans-serif;font-size:clamp(.72rem,1.8vw,.9rem);font-weight:300;display:inline-block}.scroll-indicator{z-index:4;opacity:0;cursor:pointer;animation:1s 2s forwards fadeIn;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}@keyframes fadeIn{to{opacity:1}}.scroll-indicator svg{color:#f5edd880;width:28px;height:28px;animation:2.5s ease-in-out infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}section:not(.hero){z-index:1;padding:90px 20px;position:relative}.container{max-width:1080px;margin:0 auto}.section-header{text-align:center;margin-bottom:3.5rem}.section-pre{letter-spacing:5px;text-transform:uppercase;color:var(--v-gold);margin-bottom:.6rem;font-family:Lato,sans-serif;font-size:.62rem;font-weight:700;display:block}.section-title{color:var(--v-primary);font-family:Playfair Display,serif;font-size:clamp(2.5rem,6vw,4.5rem);font-style:italic;font-weight:900;line-height:1;display:block}.section-ornament{justify-content:center;align-items:center;gap:.8rem;margin:1rem auto 0;display:flex}.section-ornament-line{background:linear-gradient(to right, transparent, var(--v-gold));width:50px;height:1px}.section-ornament-line.r{background:linear-gradient(to left, transparent, var(--v-gold))}.countdown-section{background:var(--v-primary);position:relative;overflow:hidden}.countdown-section:before{content:"";background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='0.8' fill='rgba(245,237,216,0.06)'/%3E%3C/svg%3E");background-size:20px 20px;position:absolute;inset:0}.countdown-section .section-pre{color:#f5edd866}.countdown-section .section-title{color:var(--v-bg)}.countdown-section .section-ornament-line{background:linear-gradient(90deg,#0000,#c4a05580)}.countdown-section .section-ornament-line.r{background:linear-gradient(270deg,#0000,#c4a05580)}.countdown{z-index:1;background:#f5edd81a;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:3rem;display:grid;position:relative}.countdown-item{text-align:center;background:#f5edd80a;padding:3rem 1rem;transition:background .3s}.countdown-item:hover{background:#f5edd814}.countdown-number{color:var(--v-bg);font-family:Playfair Display,serif;font-size:clamp(3rem,6vw,5rem);font-style:italic;font-weight:900;line-height:1;display:block}.countdown-label{letter-spacing:4px;text-transform:uppercase;color:#f5edd866;margin-top:.6rem;font-family:Lato,sans-serif;font-size:.55rem;font-weight:300;display:block}@media (width<=768px){.countdown{grid-template-columns:repeat(2,1fr)}.countdown-item{padding:2rem .8rem}.countdown-number{font-size:2.8rem}}@media (width<=400px){.countdown-item{padding:1.5rem .6rem}.countdown-number{font-size:2.2rem}.countdown-label{letter-spacing:2px;font-size:.46rem}}.info-section{background:var(--v-bg3)}.info-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:960px;margin:0 auto;display:grid}.info-card{background:var(--v-bg);border:1px solid var(--v-border);text-align:center;padding:2.5rem 2rem;transition:all .35s;position:relative;overflow:hidden}.info-card:before{content:"";pointer-events:none;border:1px solid #c4a05533;position:absolute;inset:6px}.info-card:after{content:"";background:linear-gradient(to right, transparent, var(--v-gold), transparent);height:3px;position:absolute;top:0;left:0;right:0}.info-card:hover{box-shadow:0 16px 40px rgba(var(--v-primary-rgb), .12);transform:translateY(-5px)}.info-card-roman{color:var(--v-gold);letter-spacing:2px;margin-bottom:1rem;font-family:IM Fell English,serif;font-size:.75rem;font-style:italic;display:block}.info-icon{margin-bottom:.8rem;font-size:2rem;display:block}.info-card h3{color:var(--v-primary);margin-bottom:1rem;font-family:Playfair Display,serif;font-size:1.6rem;font-style:italic;font-weight:700}.info-card p{color:var(--v-text-md);font-family:IM Fell English,serif;font-size:.95rem;line-height:1.9}.info-card p strong{color:var(--v-text);font-style:normal}@media (width<=768px){.info-grid{grid-template-columns:1fr;max-width:400px}}.gallery-section{background:var(--v-bg2)}.gallery-grid{columns:3;column-gap:1rem;max-width:1060px;margin:2.5rem auto 0}.gallery-item{break-inside:avoid;cursor:pointer;border:6px solid var(--v-bg3);box-shadow:0 2px 8px rgba(var(--v-primary-rgb), .2), inset 0 0 0 1px rgba(var(--v-primary-rgb), .1);margin-bottom:1rem;transition:all .4s;position:relative;overflow:hidden}.gallery-item img{filter:grayscale(.4)sepia(.2)brightness(.96);width:100%;height:auto;transition:transform .6s,filter .5s;display:block}.gallery-item:hover img{filter:grayscale(0)sepia(0)brightness(1.02);transform:scale(1.04)}.gallery-item:before{content:"";background:rgba(var(--v-primary-rgb), 0);z-index:1;transition:background .4s;position:absolute;inset:0}.gallery-item:hover:before{background:rgba(var(--v-primary-rgb), .08)}.gallery-item:after{content:"✦";z-index:2;color:#f5edd8e6;pointer-events:none;text-shadow:0 0 20px #c4a055cc;font-size:2rem;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:0 8px 28px rgba(var(--v-primary-rgb), .25), inset 0 0 0 1px #c4a0554d}.placeholder{aspect-ratio:3/4;background:linear-gradient(135deg, rgba(var(--v-primary-rgb),.08), rgba(var(--v-secondary-rgb),.1));color:var(--v-gold);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.placeholder-icon{opacity:.5;font-size:2rem}@media (width<=768px){.gallery-grid{columns:2}}@media (width<=480px){.gallery-grid{columns:1;max-width:320px}}.lightbox{z-index:9999;backdrop-filter:blur(8px);background:#140a05f5;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;box-shadow:0 0 60px rgba(var(--v-primary-rgb), .3);border:6px solid #f5edd81a;animation:.3s lbIn}@keyframes lbIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.lightbox-close{color:var(--v-bg);cursor:pointer;background:#f5edd80f;border:1px solid #c4a05533;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:rgba(var(--v-primary-rgb),.4)}.lightbox-nav{color:var(--v-bg);cursor:pointer;background:#f5edd80f;border:1px solid #c4a05533;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:rgba(var(--v-primary-rgb),.4)}.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}.lightbox-counter{color:#f5edd866;background:#0006;padding:.4rem 1rem;font-family:IM Fell English,serif;font-size:.85rem;font-style:italic;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}.rsvp-section{background:var(--v-bg3)}.rsvp-inner{grid-template-columns:1fr 1fr;align-items:start;gap:5rem;max-width:960px;margin:0 auto;display:grid}.rsvp-left p{color:var(--v-text-md);margin-top:1.5rem;font-family:IM Fell English,serif;font-size:1rem;font-style:italic;line-height:2}.rsvp-left p strong{color:var(--v-text);font-style:normal}.rsvp-form{background:var(--v-bg);border:1px solid var(--v-border);padding:2.8rem 2.2rem;position:relative}.rsvp-form:before{content:"";pointer-events:none;z-index:0;border:1px solid #c4a05526;position:absolute;inset:6px}.rsvp-form:after{content:"";background:linear-gradient(to right, transparent, var(--v-gold), transparent);height:3px;position:absolute;top:0;left:0;right:0}.form-group{z-index:1;margin-bottom:1.5rem;position:relative}.form-group label{letter-spacing:3px;text-transform:uppercase;color:var(--v-gold);margin-bottom:.5rem;font-family:Lato,sans-serif;font-size:.6rem;font-weight:700;display:block}.form-group input,.form-group select{border:1px solid var(--v-border);background:var(--v-bg3);width:100%;color:var(--v-text);outline:none;padding:.9rem 1rem;font-family:IM Fell English,serif;font-size:1rem;transition:all .3s}.form-group select option{background:var(--v-bg3);color:var(--v-text)}.form-group input:focus,.form-group select:focus{border-color:var(--v-gold);box-shadow:0 0 0 3px rgba(var(--v-primary-rgb), .06)}.form-group input::placeholder{color:#2a180840;font-style:italic}.submit-btn{background:var(--v-primary);width:100%;color:var(--v-bg);letter-spacing:5px;text-transform:uppercase;cursor:pointer;z-index:1;border:none;margin-top:.5rem;padding:1.1rem;font-family:Lato,sans-serif;font-size:.68rem;font-weight:700;transition:all .3s;position:relative}.submit-btn:hover{background:var(--v-dark);box-shadow:0 8px 24px rgba(var(--v-primary-rgb), .3);transform:translateY(-2px)}@media (width<=768px){.rsvp-inner{grid-template-columns:1fr;gap:2.5rem}}.footer{background:var(--v-dark);color:var(--v-bg);text-align:center;padding:6rem 2rem 3.5rem;position:relative;overflow:hidden}.footer:before{content:"";background:linear-gradient(90deg, transparent, var(--v-gold), transparent);height:1px;position:absolute;top:0;left:0;right:0}.footer:after{content:"";pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='10' cy='10' r='0.6' fill='rgba(196,160,85,0.06)'/%3E%3C/svg%3E");background-size:20px 20px;position:absolute;inset:0}.footer-seal{opacity:.7;z-index:1;width:70px;height:70px;margin:0 auto 2rem;display:block;position:relative}.footer p{color:#f5edd880;z-index:1;margin-bottom:.5rem;font-family:IM Fell English,serif;font-size:1rem;font-style:italic;position:relative}.footer-names{color:var(--v-bg);text-shadow:1px 2px 16px rgba(var(--v-primary-rgb), .4);z-index:1;margin-top:.5rem;font-family:Playfair Display,serif;font-size:clamp(2.8rem,7vw,6rem);font-style:italic;font-weight:900;display:block;position:relative}.footer-date{letter-spacing:5px;text-transform:uppercase;color:var(--v-gold);z-index:1;margin-top:1rem;font-family:Lato,sans-serif;font-size:.68rem;font-weight:300;display:block;position:relative}.powered{color:#f5edd840;z-index:1;border-top:1px solid #f5edd814;margin-top:3.5rem;padding-top:2rem;font-family:Lato,sans-serif;font-size:.75rem;font-weight:300;position:relative}.powered a{color:var(--v-gold);font-weight:700;text-decoration:none;transition:color .2s}.powered a:hover{color:var(--v-bg)}
