* {
    box-sizing: border-box;
    }

body {
margin: 0;
min-height: 100vh;
font-family: Arial, sans-serif;
background: #FFFDF5;
color: #493B25;
padding: 40px 20px;
}

.container {
max-width: 760px;
margin: auto;
}

header {
text-align: center;
margin-bottom: 35px;
}

.badge {
display: inline-block;
background: #FFF2C2;
color: #96701C;
padding: 9px 17px;
border-radius: 20px;
font-size: 12px;
font-weight: bold;
letter-spacing: 1px;
}

h1 {
font-size: 34px;
margin-bottom: 10px;
color: #493B25;
}

.subtitle {
color: #8B7955;
}

.card {
background: #FFFFFF;
border: 1px solid #F0E4C5;
border-radius: 18px;
padding: 30px;
margin-bottom: 22px;
box-shadow: 0 8px 25px rgba(120, 90, 30, 0.05);
}

h2 {
color: #96701C;
}

p {
line-height: 1.7;
}

label {
display: block;
margin: 18px 0 8px;
color: #594A32;
}

input[type=“text”],
select {
width: 100%;
padding: 14px;
border: 1px solid #E9DDBE;
border-radius: 9px;
background: #FFFDF5;
color: #493B25;
font-size: 15px;
outline: none;
}

input:focus,
select:focus {
border-color: #D9AC32;
box-shadow: 0 0 0 3px rgba(242, 201, 76, 0.16);
}

button {
width: 100%;
padding: 15px;
margin-top: 20px;
border: none;
border-radius: 9px;
background: #F2C94C;
color: #493B25;
font-size: 15px;
font-weight: bold;
cursor: pointer;
transition: 0.2s;
}

button:hover {
background: #E7B936;
transform: translateY(-1px);
}

.option {
display: block;
width: 100%;
text-align: left;
padding: 16px;
margin: 12px 0;
background: #FFFCF2;
border: 1px solid #E9DDBE;
border-radius: 10px;
color: #493B25;
cursor: pointer;
transition: 0.2s;
}

.option:hover {
background: #FFF2C2;
border-color: #D9AC32;
}

.consent {
display: flex;
align-items: center;
gap: 10px;
}

.consent input {
accent-color: #D9AC32;
}

.progress {
display: flex;
justify-content: space-between;
color: #8B7955;
font-size: 13px;
margin-bottom: 20px;
}

.instruction {
padding: 20px;
background: #FFF8E5;
border-left: 4px solid #E7B936;
border-radius: 8px;
line-height: 1.7;
color: #594A32;
}

.error {
color: #B45335;
}

.hidden {
display: none !important;
}

.question {
margin: 22px 0;
}

.question label {
margin: 10px 0;
}

@media (max-width: 600px) {
body {
padding: 20px 12px;
}
h1 {
    font-size: 26px;
}

.card {
    padding: 20px;
}
}