#luxParticles{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:-1;
pointer-events:none;
}

/* CINEMATIC STAGE LIGHT BACKGROUND */

body::before{
content:"";

position:fixed;

top:0;
left:0;

width:100%;
height:100%;

background:
radial-gradient(circle at 20% 30%,rgba(255,215,0,0.12),transparent 40%),
radial-gradient(circle at 80% 70%,rgba(255,0,120,0.12),transparent 40%),
radial-gradient(circle at 50% 90%,rgba(0,150,255,0.08),transparent 40%);

animation:stageLights 12s linear infinite;

z-index:-2;

}

@keyframes stageLights{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-40px);
}

100%{
transform:translateY(0);
}

}

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:'Segoe UI',sans-serif;
color:white;

background:
radial-gradient(circle at 20% 10%,rgba(255,215,0,0.08),transparent 30%),
radial-gradient(circle at 80% 90%,rgba(255,0,90,0.08),transparent 30%),
linear-gradient(180deg,#0b0013,#140022,#090012);

min-height:100vh;
}

.container{
max-width:750px;
margin:auto;
padding:30px 20px;
}

.top-card{
text-align:center;
margin-bottom:20px;
}

.logo{
width:130px;
margin:auto;
display:block;
margin-bottom:10px;
}

h1{
margin:0;
font-size:28px;
letter-spacing:1px;
}

.subtitle{
color:#ffd977;
margin-top:6px;
}

.cover{
width:100%;
border-radius:14px;
box-shadow:0 0 25px rgba(255,215,0,0.15);
margin:20px 0;
}

.waiver-card{
text-align:center;
margin-bottom:20px;
}

.gold-btn{
display:inline-block;
padding:12px 18px;
margin:6px;
background:linear-gradient(90deg,#ffd700,#ffb400);
color:black;
font-weight:bold;
border-radius:10px;
text-decoration:none;
box-shadow:0 0 18px rgba(255,215,0,0.3);
transition:.3s;
}

.gold-btn:hover{
transform:translateY(-2px);
box-shadow:0 0 28px rgba(255,215,0,0.5);
}

.entry-form{
background:rgba(255,255,255,0.05);
border:1px solid rgba(255,215,0,0.2);
padding:25px;
border-radius:18px;
backdrop-filter:blur(10px);
box-shadow:0 0 30px rgba(255,215,0,0.08);
}

.entry-form label{
display:block;
margin-top:14px;
font-size:14px;
color:#ffd977;
}

.entry-form input,
.entry-form select{
width:100%;
padding:12px;
margin-top:6px;
border-radius:10px;
border:1px solid rgba(255,255,255,0.15);
background:rgba(255,255,255,0.08);
color:white;
}

.entry-form input:focus,
.entry-form select:focus{
outline:none;
border:1px solid gold;
}

.submit-btn{
margin-top:18px;
width:100%;
padding:14px;
font-size:16px;
background:linear-gradient(90deg,#ffd700,#ffb400);
border:none;
border-radius:12px;
font-weight:bold;
cursor:pointer;
box-shadow:0 0 20px rgba(255,215,0,0.3);
}

.submit-btn:hover{
transform:translateY(-2px);
box-shadow:0 0 30px rgba(255,215,0,0.6);
}

.note{
margin-top:12px;
font-size:13px;
color:#e8d3a3;
}

.check-wrap{
display:flex;
gap:10px;
margin-top:15px;
font-size:13px;
}

.success-box{
max-width:600px;
margin:80px auto;
padding:35px;
background:rgba(255,255,255,0.06);
border-radius:18px;
text-align:center;
border:1px solid rgba(255,215,0,0.2);
box-shadow:0 0 25px rgba(255,215,0,0.1);
}

/* STAGE SPOTLIGHT */

.logo-stage{
position:relative;
display:flex;
justify-content:center;
align-items:center;
margin-bottom:20px;
}

.logo-stage::before,
.logo-stage::after{

content:"";

position:absolute;
width:220px;
height:220px;

background:radial-gradient(circle,
rgba(255,215,0,0.35),
rgba(255,215,0,0.1),
transparent 70%);

filter:blur(40px);

animation:spotlightMove 8s linear infinite;

}

.logo-stage::after{
animation-direction:reverse;
animation-duration:12s;
}

@keyframes spotlightMove{

0%{
transform:translate(-60px,-40px);
}

50%{
transform:translate(60px,40px);
}

100%{
transform:translate(-60px,-40px);
}

}

.logo{

width:130px;
position:relative;
z-index:2;

animation:logoGlow 3s ease-in-out infinite alternate;

}

@keyframes logoGlow{

0%{
filter:drop-shadow(0 0 5px gold);
}

100%{
filter:drop-shadow(0 0 20px gold);
}

}

/* RUNWAY ENTRANCE ANIMATION */

body{
opacity:0;
animation:pageFade 1.2s ease forwards;
}

@keyframes pageFade{
to{
opacity:1;
}
}

/* FORM SLIDE UP */

.entry-form{
transform:translateY(40px);
opacity:0;
animation:formRise 1.4s ease forwards;
animation-delay:.4s;
}

@keyframes formRise{

to{
transform:translateY(0);
opacity:1;
}

}

/* LOGO INTRO */

.logo-stage{
opacity:0;
transform:translateY(-20px);
animation:logoEntrance 1.2s ease forwards;
}

@keyframes logoEntrance{

to{
opacity:1;
transform:translateY(0);
}

}

/* BUTTON GLOW PULSE */

.submit-btn{

animation:buttonPulse 3s infinite;

}

@keyframes buttonPulse{

0%{
box-shadow:0 0 10px rgba(255,215,0,0.4);
}

50%{
box-shadow:0 0 25px rgba(255,215,0,0.8);
}

100%{
box-shadow:0 0 10px rgba(255,215,0,0.4);
}

}

/* INTERACTIVE FORM GLOW */

.entry-form{
transition:all .4s ease;
}

/* FORM ACTIVE STATE */

.entry-form.active{

box-shadow:
0 0 25px rgba(255,215,0,0.35),
0 0 80px rgba(255,215,0,0.15);

border:1px solid rgba(255,215,0,0.4);

}

/* INPUT FOCUS */

.entry-form input:focus,
.entry-form select:focus{

outline:none;

border:1px solid gold;

box-shadow:
0 0 10px rgba(255,215,0,0.6);

background:rgba(255,255,255,0.12);

}

/* FILE INPUT STYLE */

input[type="file"]{

background:rgba(255,255,255,0.05);
cursor:pointer;

}

/* CHECKBOX STYLE */

input[type="checkbox"]{

transform:scale(1.2);

accent-color:gold;

}