:root{--color-neon-violet:#e0e0e0;--color-neon-pink:#fff;--color-neon-blue:#b0b0b0;--color-neon-cyan:#d0d0d0;--color-dark:#000;--color-dark-card:#0a0a0f;--color-text-light:#fff;--color-text-muted:#ccc;--font-display:"Caveat", cursive;--font-heading:"Questrial", sans-serif;--font-body:"Outfit", sans-serif;--glow-violet:0 0 20px #fff6, 0 0 60px #ffffff26;--glow-pink:0 0 20px #dcdcdc66, 0 0 60px #dcdcdc26;--glow-blue:0 0 20px #c8c8c866, 0 0 60px #c8c8c826;--spacing-section:5rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--color-dark);color:var(--color-text-light);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:500}.script-font{font-family:var(--font-display);font-weight:400}.text-neon{background:linear-gradient(135deg, var(--color-neon-violet), var(--color-neon-pink), var(--color-neon-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.particles-container{pointer-events:none;z-index:5;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.particle{will-change:transform, opacity;border-radius:50%;animation:linear infinite floatParticle;position:absolute}@keyframes floatParticle{0%{opacity:0;transform:translateY(110vh)scale(.3)}10%{opacity:.8}50%{opacity:1;transform:translate(20px,50vh)scale(1)}90%{opacity:.6}to{opacity:0;transform:translate(-10px,-10vh)scale(.5)}}.disco-bg{pointer-events:none;z-index:1;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.disco-beam{opacity:.03;transform-origin:top;width:2px;height:200vh;animation:linear infinite rotateBeam;position:absolute}@keyframes rotateBeam{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.intro-overlay{z-index:9999;background:radial-gradient(#15101f 0%,#0a0a0f 100%);justify-content:center;align-items:center;width:100%;height:100%;transition:opacity 1.2s cubic-bezier(.85,0,.15,1) .5s;display:flex;position:fixed;top:0;left:0}.intro-overlay.opened{opacity:0;pointer-events:none}.intro-content{text-align:center;cursor:pointer;flex-direction:column;align-items:center;max-width:90%;padding:2rem;display:flex}.intro-logo{width:clamp(160px,40vw,220px);height:clamp(160px,40vw,220px);margin-bottom:2rem;animation:3s ease-in-out infinite logoGlow}.intro-logo img{object-fit:contain;mix-blend-mode:screen;filter:drop-shadow(0 0 25px #c8c8c866);width:100%;height:100%}@keyframes logoGlow{0%,to{filter:drop-shadow(0 0 20px #c8c8c84d);transform:scale(1)}50%{filter:drop-shadow(0 0 40px #ffffff80);transform:scale(1.03)}}.intro-label{font-family:var(--font-heading);letter-spacing:.4em;text-transform:uppercase;color:var(--color-text-muted);margin-top:.5rem;font-size:clamp(.8rem,2.5vw,1rem)}.intro-name-display{text-align:center;justify-content:center;width:100%;margin-bottom:1.5rem;display:flex}.intro-name-display .script-font{background:linear-gradient(135deg, var(--color-neon-violet), var(--color-neon-pink), var(--color-neon-blue));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 30px #c8c8c84d);-webkit-background-clip:text;background-clip:text;font-size:clamp(3.5rem,12vw,6rem);line-height:1.1}.intro-surname{font-family:var(--font-heading);letter-spacing:.5em;text-transform:uppercase;color:#c8c8c899;margin-top:.3rem;font-size:clamp(.7rem,2vw,1.1rem)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes glowPulse{0%,to{opacity:.5}50%{opacity:1}}.animate-fade-up{opacity:0;animation:1.2s cubic-bezier(.2,.8,.2,1) forwards fadeInUp}.btn{color:var(--color-neon-violet);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:0 0;border:1px solid #c8c8c880;border-radius:50px;padding:.9rem 2.5rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:inline-block;position:relative;overflow:hidden}.btn:before{content:"";background:linear-gradient(135deg, var(--color-neon-violet), var(--color-neon-pink));opacity:0;z-index:-1;border-radius:50px;transition:opacity .4s;position:absolute;inset:0}.btn:hover{color:var(--color-dark);box-shadow:var(--glow-violet);border-color:#0000;transform:translateY(-2px)}.btn:hover:before{opacity:1}.btn-solid{background:linear-gradient(135deg, var(--color-neon-violet), var(--color-neon-pink));color:var(--color-dark);border:none;font-weight:600}.btn-solid:hover{box-shadow:var(--glow-pink);transform:translateY(-2px)scale(1.02)}.btn-solid:before{display:none}.app-container{z-index:2;flex-direction:column;min-height:100vh;display:flex;position:relative;overflow-x:hidden}.hero{text-align:center;justify-content:center;align-items:center;height:100svh;padding:1rem;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:-1;background-position:top;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.hero-bg:after{content:"";background:linear-gradient(#0a0a0f8c 0%,#0a0a0f99 30%,#0a0a0fbf 60%,#0a0a0feb 85%,#0a0a0f 100%);position:absolute;inset:0}.hero-content{z-index:1;max-width:100%;padding:1.5rem}.hero-tag{font-family:var(--font-body);letter-spacing:.4em;text-transform:uppercase;color:#fff;text-shadow:0 0 20px #c8c8c8cc,0 0 40px #c8c8c866,0 2px 4px #000c;margin-bottom:.8rem;font-size:clamp(.75rem,2.5vw,1rem)}.hero-title{font-family:var(--font-display);text-align:center;color:#fff;-webkit-text-fill-color:#fff;text-shadow:0 0 30px #c8c8c899,0 0 60px #ffffff4d,0 4px 20px #000000e6,0 2px 6px #000;justify-content:center;width:100%;margin-bottom:2.5rem;font-size:clamp(5rem,20vw,10rem);line-height:.9;display:flex}.hero-surname{font-family:var(--font-heading);letter-spacing:.5em;text-transform:uppercase;color:#fff;text-shadow:0 0 15px #c8c8c880,0 2px 8px #000000e6;margin-bottom:1.5rem;font-size:clamp(1rem,3.5vw,1.6rem)}.hero-invite-text{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:#fff;text-shadow:0 0 15px #c8c8c880,0 2px 6px #000c;margin-bottom:.5rem;font-size:clamp(.8rem,3vw,1rem)}.hero-date-pill{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);color:#fff;font-family:var(--font-heading);letter-spacing:.15em;text-shadow:0 2px 4px #0009;background:#0006;border:1px solid #ffffff40;border-radius:50px;align-items:center;gap:.8rem;margin-top:1rem;padding:.7rem 1.8rem;font-size:clamp(.75rem,2.5vw,1rem);display:inline-flex}.hero-date-pill .dot{background:var(--color-neon-pink);width:4px;height:4px;box-shadow:0 0 8px var(--color-neon-pink);border-radius:50%}.section{padding:var(--spacing-section) 1.5rem;text-align:center;flex-direction:column;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.section-title{font-family:var(--font-display);background:linear-gradient(135deg, var(--color-neon-violet), var(--color-neon-pink));-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #c8c8c833);-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;font-size:clamp(2.5rem,10vw,4rem)}.section-divider{background:linear-gradient(90deg, transparent, var(--color-neon-violet), var(--color-neon-pink), transparent);width:60px;height:2px;margin:0 auto 1.5rem;position:relative}.section-divider:after{content:"✦";color:var(--color-neon-violet);background:var(--color-dark);text-shadow:0 0 10px var(--color-neon-violet);padding:0 12px;font-size:.8rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.bg-darker{background:linear-gradient(180deg, var(--color-dark) 0%, #08080e 50%, var(--color-dark) 100%)}.countdown-container{flex-wrap:nowrap;justify-content:center;gap:1rem;width:100%;display:flex}.countdown-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#c8c8c80d;border:1px solid #c8c8c826;border-radius:16px;flex:1;min-width:65px;max-width:100px;padding:1.2rem .5rem;transition:all .3s}.countdown-box:hover{box-shadow:var(--glow-violet);border-color:#c8c8c866;transform:translateY(-3px)}.countdown-number{font-size:clamp(1.8rem,7vw,3rem);font-weight:400;font-family:var(--font-heading);background:linear-gradient(135deg, var(--color-neon-violet), var(--color-neon-pink));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;line-height:1}.countdown-label{text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin-top:.5rem;font-size:.7rem}.rotating-gallery{grid-template-columns:repeat(3,1fr);gap:.6rem;width:100%;max-width:900px;margin:0 auto;display:grid}.rotating-cell{aspect-ratio:3/4;cursor:pointer;border:1px solid #c8c8c81a;border-radius:12px;transition:all .4s;position:relative;overflow:hidden}.rotating-cell:hover{border-color:#c8c8c880;transform:scale(1.03);box-shadow:0 0 20px #c8c8c826,0 0 40px #ffffff14}.rotating-cell img{object-fit:cover;width:100%;height:100%;transition:opacity .6s;display:block}.rotating-cell img.fading{opacity:0}@media (width<=480px){.rotating-gallery{gap:.4rem}.rotating-cell{border-radius:8px}}.details-vertical{flex-direction:column;width:100%;max-width:500px;margin:0 auto;display:flex}.detail-block{flex-direction:column;align-items:center;padding:2rem 0;display:flex}.detail-icon-wrapper{width:56px;height:56px;color:var(--color-neon-violet);background:#c8c8c80d;border:1px solid #c8c8c833;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.2rem;transition:all .3s;display:flex}.detail-block:hover .detail-icon-wrapper{box-shadow:var(--glow-violet);border-color:#c8c8c880}.detail-title{font-family:var(--font-heading);color:var(--color-text-light);letter-spacing:.08em;margin-bottom:.8rem;font-size:1.6rem;font-weight:400}.detail-text{color:var(--color-text-muted);font-size:.95rem;line-height:1.7}.detail-text strong{color:var(--color-neon-violet)}.detail-line{background:linear-gradient(#c8c8c866,#0000);width:1px;height:35px;margin:0 auto}.detail-btn{margin-top:1.5rem;padding:.8rem 2rem;font-size:.8rem}.info-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#c8c8c808,#ffffff08);border:1px solid #c8c8c81a;border-radius:20px;padding:2.5rem 1.5rem;transition:all .4s}.info-card:hover{border-color:#c8c8c840;box-shadow:0 0 40px #c8c8c80d}.info-card-icon{width:60px;height:60px;color:var(--color-neon-violet);background:linear-gradient(135deg,#c8c8c81a,#ffffff1a);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;display:flex}.theme-badge{font-family:var(--font-heading);color:var(--color-neon-violet);background:linear-gradient(135deg,#c8c8c81a,#ffffff1a);border:1px solid #c8c8c833;border-radius:50px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem 1.5rem;font-size:1rem;display:inline-flex}.whatsapp-fab{color:#fff;z-index:1000;background:linear-gradient(135deg,#25d366,#128c7e);border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;text-decoration:none;transition:all .3s;display:flex;position:fixed;bottom:1.5rem;right:1.5rem;box-shadow:0 4px 15px #25d36666}.whatsapp-fab:hover{transform:scale(1.1)translateY(-3px);box-shadow:0 8px 25px #25d36680}.footer{text-align:center;color:var(--color-text-muted);border-top:1px solid #c8c8c814;padding:3rem 1rem;font-size:.85rem}.footer a{color:var(--color-neon-violet);font-weight:500;text-decoration:none;transition:color .3s}.footer a:hover{color:var(--color-neon-pink)}.song-card{text-align:left;background:#ffffff08;border:1px solid #c8c8c81a;border-radius:12px;align-items:center;gap:1rem;margin-bottom:.8rem;padding:1rem 1.2rem;transition:all .3s;display:flex}.song-card:hover{background:#c8c8c80d;border-color:#c8c8c84d}.song-icon{background:linear-gradient(135deg, var(--color-neon-violet), var(--color-neon-pink));color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.song-info{flex:1}.song-info .song-title{color:var(--color-text-light);font-size:.9rem;font-weight:500}.song-info .song-artist{color:var(--color-text-muted);margin-top:.15rem;font-size:.75rem}.lightbox-overlay{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;cursor:pointer;background:#000000eb;justify-content:center;align-items:center;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;inset:0}.lightbox-overlay img{object-fit:contain;border-radius:12px;max-width:95%;max-height:90vh;box-shadow:0 0 60px #c8c8c833}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-close{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.5rem;transition:all .3s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.lightbox-close:hover{background:#c8c8c84d}@media (width>=768px){:root{--spacing-section:6rem}.gallery-container{gap:1rem}}@media (width<=400px){.countdown-container{gap:.5rem}.countdown-box{min-width:55px;padding:.8rem .3rem}}.fc-page{color:#fff;min-height:100vh;font-family:var(--font-body), "Outfit", sans-serif;background:#000;flex-direction:column;align-items:center;padding:2rem 1rem 3rem;display:flex}.fc-header{text-align:center;margin-bottom:2rem;animation:.8s ease-out fadeIn}.fc-title{font-family:var(--font-display), "Caveat", cursive;color:#fff;text-shadow:0 0 30px #ffffff26;margin-bottom:.4rem;font-size:clamp(2rem,6vw,3.5rem)}.fc-subtitle{color:#ffffff80;letter-spacing:.5px;font-size:1rem;font-weight:300}.fc-slider{aspect-ratio:4/3;-webkit-user-select:none;user-select:none;background:#111;border-radius:16px;width:100%;max-width:700px;position:relative;overflow:hidden;box-shadow:0 20px 60px #0009,0 0 0 1px #ffffff0f}.fc-slide-wrapper{justify-content:center;align-items:center;width:100%;height:100%;display:flex;overflow:hidden}.fc-slide{object-fit:contain;background:#0a0a0a;width:100%;height:100%;animation:.45s cubic-bezier(.25,.46,.45,.94) both fcSlideIn}.fc-slide-enter-right{animation-name:fcSlideFromRight}.fc-slide-enter-left{animation-name:fcSlideFromLeft}@keyframes fcSlideFromRight{0%{opacity:0;transform:translate(40px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes fcSlideFromLeft{0%{opacity:0;transform:translate(-40px)scale(.97)}to{opacity:1;transform:translate(0)scale(1)}}.fc-arrow{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;cursor:pointer;opacity:.7;z-index:2;background:#00000073;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .25s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.fc-arrow:hover{opacity:1;background:#ffffff26;transform:translateY(-50%)scale(1.1)}.fc-arrow svg{width:22px;height:22px}.fc-arrow-left{left:12px}.fc-arrow-right{right:12px}.fc-counter{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fffc;letter-spacing:1px;z-index:2;background:#0000008c;border-radius:20px;padding:4px 10px;font-size:.75rem;position:absolute;bottom:12px;right:14px}.fc-dots{flex-wrap:wrap;justify-content:center;gap:8px;max-width:700px;margin-top:1.2rem;display:flex}.fc-dot{cursor:pointer;background:#fff3;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .3s}.fc-dot:hover{background:#ffffff80}.fc-dot-active{background:#fff;transform:scale(1.3);box-shadow:0 0 8px #fff6}.fc-thumbs-wrapper{scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;width:100%;max-width:700px;margin-top:1.5rem;padding-bottom:.5rem;overflow-x:auto}.fc-thumbs-wrapper::-webkit-scrollbar{height:4px}.fc-thumbs-wrapper::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:4px}.fc-thumbs{gap:8px;padding:4px 0;display:flex}.fc-thumb{cursor:pointer;opacity:.5;background:#111;border:2px solid #0000;border-radius:8px;flex-shrink:0;width:64px;height:48px;padding:0;transition:all .3s;overflow:hidden}.fc-thumb:hover{opacity:.85;border-color:#ffffff4d}.fc-thumb-active{opacity:1;border-color:#fff;box-shadow:0 0 10px #fff3}.fc-thumb img{object-fit:cover;width:100%;height:100%;display:block}.fc-download-section{margin-top:2.5rem}.fc-download-btn{color:#fffc;font-family:var(--font-body), "Outfit", sans-serif;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #ffffff26;border-radius:30px;align-items:center;gap:10px;padding:.85rem 2rem;font-size:.95rem;text-decoration:none;transition:all .3s;display:inline-flex}.fc-download-btn:hover{color:#fff;background:#ffffff1f;border-color:#ffffff4d;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}@media (width<=500px){.fc-slider{aspect-ratio:3/4;border-radius:10px}.fc-arrow{width:36px;height:36px}.fc-arrow svg{width:18px;height:18px}.fc-arrow-left{left:6px}.fc-arrow-right{right:6px}.fc-thumb{width:52px;height:40px}}
