/* Questionnaire-only layout and readable response controls. */
.questionnaire-hero__grid { display: block; padding-block: 40px; }
.questionnaire-hero h1 { max-width: 900px; font-size: clamp(2.4rem, 4.5vw, 4rem); margin: 12px 0 16px; }
.questionnaire-hero .eyebrow { color: var(--gold-light); }
.questionnaire-hero__grid aside { display: flex; flex-wrap: wrap; gap: 8px; max-width: none; width: fit-content; margin-top: 20px; padding: 10px 16px; align-items: baseline; }
.questionnaire-hero__grid aside strong { font: inherit; color: var(--gold-light); font-weight: 800; }
.questionnaire-hero__grid aside span { margin: 0; font-size: .85rem; text-transform: none; letter-spacing: 0; }
.questionnaire-hero__grid aside small { width: auto; margin: 0; padding: 0 0 0 10px; border: 0; color: white; }
.questionnaire-intro { padding-block: 32px; gap: 32px; }
.questionnaire-intro h2 { font-size: clamp(1.6rem, 3vw, 2.4rem); }
.questionnaire-intro p { line-height: 1.6; margin-bottom: 12px; }
.answer-option span { display: block; font-size: .85rem; font-weight: 650; letter-spacing: 0; text-transform: none; }
.answer-option:has(input:focus-visible) { outline: 3px solid var(--gold); outline-offset: 3px; }
.question-card { scroll-margin-top: 155px; }
.questionnaire-progress-card button { justify-self: start; min-height: 44px; padding: 8px 12px; background: transparent; border: 1px solid var(--gold-light); color: white; font: inherit; font-size: .85rem; cursor: pointer; }
.questionnaire-progress-card button[hidden] { display: none; }
.questionnaire-progress-card button:focus-visible { outline: 2px solid white; outline-offset: 3px; }
@media (max-width: 760px) {
  .questionnaire-hero__grid { padding-block: 28px; }
  .questionnaire-intro { gap: 12px; }
  .scale-key { display: none; }
  .answer-scale { grid-template-columns: 1fr; gap: 6px; }
  .answer-option { display: flex; justify-content: flex-start; gap: 14px; min-height: 44px; padding: 10px 14px; text-align: left; }
  .answer-option strong { font-size: 1.1rem; }
  .answer-option span { display: block; font-size: .9rem; }
  .questionnaire-progress-card { gap: 6px; padding: 10px 12px; }
  .question-section__heading h2 { font-size: 1.65rem; }
}
