.aa-orientation { max-width: 860px; margin: 2rem auto; padding: clamp(1rem, 4vw, 2rem); color: #1b1238; background: #fff; border: 1px solid #ddd4f6; border-radius: 16px; }
.aa-questionnaire fieldset { min-width: 0; margin: 0 0 1.5rem; padding: 0; border: 0; }
.aa-questionnaire legend { font-weight: 600; margin-bottom: .6rem; }
.aa-questionnaire fieldset > label, .aa-skill-family label { display: flex; align-items: flex-start; gap: .65rem; padding: .8rem; margin-block: .4rem; border: 1px solid #ddd4f6; border-radius: 8px; }
.aa-questionnaire input[type="checkbox"] { flex: none; margin-top: .3rem; width: 1.15rem; height: 1.15rem; accent-color: #6d28d9; }
.aa-questionnaire input:not([type="checkbox"]), .aa-questionnaire select, .aa-questionnaire textarea { box-sizing: border-box; width: 100%; padding: .8rem; border: 1px solid #9b88c5; border-radius: 8px; color: #1b1238; background: white; }
.aa-questionnaire details { margin-block: 1rem; }
.aa-questionnaire summary { cursor: pointer; padding: .75rem 0; font-weight: 600; }
.aa-advanced { border-top: 1px solid #ddd4f6; padding-top: .5rem; }
.aa-navigation { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 2rem; }
.aa-navigation button, .aa-confirm-email { min-height: 44px; padding: .8rem 1.2rem; border: 1px solid #6d28d9; border-radius: 8px; background: #6d28d9; color: white; cursor: pointer; }
.aa-navigation .aa-back { background: white; color: #6d28d9; }
.aa-progress { border-left: 4px solid #6d28d9; padding-left: .8rem; }
.aa-ack { padding: 1.2rem; border: 1px solid #6d28d9; border-radius: 8px; }
.aa-orientation [hidden] { display: none !important; }
.aa-orientation .forminator-ui { width: 100%; }
.aa-orientation h2, .aa-orientation h3 { line-height: 1.2; }
.aa-orientation button, .aa-orientation input, .aa-orientation select, .aa-orientation textarea { font: inherit; max-width: 100%; }
.aa-orientation .aa-result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-block: 1.5rem; }
.aa-orientation .aa-result-actions button, .aa-orientation .aa-erase { background: #fff; color: #6d28d9; border: 1px solid #6d28d9; padding: .75rem 1rem; border-radius: 8px; cursor: pointer; }
.aa-orientation .aa-continue { font-size: .9rem; }
.aa-orientation .aa-erase { margin-block-start: 1.5rem; }
.aa-orientation .aa-field-error { color: #a3213d; font-weight: 600; }
.aa-orientation .aa-skill-family { margin-block: 1.5rem .7rem; font-size: 1rem; color: #6d28d9; }
.aa-orientation :focus-visible { outline: 3px solid #6d28d9 !important; outline-offset: 3px; }
.aa-orientation button:disabled { opacity: .65; cursor: wait; }
.aa-orientation .aa-results article { margin-block: 1rem; }
.aa-orientation .aa-results h4 { margin-top: 0; }
.aa-orientation .aa-errors:not(:empty) { border: 2px solid #a3213d; padding: 1rem; margin-block: 1rem; }
.aa-orientation .aa-errors button { display: block; background: transparent; color: #8b1831; text-decoration: underline; border: 0; text-align: left; padding: .5rem; cursor: pointer; }
.aa-orientation .aa-recap dt { font-weight: 600; margin-top: .8rem; }
.aa-orientation .aa-recap dd { margin-left: 0; overflow-wrap: anywhere; }
.aa-orientation .forminator-label { white-space: normal; }
/* Override native small-form vertical pagination while preserving its tab semantics. */
.aa-orientation, .aa-orientation .forminator-ui { box-sizing: border-box; min-width: 0; }
.aa-orientation .forminator-ui .forminator-pagination-steps { display: flex !important; flex-flow: row nowrap !important; align-items: center !important; gap: 8px; max-width: 100%; min-width: 0; margin: 0 0 24px !important; padding: 5px 4px 10px !important; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #6d28d9 #f5f3ff; }
.aa-orientation .forminator-ui .forminator-pagination-steps .forminator-break { display: none !important; }
.aa-orientation .forminator-ui .forminator-pagination-steps .forminator-step { display: flex !important; flex: 0 0 auto !important; flex-direction: row !important; align-items: center !important; justify-content: center !important; width: auto !important; height: auto !important; min-height: 44px !important; margin: 0 !important; padding: 9px 13px !important; border: 1px solid #ddd4f6 !important; border-radius: 8px !important; background: #fff !important; color: #1b1238 !important; box-shadow: none !important; }
.aa-orientation .forminator-ui .forminator-pagination-steps .forminator-step-label { flex: none !important; overflow: visible !important; white-space: nowrap !important; font-size: 16px !important; line-height: 1.4 !important; color: inherit !important; }
.aa-orientation .forminator-ui .forminator-pagination-steps .forminator-step-dot { display: none !important; }
.aa-orientation .forminator-ui .forminator-pagination-steps .forminator-step[aria-selected="true"], .aa-orientation .forminator-ui .forminator-pagination-steps .forminator-step.forminator-current { background: #6d28d9 !important; border-color: #6d28d9 !important; color: #fff !important; font-weight: 600 !important; }
.aa-orientation .forminator-ui .forminator-pagination-steps .forminator-step:focus-visible { outline-offset: 2px !important; }
.aa-orientation .forminator-ui .forminator-label, .aa-orientation .forminator-ui .forminator-radio-label, .aa-orientation .forminator-ui .forminator-checkbox-label, .aa-orientation .forminator-ui .forminator-description, .aa-orientation .forminator-ui .forminator-input, .aa-orientation .forminator-ui .forminator-textarea { font-size: 16px !important; line-height: 1.5 !important; color: #1b1238 !important; }
.aa-orientation .forminator-ui .forminator-label { margin-bottom: 12px !important; font-weight: 600 !important; }
.aa-orientation .forminator-ui .forminator-radio, .aa-orientation .forminator-ui .forminator-checkbox { box-sizing: border-box; display: flex !important; align-items: flex-start !important; width: 100% !important; min-height: 44px; margin: 0 0 10px !important; padding: 12px !important; border: 1px solid #ddd4f6; border-radius: 8px; background: #fff; }
.aa-orientation .forminator-ui .forminator-radio:has(input:checked), .aa-orientation .forminator-ui .forminator-checkbox:has(input:checked) { background: #f5f3ff; border-color: #6d28d9; }
.aa-orientation .forminator-ui .forminator-radio-bullet, .aa-orientation .forminator-ui .forminator-checkbox-box { flex-shrink: 0 !important; margin-top: 3px !important; border-color: #6d28d9 !important; }
.aa-orientation .forminator-ui .forminator-radio-bullet::before { background: #6d28d9 !important; }
.aa-orientation .forminator-ui .forminator-checkbox-box::before { color: #6d28d9 !important; }
.aa-orientation .forminator-ui .forminator-radio-label, .aa-orientation .forminator-ui .forminator-checkbox-label { min-width: 0; overflow-wrap: anywhere; }
.aa-orientation .forminator-ui .forminator-input, .aa-orientation .forminator-ui .forminator-textarea { box-sizing: border-box; width: 100% !important; min-height: 48px; border: 1px solid #b5a6d8 !important; border-radius: 8px !important; background: #fff !important; padding: 12px !important; }
.aa-orientation .forminator-ui .forminator-button-next, .aa-orientation .forminator-ui .forminator-button-submit, .aa-orientation .forminator-ui .forminator-pagination-submit, .aa-orientation .forminator-ui .forminator-button-back { min-height: 44px !important; padding: 12px 18px !important; border: 1px solid #6d28d9 !important; border-radius: 8px !important; background: #6d28d9 !important; color: #fff !important; font-size: 16px !important; line-height: 1.4 !important; box-shadow: none !important; }
.aa-orientation .forminator-ui .forminator-button-back { background: #fff !important; color: #6d28d9 !important; }
@media (max-width: 600px) { .aa-orientation { margin: 1rem 0; border-radius: 8px; } .aa-orientation .forminator-pagination-steps { overflow-x: auto; } .aa-orientation button { min-height: 44px; } }
@media (prefers-reduced-motion: reduce) { .aa-orientation *, .aa-orientation *::before, .aa-orientation *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
.aa-orientation .forminator-ui [hidden] { display: none !important; }
/* Native CSS enables only the tiny bullet/text spans. Our padded option card is one native label. */
.aa-orientation .forminator-ui:not(.forminator-fields-disabled):not(.forminator-partial-disabled):not([aria-busy="true"]) label:is(.forminator-radio, .forminator-checkbox):has(input:not(:disabled)) { pointer-events: auto; cursor: pointer; }

/* Native questionnaire controls must fit even the narrowest supported viewport. */
.aa-orientation { max-width: 760px; color: #171320; }
.aa-orientation *, .aa-orientation *::before, .aa-orientation *::after { box-sizing: border-box; }
.aa-orientation :where(form, section, fieldset, legend, label) { min-width: 0; max-width: 100%; }
.aa-orientation legend { white-space: normal; overflow-wrap: anywhere; }
.aa-orientation :where(input:not([type=checkbox]), select, textarea) { width: 100%; min-width: 0; max-width: 100%; font: inherit; }
.aa-orientation select { text-overflow: ellipsis; }
.aa-orientation .aa-navigation button, .aa-orientation .aa-confirm-email { background: #6d28d9; border-color: #6d28d9; color: #fff; }
.aa-orientation .aa-navigation .aa-back { background: #fff; color: #6d28d9; }
.aa-orientation :focus-visible { outline-color: #6d28d9 !important; }
.aa-orientation .aa-init-status { padding: 12px; background: #f5f3ff; border-left: 4px solid #6d28d9; }

/* Keep the request readable without an extra card around every stage. */
.aa-orientation { margin: 0 auto; padding: 0; border: 0; border-radius: 0; }
.aa-form-help { margin: .75rem 0 1.5rem; color: #50495c; }
.aa-form-help summary { cursor: pointer; text-decoration: underline; text-underline-offset: .2em; }
.aa-form-help p { margin: .75rem 0; }
.aa-step-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .6rem; list-style: none; margin: 1.5rem 0; padding: 0; }
.aa-step-list li { padding: .7rem; border-bottom: 2px solid #ddd7e5; color: #50495c; font-size: .9rem; overflow-wrap: anywhere; }
.aa-step-list li span { display: block; font-weight: 700; }
.aa-step-list li[aria-current="step"] { color: #6d28d9; background: #f5f3ff; border-color: #6d28d9; font-weight: 600; }
.aa-step-list .aa-step-done { border-color: #6d28d9; }
.aa-progress { border: 0; padding: 0; font-size: .9rem; color: #50495c; }
.aa-questionnaire .aa-step { padding: 0; border: 0; border-radius: 0; background: transparent; }
@media (max-width: 600px) { .aa-step-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* A single introduction and stage heading; the live progress remains announced. */
body.aa-utility-page:has(.aa-orientation) #content.site-content > .ast-container { padding-top: 28px; padding-bottom: 32px; }
body.aa-utility-page:has(.aa-orientation) .entry-content > h1 { max-width: 760px; margin: 0 auto 16px; font-size: clamp(1.8rem, 3vw, 2.5rem); }
.aa-orientation-intro { margin: 0 0 8px; line-height: 1.5; }
.aa-orientation > h2 { margin: 0 0 12px; font-size: 1.75rem; }
.aa-orientation { background: transparent; }
.aa-orientation-help { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 24px; font-size: 14px; }
.aa-orientation-help > a { display: inline-flex; align-items: center; min-height: 44px; }
.aa-orientation-help .aa-form-help { margin: 0; flex: 1 1 240px; }
.aa-orientation-help .aa-form-help summary { min-height: 44px; padding: 10px 0; }
.aa-orientation .aa-step-list { gap: 8px; margin: 8px 0 20px; }
.aa-orientation .aa-step-list li { min-height: 44px; padding: 8px; font-size: 14px; line-height: 1.3; overflow-wrap: normal; }
.aa-orientation .aa-step-list li span { display: inline; margin-right: 6px; }
.aa-orientation .aa-step-list .aa-step-name { font-weight: inherit; margin-right: 0; }
.aa-orientation .aa-step-list .aa-step-short { display: none; }
.aa-orientation .aa-progress { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.aa-questionnaire .aa-step > h3 { margin: 0 0 16px; font-size: 1.35rem; }
.aa-questionnaire fieldset { margin-bottom: 20px; }
.aa-questionnaire .aa-navigation { margin-top: 20px; padding-block: 12px; border-top: 1px solid #ddd7e5; }
.aa-questionnaire .aa-navigation .aa-next { margin-left: auto; }
@media(max-width:600px) {
    .aa-orientation .aa-step-list { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 16px; gap: 4px; }
    .aa-orientation .aa-step-list li { display: flex; flex-direction: column; align-items: center; gap: 4px; min-height: 64px; padding: 10px 4px; }
    .aa-orientation .aa-step-list li span { margin-right: 0; }
    .aa-orientation .aa-step-list .aa-step-name { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .aa-orientation .aa-step-list .aa-step-short { display: block; font-weight: inherit; }
    .aa-orientation-help { gap: 0 16px; }
    .aa-orientation-help .aa-form-help { flex-basis: auto; }
}
