.survey-banner{background:var(--water);color:var(--secondary);font-size:var(--text-xs);padding-block:12px;border-bottom:1px solid var(--divider)}
.survey-layout{display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1.25fr);gap:clamp(40px,6vw,88px);padding-block:48px 80px;align-items:start}
.survey-introduction{position:sticky;top:120px;min-width:0}
.survey-back{font-size:var(--text-sm);color:var(--accent);display:inline-block;padding-block:8px;margin-bottom:28px}
.survey-introduction h1{font-size:clamp(2rem,3.4vw,3.3rem);line-height:1.13;margin:20px 0}
.survey-subtitle{font-size:var(--text-lg);line-height:1.45;margin-bottom:24px}
.survey-context{color:var(--secondary);font-size:var(--text-sm);line-height:1.85}
.survey-facts{border-top:1px solid var(--divider);margin-top:28px;padding-top:20px;font:var(--text-xs)/1.9 var(--font-data);color:var(--secondary)}
.survey-note{font-size:var(--text-xs);color:var(--secondary);margin:20px 0}
.survey-introduction .text-link{font-size:var(--text-xs);line-height:1.7}
.survey-panel{background:var(--paper);border:1px solid var(--divider);padding:clamp(24px,3.4vw,48px);min-width:0}
#survey-app{scroll-margin-top:118px}
.survey-progress{display:flex;justify-content:space-between;gap:16px;font:var(--text-xs)/1.6 var(--font-data);color:var(--secondary)}
.survey-panel progress{appearance:none;display:block;width:100%;height:3px;border:0;margin:16px 0 32px;background:var(--divider)}
.survey-panel progress::-webkit-progress-bar{background:var(--divider)}
.survey-panel progress::-webkit-progress-value{background:var(--accent)}
.survey-panel progress::-moz-progress-bar{background:var(--accent)}
.survey-panel h2{font-size:var(--text-xl);line-height:1.25;margin-bottom:20px}
.survey-panel h2:focus{outline:none}
.consent-preview-label{color:var(--accent);margin-bottom:20px}
.participant-notice{border-block:1px solid var(--divider);padding:12px 0;margin:24px 0}
.participant-notice summary{font-size:var(--text-sm);font-weight:600;cursor:pointer;min-height:44px;align-content:center}
.participant-notice h3{font:600 var(--text-base)/1.5 var(--font-body);margin:24px 0 12px}
.participant-notice p{font-size:var(--text-sm);line-height:1.8;color:var(--secondary);margin:12px 0}
.participant-notice a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.consent-checks{border:0;margin:24px 0;padding:0;min-width:0}
.consent-checks legend{font:600 var(--text-base)/1.5 var(--font-body);margin-bottom:16px}
.consent-checks label{display:flex;align-items:flex-start;gap:12px;font-size:var(--text-sm);line-height:1.8;padding:12px 0;cursor:pointer}
.consent-checks input{width:20px;height:20px;flex-shrink:0;margin:4px 0 0;accent-color:var(--accent)}
.consent-checks input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.step-intro{font-size:var(--text-sm);color:var(--secondary);margin-bottom:28px}
.field-label{display:block;font-weight:600;font-size:var(--text-base);margin-top:24px}
.required-label{font-size:var(--text-xs);font-weight:400;color:var(--secondary)}
.field-help{font-size:var(--text-xs);color:var(--secondary);line-height:1.7;margin:8px 0 12px}
.survey-panel select,.survey-panel textarea{display:block;width:100%;max-width:100%;border:1px solid #718b94;border-radius:2px;background:var(--paper);color:var(--ink);font:var(--text-sm)/1.65 var(--font-body);padding:12px;min-height:48px}
.survey-panel select{padding-right:28px;text-overflow:ellipsis}
.survey-panel select:disabled{background:var(--cloud);color:var(--secondary);cursor:not-allowed}
.survey-panel textarea{min-height:180px;resize:vertical;margin-top:20px}
.survey-panel select:focus-visible,.survey-panel textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.survey-details{margin-top:24px;border-top:1px solid var(--divider);padding-top:16px;font-size:var(--text-xs);color:var(--secondary)}
.survey-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center;text-decoration:underline;text-underline-offset:4px}
.survey-details p{margin:8px 0 12px}
.survey-details a,.survey-bottom-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.survey-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--divider);padding-top:24px;margin-top:28px}
.survey-controls .button{font:600 var(--text-sm)/1.5 var(--font-body);border-radius:2px}
.survey-controls .button:focus-visible{outline-offset:4px}
.back-button,.edit-link{border:0;background:transparent;color:var(--accent);font:var(--text-sm)/1.5 var(--font-body);text-decoration:underline;text-underline-offset:4px;padding:10px 0;min-height:44px}
.survey-bottom-note{font-size:var(--text-xs);color:var(--secondary);margin-top:24px}
.scale-key{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;background:var(--cloud);border-block:1px solid var(--divider);padding:16px 12px;margin:20px 0 28px}
.scale-key div{min-width:0}
.survey-note a{text-decoration:underline;text-underline-offset:3px}
.scale-key b{display:block;color:var(--accent);font:600 var(--text-base)/1.4 var(--font-body);margin-bottom:8px}
.scale-key span{display:block;font-size:var(--text-xs);line-height:1.6;color:var(--secondary);overflow-wrap:anywhere}
@media(max-width:500px){.scale-key{grid-template-columns:1fr}.scale-key div{display:flex;align-items:baseline;gap:12px}.scale-key b{margin-bottom:0;min-width:12px}.scale-key span{overflow-wrap:normal}}
.rating-question{border:0;border-bottom:1px solid var(--divider);padding:0 0 24px;margin:0 0 24px;min-width:0}
.rating-question legend{font-size:var(--text-base);font-weight:600;line-height:1.6;padding:0;width:100%}
.question-index{font:var(--text-xs)/1.5 var(--font-data);color:var(--accent);display:block;margin-bottom:8px}
.rating-numbers{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:16px}
.rating-choice{position:relative;display:block;cursor:pointer;min-width:0}
.rating-choice input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.rating-choice>span[aria-hidden]{display:grid;place-items:center;min-height:48px;border:1px solid #718b94;font:600 var(--text-base)/1 var(--font-body);color:var(--ink);background:var(--paper);border-radius:2px}
.rating-choice input:checked+span{background:var(--accent);border-color:var(--accent);color:#fff}
.rating-choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:3px}
.rating-choice:hover>span[aria-hidden]{border-color:var(--accent)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rating-alternatives{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:12px}
.rating-alternatives label{display:flex;align-items:center;gap:8px;min-height:44px;font-size:var(--text-xs);color:var(--secondary);cursor:pointer}
.rating-alternatives input{accent-color:var(--accent);width:17px;height:17px;margin:0;flex-shrink:0}
.reflection-label{font-size:var(--text-lg);line-height:1.5;display:block}
.survey-error{border-left:3px solid #8a382d;background:#fff3ef;color:#723027;font-size:var(--text-sm);padding:12px 16px;margin-bottom:24px}
[aria-invalid=true]{outline:2px solid #8a382d;outline-offset:3px}
.review-profile{background:var(--cloud);padding:20px;margin-bottom:24px}
.review-profile>div+div{margin-top:16px}
.review-profile span{font-size:var(--text-xs);color:var(--secondary)}
.review-profile p{font-size:var(--text-sm);overflow-wrap:anywhere}
.review-answers{margin:0;padding-left:22px}
.review-answers li{padding:16px 0;border-bottom:1px solid var(--divider);font-size:var(--text-sm)}
.review-answers strong{display:block;font-size:var(--text-xs);color:var(--accent);font-weight:600;margin-top:8px}
.review-written{margin-top:28px;font-size:var(--text-sm)}
.written-answer{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--secondary);margin-top:12px}
.completion>.eyebrow{color:var(--accent);margin-bottom:24px}
.completion>p:not(.eyebrow){font-size:var(--text-sm);color:var(--secondary);margin:20px 0}
.completion>.button{margin-top:8px;max-width:100%}
.completion>.text-link{display:flex;width:fit-content;margin-top:20px}
.other-studies{border-top:1px solid var(--divider);margin-top:32px;padding-top:24px}
.other-studies>a{display:flex;justify-content:space-between;gap:16px;font-size:var(--text-sm);color:var(--accent);padding:14px 0;border-bottom:1px solid var(--divider)}
.other-studies .eyebrow{margin-bottom:8px}
@media(max-width:900px){.survey-layout{grid-template-columns:1fr;gap:32px;padding-block:32px 48px}.survey-introduction{position:static}.survey-introduction h1{font-size:clamp(2rem,5vw,3rem)}.survey-facts{display:flex;flex-wrap:wrap;gap:8px 24px}.survey-note{margin:16px 0}.survey-back{margin-bottom:16px}}
@media(max-width:500px){.survey-panel{padding:22px 16px}.survey-layout{width:calc(100% - 32px)}.survey-banner .wrap{width:calc(100% - 32px)}.survey-introduction .text-link{font-size:var(--text-sm)}.survey-controls{align-items:flex-start;gap:12px;flex-wrap:wrap}.survey-controls .button{margin-left:auto}.scale-key{padding:12px 8px;gap:6px}.rating-numbers{gap:7px}.survey-progress{font-size:var(--text-xs);flex-wrap:wrap;gap:4px}.survey-panel select{font-size:16px}.rating-alternatives{gap:0}.rating-alternatives label{width:100%}.completion>.button{width:100%;gap:12px}}
.connection-check{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line,#cbd9d5)}
.connection-check h3{font-family:var(--font-body,Manrope,sans-serif);font-size:1.125rem;line-height:1.4}
.connection-check p{font-size:1rem;line-height:1.65}
.connection-check .button:disabled{opacity:.75;cursor:default;transform:none}
.connection-check #connection-status{color:#205a5a;min-height:1.5em;margin-block:1rem}
.collection-status{padding:1rem;background:#edf5f3;color:#23414b;font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}
.submission-receipt{display:block;font-size:.875rem;overflow-wrap:anywhere}
.survey-controls button:disabled,.edit-link:disabled{opacity:.65;cursor:not-allowed;transform:none}
