/* StudyVest v20 Phase 3 — Free learning and account experience */
:root{--sv-learn-reading:720px;--sv-learn-wide:1120px;--v20-navy:var(--sv20-navy);--v20-blue:var(--sv20-blue);--v20-ink:var(--sv20-ink);--v20-muted:var(--sv20-muted);--v20-line:var(--sv20-line);--v20-pale:var(--sv20-blue-soft);--v20-radius:var(--sv20-radius);--v20-radius-lg:var(--sv20-radius-lg);--v20-shadow:var(--sv20-shadow)}

/* Learning landing */
.learning-hero{padding:clamp(3.5rem,8vw,6.5rem) 0;background:linear-gradient(180deg,#f5f8fd 0%,#fff 100%)}
.learning-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(2rem,6vw,5rem);align-items:center}
.learning-hero h1{max-width:760px;font-size:clamp(2.65rem,6vw,5.4rem)}
.learning-hero p{max-width:680px;font-size:clamp(1rem,2vw,1.2rem);color:var(--v20-muted);line-height:1.7}
.learning-dashboard-stack,.learning-preview{min-width:0}
.learning-preview{border:1px solid var(--v20-line);border-radius:var(--v20-radius-lg);padding:clamp(1.4rem,4vw,2.2rem);background:#fff;box-shadow:var(--v20-shadow)}
.learning-preview-label{font-size:.78rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:var(--v20-blue)}
.learning-dashboard-copy{margin:1rem 0!important;color:var(--v20-ink)!important;font-weight:700}
.preview-row{display:flex;gap:.55rem;flex-wrap:wrap;margin:1.25rem 0}
.preview-row span{padding:.5rem .7rem;border-radius:999px;background:var(--v20-pale);font-size:.78rem;font-weight:750}
.preview-meter,.progress-track{height:.65rem;overflow:hidden;border-radius:999px;background:#e5eaf1}
.preview-meter span,.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--v20-blue);transition:width .25s ease}
.learning-preview small{display:block;margin-top:1rem;color:var(--v20-muted);line-height:1.55}
.learn-next{margin-top:1.5rem;padding:1.25rem;border-radius:var(--v20-radius);background:var(--v20-navy);color:#fff}
.learn-next span,.learn-next strong{display:block}.learn-next span{color:#b9c9df;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.learn-next strong{margin:.4rem 0;font-size:1.25rem}.learn-next a{color:#fff;font-weight:800}
.course-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:1rem!important}
.course-card{min-height:0!important;padding:clamp(1.35rem,3vw,2rem)!important;border-radius:var(--v20-radius)!important;background:#fff!important;box-shadow:none!important;display:flex!important;flex-direction:column}
.course-card[data-course-card="money"]{order:1}.course-card[data-course-card="protect"]{order:2}.course-card[data-course-card="investing"]{order:3}.course-card[data-course-card="wealth"]{order:4}.course-card[data-course-card="global"]{order:5;grid-column:1/-1}
.course-card h2{font-size:clamp(1.65rem,3vw,2.3rem)!important;margin:.75rem 0}.course-card p{color:var(--v20-muted);line-height:1.65}
.course-card-top,.course-progress-label,.course-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.course-progress{margin-top:auto;padding-top:1.25rem}.course-progress-label{font-size:.82rem;margin-bottom:.55rem}.course-actions{margin-top:1.25rem;justify-content:flex-start}
.pro-course-card{background:var(--v20-navy)!important;color:#fff!important}.pro-course-card h2{color:#fff}.pro-course-card p{color:#c9d5e6}.pro-course-card .eyebrow{color:#9fbcff}.pro-course-card .progress-track{background:#263f62}

/* Lessons and courses */
.lesson-hero{padding-top:clamp(2.5rem,6vw,4.5rem)!important}
.lesson-shell,.academy-shell{width:min(var(--sv-learn-wide),calc(100% - 2rem))!important;margin-inline:auto}
.lesson-layout{display:grid!important;grid-template-columns:280px minmax(0,1fr)!important;column-gap:32px!important;align-items:start!important;width:100%!important}
.lesson-sidebar{width:100%!important;max-width:280px!important;min-width:0!important}
.lesson-content,.academy-content{min-width:0;max-width:var(--sv-learn-reading)}.lesson-main{min-width:0;width:100%;max-width:none!important}
.lesson-content>section,.lesson-main>section{margin-block:clamp(2.5rem,6vw,4.5rem)}
.lesson-content p,.lesson-content li,.lesson-main p,.lesson-main li{font-size:clamp(1rem,1.5vw,1.1rem);line-height:1.78}
.lesson-content h2,.lesson-main h2{font-size:clamp(1.75rem,4vw,2.65rem);margin-bottom:1rem}
.lesson-content h3,.lesson-main h3{font-size:clamp(1.25rem,3vw,1.6rem);line-height:1.25}
.lesson-lead{font-size:clamp(1.15rem,2vw,1.35rem)!important;line-height:1.65!important;color:var(--v20-navy);font-weight:650}
.concept-card,.case-study,.lesson-objectives,.lesson-complete-panel,.academy-quiz,.takeaway,.related-learning{border-radius:var(--v20-radius)!important;box-shadow:none!important}
.concept-card,.lesson-objectives{border:1px solid var(--v20-line)!important;background:var(--v20-pale)!important}
.case-study{border-left:4px solid #6f9cff!important}
.academy-quiz{padding:clamp(1.25rem,4vw,2.2rem)!important}
.quiz-question-block label{min-height:44px;padding:.8rem!important;border-radius:.75rem}
.lesson-navigation{display:grid!important;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.lesson-navigation a{min-height:48px;padding:.9rem 1rem;border:1px solid var(--v20-line);border-radius:.8rem;text-decoration:none;font-weight:750}
.lesson-navigation a:last-child{text-align:right;background:var(--v20-navy);color:#fff;border-color:var(--v20-navy)}
.lesson-complete-panel{gap:1rem}.lesson-complete-panel p{margin-bottom:0}

/* Articles support the course journey */
.article-layout{grid-template-columns:minmax(0,var(--sv-learn-reading)) 250px!important;gap:clamp(2rem,5vw,4rem)!important}
.article-body p,.article-body li{line-height:1.8!important}
.article-aside{box-shadow:none!important}
.related-learning{border:1px solid var(--v20-line);background:var(--v20-pale);padding:1.5rem}

/* Account shell and first-session dashboard */
.account-shell{width:min(1120px,calc(100% - 2rem))!important;padding:clamp(1.5rem,5vw,3rem) 0 5rem!important}
.account-top{position:sticky;top:0;z-index:100;box-shadow:none!important;border-color:var(--v20-line)!important}
.account-topin{width:min(1180px,calc(100% - 2rem));padding:1rem 0!important}
.account-topin nav a{min-height:44px;display:inline-flex;align-items:center}
.auth-card{max-width:680px!important;margin:clamp(1.5rem,5vw,3.5rem) auto!important;padding:clamp(1.4rem,5vw,2.6rem)!important;border-radius:var(--v20-radius-lg)!important;box-shadow:var(--v20-shadow)!important}
.auth-card h1{font-size:clamp(2.2rem,6vw,3.7rem);margin:.5rem 0 1rem}.auth-card>p{color:var(--v20-muted);line-height:1.65}
.auth-card label{margin-top:1.1rem!important}.field-hint{display:block;margin:.4rem 0 0;color:var(--v20-muted);font-size:.82rem;line-height:1.5}
.consent-list{margin-top:1.2rem;border-top:1px solid var(--v20-line);padding-top:.35rem}.consent-row{display:grid!important;grid-template-columns:20px 1fr;gap:.65rem;align-items:start;font-weight:550!important;line-height:1.5}.consent-row input{margin-top:.2rem!important}
.auth-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin:1.5rem 0}.auth-trust span{padding:.8rem;border-radius:.75rem;background:var(--v20-pale);font-size:.78rem;font-weight:750;text-align:center}
.flash-box[role="alert"]{outline:1px solid currentColor}.account-panel{border-radius:var(--v20-radius)!important;box-shadow:none!important}.account-panel h1{font-size:clamp(2.1rem,5vw,3.5rem)}
.free-dashboard-intro{display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:end}.free-dashboard-intro p{max-width:620px;color:var(--v20-muted)}
.dashboard-next{background:var(--v20-navy)!important;color:#fff}.dashboard-next h2{color:#fff}.dashboard-next p{color:#d2ddec}.dashboard-next .eyebrow{color:#9fbcff}
.first-session-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.25rem}.first-session-steps a{display:block;padding:1rem;border:1px solid var(--v20-line);border-radius:.85rem;text-decoration:none}.first-session-steps span{display:block;color:var(--v20-blue);font-size:.75rem;font-weight:850;text-transform:uppercase}.first-session-steps strong{display:block;margin-top:.35rem}
.dashboard-tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.8rem}.dashboard-tool-grid a{padding:1rem;border:1px solid var(--v20-line);border-radius:.85rem;text-decoration:none}.dashboard-tool-grid strong,.dashboard-tool-grid span{display:block}.dashboard-tool-grid span{color:var(--v20-muted);font-size:.86rem;margin-top:.3rem}
.pro-secondary{background:var(--v20-pale)!important}.pro-secondary .price-line{font-weight:800;color:var(--v20-navy)}

@media(max-width:800px){
 .learning-hero-grid,.lesson-layout,.article-layout{grid-template-columns:1fr!important}.course-grid{grid-template-columns:1fr!important}.course-card[data-course-card="global"]{grid-column:auto}.lesson-content,.academy-content{max-width:none}.lesson-aside,.article-aside{position:static!important;max-height:none!important}.mini-lesson-list{max-height:180px!important;overflow:auto!important;overscroll-behavior:contain}.first-session-steps{grid-template-columns:1fr}.free-dashboard-intro{grid-template-columns:1fr}.auth-trust{grid-template-columns:1fr}.account-topin nav{overflow-x:auto;flex-wrap:nowrap!important;width:100%;padding-bottom:.25rem}.account-topin nav a{white-space:nowrap}}
@media(max-width:520px){.lesson-navigation{grid-template-columns:1fr}.lesson-navigation a:last-child{text-align:left}.lesson-complete-panel{align-items:stretch!important;flex-direction:column}.lesson-complete-panel .button{width:100%}.dashboard-tool-grid{grid-template-columns:1fr}.course-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.preview-meter span,.progress-track span{transition:none!important}}
/* Final lesson reading hierarchy: compact outline, dominant learning column. */
.lesson-page{padding:clamp(1.75rem,4vw,3rem) 0!important}
.lesson-main h1{font-size:clamp(2.25rem,4vw,3.5rem)!important;line-height:1.08!important;margin-top:.55rem!important;margin-bottom:1rem!important}
.lesson-main>section{margin-block:clamp(1.25rem,3vw,2.25rem)!important}
.lesson-main>.deep-dive{margin-block:1.5rem!important}
.lesson-main>.lesson-complete-panel,.lesson-main>.lesson-navigation,.lesson-main>.source-list{width:100%!important}
/* v20.2 lesson intro: remove the decorative poster's large blank track and keep the snapshot compact. */
.lesson-main>h1,.lesson-main>.lesson-dek,.lesson-main>.lesson-meta-row{max-width:100%;overflow:visible}
.lesson-main>h1{overflow-wrap:normal;word-break:normal}
.lesson-meta-row{margin-bottom:1rem}
.lesson-main>.lesson-snapshot{display:block;margin:1rem 0 1.5rem;overflow:visible}
.lesson-main>.lesson-snapshot .lesson-snapshot-image{display:none}
.lesson-main>.lesson-snapshot .lesson-snapshot-content{padding:1.25rem 1.5rem 1.5rem}
.lesson-main>.lesson-snapshot .lesson-snapshot-content h2{font-size:clamp(1.35rem,2.4vw,2rem);margin:.35rem 0 .65rem}
.lesson-main>.lesson-snapshot .lesson-snapshot-content>p{font-size:1rem;line-height:1.55;margin-bottom:.8rem}
.lesson-main>.lesson-snapshot .lesson-snapshot-content ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.lesson-main>.lesson-snapshot .lesson-snapshot-content li{padding:.75rem .85rem}
.lesson-main>.lesson-snapshot .lesson-method{margin-top:.8rem}
@media(max-width:800px){.lesson-layout{grid-template-columns:1fr!important;gap:1.5rem!important}.lesson-sidebar{max-height:none}.lesson-main h1{font-size:clamp(2.15rem,10vw,3rem)!important}.lesson-main>section{margin-block:1.25rem!important}}
@media(max-width:800px){.lesson-main>.lesson-snapshot .lesson-snapshot-content ul{grid-template-columns:1fr}.lesson-main>.lesson-snapshot .lesson-snapshot-content{padding:1rem 1.1rem 1.2rem}}
