.speech-questionnaire [hidden] { display: none !important; }
.speech-questionnaire progress { width: 100%; height: .65rem; accent-color: #5a7d60; }
.speech-questionnaire fieldset { min-width: 0; }
.speech-questionnaire legend {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0 0 .9rem;
  font-family: inherit;
}
.speech-options { display: flex; flex-wrap: wrap; gap: .65rem; clear: both; }
.speech-option { display: flex; align-items: center; gap: .6rem; border: 1px solid #deded8; border-radius: 1rem; padding: .75rem; cursor: pointer; }
.speech-option:has(input:checked) { background: #e8f0e9; border-color: #5a7d60; }
.speech-option input { width: 1.1rem; height: 1.1rem; flex-shrink: 0; accent-color: #5a7d60; }
.speech-questionnaire :focus-visible { outline: 2px solid #5a7d60; outline-offset: 4px; }
.speech-questionnaire h2 { scroll-margin-top: 6rem; }
.speech-specialist { display: flex; align-items: flex-start; gap: 1rem; overflow-wrap: anywhere; }
.speech-specialist img, .speech-placeholder { width: 80px; height: 80px; flex-shrink: 0; }
.speech-placeholder { display: flex; align-items: center; justify-content: center; font-size: 2rem; }
.speech-questionnaire button:disabled { opacity: .45; cursor: default; }
@media (max-width: 480px) { .speech-options { flex-direction: column; } }
