*{
margin:0;
padding:0;
box-sizing:border-box;
}

html,
body{
width:100%;
height:100%;
font-family:'Inter',sans-serif;
overflow-x:hidden;
background:#F8FAFC;
}

.hidden{
display:none;
}

/* HERO */

#hero{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
padding:24px;

background:
linear-gradient(
135deg,
#061B3A 0%,
#0A4D90 50%,
#0B6A52 100%
);
}

.hero-content{
width:100%;
max-width:520px;
text-align:center;
}

.logo{
width:180px;
max-width:180px;
height:auto;
display:block;
margin:0 auto 30px auto;
}

.hero-content h1{
font-size:48px;
font-weight:900;
line-height:1.1;
color:white;
margin-bottom:20px;
}

.hero-content p{
font-size:18px;
line-height:1.5;
color:#D9E8FF;
margin-bottom:30px;
}

.hero-content button{
width:100%;
padding:18px;
border:none;
border-radius:18px;
background:#00C46A;
color:white;
font-size:20px;
font-weight:800;
cursor:pointer;
transition:.2s;
}

.hero-content button:hover{
transform:translateY(-2px);
}

.trust{
margin-top:20px;
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:12px;
font-size:13px;
color:white;
}

/* QUIZ */

#quiz{
min-height:100vh;
background:#F8FAFC;
display:flex;
justify-content:center;
align-items:center;
padding:24px;
}

.quiz-container{
width:100%;
max-width:650px;
}

.subtitle{
text-align:center;
color:#64748B;
font-size:15px;
margin-bottom:15px;
}

.progress-wrapper{
height:10px;
background:#E5E7EB;
border-radius:999px;
overflow:hidden;
margin-bottom:35px;
}

#progressBar{
height:100%;
width:0%;
background:#00C46A;
transition:.4s ease;
}

/* TITULOS */

#questionContainer h2{
text-align:center;
font-size:34px;
font-weight:900;
line-height:1.2;
margin-bottom:25px;
color:#0F172A;
}

#questionContainer p{
text-align:center;
color:#64748B;
margin-bottom:20px;
line-height:1.5;
}

/* TARJETAS */

.cards{
display:flex;
flex-direction:column;
gap:15px;
}

.card{
background:white;
padding:22px;
border-radius:18px;
text-align:center;
font-size:20px;
font-weight:700;
cursor:pointer;
box-shadow:
0 8px 20px rgba(0,0,0,.05);
transition:.2s;
}

.card:hover{
transform:translateY(-2px);
}

.selected{
border:2px solid #00C46A;
background:#ECFDF5;
}

/* BOTONES */

.continue-btn,
.submit-btn{
width:100%;
padding:18px;
margin-top:20px;
border:none;
border-radius:18px;
background:#00C46A;
color:white;
font-size:18px;
font-weight:800;
cursor:pointer;
transition:.2s;
}

.continue-btn:hover,
.submit-btn:hover{
transform:translateY(-2px);
}

/* ANALISIS */

.loading-box{
text-align:center;
}

.loading-bar{
height:14px;
background:#E5E7EB;
border-radius:999px;
overflow:hidden;
margin-top:25px;
}

.loading-fill{
height:100%;
width:100%;
background:#00C46A;
animation:loading 3s linear forwards;
}

.loading-text{
margin-top:15px;
font-size:16px;
color:#64748B;
}

@keyframes loading{

from{
width:0%;
}

to{
width:100%;
}

}

/* RESULTADO */

.result-box{
background:white;
padding:30px;
border-radius:24px;
box-shadow:
0 15px 40px rgba(0,0,0,.06);
}

.score{
font-size:64px;
font-weight:900;
color:#00C46A;
text-align:center;
margin-bottom:25px;
}

.result-item{
background:#F8FAFC;
padding:16px;
border-radius:14px;
margin-bottom:12px;
font-weight:600;
font-size:16px;
}

.saving{
margin-top:25px;
text-align:center;
}

.saving h3{
font-size:18px;
margin-bottom:10px;
color:#64748B;
}

.saving-amount{
font-size:46px;
font-weight:900;
color:#0F172A;
}

/* FORMULARIO */

.form-group{
margin-bottom:15px;
}

.form-input{
width:100%;
padding:16px;
border:1px solid #D1D5DB;
border-radius:14px;
font-size:16px;
outline:none;
background:white;
}

.form-input:focus{
border-color:#00C46A;
}

.checkbox-group{
display:flex;
align-items:flex-start;
gap:10px;
margin-top:15px;
margin-bottom:20px;
font-size:14px;
color:#64748B;
}

.checkbox-group input{
margin-top:3px;
}

/* EXITO */

.success-box{
background:white;
padding:35px;
border-radius:24px;
text-align:center;
box-shadow:
0 15px 40px rgba(0,0,0,.06);
}

.success-box h2{
font-size:32px;
font-weight:900;
color:#00C46A;
margin-bottom:15px;
}

.success-box p{
color:#64748B;
line-height:1.6;
}

/* MOVIL */

@media(max-width:768px){

.logo{
width:150px;
max-width:150px;
}

.hero-content h1{
font-size:40px;
}

.hero-content p{
font-size:17px;
}

#questionContainer h2{
font-size:30px;
}

.card{
font-size:18px;
padding:20px;
}

.score{
font-size:54px;
}

.saving-amount{
font-size:38px;
}

}