.diagnosis-hero { text-align:center; padding:100px 0 85px; }
.diagnosis-hero h1 { font-size:clamp(46px,6vw,76px); line-height:1.12; letter-spacing:-.05em; }
.diagnosis-hero p:not(.section-kicker) { margin:30px auto 0; max-width:610px; color:var(--muted); font-size:17px; line-height:1.8; }
.diagnosis-meta { display:flex; justify-content:center; gap:24px; margin-top:28px; color:var(--quiet); font-size:11px; }
.diagnosis-meta span+span::before { content:'·'; margin-right:24px; }
.diagnosis-flow { padding:75px 0 100px; }
.diagnosis-card { max-width:760px; margin:auto; padding:46px; border:1px solid var(--line); border-radius:30px; background:var(--surface); box-shadow:var(--shadow); }
.diagnosis-progress { display:flex; align-items:center; justify-content:space-between; gap:24px; color:var(--quiet); font-size:10px; letter-spacing:.1em; }
.progress-track { width:160px; height:3px; background:var(--soft); border-radius:3px; overflow:hidden; }
.progress-track span { display:block; height:100%; background:var(--blue); transition:width .5s var(--ease); }
#diagnosis-content h2 { font-size:clamp(30px,3vw,42px); line-height:1.3; letter-spacing:-.035em; margin:48px 0 15px; }
#diagnosis-content>p { color:var(--muted); line-height:1.8; font-size:14px; }
.diagnosis-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:33px; }
.diagnosis-option { min-height:62px; padding:16px 20px; text-align:left; border:1px solid var(--line); border-radius:16px; background:var(--soft); color:var(--text); font:inherit; font-size:14px; cursor:pointer; transition:all .5s var(--ease); }
.diagnosis-option:hover { border-color:var(--blue); }
.diagnosis-option[aria-pressed=true] { border-color:var(--blue); background:color-mix(in srgb,var(--blue) 8%,var(--surface)); box-shadow:inset 0 0 0 1px var(--blue); }
.diagnosis-controls { display:flex; justify-content:space-between; align-items:center; margin-top:40px; }
.diagnosis-back { color:var(--muted); background:none; border:0; font:inherit; cursor:pointer; }
.diagnosis-back[hidden] { visibility:hidden; display:block!important; }
.diagnosis-controls .pill { cursor:pointer; }
.diagnosis-controls .pill:disabled { opacity:.4; cursor:not-allowed; }
.diagnosis-disclaimer { max-width:760px; margin:18px auto 0; font-size:11px; line-height:1.8; color:var(--quiet); }
.diagnosis-result { margin-top:30px; border-top:1px solid var(--line); padding-top:25px; }
.diagnosis-result h3 { font-size:17px; }
.diagnosis-result ol { padding-left:20px; color:var(--muted); line-height:1.9; font-size:14px; }
#diagnosis-content .diagnosis-result-note { font-size:11px; margin-top:25px; }
.diagnosis-related { padding:90px 0; text-align:center; }
.diagnosis-related h2 { font-size:clamp(34px,4vw,52px); line-height:1.2; }
.diagnosis-related p:not(.section-kicker) { color:var(--muted); margin:25px auto; max-width:550px; line-height:1.8; }
@media(max-width:600px) { .diagnosis-hero { padding:75px 0 60px; } .diagnosis-hero p:not(.section-kicker) { font-size:13px; } .diagnosis-meta { gap:8px; font-size:9px; } .diagnosis-meta span+span::before { margin-right:8px; } .diagnosis-flow { padding:45px 0 65px; } .diagnosis-card { padding:26px 20px; border-radius:22px; } .progress-track { width:90px; } .diagnosis-options { grid-template-columns:1fr; gap:9px; } .diagnosis-option { min-height:54px; font-size:13px; } .diagnosis-related { padding:65px 0; } }

/* Direct request first, guided questions only on demand. */
.diagnosis-intake h2 { font-size:clamp(29px,3.1vw,42px); line-height:1.25; letter-spacing:-.035em; margin:23px 0 14px; }
.diagnosis-intake>p:not(.section-kicker) { color:var(--muted); font-size:14px; line-height:1.85; margin-bottom:28px; }
.diagnosis-intake label { display:block; color:var(--text); font-size:12px; font-weight:600; margin:21px 0 9px; }
.diagnosis-intake label span { color:var(--quiet); font-weight:400; margin-left:6px; }
.diagnosis-intake textarea,.diagnosis-intake select { width:100%; border:1px solid var(--line); border-radius:15px; background:var(--soft); color:var(--text); font:inherit; font-size:14px; line-height:1.8; padding:17px 18px; transition:border-color .5s var(--ease); }
.diagnosis-intake textarea { resize:vertical; min-height:150px; }
.diagnosis-intake textarea::placeholder { color:var(--quiet); }
.diagnosis-intake textarea:focus,.diagnosis-intake select:focus { outline:2px solid var(--blue); outline-offset:2px; }
.diagnosis-intake select { min-height:55px; }
.intake-error { color:#d84343!important; font-size:12px!important; margin:10px 0 0!important; }
.intake-actions { display:flex; flex-direction:column; align-items:flex-start; gap:21px; margin-top:30px; }
.intake-actions .pill { cursor:pointer; }
.guided-link { border:0; background:transparent; color:var(--link); font:inherit; font-size:13px; cursor:pointer; padding:0; text-align:left; }
.guided-link:hover { text-decoration:underline; text-underline-offset:4px; }
#guided-flow,#diagnosis-result { scroll-margin-top:90px; }
#diagnosis-result .section-kicker { margin-bottom:18px; }
#diagnosis-result h2 { font-size:clamp(31px,3.1vw,43px); line-height:1.28; letter-spacing:-.035em; }
.result-lead { color:var(--muted); font-size:15px; line-height:1.9; margin-top:20px; }
.result-context,.result-note { color:var(--quiet); font-size:11px; line-height:1.8; margin-top:19px; }
.result-input { margin-top:28px; padding:19px 21px; background:var(--soft); border-radius:16px; }
.result-input span { color:var(--quiet); font-size:10px; }
.result-input p { margin-top:8px; color:var(--muted); font-size:13px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.result-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:30px; }
.result-panel { padding:21px; border:1px solid var(--line); border-radius:18px; background:var(--soft); }
.result-number { font-size:9px; color:var(--link); letter-spacing:.08em; }
.result-panel h3 { font-size:16px; line-height:1.4; margin:15px 0 12px; }
.result-panel p,.result-panel li { color:var(--muted); font-size:11px; line-height:1.85; }
.result-panel ol { padding-left:17px; }
.result-caution { margin-top:22px; padding:16px; border-left:2px solid var(--blue); background:var(--soft); font-size:12px; color:var(--muted); line-height:1.8; }
.result-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:30px; }
.result-actions .link-blue { font-size:13px; }
@media(max-width:600px) { .diagnosis-intake h2 { margin-top:18px; } .diagnosis-intake>p:not(.section-kicker) { font-size:12px; } .diagnosis-intake textarea,.diagnosis-intake select { font-size:13px; } .intake-actions .pill { font-size:12px; padding:11px 15px; } .guided-link { font-size:12px; } .result-grid { grid-template-columns:1fr; } .result-panel { padding:20px; } }
.diagnosis-consent { display:flex; align-items:flex-start; gap:11px; margin-top:30px; font-size:11px; line-height:1.8; color:var(--muted); }
.diagnosis-consent input { margin-top:4px; accent-color:var(--blue); }
.diagnosis-consent a { color:var(--link); text-decoration:underline; }
.plan-output { margin-top:30px; border-top:1px solid var(--line); padding-top:26px; }
.plan-output h3 { font-size:22px; margin-bottom:14px; }
.plan-output pre { white-space:pre-wrap; overflow-wrap:anywhere; font:13px/2 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif; color:var(--muted); background:var(--soft); border-radius:16px; padding:22px; max-height:520px; overflow:auto; }
.plan-output .pill { margin-top:20px; }
.plan-output p { font-size:12px; color:var(--muted); line-height:1.8; }
.plan-output .plan-status { color:var(--link); }
.diagnosis-email { margin-top:30px; }
.diagnosis-email label { display:block; margin-bottom:10px; color:var(--text); font-size:13px; font-weight:600; }
.diagnosis-email input { width:100%; min-height:55px; border:1px solid var(--line); border-radius:15px; background:var(--soft); color:var(--text); font:inherit; font-size:14px; padding:14px 18px; }
.diagnosis-email input:focus { outline:2px solid var(--blue); outline-offset:2px; }
.diagnosis-email .email-hint { margin:9px 0 0; color:var(--muted); font-size:11px; line-height:1.7; }
.plan-output { scroll-margin-top:100px; }
.diagnosis-hero h1,.diagnosis-intake h2 { word-break:keep-all; overflow-wrap:anywhere; }
.diagnosis-hero .nowrap,.diagnosis-intake .nowrap { white-space:nowrap; }
.diagnosis-profile { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:26px; }
.diagnosis-profile h3 { grid-column:1/-1; font-size:16px; }
.diagnosis-profile label { color:var(--muted); font-size:11px; }
.diagnosis-profile select { display:block; width:100%; margin-top:8px; padding:12px; border:1px solid var(--line); border-radius:12px; background:var(--soft); color:var(--text); }
.deployment-heading { margin-top:30px; font-size:18px; }
@media(max-width:600px) { .diagnosis-profile { grid-template-columns:1fr; } .diagnosis-hero h1 { font-size:clamp(32px,10vw,46px); } }

/* Readability pass for the diagnosis flow. */
.diagnosis-meta,.diagnosis-progress,.result-context,.result-note,.result-input span { font-size:13px; color:var(--muted); }
.diagnosis-disclaimer,.diagnosis-email .email-hint,.diagnosis-consent,.plan-output p,.diagnosis-intake label span { font-size:14px; color:var(--muted); font-weight:500; }
.diagnosis-intake>p:not(.section-kicker),#diagnosis-content>p,.result-lead,.result-input p,.result-panel p,.result-panel li,.plan-output pre { font-size:16px; line-height:1.8; }
.diagnosis-intake label,.diagnosis-email label,.diagnosis-profile label { font-size:15px; }
.result-caution { font-size:14px; }
.diagnosis-profile { grid-template-columns:repeat(4,minmax(0,1fr)); }
@media(max-width:600px){.diagnosis-profile{grid-template-columns:1fr}}

/* Diagnostic details stay visible after a plan is generated. */
.diagnosis-profile label,.result-panel p,.result-panel li,.result-caution,.plan-output p,.diagnosis-email .email-hint{font-size:14px;line-height:1.8}
.plan-output pre{font-size:14px}
html[data-theme=dark] :is(.diagnosis-meta,.diagnosis-progress,.diagnosis-disclaimer,.result-context,.result-note,.result-input span,.diagnosis-email .email-hint,.diagnosis-consent,.diagnosis-profile label){color:var(--quiet)}
.diagnosis-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:25px 0}.diagnosis-contact-fields label{display:grid;gap:9px;font-size:14px;color:var(--muted)}.diagnosis-contact-fields input,.consult-thread textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:14px;background:var(--soft);color:var(--text);font:inherit;font-size:16px;padding:14px 16px}.consult-thread{margin-top:32px;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--soft)}.consult-thread h3{font-size:24px;margin:0 0 20px}.consult-question{font-size:20px;line-height:1.55;color:var(--text)}.consult-options{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.consult-options .diagnosis-option{width:auto;min-width:130px;text-align:left}.consult-thread textarea{display:block;min-height:100px;resize:vertical}.consult-thread>.pill,.consult-thread>.guided-link{margin:18px 15px 0 0}.consult-thread pre{white-space:pre-wrap;overflow-wrap:anywhere;font:16px/1.9 -apple-system,BlinkMacSystemFont,'Helvetica Neue',sans-serif;color:var(--text);margin:22px 0}.consult-pending{min-height:150px;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted);font-size:15px}.consult-orbit{width:42px;height:42px;border-radius:50%;border:2px solid rgba(0,113,227,.16);border-top-color:#0071e3;animation:consult-spin 1.2s linear infinite;box-shadow:0 0 26px rgba(0,113,227,.15)}@keyframes consult-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.consult-orbit{animation:none}}@media(max-width:600px){.diagnosis-contact-fields{grid-template-columns:1fr}.consult-thread{padding:20px}}
.consult-history{display:grid;gap:12px;margin:4px 0 25px}.consult-history-item{display:grid;gap:6px;padding:13px 16px;border:1px solid var(--line);border-radius:12px}.consult-history-item span{color:var(--muted);font-size:13px}.consult-history-item strong{font-weight:500;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:600px){.diagnosis-page{overflow-x:hidden}.diagnosis-hero h1{font-size:clamp(29px,8vw,38px);letter-spacing:-.04em;overflow-wrap:anywhere}.diagnosis-hero .nowrap,.diagnosis-intake .nowrap{white-space:normal}.diagnosis-hero p:not(.section-kicker){overflow-wrap:anywhere;padding-inline:2px}.diagnosis-meta{flex-wrap:wrap;gap:6px 12px}.diagnosis-meta span+span::before{margin-right:9px}}
/* Keep questionnaire copy and completed plans readable in both themes. */
.diagnosis-profile label,.diagnosis-meta,.diagnosis-progress,.diagnosis-disclaimer,.result-context,.result-note,.result-input span,.diagnosis-email .email-hint,.diagnosis-consent{color:var(--muted)}
.plan-output pre,.consult-thread pre{color:var(--text);background:var(--surface)}
.diagnosis-option:hover{background:color-mix(in srgb,var(--link) 8%,var(--soft));box-shadow:0 5px 18px -15px var(--link)}
@media(hover:hover){.guided-link:hover,.diagnosis-back:hover{color:var(--link);text-shadow:0 0 16px color-mix(in srgb,var(--link) 18%,transparent)}}
