.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}}body.intro-active{overflow:hidden}.intro-overlay{background:linear-gradient(135deg,#1a1a1a,#252220 45%,#1a1a1a)}.intro-background{background:radial-gradient(circle at 20% 45%,color-mix(in srgb,var(--color-secondary) 22%,transparent) 0%,transparent 52%),radial-gradient(circle at 82% 58%,color-mix(in srgb,var(--color-gold) 18%,transparent) 0%,transparent 52%)}.intro-content{color:var(--color-light)}.intro-nombre-novio,.intro-nombre-novia{font-family:var(--font-heading),"Cormorant Garamond",serif;background:linear-gradient(135deg,var(--color-secondary) 0%,#ffffff 48%,var(--color-gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:.12em}.intro-ampersand{font-family:var(--font-script),"Great Vibes",cursive;color:var(--color-secondary);text-shadow:0 2px 24px color-mix(in srgb,var(--color-gold) 45%,transparent)}.intro-subtitulo{font-family:var(--font-body),"Montserrat",sans-serif;color:color-mix(in srgb,var(--color-primary) 88%,#fff);letter-spacing:.42em}.intro-fecha{font-family:var(--font-body),sans-serif;color:color-mix(in srgb,var(--color-secondary) 88%,#fff)}.intro-loading{background:color-mix(in srgb,var(--color-secondary) 14%,rgba(255,255,255,.06))}.intro-loading-bar{background:linear-gradient(90deg,var(--color-secondary) 0%,var(--color-gold) 50%,var(--color-secondary) 100%);box-shadow:0 0 14px color-mix(in srgb,var(--color-gold) 40%,transparent)}.music-toggle{background:color-mix(in srgb,var(--color-accent) 55%,#1a1a1a);border:1px solid color-mix(in srgb,var(--color-gold) 55%,#fff);color:var(--color-primary)}.music-toggle:hover{background:color-mix(in srgb,var(--color-accent) 68%,#1a1a1a)}.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(--color-gold) 50%,transparent);box-shadow:0 0 8px color-mix(in srgb,var(--color-secondary) 38%,transparent);animation:caerParticulaBodademo4 linear forwards}@keyframes caerParticulaBodademo4{0%{transform:translateY(0);opacity:0}15%{opacity:1}to{transform:translateY(110vh);opacity:0}}.vestimenta-title--palette-only{margin-bottom:2.5rem}.bodademo4-dresscode-palette{margin:0 auto;max-width:520px;padding:2.5rem 2rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:20px}.bodademo4-color-palette{display:flex;justify-content:center;align-items:center;gap:1.25rem;flex-wrap:wrap}.bodademo4-color-swatch{width:4rem;height:4rem;border-radius:50%;border:3px solid rgba(255,255,255,.45);box-shadow:0 4px 16px #00000047;flex-shrink:0}.bodademo4-color-note{font-family:var(--font-body),"Montserrat",sans-serif;margin-top:1.75rem;margin-bottom:0;color:var(--color-light);opacity:.95;font-size:.95rem;font-weight:300;letter-spacing:.04em;line-height:1.5;text-transform:none}@media(max-width:480px){.bodademo4-color-swatch{width:3.25rem;height:3.25rem}.bodademo4-dresscode-palette{padding:2rem 1.25rem}}
