body{
font-family:Inter,sans-serif;
}

.bizo-app{
max-width:760px;
margin:60px auto;
padding:20px;
}

.progress-wrap{
height:8px;
background:#eee;
border-radius:30px;
overflow:hidden;
margin-bottom:50px;
}

#progressBar{
height:100%;
width:14%;
background:#111;
transition:.4s;
}

.step{
display:none;
animation:fade .35s ease;
}

.step.active{
display:block;
}

@keyframes fade{
from{opacity:0;transform:translateY(12px)}
to{opacity:1;transform:none}
}

h1,h2{
font-size:54px;
line-height:1.05;
margin-bottom:20px;
}

.sub{
font-size:20px;
opacity:.7;
}

textarea,
input{
width:100%;
padding:20px;
border-radius:18px;
border:1px solid #ddd;
font-size:20px;
margin:20px 0;
}

.choices button{
display:block;
width:100%;
padding:18px;
margin:12px 0;
background:white;
border:2px solid #ddd;
border-radius:18px;
font-size:18px;
cursor:pointer;
}

.choices button.selected{
border-color:#111;
transform:scale(1.01);
}

.next-btn,
#analyzeBtn,
.cta-btn{
background:#111;
color:#fff;
padding:18px 28px;
border:none;
border-radius:18px;
font-size:18px;
cursor:pointer;
text-decoration:none;
display:inline-block;
}

.ai-nudge{
margin-top:10px;
font-style:italic;
opacity:.6;
}

.loader-sequence div{
padding:16px 0;
font-size:24px;
}

.pulse{
animation:pulse 1.5s infinite;
}

@keyframes pulse{
50%{opacity:.45}
}

.score-card{
text-align:center;
margin-bottom:40px;
}

.score-circle{
width:180px;
height:180px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
font-size:58px;
font-weight:700;
border:8px solid #111;
}

.upsell-box{
margin-top:50px;
padding:35px;
border-radius:24px;
background:#f7f7f7;
}