*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#080a12;color:#fff8ea;font:16px/1.6 Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #68baff;outline-offset:5px}.show{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 75% 15%,#17284477,transparent 50%),#080a12}.beam{position:absolute;top:-12%;left:8%;width:28%;height:135vh;background:linear-gradient(#ffdd8b88,transparent 90%);clip-path:polygon(48% 0,52% 0,100% 100%,0 100%);transform-origin:50% 0;filter:blur(10px);mix-blend-mode:screen;animation:sweep 7s ease-in-out infinite alternate}.b2{left:65%;background:linear-gradient(#2389ff99,transparent 85%);animation-duration:9s;animation-delay:-4s}.b3{left:35%;width:15%;animation-duration:11s;animation-delay:-7s;opacity:.5}.b4{left:85%;width:20%;background:linear-gradient(#2389ff88,transparent);animation-duration:6s;animation-delay:-3s}.haze{position:absolute;inset:20% -30%;background:radial-gradient(ellipse,#c49a2b18,transparent 65%);animation:haze 15s ease-in-out infinite alternate}.spark{position:absolute;bottom:-20px;width:3px;height:3px;border-radius:50%;background:#ffda85;box-shadow:0 0 10px #ffd15b;animation:rise var(--duration) linear infinite;animation-delay:var(--delay);left:var(--left)}header,main,footer{max-width:1240px;margin:auto}header{padding:25px 36px;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{text-decoration:none;font-weight:900;letter-spacing:-1px;font-size:22px}.brand span{color:#edc36c}button{cursor:pointer}header button{background:#ffffff09;color:#e5d5b8;border:1px solid #ffffff26;border-radius:40px;padding:8px 15px;font-size:12px}.hero{padding:48px 36px 80px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:70px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:#dfb864}h1{font-size:clamp(45px,5.5vw,80px);line-height:.99;letter-spacing:-4px;margin:25px 0}h1 em{display:block;font-style:normal;background:linear-gradient(110deg,#a67725,#fff1b4,#c99035);background-clip:text;-webkit-background-clip:text;color:transparent;background-size:200%;animation:gold 5s linear infinite}h2{font-size:clamp(28px,3vw,42px);line-height:1.12;letter-spacing:-1px;margin:16px 0}.lead{font-size:18px;color:#c7c7d2}.date{font-size:13px;font-weight:700;letter-spacing:1px;margin:28px 0}.date span{color:#e8b960;padding:0 8px}.actions{display:flex;flex-wrap:wrap;gap:12px}.button{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;padding:15px 23px;border-radius:8px;background:linear-gradient(110deg,#c58e36,#ffe2a0,#c58e36);background-size:200%;color:#18120a;border:0;font-weight:700;font-size:14px;box-shadow:0 8px 35px #d5a03822;transition:transform .25s,box-shadow .25s;animation:gold 7s linear infinite}.button:hover{transform:translateY(-4px);box-shadow:0 8px 35px #d5a03855}.outline{background:#ffffff06;border:1px solid #e2bd6655;color:#f6deb0;box-shadow:none}.poster-wrap{position:relative;perspective:1000px;animation:float 7s ease-in-out infinite}.poster{width:100%;height:auto;display:block;border-radius:18px;border:1px solid #ecbd6555;box-shadow:0 25px 85px #0009,0 0 35px #a67e2822;position:relative}.badge{position:absolute;bottom:30px;right:-20px;border-radius:50%;width:100px;height:100px;display:grid;place-items:center;background:#0d111a;border:1px solid #e4ba6a;font-size:11px;letter-spacing:2px;transform:rotate(12deg);box-shadow:0 0 45px #b88c3733}.orbit{position:absolute;inset:-12px;border:1px solid #ebc26833;border-radius:24px;animation:glow 4s ease-in-out infinite alternate}.count-wrap{margin-top:35px}.count-wrap>p{font-size:10px;letter-spacing:2px;color:#a9aaba}.count{display:flex;gap:10px}.count>div{min-width:70px;text-align:center;padding:12px 8px;background:#121722bb;border:1px solid #ffffff14;border-radius:10px}.count b{font-size:30px;line-height:1;display:block;font-variant-numeric:tabular-nums}.count span{font-size:8px;letter-spacing:1px;color:#d5b677}.ticker{overflow:hidden;border-block:1px solid #dfb35a40;padding:18px 0;color:#d7b26b;font-size:13px;font-weight:bold;letter-spacing:5px;background:#c7952f08}.ticker>div{white-space:nowrap;width:max-content;animation:marquee 28s linear infinite}.details{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:70px 36px 24px}.card{background:linear-gradient(130deg,#171d29dc,#0c101adc);border:1px solid #e6c27033;border-radius:18px;padding:35px}.card p{color:#b7b7c4}.card .eyebrow{color:#dfb864}.card a{color:#edc36c;text-underline-offset:6px}.rsvp{margin:0 36px 60px;display:grid;grid-template-columns:1fr 1.1fr;gap:60px;scroll-margin-top:30px}.privacy{max-width:260px;font-size:12px}label{display:block;font-size:12px;color:#dfd5c1;margin:0 0 16px}input,select,textarea{display:block;margin-top:7px;width:100%;border:1px solid #ffffff25;border-radius:7px;background:#0a0e16;color:#fff;padding:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#e8bb64;box-shadow:0 0 0 3px #e8bb6415}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}#result{font-size:14px}.error{color:#ffabab!important}.success{color:#b7efc4!important}footer{display:flex;justify-content:space-between;gap:20px;padding:0 36px 35px;font-size:10px;letter-spacing:1px;color:#8a8f9f}.mobile-bar{display:none}.paused *, .paused *::before,.paused *::after{animation-play-state:paused!important}.admin{max-width:1100px;padding:30px;margin:auto}.admin table{border-collapse:collapse;width:100%;font-size:13px}.admin th,.admin td{padding:12px;border-bottom:1px solid #ffffff20;text-align:left}.table-scroll{overflow:auto}.admin .card{margin-block:20px}.admin .stats{display:flex;gap:30px;flex-wrap:wrap}.admin form{max-width:500px}.admin .logout{display:inline}.admin .logout button{background:none;border:0;color:#edc36c;text-decoration:underline}.admin input[type=search]{max-width:450px;margin-bottom:20px}@keyframes sweep{from{transform:rotate(-36deg)}to{transform:rotate(38deg)}}@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-12px) rotate(1deg)}}@keyframes haze{to{transform:translate(15%,10%) scale(1.2)}}@keyframes rise{to{transform:translateY(-115vh) translateX(70px);opacity:0}}@keyframes gold{to{background-position:200% center}}@keyframes glow{to{box-shadow:0 0 45px #e8b54855;border-color:#e7bd6a99}}@keyframes marquee{to{transform:translateX(-50%)}}@media(max-width:800px){header{padding:20px}.brand{font-size:18px}.hero{grid-template-columns:1fr;gap:35px;padding:25px 22px 50px}.intro{text-align:center}h1{font-size:56px;letter-spacing:-3px}.actions,.count{justify-content:center}.poster-wrap{max-width:470px;margin:auto;width:100%}.badge{right:0;width:78px;height:78px;font-size:9px}.details{padding:40px 20px 20px;gap:15px}.card{padding:24px}.rsvp{margin:0 20px 40px;grid-template-columns:1fr;gap:20px}.privacy{max-width:none}footer{padding:0 20px 100px}.mobile-bar{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#090d16ed;border-top:1px solid #e8bd6144;backdrop-filter:blur(12px)}.mobile-bar a{flex:1;text-align:center;color:#15100a;background:#edc36c;padding:12px;border-radius:6px;text-decoration:none;font-weight:bold;font-size:13px}.mobile-bar a+a{background:#1a2130;color:#f8dfad}.beam{width:45%;height:120vh}.b2{left:55%}.b3{left:20%}.b4{left:75%}}@media(max-width:440px){.details{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}h1{font-size:48px}.count>div{min-width:62px}.lead{font-size:16px}footer{flex-direction:column}.actions .button{flex:1}.rsvp .button{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.beam{transform:rotate(15deg)}.b2{transform:rotate(-20deg)}}

/* V2: elementos independientes con animación continua */
.live-stage{aspect-ratio:2/3;isolation:isolate;overflow:visible;border-radius:20px;border:1px solid #e4b55d66;background:radial-gradient(ellipse at 50% 40%,#72501b55,transparent 60%),linear-gradient(145deg,#080d1b,#0d0b08);box-shadow:0 25px 85px #0009;animation:stage-breathe 9s ease-in-out infinite}.stage-aura{position:absolute;inset:-8%;z-index:-1;filter:blur(35px);background:conic-gradient(from 0deg,transparent,#d9ac3522,transparent,#126eff22,transparent);animation:aura-spin 20s linear infinite}.festival-title{position:absolute;top:5%;left:3%;width:94%;text-align:center;z-index:4;animation:title-drift 4.8s ease-in-out infinite}.festival-title strong{display:block;font-size:clamp(30px,4.2vw,56px);font-weight:1000;font-style:italic;line-height:1;letter-spacing:-2px;background:linear-gradient(115deg,#a16811,#ffeca3,#dca12e,#fff0b4);background-size:250%;background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(2px 4px 0 #183f87);animation:gold 5s linear infinite}.festival-title span{display:block;margin-top:9px;font-size:clamp(20px,2.7vw,38px);font-weight:900;letter-spacing:7px;color:#edc26b;text-shadow:0 0 18px #e2aa3766}.layer{position:absolute;display:block;height:auto;object-fit:contain;will-change:transform;pointer-events:none}.thirty{top:22%;left:4%;width:92%;mix-blend-mode:screen;animation:thirty-drift 6.5s ease-in-out infinite;z-index:1}.beer{width:37%;left:1%;bottom:16%;mix-blend-mode:screen;z-index:3;transform-origin:50% 90%;animation:beer-drift 5.3s ease-in-out infinite}.instruments{width:75%;right:-3%;bottom:17%;z-index:2;filter:drop-shadow(0 10px 18px #0009);animation:instruments-drift 7s ease-in-out infinite}.stage-date{position:absolute;left:3%;bottom:6%;width:94%;text-align:center;color:#f6cf77;z-index:5;animation:date-drift 5.8s ease-in-out infinite;text-shadow:0 3px 15px #000,0 0 20px #d3a24244}.stage-date strong{font-size:clamp(18px,2.6vw,34px);font-weight:900;display:block;letter-spacing:1px;line-height:1.2}.stage-date span{font-weight:900;font-size:clamp(24px,3.3vw,44px);line-height:1.2;display:block}.stage-caption{position:absolute;bottom:2%;left:0;width:100%;text-align:center;color:#e4c68f;font-size:9px;letter-spacing:2px;animation:caption-glow 4s ease-in-out infinite}
@keyframes title-drift{0%,100%{transform:translateY(0) rotate(-1.5deg) scale(1)}50%{transform:translateY(-6px) rotate(1deg) scale(1.035)}}@keyframes thirty-drift{0%,100%{transform:translateY(0) scale(1) rotate(-1deg)}50%{transform:translateY(-10px) scale(1.035) rotate(1deg)}}@keyframes beer-drift{0%,100%{transform:translateY(0) rotate(-7deg)}50%{transform:translateY(-15px) rotate(3deg)}}@keyframes instruments-drift{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-10px) rotate(-3deg)}}@keyframes date-drift{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-5px) scale(1.035)}}@keyframes caption-glow{0%,100%{opacity:.65;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes stage-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes aura-spin{to{transform:rotate(360deg)}}@media(max-width:800px){.festival-title strong{font-size:clamp(30px,8.5vw,54px)}.festival-title span{font-size:clamp(23px,6vw,38px)}.stage-date strong{font-size:clamp(20px,5.6vw,32px)}.stage-date span{font-size:clamp(27px,7vw,42px)}}@media(prefers-reduced-motion:reduce){.live-stage,.live-stage *{animation:none!important}}
