.xv{--vino:#800020;--vino-claro:#9a1030;--vino-xd:#4d0012;--beige:#f3e6d5;--crema:#fff9f2;--coral:#d45060;--coral-suave:#d450602e;--linea:#8000204d;--linea-c:#d4506059;--texto:#3d000f;--display:"Cormorant Garamond", "Playfair Display", Georgia, serif;--script:"Great Vibes", "Snell Roundhand", cursive;background:var(--crema);color:var(--texto);font-family:var(--display);min-height:100vh;font-size:1.25rem;font-weight:500;line-height:1.65;position:relative;overflow-x:hidden}.xv *,.xv :before,.xv :after{box-sizing:border-box}.xv h1,.xv h2,.xv h3,.xv p,.xv ol,.xv ul,.xv dl,.xv dd{margin:0;padding:0}.xv.locked{height:100svh;overflow:hidden}.xv:after{content:"";z-index:300;pointer-events:none;opacity:.45;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .42 0 0 0 0 .18 0 0 0 0 .2 1 0 0 0 -.6'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");position:fixed;inset:0}.nombre-script{font-family:var(--script);color:var(--vino);font-weight:400;line-height:1}.xv .kicker{letter-spacing:.42em;text-transform:uppercase;color:var(--vino);font-size:.75rem;font-weight:600}.xv .kicker.cl{color:#e8c5cc}.xv .stitle{letter-spacing:.38em;text-transform:uppercase;color:var(--vino);font-size:.78rem;font-weight:600}.xv .phrase{color:var(--texto);margin-top:14px;font-size:clamp(2.2rem,9.5vw,4.2rem);font-style:italic;font-weight:300;line-height:1.1}.xv .phrase.cl{color:var(--crema)}.xv .phrase.sm{font-size:clamp(1.8rem,7vw,2.8rem)}.xv .body{font-size:1.25rem;line-height:1.75}.xv .body.narrow{max-width:540px;margin:0 auto}.xv .dropcap:first-letter{font-family:var(--display);float:left;color:var(--coral);padding:8px 14px 0 0;font-size:4.4rem;font-style:italic;font-weight:300;line-height:.82}.xv .num{color:#d4506024;pointer-events:none;z-index:0;font-size:clamp(5rem,28vw,10rem);font-style:italic;font-weight:300;line-height:1;position:absolute;top:20px;left:16px}.xv .num.r{left:auto;right:16px}.xv .num.cl{color:#fff9f224}.xv .btn{border:1px solid var(--vino);background:var(--vino);min-height:52px;color:var(--crema);font-family:var(--display);letter-spacing:.34em;text-transform:uppercase;cursor:pointer;border-radius:0;justify-content:center;align-items:center;padding:0 34px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .6s,color .6s;display:inline-flex}.xv .btn:hover,.xv .btn.ghost{color:var(--vino);background:0 0}.xv .btn.ghost:hover{background:var(--vino);color:var(--crema)}.xv .btn.ghost-cl{color:var(--crema);background:0 0;border-color:#fff9f2b3}.xv .btn.ghost-cl:hover{background:var(--crema);color:var(--vino-xd)}.xv .btn.light{background:var(--crema);color:var(--vino-xd);border-color:var(--crema)}.xv .btn.light:hover{color:var(--crema);background:0 0}.xv .btn:disabled{opacity:.55;cursor:default}.xv .btn:focus-visible,.xv .music:focus-visible,.xv input:focus-visible,.xv .back-link:focus-visible{outline:2px solid var(--coral);outline-offset:4px}.xv .arch{border:1px solid var(--vino);text-align:center;border-radius:999px 999px 0 0;position:relative}.xv .arch:before{content:"";border:1px solid var(--linea);pointer-events:none;border-radius:999px 999px 0 0;position:absolute;inset:8px}.xv .arch.cl{border-color:#fff9f299}.xv .arch.cl:before{border-color:#fff9f24d}.xv .frame2{border:1px solid var(--vino);border-radius:2px;padding:34px 22px;position:relative}.xv .frame2:before{content:"";border:1px solid var(--linea);pointer-events:none;border-radius:1px;position:absolute;inset:5px}.xv .frame2.cl{border-color:#fff9f280}.xv .frame2.cl:before{border-color:#fff9f240}.xv .hr{background:var(--linea);transform-origin:0;height:1px;margin:30px 0;transition:transform 1.8s cubic-bezier(.2,.6,.2,1);transform:scaleX(0)}.xv .hr.mid{transform-origin:50%;max-width:140px;margin:30px auto}.xv .hr.cl{background:#fff9f266}.xv .hr.in{transform:scaleX(1)}.xv .rule{justify-content:center;align-items:center;gap:16px;max-width:280px;margin:26px auto;display:flex}.xv .rule span{background:var(--linea-c);flex:1;height:1px;transition:transform 1.8s;transform:scaleX(0)}.xv .rule span:first-child{transform-origin:100%}.xv .rule span:last-child{transform-origin:0}.xv .rule.in span{transform:scaleX(1)}.xv .rule svg{width:20px;height:20px}.xv .flor{pointer-events:none;z-index:1;will-change:transform;position:absolute}.xv .flor svg{width:100%;height:auto;display:block;overflow:visible}.xv .flor svg.flip{transform:scaleX(-1)}.xv .flor svg.rot180{transform:rotate(180deg)}.xv .flor .draw{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 3s}.xv .flor .pt{opacity:0;transition:opacity 1.8s}.xv .flor.in .draw{stroke-dashoffset:0}.xv .flor.in .pt{opacity:1}.xv .fl-cv-a{width:min(240px,62vw);top:-10px;left:-50px}.xv .fl-cv-b{width:min(240px,62vw);bottom:-10px;right:-50px}.xv .fl-h-a{width:min(280px,66vw);top:40px;left:-60px}.xv .fl-h-b{width:min(260px,62vw);bottom:0;right:-60px}.xv .fl-w-a{opacity:.7;width:min(220px,54vw);bottom:-10px;right:-50px}.xv .fl-i-a{opacity:.65;width:min(210px,52vw);top:10px;right:-55px}.xv .fl-g-a{opacity:.7;width:min(230px,56vw);bottom:-10px;left:-60px}.xv .fl-b-a{width:min(250px,60vw);top:-10px;left:-65px}.xv .fl-b-b{width:min(250px,60vw);bottom:-10px;right:-65px}.xv .fl-co-a{opacity:.55;width:min(200px,50vw);top:10px;right:-55px}.xv .cover{z-index:80;background:radial-gradient(ellipse at 40% 30%, var(--vino-claro) 0%, var(--vino) 45%, var(--vino-xd) 100%);flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:24px;transition:opacity 1.8s,visibility 0s 1.8s;display:flex;position:fixed;inset:0;overflow:hidden}.xv .cover.gone{opacity:0;visibility:hidden;pointer-events:none}.xv .arch-cover{z-index:2;flex-direction:column;align-items:center;gap:14px;width:min(340px,88vw);padding:54px 22px 28px;display:flex}.xv .arch-cover .nombre-script{color:var(--crema);font-size:clamp(2.8rem,12vw,3.6rem)}.xv .arch-cover .kicker{color:#fff9f2cc}.xv .arch-cover .cv-fecha{letter-spacing:.45em;text-transform:uppercase;color:#fff9f2b3;margin-top:4px;font-size:.72rem;font-weight:600}.xv .env{aspect-ratio:1.5;perspective:900px;isolation:isolate;width:min(240px,68vw);margin:16px 0 10px;position:relative}.xv .env-back{background:#fff9f214;border:1px solid #fff9f266;position:absolute;inset:0;box-shadow:0 12px 30px #00000059}.xv .env-card{z-index:1;background:var(--crema);border:1px solid var(--linea);height:84%;color:var(--vino-xd);flex-direction:column;justify-content:center;align-items:center;gap:6px;transition:transform 2s cubic-bezier(.4,0,.2,1) 1.9s;display:flex;position:absolute;top:8%;left:8%;right:8%}.xv .env-mono{font-family:var(--script);color:var(--vino);font-size:1.8rem}.xv .env-line{background:var(--coral);width:40px;height:1px}.xv .env-card em{letter-spacing:.22em;text-transform:uppercase;color:var(--vino);font-size:.72rem;font-style:normal}.xv .env-pocket{z-index:2;width:100%;height:100%;position:absolute;inset:0}.xv .env-flap{z-index:3;transform-origin:top;height:60%;transform-style:preserve-3d;transition:transform 1.8s cubic-bezier(.45,0,.2,1) .9s,z-index 0s 1.7s;position:absolute;top:0;left:0;right:0}.xv .env-flap .face{backface-visibility:hidden;width:100%;height:100%;position:absolute;inset:0}.xv .env-flap .f-back{transform:rotateX(180deg)}.xv .env.open .env-flap{z-index:0;transform:rotateX(180deg)}.xv .env.open .env-card{transform:translateY(-56%)}.xv .seal{z-index:4;background:radial-gradient(circle at 35% 30%, #e07080, var(--coral) 50%, #a02030);border-radius:48% 52% 50% 50%/52% 48%;justify-content:center;align-items:center;width:54px;height:54px;margin:-27px 0 0 -27px;transition:opacity .8s .1s,transform .8s .1s;display:flex;position:absolute;top:60%;left:50%;box-shadow:0 3px 10px #0006,inset 0 0 0 3px #ffffff1a,inset 0 0 0 5px #00000026}.xv .seal span{font-family:var(--script);color:#fff9f2cc;text-shadow:0 1px 2px #0006;font-size:1.1rem}.xv .env.open .seal{opacity:0;transform:scale(1.1)}.xv .music{z-index:90;cursor:pointer;background:#fff9f2eb;border:1px solid #80002066;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;display:none;position:fixed;bottom:16px;right:16px}.xv .music.show{display:flex}.xv .music svg{width:20px;height:20px;fill:var(--vino)}.xv .pg{padding:110px 28px;position:relative;overflow:hidden}.xv .wrap{z-index:2;max-width:960px;margin:0 auto;position:relative}.xv .wrap.center{text-align:center}.xv .wrap.asym{padding-left:8vw}.xv .bg-crema{background:linear-gradient(180deg, var(--crema) 0%, #faf2e8 100%)}.xv .bg-beige{background:linear-gradient(180deg, #f9ede0, var(--beige))}.xv .bg-vino{background:radial-gradient(ellipse at 40% 0%, var(--vino-claro), var(--vino) 60%, var(--vino-xd));color:var(--crema)}.xv .hero{flex-direction:column;justify-content:center;align-items:center;min-height:100svh;padding-top:80px;display:flex}.xv .back-link{z-index:5;letter-spacing:.32em;text-transform:uppercase;color:var(--vino);border-bottom:1px solid #0000;align-items:center;min-height:44px;font-size:.7rem;text-decoration:none;transition:border-color .3s;display:inline-flex;position:absolute;top:18px;left:20px}.xv .back-link:hover{border-bottom-color:var(--vino)}.xv .arch-hero{z-index:2;flex-direction:column;align-items:center;gap:14px;width:min(440px,88vw);padding:86px 22px 62px;display:flex}.xv .arch-hero .nombre-script{font-size:clamp(3.8rem,17vw,6rem)}.xv .hero-meta{letter-spacing:.32em;text-transform:uppercase;color:var(--vino);flex-direction:column;align-items:center;margin-top:6px;font-size:.75rem;font-weight:600;display:flex}.xv .hero-meta b{letter-spacing:0;color:var(--coral);margin:6px 0;font-size:clamp(4.8rem,22vw,6.8rem);font-style:italic;font-weight:300;line-height:1}.xv .scroll-cue{text-align:center;letter-spacing:.42em;text-transform:uppercase;color:var(--vino);z-index:2;font-size:.68rem;position:absolute;bottom:20px;left:0;right:0}.xv .scroll-cue:after{content:"";background:var(--coral);width:1px;height:32px;margin:7px auto 0;display:block}.xv .count{border-top:1px solid #fff9f259;border-bottom:1px solid #fff9f259;grid-template-columns:repeat(4,1fr);max-width:660px;margin:44px auto 0;display:grid}.xv .count div{border-left:1px solid #fff9f233;padding:24px 4px 18px}.xv .count div:first-child{border-left:0}.xv .count b{color:var(--coral);font-variant-numeric:lining-nums tabular-nums;font-size:clamp(2.4rem,12vw,5rem);font-weight:300;line-height:1;display:block}.xv .count span{letter-spacing:.28em;text-transform:uppercase;color:#fff9f2b3;margin-top:10px;font-size:.6rem;font-weight:600;display:block}.xv .events{margin-top:10px;display:grid}.xv .event{border-top:1px solid var(--linea);padding:36px 0}.xv .event:first-child{border-top:0}.xv .clock{color:var(--texto);letter-spacing:-.02em;margin:10px 0 14px;font-size:clamp(4rem,20vw,7rem);font-weight:300;line-height:1}.xv .clock small{letter-spacing:.3em;color:var(--vino);margin-left:10px;font-size:.75rem;font-weight:600}.xv .venue{font-size:1.65rem;font-style:italic;font-weight:400;line-height:1.2}.xv .addr{opacity:.85;margin:8px 0 22px;font-size:1rem}.xv .tl{border-left:1px solid var(--linea-c);margin-top:46px;list-style:none}.xv .tl li{border-bottom:1px solid #d4506033;grid-template-columns:7rem 1fr;align-items:baseline;gap:14px;padding:18px 0 18px 18px;display:grid;position:relative}.xv .tl li:before{content:"";background:var(--coral);width:7px;height:7px;position:absolute;top:50%;left:-4px;transform:rotate(45deg)translateY(-50%)}.xv .tl .hh{color:var(--texto);font-size:1.9rem;font-weight:300;line-height:1}.xv .tl .hh small{letter-spacing:.22em;color:var(--vino);margin-left:5px;font-size:.6rem;font-weight:600}.xv .tl .tt{letter-spacing:.28em;text-transform:uppercase;color:var(--vino);font-size:.78rem;font-weight:600}.xv .corte-grid{grid-template-columns:1fr 1fr;gap:28px;margin-top:44px;display:grid}.xv .corte-col h3{color:var(--vino);margin-bottom:18px}.xv .corte-col ul{list-style:none}.xv .corte-col li{border-bottom:1px solid var(--linea);padding:12px 0 12px 16px;font-size:1.25rem;font-style:italic;position:relative}.xv .corte-col li:before{content:"";background:var(--coral);width:5px;height:5px;position:absolute;top:50%;left:0;transform:rotate(45deg)translateY(-50%)}.xv .swatches{flex-wrap:wrap;justify-content:center;gap:24px;margin-top:44px;display:flex}.xv .sw{text-align:center;width:80px}.xv .sw i{border:1px solid var(--vino);border-radius:999px 999px 0 0;width:80px;height:120px;margin-bottom:10px;display:block;position:relative}.xv .sw i.reservado:after{content:"Reservado";letter-spacing:.1em;text-transform:uppercase;color:var(--vino);white-space:nowrap;font-size:.52rem;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}.xv .sw span{letter-spacing:.2em;text-transform:uppercase;color:var(--vino);font-size:.6rem;font-weight:600}.xv .gift-grid{gap:20px;margin-top:40px;display:grid}.xv .gift{text-align:center;background:#fff9f280;flex-direction:column;align-items:center;gap:12px;display:flex}.xv .code{font-size:1.3rem;font-style:italic}.xv .bank{text-align:left;width:100%}.xv .bank dt{letter-spacing:.3em;text-transform:uppercase;color:var(--vino);margin-top:10px;font-size:.62rem;font-weight:600}.xv .bank dd{word-break:break-word;font-size:1.2rem}.xv .rsvp-box{background:#fff9f214;flex-direction:column;align-items:center;gap:10px;max-width:560px;margin:0 auto;padding:54px 24px;display:flex}.xv .form{gap:24px;width:100%;margin-top:16px;display:grid}.xv .form label{text-align:center;display:block}.xv input{width:100%;min-height:64px;font-family:var(--display);text-align:center;color:var(--crema);background:0 0;border:0;border-bottom:1px solid #fff9f280;border-radius:0;font-size:2.4rem;font-weight:300}.xv .bye{text-align:center;padding-top:140px;padding-bottom:140px}.xv .mono-big{font-family:var(--script);color:var(--crema);margin:14px 0 10px;font-size:clamp(4rem,17vw,6.2rem);line-height:1}.xv .bye .phrase{max-width:580px;margin-left:auto;margin-right:auto;font-size:clamp(1.8rem,7.5vw,3rem)}.xv .cols{margin-top:48px;display:grid}.xv .col{border-top:1px solid var(--linea);padding:28px 0}.xv .col:first-child{border-top:0}.xv .col .stitle{margin-bottom:12px;display:block}.xv .col p{font-size:1.4rem;font-style:italic;font-weight:400;line-height:1.6}.xv .cta-section{background:linear-gradient(160deg, #2a0008 0%, var(--vino-xd) 50%, #1a000a 100%);color:var(--crema);z-index:2;border-top:5px double #d4506066;padding:130px 28px 150px;position:relative}.xv .cta-inner{text-align:center;flex-direction:column;align-items:center;gap:0;max-width:720px;margin:0 auto;display:flex}.xv .cta-stamp{width:150px;height:150px;margin:0 auto 30px;display:block}.xv .cta-title{text-transform:uppercase;letter-spacing:.1em;text-wrap:balance;max-width:14ch;color:var(--crema);margin:24px auto 0;font-size:clamp(2rem,8vw,3.4rem);font-weight:300;line-height:1.18}.xv .cta-sub{color:#fff9f2bf;margin:20px auto 44px;padding-top:20px;font-size:1.5rem;font-style:italic;font-weight:300;position:relative}.xv .cta-sub:before{content:"";background:#d4506099;width:50px;height:1px;position:absolute;top:0;left:50%;transform:translate(-50%)}.xv .rv{opacity:0;transition:opacity 1.5s,transform 1.5s cubic-bezier(.2,.6,.2,1);transform:translateY(20px)}.xv .rv.in{opacity:1;transform:none}.xv .d1{transition-delay:.15s}.xv .d2{transition-delay:.3s}.xv .d3{transition-delay:.45s}@media (min-width:720px){.xv .pg{padding:150px 48px}.xv .wrap.asym{padding-left:13%}.xv .events{grid-template-columns:1fr 1fr}.xv .event{border-top:0;padding:20px 38px}.xv .event+.xv .event{border-left:1px solid var(--linea)}.xv .cols{grid-template-columns:repeat(3,1fr)}.xv .col{border-top:0;padding:10px 26px}.xv .col+.xv .col{border-left:1px solid var(--linea)}.xv .gift-grid{grid-template-columns:repeat(3,1fr)}.xv .tl li{grid-template-columns:8.5rem 1fr}.xv .tl .hh{font-size:2.4rem}.xv .num{left:5vw}.xv .num.r{right:5vw}.xv .fl-h-a{width:380px}.xv .fl-h-b{width:350px}.xv .fl-w-a,.xv .fl-i-a,.xv .fl-g-a{width:300px}}@media (prefers-reduced-motion:reduce){.xv *,.xv :before,.xv :after{transition-duration:.01ms!important;transition-delay:0s!important;animation:none!important}.xv .rv{opacity:1;transform:none}.xv .hr,.xv .rule span{transform:none}.xv .flor .draw{stroke-dashoffset:0}.xv .flor .pt{opacity:1}}
