.particles-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999;overflow:hidden}.particle{position:absolute;width:6px;height:6px;background:radial-gradient(circle,var(--color-primary) 0%,transparent 70%);border-radius:50%;opacity:.6;animation:particleFall linear infinite;box-shadow:0 0 6px #d4a574cc}.particle:before{content:"";position:absolute;top:-2px;left:-2px;width:10px;height:10px;background:radial-gradient(circle,rgba(201,169,97,.4) 0%,transparent 70%);border-radius:50%;animation:particleGlow 2s ease-in-out infinite}.particle-small{width:4px;height:4px;animation-duration:8s}.particle-medium{width:6px;height:6px;animation-duration:10s}.particle-large{width:8px;height:8px;animation-duration:12s}.particle-gold{background:radial-gradient(circle,var(--color-secondary) 0%,transparent 70%);box-shadow:0 0 8px #c9a961e6}.particle-accent{background:radial-gradient(circle,var(--color-accent) 0%,transparent 70%);box-shadow:0 0 6px #f5e6d3b3}.particle-heart{width:12px;height:12px;background:none;position:relative;animation:particleFall linear infinite,heartFloat 3s ease-in-out infinite}.particle-heart:after{content:"♥";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-primary);font-size:10px;opacity:.7;animation:heartPulse 2s ease-in-out infinite}.particle-star{width:10px;height:10px;background:none;position:relative;animation:particleFall linear infinite,starRotate 4s linear infinite}.particle-star:after{content:"✦";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-secondary);font-size:8px;opacity:.6}@keyframes particleFall{0%{transform:translateY(-100vh) translate(0) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(100vh) translate(var(--drift-x, 0)) rotate(360deg);opacity:0}}@keyframes particleGlow{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}@keyframes heartFloat{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-10px) rotate(-5deg)}75%{transform:translate(10px) rotate(5deg)}}@keyframes heartPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.2);opacity:1}}@keyframes starRotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.intro-section .particles-container{z-index:10001}.intro-section .particle{opacity:.8;animation-duration:6s}.hero-section .particles-container{z-index:3}.hero-section .particle{opacity:.4;animation-duration:15s}@media(max-width:768px){.particle{width:4px;height:4px}.particle-heart{width:8px;height:8px}.particle-heart:after{font-size:8px}.particle-star{width:8px;height:8px}.particle-star:after{font-size:6px}}@media(max-width:480px){.particles-container{display:none}}.intro-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#1a1a1a,#2c2c2c,#1a1a1a);z-index:10000;display:flex;align-items:center;justify-content:center;animation:introFadeOut 1.5s ease-in-out 5s forwards;overflow:hidden}.intro-overlay.hidden{display:none}.intro-background{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(212,165,116,.15) 0%,transparent 50%),radial-gradient(circle at 80% 50%,rgba(201,169,97,.15) 0%,transparent 50%);animation:introBackgroundPulse 4s ease-in-out infinite}@keyframes introBackgroundPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}.intro-content{position:relative;z-index:2;text-align:center;color:var(--color-white);width:100%;max-width:900px;padding:2rem}.intro-text-container{margin-bottom:2rem}.intro-nombre-novio,.intro-nombre-novia{font-family:var(--font-secondary);font-size:5rem;font-weight:700;margin:.5rem 0;opacity:0;transform:translateY(60px) scale(.7) rotate(-5deg);animation:introNombreEntrada 1.2s cubic-bezier(.34,1.56,.64,1) .6s forwards;text-shadow:0 0 40px rgba(212,165,116,.6),0 0 80px rgba(212,165,116,.4),0 0 120px rgba(201,169,97,.2);background:linear-gradient(135deg,#d4a574,#fff,#c9a961);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:4px}.intro-nombre-novia{animation-delay:.9s}.intro-ampersand{font-family:var(--font-primary);font-size:3rem;font-weight:400;margin:1rem 0;opacity:0;transform:translateY(30px);animation:introAmpersandEntrada 1s ease-out 1.5s forwards;color:var(--color-primary);text-shadow:0 2px 15px rgba(0,0,0,.6)}.intro-subtitulo{font-family:var(--font-primary);font-size:2rem;font-weight:400;letter-spacing:5px;margin:1.5rem 0;opacity:0;transform:translateY(30px);animation:introSubtituloEntrada 1s ease-out 2.1s forwards;color:var(--color-accent);text-shadow:0 2px 15px rgba(0,0,0,.6)}.intro-fecha{font-family:var(--font-secondary);font-size:1.6rem;font-weight:400;letter-spacing:3px;margin:1.5rem 0 3rem;opacity:0;transform:translateY(30px);animation:introFechaEntrada 1s ease-out 2.5s forwards;color:var(--color-white);text-shadow:0 2px 15px rgba(0,0,0,.6)}.intro-loading{width:250px;height:3px;background:#fff3;border-radius:10px;margin:0 auto;overflow:hidden;opacity:0;animation:introLoadingEntrada .5s ease-out 2.9s forwards}.intro-loading-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--color-primary) 0%,var(--color-secondary) 50%,var(--color-primary) 100%);border-radius:10px;animation:introLoadingBar 1.8s ease-in-out 2.9s forwards;box-shadow:0 0 15px #d4a574e6}@keyframes introNombreEntrada{0%{opacity:0;transform:translateY(60px) scale(.7) rotate(-5deg)}60%{transform:translateY(-15px) scale(1.08) rotate(2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes introAmpersandEntrada{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes introSubtituloEntrada{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes introFechaEntrada{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes introLoadingEntrada{0%{opacity:0}to{opacity:1}}@keyframes introLoadingBar{0%{width:0%}to{width:100%}}@keyframes introFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.15);pointer-events:none}}@media(max-width:768px){.intro-nombre-novio,.intro-nombre-novia{font-size:3.5rem}.intro-ampersand{font-size:2.5rem}.intro-subtitulo{font-size:1.4rem}.intro-fecha{font-size:1.2rem}.intro-loading{width:200px}}@media(max-width:480px){.intro-nombre-novio,.intro-nombre-novia{font-size:2.5rem;letter-spacing:2px}.intro-ampersand{font-size:2rem}.intro-subtitulo{font-size:1.1rem;letter-spacing:3px}.intro-fecha{font-size:1rem}}.watermark{position:fixed;inset:0;pointer-events:none;z-index:10001;overflow:hidden;background-image:repeating-linear-gradient(45deg,transparent,transparent 360px,color-mix(in srgb,var(--color-secondary) 12%,transparent) 360px,color-mix(in srgb,var(--color-secondary) 12%,transparent) 361px),repeating-linear-gradient(-45deg,transparent,transparent 360px,color-mix(in srgb,var(--color-primary) 12%,transparent) 360px,color-mix(in srgb,var(--color-primary) 12%,transparent) 361px)}.watermark:before{content:"t-invito.com";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-40deg);font-size:5.2rem;font-weight:500;color:color-mix(in srgb,var(--color-dark) 18%,transparent);font-family:var(--font-body);letter-spacing:.8rem;white-space:nowrap;-webkit-user-select:none;user-select:none;text-transform:lowercase}.watermark:after{content:"t-invito.com";position:absolute;top:24%;left:14%;transform:rotate(-40deg);font-size:3rem;font-weight:400;color:color-mix(in srgb,var(--color-primary) 18%,transparent);font-family:var(--font-body);letter-spacing:.45rem;white-space:nowrap;-webkit-user-select:none;user-select:none;text-transform:lowercase}@media(max-width:768px){.watermark:before{font-size:3.6rem;letter-spacing:.55rem}.watermark:after{font-size:2rem;letter-spacing:.3rem}}@media(max-width:480px){.watermark:before{font-size:2.3rem;letter-spacing:.3rem}.watermark:after{font-size:1.5rem;letter-spacing:.2rem}}.music-toggle{position:fixed;bottom:20px;right:20px;width:50px;height:50px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 78%,#000);border:1px solid color-mix(in srgb,var(--color-secondary) 50%,#fff);color:var(--color-white);cursor:pointer;z-index:9998;display:flex;align-items:center;justify-content:center;transition:var(--transition);box-shadow:0 4px 15px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.music-toggle:hover{background:color-mix(in srgb,var(--color-primary) 90%,#000);transform:scale(1.08)}.music-toggle.playing{animation:musicPulse 2s ease-in-out infinite}.music-toggle.paused{opacity:.85}.music-icon{width:24px;height:24px;fill:currentColor;transition:var(--transition)}.music-icon-play{display:block}.music-icon-pause{display:none}.music-toggle.playing .music-icon-play{display:block!important}.music-toggle.playing .music-icon-pause,.music-toggle.paused.has-played .music-icon-play{display:none!important}.music-toggle.paused.has-played .music-icon-pause{display:block!important}@keyframes musicPulse{0%,to{box-shadow:0 4px 15px #0000004d,0 0 color-mix(in srgb,var(--color-secondary) 38%,transparent)}50%{box-shadow:0 4px 15px #0000004d,0 0 0 10px #0000}}@media(max-width:768px){.music-toggle{width:45px;height:45px;bottom:15px;right:15px}}@media(max-width:480px){.music-toggle{width:40px;height:40px;bottom:10px;right:10px}}:root{--primary-color: #c4a090;--secondary-color: #fdeee6;--accent-color: #d9b0a0;--text-dark: #5a4c47;--text-light: #8f827c;--bg-light: #fff9f6;--bg-white: #fffcfa;--border-color: #f1e4dd;--shadow-sm: 0 2px 10px rgba(196, 160, 144, .08);--shadow-md: 0 4px 18px rgba(196, 160, 144, .1);--shadow-lg: 0 8px 28px rgba(196, 160, 144, .12);--gradient-primary: linear-gradient(135deg, #c4a090 0%, #d9b0a0 50%, #e0bcb0 100%);--gradient-soft: linear-gradient(135deg, #fdeee6 0%, #fffcfa 45%, #fce8de 100%);--color-primary: var(--primary-color);--color-secondary: var(--secondary-color);--color-accent: var(--accent-color);--color-light: var(--secondary-color);--color-white: #ffffff;--color-dark: var(--text-dark);--color-text: var(--text-dark);--font-primary: "Cormorant Garamond", serif;--font-secondary: "Cormorant Garamond", serif;--font-body: "Raleway", sans-serif;--transition: all .3s ease}body.intro-active{overflow:hidden}.intro-overlay{background:linear-gradient(165deg,#fff9f5,#f8ebe4 38%,#f0dfd6 72%,#e8d5ca)}.intro-background{background:radial-gradient(circle at 22% 45%,color-mix(in srgb,var(--accent-color) 18%,transparent) 0%,transparent 55%),radial-gradient(circle at 78% 60%,color-mix(in srgb,var(--primary-color) 14%,transparent) 0%,transparent 55%)}.intro-content{color:var(--text-dark)}.intro-nombre-novio,.intro-nombre-novia{background:none;-webkit-background-clip:unset;background-clip:unset;-webkit-text-fill-color:currentColor;color:#3d2f2a;font-size:clamp(3.1rem,10vw,5.85rem);font-weight:700;letter-spacing:.06em;text-shadow:0 1px 0 rgba(255,255,255,.85),0 2px 14px rgba(255,255,255,.55),0 3px 20px color-mix(in srgb,var(--primary-color) 18%,transparent)}.intro-ampersand{color:#6b4f45;text-shadow:0 1px 0 rgba(255,255,255,.8);font-size:clamp(2.25rem,6vw,3.35rem)}.intro-subtitulo{font-family:Montserrat,Raleway,sans-serif;font-size:clamp(1.15rem,3.8vw,2.35rem);font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:#4a3832;text-shadow:0 1px 0 rgba(255,255,255,.9);margin-top:2rem;margin-bottom:1.25rem}.intro-fecha{font-size:clamp(1.2rem,3.2vw,1.85rem);font-weight:500;color:#5a433c;text-shadow:0 1px 0 rgba(255,255,255,.85)}.intro-loading{background:color-mix(in srgb,var(--primary-color) 12%,#fff)}.intro-loading-bar{background:linear-gradient(90deg,var(--primary-color) 0%,var(--accent-color) 50%,var(--primary-color) 100%);box-shadow:0 0 12px color-mix(in srgb,var(--primary-color) 35%,transparent)}.hero-section{background:linear-gradient(135deg,var(--secondary-color) 0%,var(--bg-white) 50%,var(--secondary-color) 100%)}.hero-main-image{box-shadow:20px 20px color-mix(in srgb,var(--primary-color) 18%,transparent)}.hero-main-image:hover{box-shadow:25px 25px color-mix(in srgb,var(--primary-color) 24%,transparent)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color) 12%,transparent)}.map-wrapper:before{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--primary-color) 10%,transparent)}.ubicacion-section .map-wrapper iframe{position:relative;z-index:2;display:block}@media(max-width:768px){.hero-main-image{box-shadow:15px 15px color-mix(in srgb,var(--primary-color) 16%,transparent)}.intro-nombre-novio,.intro-nombre-novia{font-size:clamp(2.65rem,9vw,4.25rem)}.intro-subtitulo{font-size:clamp(1rem,3.4vw,1.65rem);letter-spacing:.32em}.intro-fecha{font-size:clamp(1.05rem,2.8vw,1.45rem)}}@media(max-width:480px){.hero-main-image{box-shadow:10px 10px color-mix(in srgb,var(--primary-color) 14%,transparent)}.intro-nombre-novio,.intro-nombre-novia{font-size:clamp(2.2rem,8.5vw,3.35rem);letter-spacing:.04em}.intro-subtitulo{font-size:clamp(.92rem,3.6vw,1.28rem);letter-spacing:.22em}.intro-fecha{font-size:clamp(.95rem,3.2vw,1.15rem)}}.particulas-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:hidden}.particula-vino{position:absolute;border-radius:50%;background:color-mix(in srgb,var(--primary-color) 42%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--primary-color) 35%,transparent);animation:bodademo3-caerParticula linear forwards}@keyframes bodademo3-caerParticula{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(110vh);opacity:0}}.confirmacion-section .bodademo3-confirmacion-subtitle{max-width:36rem;margin-left:auto;margin-right:auto}.confirmacion-section .bodademo3-confirmacion-whatsapp{background:transparent;box-shadow:none;padding:0;max-width:32rem}.confirmacion-section .bodademo3-confirmacion-card{background:var(--bg-white);margin:0 auto;padding:2.5rem 2rem;border-radius:1.25rem;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);text-align:center;transition:var(--transition)}.confirmacion-section .bodademo3-confirmacion-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg),0 12px 36px color-mix(in srgb,var(--primary-color) 12%,transparent)}.confirmacion-section .bodademo3-confirmacion-icon{font-size:2.75rem;line-height:1;margin-bottom:1rem;animation:bodademo3-confirmacion-bounce 2s ease-in-out infinite}.confirmacion-section .bodademo3-confirmacion-message{font-family:Raleway,sans-serif;font-size:1rem;color:var(--text-dark);line-height:1.7;margin-bottom:1.5rem}.confirmacion-section .bodademo3-confirmacion-deadline{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color) 12%,var(--bg-white)),color-mix(in srgb,var(--accent-color) 10%,var(--bg-white)));padding:1rem 1.25rem;border-radius:.625rem;margin-bottom:1.75rem;border:1px solid color-mix(in srgb,var(--primary-color) 22%,transparent)}.confirmacion-section .bodademo3-deadline-label{display:block;font-size:.85rem;color:var(--text-light);margin-bottom:.35rem}.confirmacion-section .bodademo3-deadline-date{font-family:Cormorant Garamond,serif;font-size:1.25rem;color:var(--primary-color);font-weight:600}.confirmacion-section .bodademo3-confirmacion-buttons{display:flex;flex-direction:column;gap:.75rem}.confirmacion-section .bodademo3-confirmacion-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem 1.75rem;border-radius:999px;font-family:Raleway,sans-serif;font-size:1rem;font-weight:600;text-decoration:none;transition:var(--transition);border:none;cursor:pointer}.confirmacion-section .bodademo3-confirmacion-btn-whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 4px 16px #25d36659}.confirmacion-section .bodademo3-confirmacion-btn-whatsapp:hover{transform:translateY(-2px);box-shadow:0 8px 24px #25d36673;color:#fff}.confirmacion-section .bodademo3-btn-icon{font-size:1.15rem;line-height:1}@keyframes bodademo3-confirmacion-bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@media(max-width:768px){.confirmacion-section .bodademo3-confirmacion-card{padding:2rem 1.25rem}}
