/* Typography and the onboarding wizard.
 * A later pass over the base layer — order matters, keep it loaded after the files above. */
.chat-bubble{font-size:.94rem;line-height:1.7}
.score,.stat strong,.deal-metrics b,.live-numbers strong,.planning-options strong,.option-value{font-variant-numeric:tabular-nums;letter-spacing:-.025em}
.course-files{margin-bottom:25px}
.course-files h2{font-size:1.35rem;margin-bottom:8px}
.pdf-document-dialog{max-width:1000px;width:calc(100% - 32px);max-height:94dvh;overflow:auto}
.pdf-document-dialog h2{font-size:1.25rem;margin:0}
.brand-wordmark small{font-family:inherit}
.onboard-wrap{min-height:100vh;padding:clamp(32px,5vh,60px) 24px;display:grid;justify-items:center;align-items:start;background:radial-gradient(ellipse at 15% 0%,#dfebff,transparent 55%),radial-gradient(ellipse at 90% 90%,#e7eddf,transparent 60%),#f5f6f9}
.onboard-card{width:min(900px,100%);padding:clamp(24px,5vw,56px);border:1px solid #fff;border-radius:30px;background:rgba(255,255,255,.83);box-shadow:0 24px 80px #18294514;backdrop-filter:blur(24px)}
.onboard-card h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.045em;line-height:1.1;margin:24px 0 16px}
.onboard-card p{max-width:65ch;color:#526177;line-height:1.65}
.onboard-card .logo{color:#17253d;margin-bottom:28px}
.journey-steps{display:flex;gap:8px;margin:24px 0}
.journey-steps > span{height:4px;background:#e2e6ee;flex:1;border-radius:4px}
.journey-steps > .done{background:#376bd6}
.journey-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px}
.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.learning-grid .card{min-width:0}
.learning-grid h3{margin:12px 0}
.module-card{display:flex;flex-direction:column;gap:10px}
.module-card p{margin:0}
.module-card .btn{margin-top:auto}
.module-path{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.module-path span{font-size:12px;border:1px solid #d9e0e9;background:#f5f7fa;color:#5d6b7e;padding:5px 9px;border-radius:20px}
.module-path .earned{background:#eaf4ef;color:#24634b;border-color:#b9dbca}
.learning-banner{margin-bottom:24px}
.research-choice{display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid #d5dfe9;border-radius:16px;background:#f7f9fc;margin:18px 0}
.research-choice input{width:20px;height:20px;flex:none;margin-top:3px}
.rigor-table{width:100%;border-collapse:collapse;font-size:14px}
.rigor-table td,.rigor-table th{text-align:left;padding:12px;border-bottom:1px solid #e0e6ed;vertical-align:top}
.rigor-table th{color:#526177;font-weight:600}
