.survey-wrap { max-width: 54rem; }
.survey-form { display: grid; gap: 1.5rem; }
.survey-question { min-width: 0; margin: 1rem 0; padding: 1.5rem; border: 1px solid #d3dfda; border-radius: 1rem; background: #fff; overflow-wrap: anywhere; }
.survey-question legend { max-width: 100%; padding: 0 .4rem; font-weight: 700; color: #0c2744; }
.survey-question legend span { font-size: .85rem; font-weight: 400; }
.survey-choice { display: flex; align-items: center; gap: .8rem; min-height: 44px; padding: .4rem; cursor: pointer; }
.survey-choice input { flex-shrink: 0; width: 1.2rem; height: 1.2rem; accent-color: #075e63; }
.survey-question textarea { width: 100%; box-sizing: border-box; font: inherit; color: #0c2744; border: 1px solid #708695; border-radius: .5rem; padding: .8rem; }
.survey-form :focus-visible { outline: 3px solid #075e63; outline-offset: 3px; }
.survey-notice { padding: 1rem; background: #e9f3ef; border-left: 4px solid #075e63; }
.survey-small { font-size: .9rem; }
.survey-question progress { width: 100%; height: 1.2rem; accent-color: #075e63; }
