/* Page-only form sizing, using the existing site typography and Contact palette. */
.assessment-page .assessment-shell { width: min(900px, calc(100% - 2rem)); margin: 3rem auto; }
.assessment-page .assessment-card { padding: 2.5rem; border: 1px solid #cfd8ea; border-radius: 12px; background: #fff; }
.assessment-page .assessment-form, .assessment-page .assessment-form * { box-sizing: border-box; min-width: 0; }
.assessment-page fieldset { border: 0; margin: 1.5rem 0; padding: 0; }
.assessment-page legend { font-weight: 600; max-width: 100%; margin-bottom: .6rem; }
.assessment-page .field { display: block; margin: 1rem 0; }
.assessment-page .field > span { display: block; font-weight: 600; margin-bottom: .4rem; }
.assessment-page .field input, .assessment-page select, .assessment-page textarea { display: block; width: 100%; max-width: 100%; padding: .75rem; border: 1px solid #cfd8ea; border-radius: 6px; font: inherit; background: #fff; color: inherit; }
.assessment-page textarea { resize: vertical; }
.assessment-page .choices, .assessment-page .form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.assessment-page .choice { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .6rem; padding: .65rem; border: 1px solid #cfd8ea; border-radius: 8px; cursor: pointer; }
.assessment-page .choice input { margin: .25rem 0 0; }
.assessment-page .choice:has(:checked) { border-color: #1a53ff; background: #eef2ff; }
.assessment-page .hint { color: #4b5563; font-size: .95rem; }
.assessment-page .privacy { border-left: 3px solid #3c6df0; padding-left: 1rem; margin: 1.5rem 0; }
.assessment-page .assessment-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.assessment-page .assessment-form button { padding: .85rem 1.4rem; border: 1px solid #cfd8ea; border-radius: 10px; font: inherit; cursor: pointer; }
.assessment-page .primary { background: #3c6df0; color: #fff; border-color: #3c6df0; font-weight: 600; }
.assessment-page .assessment-form button:disabled { opacity: .65; cursor: wait; }
.assessment-page :focus-visible { outline: 3px solid #1a53ff; outline-offset: 3px; }
.assessment-page [aria-invalid="true"] { border-color: #a01818; }
.assessment-page [role="alert"] { color: #a01818; }
.assessment-page pre { white-space: pre-wrap; font: inherit; padding: 1rem; background: #f5f7fc; }
.assessment-page p, .assessment-page h1, .assessment-page h2, .assessment-page span, .assessment-page summary, .assessment-page pre { overflow-wrap: anywhere; }
.assessment-page details { margin: 1rem 0; }
.assessment-page summary { cursor: pointer; font-weight: 600; }
.assessment-page [hidden] { display: none !important; }
@media (max-width: 640px) {
  .assessment-page .assessment-card { padding: 1rem; }
  .assessment-page .choices, .assessment-page .form-row { grid-template-columns: minmax(0, 1fr); }
  .assessment-page .assessment-shell { margin: 1.5rem auto; }
}
