.survey-error {padding:16px;border:1px solid #9e302a;border-radius:10px;background:#fff4f2;color:#77231e;margin-top:16px;}
.survey-error[hidden] {display:none;}
.survey-privacy {margin-top:20px;font-size:14px;line-height:1.6;color:#435442;}
.follow-up {display:flex;align-items:flex-start;gap:10px;margin-top:16px;font-size:15px;line-height:1.5;}
.follow-up input {margin-top:5px;accent-color:#2A8340;flex-shrink:0;}
.contact-grid label {display:grid;gap:6px;font-size:14px;}
.survey-trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden;}
.survey-form button:disabled {cursor:default;opacity:.7;}
.survey-form .opt {min-height:44px;}
.survey-form .q__title,.survey-form .q__num {font-size:24px;}
.survey-form .field {font-size:16px;min-width:0;}
.survey-form .thanks {overflow-wrap:anywhere;}
.survey-form [tabindex="-1"]:focus {outline:2px solid #2A8340;outline-offset:4px;}
@media print {
  .survey-error,.survey-trap,.print-note {display:none!important;}
  .page-sub .section {padding:12px 0;}
  .page-sub .wrap {width:100%;max-width:none;}
  .survey-form .q {break-inside:avoid;}
  .survey-form .q__title,.survey-form .q__num {font-size:18px;}
  .survey-form .q__hint,.survey-form .opt,.survey-privacy,.follow-up {font-size:12px;}
  .survey-hero .display {font-size:30px;}
  .survey-hero .lede,.survey-form>.lede {font-size:13px;line-height:1.4;}
  .contact-grid {grid-template-columns:1fr 1fr;}
  .survey-privacy {break-inside:avoid;}
}
