/* The questionnaire uses the existing Eh Ok Media brand tokens. */
.questionnaire { min-width:0; color:var(--ink); --text-muted:#4a5560; --text-faint:#5a6570; }
.questionnaire [hidden] { display:none !important; }
.questionnaire .question-required { font-size:.9rem; margin-bottom:18px; }
.question-progress { border-bottom:2px solid var(--ink); padding-bottom:16px; margin-bottom:24px; font-weight:700; }
.question-step { padding:0; margin:0; background:none; }
.question-step h3 { font-size:clamp(1.4rem,3vw,1.8rem); margin-bottom:10px; scroll-margin-top:100px; }
.question-step h3:focus { outline:3px solid var(--blue); outline-offset:6px; }
.question-intro,.question-hint { color:#4a5560; line-height:1.5; }
.question-intro { margin-bottom:24px; }
.question-hint { font-size:.9rem; margin:5px 0 8px; }
.questionnaire label { text-transform:none; letter-spacing:normal; font-size:1rem; }
.questionnaire input,.questionnaire select,.questionnaire textarea { font-size:16px; min-height:48px; }
.questionnaire .form-field { margin-bottom:24px; }
.questionnaire textarea { resize:vertical; }
.questionnaire input:focus-visible,.questionnaire select:focus-visible,.questionnaire textarea:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.question-note { padding:18px; border-left:4px solid var(--blue); background:#eaf3f7; color:var(--ink); margin:20px 0; line-height:1.55; font-size:.95rem; }
.question-note h4 { margin-bottom:8px; }
.question-navigation { display:flex; justify-content:space-between; gap:18px; margin-top:26px; }
.question-navigation .btn { min-height:48px; }
.questionnaire .btn--ghost { background:var(--paper); color:var(--ink); }
.recommendation { border:2px solid var(--ink); background:var(--butter); padding:22px; border-radius:var(--radius-md); margin:20px 0; }
.recommendation h4 { font-size:1.35rem; margin:10px 0; }
.recommendation ul { padding-left:22px; margin:12px 0; }
.recommendation li { margin-bottom:8px; }
.recommendation p { margin:8px 0; }
.brief-group { border-top:1px solid #aab0b4; margin-top:24px; padding-top:18px; }
.brief-group h4 { margin-bottom:12px; }
.brief-group dl { margin:0; }
.brief-group dt { font-weight:700; margin-top:12px; }
.brief-group dd { margin:3px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.5; }
.brief-edit { margin-top:14px; min-height:44px; text-decoration:underline; background:none; color:var(--blue); border:0; font:inherit; font-weight:700; cursor:pointer; }
.brief-edit:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
#question-status { margin-top:24px; padding:20px; border:2px solid var(--ink); background:var(--sky); color:var(--ink); line-height:1.6; }
#question-status[data-error="true"] { border-color:var(--red-deep); background:#fff0eb; }
.questionnaire .checkbox-label { font-weight:400; line-height:1.5; }
.questionnaire .checkbox-label input { min-height:20px; width:20px; height:20px; }
.questionnaire .invalid input,.questionnaire .invalid select,.questionnaire .invalid textarea { border-color:var(--red-deep); }
.questionnaire .form-error { color:var(--red-deep); }
@media(max-width:600px){.contact__form.questionnaire{padding:24px 18px}.question-navigation .btn{padding:12px 18px}.recommendation{padding:18px}.question-note{padding:14px}}
