body{background:#fff;margin:0;padding:0}.titulo{font-family:Great Vibes,cursive;font-size:3.5rem}.app-background{opacity:0;pointer-events:none;min-height:100vh;font-family:Georgia,serif;transition:opacity .65s;position:relative;overflow-x:hidden}.app-background.visible{opacity:1;pointer-events:auto}.app-background:before{content:"";opacity:.03;z-index:-2;background-image:url(/assets/papeltapiz-NgJCS52x.jpg);background-position:50%;background-size:cover;position:fixed;inset:0}.banner{background-color:#000;width:100%;height:100vh;position:relative;overflow:hidden}.banner-img{object-fit:cover;object-position:52% 10%;filter:brightness(.6)contrast(1.1);width:100%;height:100%;margin-top:0;margin-left:0;display:block}.banner:after{content:"";z-index:1;background:linear-gradient(#00000080 0%,#0003 50%,#000c 100%);position:absolute;inset:0}.banner-content{text-align:center;z-index:2;flex-direction:column;align-items:center;gap:10px;width:100%;max-width:800px;display:flex;position:absolute;top:75%;left:50%;transform:translate(-50%,-50%)}.banner-subtitle{color:#fff;opacity:.85;text-shadow:0 3px 10px #000000e6;margin:0;padding:0 20px;font-family:serif;font-size:clamp(1.1rem,2.3vw,1.65rem);line-height:1.45}.banner-date{color:#fff;opacity:.9;letter-spacing:2px;text-shadow:0 3px 10px #000000e6;font-family:serif;font-size:clamp(1.05rem,2vw,1.4rem)}.banner-title{color:#fff;justify-content:center;align-items:center;gap:20px;margin:0;display:flex}.name{letter-spacing:0;text-transform:none;text-shadow:0 4px 15px #000000f2;opacity:0;font-family:Great Vibes,cursive;font-size:clamp(3.2rem,8vw,6rem);font-weight:400}.name.left{animation:1.2s .6s forwards fadeRight}.name.right{animation:1.2s .6s forwards fadeLeft}.amp{text-shadow:0 4px 15px #000000f2;opacity:0;margin:0 8px;font-family:Great Vibes,cursive;font-size:clamp(3.5rem,9vw,6.5rem);animation:1.5s 1s forwards fadeIn}.banner-logo{z-index:3;opacity:.9;filter:brightness(0)invert()drop-shadow(0 2px 5px #00000080);width:180px;position:absolute;top:30px;right:40px}@media (width<=768px){.banner-img{object-position:60% center;width:100%;height:100%;margin-top:0;margin-left:0;transform:none}.banner:after{content:"";z-index:1;background:linear-gradient(#0000000d,#3c281959,#28190fa6);position:absolute;inset:0}.banner-content{z-index:2;flex-direction:column;align-items:center;gap:12px;width:90%;display:flex;position:absolute;top:65%;left:50%;transform:translate(-50%,-50%)}.banner-subtitle{opacity:.8;letter-spacing:.5px;text-shadow:0 2px 8px #000c;padding:0;font-family:serif;font-size:1rem;line-height:1.45}.name{letter-spacing:1px;text-transform:none;text-shadow:0 4px 12px #000000e6;font-family:Great Vibes,cursive;font-size:2.8rem}.amp{text-shadow:0 4px 12px #000000e6;margin:0 4px;font-family:Great Vibes,cursive;font-size:2.5rem}.banner-date{letter-spacing:2px;opacity:.9;text-shadow:0 2px 6px #000c;margin-top:2px;font-family:serif;font-size:1rem}.banner-logo{opacity:.85;width:80px;top:30px;right:50%;transform:translate(50%)}}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@keyframes fadeRight{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeLeft{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{to{opacity:.9}}.countdown-container{text-align:center;justify-content:center;align-items:center;width:100%;height:70vh;display:flex;position:relative;overflow:visible}.title,.date,.countdown-phrase,.line,.timer,.flor{opacity:0}.countdown-container.is-visible .title{animation:1.2s forwards fadeUp}.countdown-container.is-visible .date{animation:1.2s .3s forwards fadeUp}.countdown-container.is-visible .countdown-phrase{animation:1.5s .6s forwards fadeUp}.countdown-container.is-visible .line{animation:1.5s 1s forwards fadeIn}.countdown-container.is-visible .timer{animation:1.5s 1.2s forwards fadeIn}.countdown-container.is-visible .flor{opacity:1;transition:opacity 1s ease-in}.countdown-content{z-index:2;position:relative}.title{color:#484f2b;font-family:Great Vibes,cursive;font-size:4rem;font-weight:700}.date{margin-top:10px;margin-bottom:30px;font-size:1.7rem}.countdown-phrase{letter-spacing:1px;color:#5a5f38;max-width:600px;margin:0 auto 20px;font-family:Playfair Display,serif;font-size:1.2rem;line-height:1.6}.countdown-phrase:after{content:"";opacity:.5;background:#484f2b;width:60px;height:2px;margin:20px auto 0;display:block}.line{background:#484f2b;width:320px;height:3px;margin:30px auto}.timer{justify-content:center;gap:40px;display:flex}.timer span{letter-spacing:6px;font-size:2.5rem}.timer p{margin-top:8px;font-size:.8rem}.flor{z-index:5;pointer-events:none;width:220px;position:absolute}.flor-top{top:-10px;left:0}.is-visible .flor-top{animation:6s ease-in-out infinite floatFlower}.flor-bottom{bottom:-120px;right:0}.is-visible .flor-bottom{animation:7s ease-in-out infinite floatFlowerReverse}@keyframes floatFlower{0%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(3deg)translateY(-10px)}}@keyframes floatFlowerReverse{0%,to{transform:rotate(0)translateY(0)}50%{transform:rotate(-4deg)translateY(10px)}}@media (width<=768px){.countdown-container{height:auto;padding:60px 1px}.timer{justify-content:space-between;align-items:center;gap:10px;max-width:320px;margin:25px auto;display:flex}.timer div{text-align:center;flex:1}.timer span{letter-spacing:1px;font-size:1.8rem;display:block}.timer p{letter-spacing:2px;margin-top:4px;font-size:.7rem}.line{width:120px}.flor{width:100px}.countdown-container.is-visible .flor{opacity:.7}.countdown-phrase{text-align:center;max-width:280px;margin:0 auto;font-size:.9rem;line-height:1.4}.countdown-phrase:after{width:50px;margin:15px auto 0}.timer{max-width:280px;margin:20px auto}.timer span{font-size:1.6rem}.flor-bottom{bottom:-50px;right:-5px}}.quote-container{text-align:center;filter:contrast(1.05)saturate(1.05);opacity:0;background-color:#cdbdb0;background-position:50%;background-repeat:no-repeat;background-size:cover;max-height:300px;padding:40px 20px 120px;font-family:Georgia,serif;transition:opacity 1.5s,transform 1.5s;position:relative;overflow:visible;transform:translateY(30px)}.quote-container:before{content:"";-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);z-index:1;background:#ccbaa599;position:absolute;inset:0}.quote-content{z-index:2;max-width:850px;margin:auto;position:relative}.quote-text{color:#2b2b2b;letter-spacing:.5px;font-size:1.5rem;line-height:1.9}.quote-mark{color:#222;font-size:7rem;line-height:1}.quote-mark.bottom{margin-top:0}.quote-flor-top{z-index:3;width:500px;position:absolute;top:-120px;left:50%;transform:translate(-50%)}.quote-flor-bottom{z-index:3;width:200px;position:absolute;bottom:-70px;left:50%;transform:translate(-50%)}.quote-container.visible{opacity:1;transform:translateY(0)}.galeria-container{text-align:center;opacity:0;padding:100px 20px;font-family:Great Vibes,cursive;transition:opacity 1s ease-out,transform 1s ease-out;overflow:hidden;transform:translateY(30px)}.galeria-container.visible{opacity:1;transform:translateY(0)}.galeria-container h2{color:#4b5144;opacity:0;margin-bottom:10px;font-family:Great Vibes,cursive;font-size:2.8rem;transition:opacity .8s .2s}.galeria-container.visible h2{opacity:1}.galeria-container h2 strong{text-shadow:0 0 .5px;font-weight:600}.carrusel-wrapper{opacity:0;max-width:1100px;margin:50px auto;transition:opacity 1s .4s;position:relative}.galeria-container.visible .carrusel-wrapper{opacity:1}.carrusel{scroll-snap-type:x mandatory;scrollbar-width:none;align-items:center;gap:30px;padding:60px 20px;display:flex;overflow-x:auto}.carrusel::-webkit-scrollbar{display:none}.carrusel-item{scroll-snap-align:center;perspective:1000px;flex:none}.carrusel img{object-fit:cover;cursor:pointer;filter:brightness(.9);opacity:0;background:#fff;border-radius:4px;width:320px;height:400px;padding:15px 15px 60px;transition:transform .4s cubic-bezier(.165,.84,.44,1),filter .4s,box-shadow .4s,opacity .6s;transform:rotateY(15deg)translateY(60px);box-shadow:0 10px 30px #00000026}.galeria-container.visible .carrusel-item img{opacity:1;transform:rotate(-2deg)translateY(0)}.galeria-container.visible .carrusel-item:first-child img{opacity:1;transition-delay:.5s;transform:rotate(-4deg)translateY(0)}.galeria-container.visible .carrusel-item:nth-child(2) img{opacity:1;transition-delay:.7s;transform:rotate(2deg)translateY(0)}.galeria-container.visible .carrusel-item:nth-child(3) img{opacity:1;transition-delay:.9s;transform:rotate(-2deg)translateY(0)}.galeria-container.visible .carrusel-item:nth-child(4) img{opacity:1;transition-delay:1.1s;transform:rotate(4deg)translateY(0)}.galeria-container.visible .carrusel-item:nth-child(5) img{transition-delay:1.3s;transform:rotate(-3deg)translateY(0)}.galeria-container.visible .carrusel-item:nth-child(6) img{transition-delay:1.5s;transform:rotate(3deg)translateY(0)}.galeria-container.visible .carrusel-item:nth-child(n+7) img{transition-delay:1.6s}.carrusel img:hover{filter:brightness();z-index:10;box-shadow:0 20px 50px #0000004d;transform:scale(1.1)rotate(0)translateY(-10px)!important}.nav{color:#fff;cursor:pointer;z-index:10;background-color:#000;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:55px;height:55px;font-size:32px;transition:all .3s cubic-bezier(.2,1,.3,1);display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 15px #0006}.nav:hover{color:#000;background-color:#fff;transform:translateY(-50%)scale(1.1);box-shadow:0 6px 20px #0009}.prev{left:-15px}.next{right:-15px}.lightbox{opacity:0;visibility:hidden;z-index:2000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000f2;justify-content:center;align-items:center;transition:all .5s;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;visibility:visible}.lightbox-content{justify-content:center;align-items:center;width:90%;height:90%;display:flex}.lightbox-img{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%;transition:transform .6s cubic-bezier(.34,1.56,.64,1);transform:scale(.8)translateY(30px);box-shadow:0 0 40px #0009}.lightbox.active .lightbox-img{transform:scale(1)translateY(0)}.close{color:#fff;cursor:pointer;z-index:2100;background-color:#000;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:40px;transition:all .3s;display:flex;position:absolute;top:30px;right:40px}.close:hover{color:#000;background-color:#fff;transform:rotate(90deg)scale(1.1)}@media (width<=768px){.galeria-container{padding:60px 10px}.galeria-container h2{letter-spacing:2px;font-size:2.3rem}.carrusel{gap:20px;padding:30px 10px}.carrusel img{width:270px;height:340px;padding:10px 10px 45px}.galeria-container.visible .carrusel-item img{transform:rotate(0)translateY(0);transition-delay:.3s!important}.nav{width:45px;height:45px;font-size:24px}.prev{left:5px}.next{right:5px}.close{width:40px;height:40px;font-size:30px;top:20px;right:20px}}.lugares-container{text-align:center;padding:100px 20px;font-family:Georgia,serif;overflow:hidden}.cards{flex-wrap:wrap;justify-content:center;gap:50px;margin-top:50px;display:flex}.card{z-index:1;opacity:0;background:#fff;border-radius:16px;width:300px;padding:35px;transition:transform .6s ease-in,opacity .6s ease-in;position:relative;transform:translateY(60px);box-shadow:0 10px 25px #00000014}.visible .card{opacity:1;transition:transform .8s cubic-bezier(.175,.885,.32,1.1),opacity .8s ease-out;transform:translateY(0)}.visible .card:first-child{transition-delay:.1s}.visible .card:nth-child(2){transition-delay:.3s}.card:hover{box-shadow:0 20px 40px #0000001f;transform:translateY(-12px)scale(1.02)!important}.card:before{content:"";z-index:0;opacity:0;background:linear-gradient(120deg,#0000 0%,#fff6 50%,#0000 100%);transition:all .5s;position:absolute;inset:0}.card:hover:before{opacity:1}.card-icon{opacity:.9;width:70px;margin-bottom:15px;transition:transform .4s}.card:hover .card-icon{transform:scale(1.15)}.card h3{letter-spacing:1px;margin-bottom:10px;font-family:Playfair Display,serif}.hora{letter-spacing:1px;margin-bottom:10px;font-size:1.1rem}.direccion{color:#555;margin-bottom:25px;font-size:.9rem;line-height:1.5}.card button{z-index:2;color:#fff;cursor:pointer;letter-spacing:1px;border:none;border-radius:25px;padding:12px 22px;font-family:Georgia,italic;font-size:.8rem;transition:all .3s;position:relative;background-color:#6b705c!important}.card button:hover{transform:translateY(-2px);box-shadow:0 8px 15px #00000026;background-color:#5a5f4f!important}.card button:active{transform:scale(.96)}@media (width<=1024px){.cards{gap:30px}.card{width:260px;padding:30px}}@media (width<=768px){.lugares-container{padding:70px 15px}.cards{flex-direction:column;align-items:center;gap:25px}.card{width:100%;max-width:320px;padding:25px}.card button{width:100%}}@media (width<=480px){.card{max-width:290px}}.timeline-container{text-align:center;opacity:0;padding:140px;font-family:Georgia,serif;transition:all 1s;overflow:hidden;transform:translateY(60px)}.timeline-container.visible{opacity:1;transform:translateY(0)}.timeline{justify-content:center;align-items:flex-start;gap:140px;margin-top:-100px;display:flex;position:relative}.timeline:before{content:"";transform-origin:0;z-index:0;background-color:#d8cfc4;width:85%;height:3px;position:absolute;top:50%;transform:translateY(-50%)scaleX(0)}.timeline-container.visible .timeline:before{animation:1.5s forwards drawLine}.timeline-item{text-align:center;z-index:2;opacity:0;max-width:180px;transition:transform .35s,filter .35s,opacity .35s;position:relative;transform:translateY(40px)}.timeline-container.visible .timeline-item:first-child{animation:.8s .3s forwards fadeUp}.timeline-container.visible .timeline-item:nth-child(2){animation:.8s .5s forwards fadeUp}.timeline-container.visible .timeline-item:nth-child(3){animation:.8s .7s forwards fadeUp}.timeline-container.visible .timeline-item:nth-child(4){animation:.8s .9s forwards fadeUp}.timeline-container.visible .timeline-item:nth-child(5){animation:.8s 1.1s forwards fadeUp}.timeline-icon{opacity:0;width:70px;margin-bottom:20px;transition:transform .3s}.timeline-container.visible .timeline-icon{animation:1s forwards fadeIn}.circle{z-index:2;background:#fff;border:3px solid #b89b72;border-radius:50%;width:28px;height:28px;margin:5px auto;transition:box-shadow .3s;animation:2s infinite pulse;position:relative}.timeline:has(.timeline-item:hover) .timeline-item:not(:hover){filter:blur(4px);opacity:.4;transform:scale(.95)}.timeline-item:hover{filter:blur();opacity:1;z-index:10;transform:scale(1.15)translateY(-10px)}.timeline-item:hover .timeline-icon{transform:scale(1.1)}.timeline-item:hover .circle{box-shadow:0 10px 25px #0003}.timeline-item h3{letter-spacing:1px;margin-bottom:6px;font-size:1.2rem}.timeline-item p{color:#555;font-size:1.5rem}@keyframes drawLine{to{transform:translateY(-50%)scaleX(1)}}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #b89b7266}70%{transform:scale(1.1);box-shadow:0 0 0 10px #b89b7200}to{transform:scale(1)}}@media (width<=768px){.timeline-container{padding:60px 20px}.timeline{flex-direction:column;align-items:center;gap:50px;margin-top:40px;display:flex;position:relative}.timeline:before{content:"";z-index:0;background-color:#d8cfc4;width:3px;height:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.timeline-container.visible .timeline:before{animation:1.5s forwards growLine}.timeline-item{z-index:1;grid-template-rows:auto auto auto;grid-template-columns:1fr 50px 1fr;align-items:start;width:100%;max-width:450px;display:grid;position:relative}.circle{z-index:2;grid-area:1/2/span 3;place-self:start center;margin-top:10px;animation:2s infinite pulse;position:relative;transform:none}.timeline-icon{width:45px;margin-bottom:8px}.timeline-item:nth-child(odd) .timeline-icon,.timeline-item:nth-child(odd) h3,.timeline-item:nth-child(odd) p{text-align:right;grid-column:1;justify-self:end}.timeline-item:nth-child(2n) .timeline-icon,.timeline-item:nth-child(2n) h3,.timeline-item:nth-child(2n) p{text-align:left;grid-column:3;justify-self:start}.timeline-icon{grid-row:1}.timeline-item h3{grid-row:2;margin:0;font-size:.95rem;line-height:1.2}.timeline-item p{grid-row:3;margin-top:4px;font-size:.9rem}.timeline-item:hover{transform:none}.timeline:has(.timeline-item:hover) .timeline-item:not(:hover){filter:none;opacity:1}@keyframes growLine{to{height:100%}}}.padres-container.visible{opacity:1;transform:translateY(0)}.card-info{text-align:center;opacity:0;background:#fff;border-radius:12px;max-width:500px;margin:0 auto 60px;padding:40px;font-family:Georgia,serif;transition:all .8s cubic-bezier(.2,1,.3,1);transform:scale(.9)translateY(20px);box-shadow:0 5px 25px #0000000f}.card-info.visible{opacity:1;transform:scale(1)translateY(0)}.card-logo{opacity:0;width:80px;margin-bottom:20px;transition:all .6s cubic-bezier(.34,1.56,.64,1) .3s;transform:rotate(-10deg)scale(.5)}.visible .card-logo{opacity:1;transform:rotate(0)scale(1)}.card-info h2{letter-spacing:1px;color:#535849;margin-bottom:10px;font-family:Great Vibes,cursive;font-size:2.8rem;font-weight:700}.card-text{color:#6b705c;opacity:0;margin:20px 0;line-height:1.6;transition:opacity .8s .5s}.visible .card-text{opacity:1}.card-buttons{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:25px;display:flex}.card-btn{color:#fff;letter-spacing:1px;opacity:0;background:#6b705c;border-radius:20px;padding:10px 25px;font-family:Georgia,italic;font-size:.8rem;text-decoration:none;transition:all .4s;transform:translateY(15px)}.visible .card-btn{opacity:1;transform:translateY(0)}.visible .card-btn:first-child{transition-delay:.7s}.visible .card-btn:nth-child(2){transition-delay:.8s}.visible .card-btn:nth-child(3){transition-delay:.9s}.visible .card-btn:nth-child(4){transition-delay:1s}.visible .card-btn:nth-child(5){transition-delay:1.1s}.card-btn:hover{background:#5a5f4f;transform:translateY(-3px);box-shadow:0 5px 15px #0000001a}.card-btn:active{transform:scale(.95)}@media (width<=600px){.card-info{max-width:90%;padding:30px 20px}.card-info h2{font-size:2.2rem}.card-btn{text-align:center;width:100%}}.popup-overlay{opacity:0;pointer-events:none;z-index:999;background:#0006;justify-content:center;align-items:center;transition:all .4s;display:flex;position:fixed;inset:0}.popup-overlay.active{opacity:1;pointer-events:all}.popup-content{text-align:left;background:#f4efea;border-radius:12px;width:90%;max-width:400px;padding:30px;font-family:Georgia,serif;transition:all .3s;position:relative;transform:scale(.9)}.popup-overlay.active .popup-content{transform:scale(1)}.popup-content h3{color:#5a5f4f;margin-bottom:15px;font-family:Great Vibes,cursive;font-size:2rem;font-weight:400}.popup-content pre{white-space:pre-wrap;color:#333;font-family:Georgia,serif;font-size:.95rem;line-height:1.6}.popup-close{cursor:pointer;color:#5a5f4f;font-size:1.5rem;position:absolute;top:10px;right:15px}.dresscode-container{text-align:center;background-color:#f4efea;border-top:1px solid #b8afa48c;border-bottom:1px solid #b8afa48c;margin:20px 0 70px;padding:90px 20px;font-family:Georgia,serif;position:relative;overflow:hidden}.dresscode-container:before{content:"";opacity:.04;filter:blur(2px);z-index:0;background:url(/assets/papeltapiz-NgJCS52x.jpg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.05)}.dresscode-container:after{content:"";z-index:1;background:#f4efeae6;position:absolute;inset:0}.dresscode-container>*{z-index:2;position:relative}.dresscode-content{flex-wrap:wrap;justify-content:center;align-items:center;gap:60px;max-width:900px;margin:auto;display:flex}.dresscode-content button{z-index:2;color:#fff;cursor:pointer;letter-spacing:1px;border:none;border-radius:25px;padding:12px 22px;font-family:Georgia,italic;font-size:.8rem;transition:all .3s;position:relative;background-color:#6b705c!important}.dresscode-content button:hover{transform:translateY(-2px);box-shadow:0 8px 15px #00000026;background-color:#5a5f4f!important}.dresscode-content button:active{transform:scale(.96)}.dresscode-text{opacity:0;max-width:400px;transition:all 1s cubic-bezier(.2,1,.3,1);transform:translate(-50px)}.visible .dresscode-text{opacity:1;transform:translate(0)}.dresscode-text h2{letter-spacing:2px;color:#4b5144;margin-bottom:15px;font-family:Great Vibes,cursive;font-size:3.5rem;font-weight:700}.dresscode-text h3{letter-spacing:2px;color:#4b5144;margin-bottom:15px;font-family:Great Vibes,cursive;font-size:2.8rem;font-weight:700}.dresscode-text p{color:#4f4a43;font-family:Georgia,serif;line-height:1.65}.dress-main{letter-spacing:.5px;margin:15px 0;font-size:1.25rem;font-weight:600}.dress-note{color:#6b705c;margin-top:15px;font-size:1rem;font-style:normal}.dresscode-image{opacity:0;transition:all 1s cubic-bezier(.2,1,.3,1) .2s;transform:translate(50px)}.visible .dresscode-image{opacity:1;transform:translate(0)}.dresscode-image img{filter:drop-shadow(0 5px 15px #0000001a);width:25px;height:auto;animation:none}@media (width<=768px){.dresscode-container{padding:50px 25px}.dresscode-content{flex-direction:column-reverse;gap:30px}.dresscode-text,.dresscode-image{transform:translateY(30px)}.visible .dresscode-text,.visible .dresscode-image{transform:translateY(0)}.dresscode-text h2{font-size:2.3rem}.dresscode-text h3{font-size:2rem}.dresscode-image img{width:80px}}.confirmacion-container{text-align:center;opacity:0;padding:80px 20px;font-family:Georgia,serif;transition:all 1s cubic-bezier(.2,1,.3,1);transform:translateY(40px)}.confirmacion-container.visible{opacity:1;transform:translateY(0)}.confirmacion-container h2{letter-spacing:1px;color:#4b5144;margin-bottom:25px;font-family:Great Vibes,cursive;font-size:3.5rem;font-weight:600}.confirmacion-form{text-align:left;background:#fdfdfd;border-radius:15px;flex-direction:column;gap:20px;max-width:500px;margin:0 auto;padding:30px;display:flex;box-shadow:0 10px 30px #0000000d}.form-group{opacity:0;flex-direction:column;gap:8px;transition:all .6s;display:flex;transform:translateY(20px)}.visible .form-group:first-child{opacity:1;transition-delay:.3s;transform:translateY(0)}.visible .form-group:nth-child(2){opacity:1;transition-delay:.5s;transform:translateY(0)}.visible .form-group:nth-child(3){opacity:1;transition-delay:.7s;transform:translateY(0)}.confirmacion-form label{color:#555;margin-left:5px;font-size:.95rem}.confirmacion-form input,.confirmacion-form select,.confirmacion-form textarea{background-color:#fff;border:1px solid #eee;border-radius:10px;outline:none;padding:14px;font-family:inherit;font-size:1rem;transition:all .3s}.confirmacion-form input:focus,.confirmacion-form select:focus,.confirmacion-form textarea:focus{background-color:#fefcf9;border-color:#6b705c;box-shadow:0 0 8px #6b705c33}.submit-btn{color:#fff;cursor:pointer;letter-spacing:1px;opacity:0;background:#6b705c;border:none;border-radius:30px;margin-top:15px;padding:15px;font-family:Playfair Display,serif;font-size:.9rem;transition:all .4s cubic-bezier(.175,.885,.32,1.27);transform:scale(.8)}.visible .submit-btn{opacity:1;transition-delay:.9s;transform:scale(1)}.submit-btn:hover{background:#5a5f4f;transform:translateY(-3px)scale(1.02);box-shadow:0 10px 20px #6b705c33}.submit-btn:active{transform:scale(.98)}.submit-btn:disabled{cursor:wait;opacity:.75;transform:none}.confirmacion-status{color:#5a5f4f;text-align:center;margin:0;line-height:1.5}.attendee-confirmation-list{flex-direction:column;gap:12px;display:flex}.attendee-confirmation-row{background:#fff;border:1px solid #eee;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.attendee-confirmation-row span{color:#4b5144;font-weight:600}.attendee-confirmation-options{flex-shrink:0;gap:12px;display:flex}.attendee-confirmation-options label{color:#555;flex-direction:row;align-items:center;gap:5px;margin:0;display:inline-flex}.attendee-empty-message{color:#777;margin:0;line-height:1.5}@media (width<=768px){.confirmacion-container h2{font-size:2.3rem}.confirmacion-form{box-shadow:none;background:0 0;padding:20px}.attendee-confirmation-row{flex-direction:column;align-items:flex-start}}.confirmacion-illustration{opacity:0;justify-content:center;margin-bottom:20px;transition:all .8s;display:flex;transform:translateY(20px)}.confirmacion-illustration img{opacity:.85;filter:sepia(.4)saturate(.8);width:80px;transition:transform .6s}.visible .confirmacion-illustration{opacity:1;transition-delay:.2s;transform:translateY(0)}.confirmacion-illustration img:hover{transform:scale(1.05)}.timeline-elegant{text-align:center;opacity:0;background:#f4efea;padding:120px 20px;font-family:Georgia,serif;transition:all 1s;position:relative;overflow:hidden;transform:translateY(40px)}.timeline-elegant:before{content:"";opacity:.04;filter:blur(2px);z-index:0;background:url(../assets/tu-imagen.jpg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.05)}.timeline-elegant:after{content:"";z-index:1;background:#f4efeae6;position:absolute;inset:0}.timeline-elegant>*{z-index:2;position:relative}.timeline-elegant.visible{opacity:1;transform:translateY(0)}.timeline-title{color:#5a5f4f;margin-bottom:60px;font-family:Great Vibes,cursive;font-size:3rem}.timeline-line{justify-content:space-between;align-items:center;max-width:800px;margin:auto;display:flex;position:relative}.timeline-line:before{content:"";transform-origin:0;background:#b8afa4;width:100%;height:2px;position:absolute;top:50%;left:0;transform:translateY(-50%)scaleX(0)}.timeline-elegant.visible .timeline-line:before{animation:1.2s forwards drawLine}.timeline-point{text-align:center;opacity:0;width:100px;transform:translateY(20px)}.timeline-elegant.visible .timeline-point:first-child{animation:.6s .3s forwards fadeUp}.timeline-elegant.visible .timeline-point:nth-child(2){animation:.6s .5s forwards fadeUp}.timeline-elegant.visible .timeline-point:nth-child(3){animation:.6s .7s forwards fadeUp}.timeline-elegant.visible .timeline-point:nth-child(4){animation:.6s .9s forwards fadeUp}.time{color:#5a5f4f;margin-bottom:10px}.dot{background:#5a5f4f;border-radius:50%;width:8px;height:8px;margin:0 auto}.label{letter-spacing:2px;color:#7a766f;margin-top:10px;font-size:.85rem}@media (width<=768px){.timeline-line{flex-direction:column;align-items:stretch;gap:30px}.timeline-line:before{display:none}.timeline-point{opacity:0;grid-template-columns:72px 14px 72px;justify-content:center;align-items:center;gap:12px;width:100%;display:grid;transform:translateY(20px)}.time{letter-spacing:1px;font-size:1.4rem;font-weight:500}.dot{border-radius:0;width:14px;height:1px;margin:0;display:block}.label{letter-spacing:2px;text-align:left;font-size:1.05rem}.timeline-elegant:before{opacity:.03;filter:blur(2px)}.timeline-elegant:after{background:#f4efeaeb}}.mensaje-agradecimiento{text-align:center;opacity:0;background-color:#f4efea;border-top:1px solid #b8afa48c;border-bottom:1px solid #b8afa48c;margin:28px 0 0;padding:82px 24px;font-family:Georgia,serif;transition:opacity 1s,transform 1s;position:relative;overflow:hidden;transform:translateY(28px)}.mensaje-agradecimiento:before{content:"";opacity:.04;filter:blur(2px);z-index:0;background:url(/assets/papeltapiz-NgJCS52x.jpg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.05)}.mensaje-agradecimiento:after{content:"";z-index:1;background:#f4efeae6;position:absolute;inset:0}.mensaje-agradecimiento>*{z-index:2;position:relative}.mensaje-agradecimiento.visible{opacity:1;transform:translateY(0)}.mensaje-agradecimiento-content{max-width:680px;margin:0 auto;padding:0 18px}.mensaje-agradecimiento-content h2{letter-spacing:2px;color:#4b5144;margin:0 0 22px;font-family:Great Vibes,cursive;font-size:3.5rem;font-weight:700}.mensaje-agradecimiento-content p{color:#4f4a43;letter-spacing:.3px;margin:0;font-size:1.08rem;line-height:1.85}.mensaje-agradecimiento-content p+p{margin-top:18px}@media (width<=768px){.mensaje-agradecimiento{margin-top:22px;padding:64px 22px}.mensaje-agradecimiento-content{padding:0}.mensaje-agradecimiento-content h2{margin-bottom:18px;font-size:2.5rem}.mensaje-agradecimiento-content p{font-size:1rem;line-height:1.75}}.intro-envelope-screen{z-index:1000;text-align:center;opacity:1;visibility:visible;background:#f4efea;justify-content:center;align-items:center;padding:0;font-family:Georgia,serif;transition:opacity .5s,visibility .5s;display:flex;position:fixed;inset:0;overflow:hidden}.intro-envelope-screen:before{content:"";opacity:.34;filter:blur(20px);background:url(/assets/Presentacion1_first_frame-EzitLGpb.jpeg) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.08)}.intro-envelope-screen:after{content:"";background:radial-gradient(circle at 50% 45%,#ffffff42,#0000 42%),#f4efeab8;position:absolute;inset:0}.intro-envelope-screen.fading{opacity:0;visibility:hidden}.intro-envelope-stage{z-index:3;width:100vw;max-width:none;height:100dvh;display:block;position:relative;transform:none}.intro-flor{z-index:2;opacity:.84;pointer-events:none;filter:drop-shadow(0 14px 20px #20251a47);width:min(480px,82vw);position:absolute}.intro-flor-top{top:auto;bottom:-18px;left:50%;transform:translate(-50%)}.envelope-video-button{cursor:pointer;background:0 0;border:0;width:100vw;height:100dvh;max-height:none;padding:0;display:block;position:absolute;inset:0;overflow:hidden}.envelope-video-button:disabled{cursor:default}.presentation-poster{z-index:1;object-fit:contain;object-position:50% 50%;clip-path:inset(0 0 3px);pointer-events:none;opacity:1;background:#f4efea;width:100vw;height:100dvh;transition:opacity .18s;display:block;position:absolute;inset:0}.envelope-video{z-index:2;object-fit:contain;object-position:50% 50%;clip-path:inset(0 0 3px);filter:none;background:0 0;border-radius:0;width:100vw;max-width:none;height:100dvh;max-height:none;display:block;position:absolute;inset:0}.intro-envelope-screen.playing .presentation-poster{opacity:0}.envelope-guest-card{z-index:3;color:#383737;text-align:right;pointer-events:none;width:min(22vh,34vw);text-shadow:none;flex-direction:column;align-items:flex-end;gap:5px;padding:0;display:flex;position:absolute;bottom:13.5%;right:calc(50% - min(28.125vh,50vw) + min(4.8vh,8vw))}.envelope-kicker{color:#3f4639;letter-spacing:1.8px;text-transform:uppercase;font-size:.95rem;font-weight:700;line-height:1.6}.envelope-guest-name{flex-direction:column;align-items:flex-end;gap:7px;font-family:Sloop Script,Great Vibes,Bickham Script Pro,Edwardian Script ITC,cursive;font-size:clamp(1.25rem,2.35vw,2rem);font-weight:400;line-height:.9;display:flex}.envelope-guest-passes{color:#44423f;letter-spacing:1.2px;text-transform:uppercase;font-size:clamp(.52rem,.95vw,.72rem);font-weight:600}.intro-envelope-action{z-index:4;color:#393835;letter-spacing:.08em;text-shadow:none;white-space:nowrap;pointer-events:none;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(.82rem,1.65vw,1.08rem);font-style:normal;font-weight:500;line-height:1.25;position:absolute;top:clamp(26px,6.2vh,58px);left:50%;transform:translate(-50%)}.intro-light-effect{z-index:5;pointer-events:none;opacity:0;background:radial-gradient(circle,#fff 0%,#fffffffa 20%,#fffaf0d9 45%,#0000 75%);transition:opacity 1s,transform 1s;position:absolute;inset:-20%;transform:scale(.6)}.intro-envelope-screen.show-light .intro-light-effect{opacity:.92;transform:scale(3.2)}.envelope-video::-webkit-media-controls{display:none!important}@media (width<=768px){.intro-envelope-screen:before{opacity:.24;filter:blur(.35px);background:url(/assets/papeltapiz-NgJCS52x.jpg) 50%/cover no-repeat;transform:scale(1.02)}.intro-envelope-screen:after{background:radial-gradient(circle at 50% 45%,#ffffff57,#0000 38%),#f4efea9e}.intro-envelope-screen{padding:0}.intro-envelope-stage{max-width:none;height:100dvh}.envelope-video-button{width:100vw;height:100dvh;max-height:100dvh}.envelope-video,.presentation-poster{object-fit:contain;object-position:50% 50%}.intro-envelope-screen.playing .envelope-video,.intro-envelope-screen.playing .presentation-poster{object-fit:cover;object-position:60% 40%}.envelope-guest-card{width:42%;bottom:13%;right:7.5%}.envelope-guest-name{font-size:clamp(1.55rem,7vw,2.45rem)}.envelope-kicker{font-size:.76rem}.envelope-guest-passes{font-size:.68rem}.intro-flor{opacity:.82;width:min(360px,78vw)}.intro-flor-top{top:auto;bottom:-22px}}@media (width<=480px){.intro-envelope-screen{padding:0}.envelope-video-button{width:100vw;max-width:100%;height:100dvh}.envelope-guest-card{width:42%;bottom:12.8%;right:7.2%}.envelope-kicker{letter-spacing:1px;font-size:.56rem}.envelope-guest-name{font-size:clamp(1.32rem,6.5vw,2rem)}.envelope-guest-passes{font-size:.56rem}.intro-envelope-action{letter-spacing:.07em;font-size:clamp(.72rem,3.1vw,.9rem);top:clamp(24px,7vh,48px)}.intro-flor{width:78vw}.intro-flor-top{top:auto;bottom:10px}}@media (width<=375px){.envelope-guest-card{width:43%;bottom:12.6%;right:6.8%}.envelope-guest-name{font-size:1.18rem}.envelope-kicker{font-size:.48rem}.envelope-guest-passes{font-size:.5rem}}.music-control{z-index:900;color:#4b5144;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#f4efeadb;border:1px solid #6b705c59;border-radius:999px;align-items:center;gap:8px;padding:9px 13px;font-family:Georgia,serif;font-size:.85rem;transition:transform .25s,background .25s;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 22px #0000001f}.music-control:hover{background:#f4efeaf5;transform:translateY(-2px)}.music-control-icon{color:#6b705c;letter-spacing:.5px;min-width:28px;font-size:.78rem}.music-control-text{letter-spacing:.5px}@media (width<=600px){.music-control{padding:8px 11px;bottom:14px;right:14px}.music-control-text{display:none}}.admin-shell,.admin-login{color:#333;background:#f4efea;min-height:100vh;padding:32px;font-family:Georgia,serif}.admin-login{justify-content:center;align-items:center;display:flex}.admin-login-card,.admin-form-panel,.admin-list-panel{background:#ffffffdb;border:1px solid #b8afa473;border-radius:8px;box-shadow:0 12px 30px #0000000f}.admin-login-card{flex-direction:column;gap:16px;width:min(100%,420px);padding:32px;display:flex}.admin-login-card h1,.admin-header h1,.admin-form-panel h2{color:#4b5144;margin:0}.admin-login-card input,.admin-form input,.admin-form select,.admin-form textarea{box-sizing:border-box;border:1px solid #d8cfc4;border-radius:6px;width:100%;padding:12px 14px;font-family:inherit;font-size:1rem}.admin-login-card button,.admin-form-actions button,.admin-filters button,.admin-table button,.admin-secondary-btn{color:#fff;cursor:pointer;background:#6b705c;border:0;border-radius:999px;padding:10px 16px;font-family:inherit}.admin-secondary-btn,.admin-table button{color:#4b5144;background:#d8cfc4}.admin-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.admin-header p{color:#6b705c;margin:8px 0 0}.admin-form-panel,.admin-list-panel{margin-bottom:24px;padding:24px}.admin-form{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.admin-form label{color:#555;flex-direction:column;gap:8px;font-size:.92rem;display:flex}.admin-form-wide,.admin-form-actions{grid-column:1/-1}.admin-form-actions{flex-wrap:wrap;gap:12px;display:flex}.admin-message{color:#5a5f4f;margin:12px 0 0}.admin-filters{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.admin-filters button.active{color:#fff;background:#4b5144}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:980px}.admin-table th,.admin-table td{vertical-align:top;text-align:left;border-bottom:1px solid #e6ded6;padding:12px}.admin-table th{color:#4b5144;text-transform:uppercase;letter-spacing:.7px;font-size:.86rem}.admin-table small{color:#6b705c;margin-top:6px;display:block}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=800px){.admin-shell,.admin-login{padding:18px}.admin-header{flex-direction:column;align-items:flex-start}.admin-form{grid-template-columns:1fr}}
