@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes twinkle{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes shimmer{0%,to{filter:hue-rotate(0deg)}50%{filter:hue-rotate(20deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes wave{0%{background-position:0 0}to{background-position:1200px 0}}@keyframes bounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}@keyframes rise{0%{transform:translateY(100vh) scale(0);opacity:0}50%{opacity:1}to{transform:translateY(-100px) scale(1);opacity:0}}@keyframes countdownBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.9)}}@keyframes rocketRise{0%{transform:translateY(0);opacity:1}to{transform:translateY(var(--rise));opacity:0}}@keyframes fireworkFlash{0%{transform:scale(1);opacity:1;box-shadow:0 0 16px 8px rgba(255,255,255,.9),0 0 40px 16px rgba(255,215,0,.5)}to{transform:scale(4);opacity:0;box-shadow:0 0 0 0 transparent}}@keyframes fireworkFade{0%{transform:translate(0,0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}*{margin:0;padding:0;box-sizing:border-box}html{overflow-x:hidden;background:#1a0b2e}body{font-family:"Rajdhani",sans-serif;background:linear-gradient(180deg,#1a0b2e 0,#2d1b4e 50%,#4a2c6d 100%);color:#fff;touch-action:manipulation}.banner-container{width:100%;position:relative;z-index:1}.banner-inner{box-shadow:0 10px 40px rgba(255,105,180,.3);transition:transform .3s ease;transform-origin:top center}.banner-container.scrolled .banner-inner{transform:scale(.95)}.banner-image{width:100%;height:auto;display:block;animation:fadeIn 1.5s ease-in}.content-section{padding:80px 20px 20px;max-width:1200px;margin:0 auto;position:relative}.floating-stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.star{position:absolute;background:#fff;border-radius:50%;animation:twinkle 3s infinite}.info-card{background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:2px solid rgba(255,105,180,.3);border-radius:10px;padding:40px;margin:30px 0;transform:translateY(50px);opacity:0;transition:all .6s ease}.info-card.visible{transform:translateY(0);opacity:1}.info-card:hover{transform:translateY(-10px) scale(1.02);border-color:rgba(255,215,0,.6);box-shadow:0 20px 60px rgba(255,105,180,.4)}.h2-small,h2{background:linear-gradient(45deg,#ff69b4,gold,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}h2{font-size:3em;text-align:center;margin-bottom:20px;animation:shimmer 3s infinite}.h2-small{font-size:.45em;display:inline-block;vertical-align:middle}h3{color:gold;font-size:2em;margin:20px 0}p{font-size:1.2em;line-height:1.8;color:#e0e0e0}.highlight{color:#ff69b4;font-weight:700;text-shadow:0 0 10px rgba(255,105,180,.5)}.moon,.wave{position:fixed;z-index:0}.moon{top:55%;right:10%;width:150px;height:150px;background:radial-gradient(circle at 30% 30%,#4a2c6d,#1a0b2e);border-radius:50%;box-shadow:0 0 60px rgba(255,255,255,.4);animation:float 6s ease-in-out infinite;overflow:hidden}.moon::after{content:"";position:absolute;inset:0;background:url(images/square.jpg)center/cover no-repeat;opacity:.15}.wave{bottom:0;left:0;width:100%;height:200px;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120"><path d="M0,60 Q300,0 600,60 T1200,60 L1200,120 L0,120 Z" fill="rgba(0,255,255,0.1)"/></svg>');background-size:cover;animation:wave 10s linear infinite;pointer-events:none}.scroll-indicator{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);font-size:2em;animation:bounce 2s infinite;z-index:200;opacity:.7}.particle{position:fixed;border-radius:50%;pointer-events:none;animation:rise 8s infinite}.two-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.grid-img{width:100%;border-radius:10px;display:block;transform:scale(.7);transition:transform .5s ease-in;will-change:transform}.grid-img.revealed{transform:scale(1)}.map-container{width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);margin-top:40px;margin-bottom:40px;overflow:hidden;box-shadow:0 10px 40px rgba(255,105,180,.3);position:relative}.map-img{width:100%;display:block}.qr-overlay{position:absolute;top:60%;left:2%;width:25%;height:15%;transform:translateY(-50%);cursor:pointer;transition:background-color .3s ease}.qr-overlay:hover{background-color:rgba(0,191,255,.2)}.lineup-day h4{color:gold;font-size:1.3em;margin-bottom:12px;text-align:center;border-bottom:1px solid rgba(255,215,0,.3);padding-bottom:8px}.lineup-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}.lineup-row:last-child{border-bottom:none}.lineup-time{color:#aaa;font-size:.95em;white-space:nowrap}.lineup-artist{color:#fff;font-weight:700;font-size:.95em}.thumbnail-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.thumbnail{cursor:pointer;border-radius:8px;overflow:hidden;border:2px solid rgba(255,105,180,.3);transition:border-color .3s ease,transform .2s ease}.thumbnail:hover{border-color:rgba(255,215,0,.6);transform:scale(1.05)}.thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:1000;justify-content:center;align-items:center;cursor:pointer}.modal-overlay.active{display:flex}.modal-content{max-width:90vw;max-height:90vh;border-radius:12px;overflow:hidden;box-shadow:0 0 40px rgba(255,105,180,.4)}.modal-content img{max-width:100%;max-height:90vh;display:block;object-fit:contain}.modal-arrow,.modal-close{position:fixed;width:48px;display:flex;align-items:center;justify-content:center;font-size:2.5em;color:#fff;cursor:pointer;z-index:1001;text-shadow:0 0 10px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.modal-close{top:8px;right:8px;height:48px;border-radius:50%;background:rgba(0,0,0,.3);transition:background .2s ease}.modal-close:hover{background:rgba(0,0,0,.5)}.modal-arrow{top:50%;transform:translateY(-50%);height:80px;user-select:none;border-radius:8px;background:rgba(0,0,0,.15);transition:color .2s ease,background .2s ease}.modal-arrow:hover{color:#ff69b4;background:rgba(0,0,0,.35)}.modal-arrow-left{left:4px}.modal-arrow-right{right:4px}.contact-section{text-align:center;padding:15px 0 10px;font-size:.95em;color:rgba(255,255,255,.6)}.contact-section p{font-size:calc(.95em - 2px)}.fb-link{display:inline-flex;align-items:center;gap:8px;margin-top:8px;color:#fff;text-decoration:none;font-size:.95em;transition:color .2s ease}.fb-link:hover{color:#7aacff}.fb-icon{width:24px;height:24px;background:#1877f2;border-radius:50%;display:flex;align-items:center;justify-content:center}.fb-icon svg{width:14px;height:14px}.countdown-num{display:inline-block;font-size:1.5em;background:linear-gradient(45deg,#ff69b4,gold,#0ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:countdownBlink 1.8s ease-in-out infinite}.firework-rocket{width:3px;height:3px;margin-left:-1.5px;margin-top:-1.5px;background:#fff;box-shadow:0 0 4px 2px rgba(255,255,255,.9),0 5px 3px 1px rgba(255,220,100,.9),0 10px 3px 1px rgba(255,160,50,.6),0 18px 2px 0 rgba(255,80,20,.3);animation:rocketRise var(--dur, 0.4s) ease-out forwards}.firework-flash,.firework-particle,.firework-rocket{position:fixed;border-radius:50%;pointer-events:none;z-index:9999}.firework-flash{width:8px;height:8px;margin-left:-4px;margin-top:-4px;background:#fff;animation:fireworkFlash .4s ease-out forwards}.firework-particle{animation:fireworkFade var(--dur, 1s) ease-out forwards}@media (max-width:600px){.two-col-grid{grid-template-columns:1fr}.thumbnail-grid{grid-template-columns:repeat(3,1fr)}}