/* Academia de Guitarra — studio catalog. Shared public and study identity. */
:root {
  --academy-ink:#f4f7f5; --academy-paper:#151917; --academy-border:#354039;
  --academy-green:#83d7a5; --academy-label:#a4e6bf; --academy-muted:#bdc9c1;
  --on-dark-title:#f4f7f5; --on-dark-body:#bdc9c1; --on-dark-label:#a4e6bf;
}
html,body { background:#151917!important; color:#f4f7f5; }
body { font-family:"Helvetica Neue",Arial,sans-serif; }
:is(a,button,input,select,textarea):focus-visible { outline:3px solid #83d7a5!important; outline-offset:4px; }
.access-page { padding:24px; background:#151917; color:#f4f7f5; }
.landing-shell { width:min(1240px,100%); gap:0; padding-bottom:32px; }
.access-page .access-card { border:1px solid #354039; border-radius:14px; background:#1d2420; box-shadow:none; }
.access-brand { padding:24px 32px; border-color:#354039; }
.access-brand>span,.brand-mark { background:#83d7a5; color:#142219; border-radius:9px; box-shadow:none; font-weight:800; }
.access-brand b,.brand strong { letter-spacing:.025em; }
.access-brand small,.topbar .brand small { color:#bdc9c1; font-size:.875rem; letter-spacing:.04em; }
.access-grid { grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr); }
.access-copy { padding:clamp(28px,4vw,52px); }
.access-copy h1 { max-width:680px; margin:16px 0 24px; color:#f4f7f5; font-size:clamp(2.5rem,5vw,4.3rem); font-weight:800; line-height:1.1; letter-spacing:-.035em; text-wrap:balance; }
.access-kicker { color:#a4e6bf; font-size:.875rem; font-weight:700; letter-spacing:.07em; }
.access-copy>p,.access-action p,.access-form p { color:#bdc9c1; font-size:1.0625rem; line-height:1.7; }
.access-benefits { gap:8px 18px; margin:24px 0; }
.access-benefits span { padding:0; border:0; background:none; color:#bdc9c1; font-size:.875rem; }
.identity-study { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:22px; align-items:center; margin:32px 0 0; padding-top:24px; border-top:1px solid #354039; }
.identity-study img { width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:60% 48%; border:1px solid #ffffff20; border-radius:8px; background:#141416; }
.identity-study figcaption>span { display:block; color:#a4e6bf; font-size:.875rem; }
.identity-study strong { display:block; margin:8px 0; color:#f4f7f5; font-size:1.25rem; line-height:1.4; }
.identity-study p { color:#bdc9c1; font-size:1rem; line-height:1.6; }
.identity-study a,.access-link { color:#a4e6bf; text-underline-offset:4px; }
.access-action { padding:clamp(24px,3.5vw,42px); background:#242e27; border-color:#354039; }
.access-action>strong,.access-form>strong { color:#f4f7f5; font-size:1.9rem; line-height:1.25; }
.access-action .status.free { background:#354b3e; color:#d6f2e0; border-color:#486553; }
.action-reassurance,.access-form small,.access-form label { color:#bdc9c1; font-size:.875rem; line-height:1.6; }
.access-form input { background:#151917; color:white; border-color:#627369; border-radius:9px; font-size:1rem; }
.access-page :is(.transformation,.audience-results,.academy-capabilities,.public-plans,.sales-faq,.sales-instructor) { margin-top:0; padding:48px 0; border:0; border-bottom:1px solid #354039; background:transparent; color:#f4f7f5; border-radius:0; box-shadow:none; }
.access-page :is(.transformation,.audience-results,.academy-capabilities,.public-plans,.sales-faq)>header { max-width:820px; text-align:left; margin-left:0; }
.access-page h2 { color:#f4f7f5; font-size:clamp(1.8rem,3.5vw,2.8rem); line-height:1.2; letter-spacing:-.025em; }
.access-page :is(.transformation,.audience-results,.academy-capabilities,.public-plans,.sales-faq,.sales-instructor) p { color:#bdc9c1; font-size:1rem; line-height:1.7; }
.access-page :is(.transformation-flow,.audience-grid,.capabilities-grid) { gap:16px; }
.access-page :is(.transformation-flow,.audience-grid,.capabilities-grid) article { background:#202823; border:1px solid #354039; border-radius:12px; padding:24px; }
.access-page :is(.transformation-flow,.audience-grid,.capabilities-grid) strong { color:#f4f7f5; font-size:1.125rem; }
.transformation-flow b { background:#354b3e; color:#a4e6bf; box-shadow:none; }
.transformation-flow span,.audience-grid article>span { color:#a4e6bf; font-size:.875rem; }
.access-page .capabilities-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.capabilities-grid article>span { display:none; }
.access-page :is(.method-proof,.results-strip,.refund-reassurance) { background:#242e27; border:1px solid #354039; border-radius:10px; }
.access-page :is(.method-proof,.results-strip,.refund-reassurance) strong { color:#f4f7f5; }
.access-page :is(.method-proof,.results-strip,.refund-reassurance) span { color:#bdc9c1; font-size:.875rem; }
.access-page .sales-instructor { display:block; }
.sales-instructor>figure { display:none; }
.sales-instructor>div { max-width:900px; }
.sales-instructor-proof>span { background:#202823; border-color:#354039; color:#bdc9c1; border-radius:10px; }
.sales-instructor-proof b { color:#a4e6bf; }
.sales-instructor-proof .award-proof img { border-radius:8px; }
.plan-ladder { margin-left:0; }
.plan-ladder span { background:#242e27; border-color:#354039; color:#a4e6bf; font-size:.875rem; }
.public-plans-grid article,.public-plans-grid .pro,.public-plans-grid .best-value { background:#202823; border:1px solid #43564a; border-radius:12px; box-shadow:none; }
.public-plans-grid .best-value,.public-plans-grid .pro { border-top:4px solid #83d7a5; }
.public-plans-grid article>b { background:#354b3e; color:#d6f2e0; border-radius:8px; }
.public-plans-grid article>span,.public-plans-grid li::before { color:#a4e6bf; }
.public-plans-grid ul,.public-plans-grid article>strong small { color:#bdc9c1; font-size:1rem; }
.plan-depth>article,.plan-depth>article.human,.public-pro-rules { background:#202823; border-color:#354039; border-radius:12px; }
.plan-depth p { background:transparent; border-color:#354039; }
.access-page .faq-grid { grid-template-columns:1fr; gap:0; }
.access-page .faq-grid details { background:transparent; border:0; border-top:1px solid #354039; border-radius:0; padding:22px 0; }
.access-page .faq-grid summary { color:#f4f7f5; font-size:1.0625rem; }
.access-page :is(.access-primary,.access-secondary,.public-plans-grid a,.sales-instructor>div>a) { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:12px 22px; border-radius:10px; font-size:1rem; font-weight:700; text-decoration:none; }
.access-page :is(.access-primary,.public-plans-grid .best-value a,.public-plans-grid .pro a) { background:#83d7a5; color:#142219; border-color:#83d7a5; box-shadow:none; }
.access-page .access-secondary { background:#242e27; color:#f4f7f5; border:1px solid #627369; }
.sales-legal { color:#bdc9c1; font-size:.875rem; }
.returning { padding:36px; }
/* The study navigation stays compact; the catalog uses wide, readable tiles. */
body:has(.topbar) { background:#151917!important; background-attachment:scroll; }
.topbar { background:#151917!important; border-color:#354039; box-shadow:none; }
.topbar .brand strong { color:#f4f7f5; }
.app-nav { background:#1d2420!important; border-color:#354039; box-shadow:none; }
:is(.nav-tab,.nav-tab-look,.academy-search-launch,.app-nav .ghost,.topbar .ghost) { background:#242e27!important; color:#d5dfd8!important; border-color:#43564a!important; border-radius:9px; box-shadow:none!important; }
:is(.nav-tab,.nav-tab-look,.academy-search-launch):hover { background:#354b3e!important; color:#fff!important; border-color:#83d7a5!important; }
.nav-tab.active { background:#83d7a5!important; color:#142219!important; border-color:#83d7a5!important; }
.academy-home-view { max-width:1320px; color:#f4f7f5; }
.home-hero { order:-2; padding:20px 0 28px; background:transparent!important; border:0; border-bottom:1px solid #354039!important; border-radius:0; box-shadow:none; }
.home-hero h1 { color:#f4f7f5!important; font-size:clamp(2rem,4vw,3.2rem); line-height:1.15; }
.home-hero p { color:#bdc9c1!important; font-size:1rem; line-height:1.6; }
.home-method { gap:14px; }
.home-method span { padding:0; background:none; border:0; color:#bdc9c1; font-size:.875rem; }
.home-method b { width:auto; height:auto; background:none; color:#a4e6bf; }
.home-step,.academy-home-view .eyebrow { color:#a4e6bf!important; font-size:.875rem; letter-spacing:.07em; }
.home-shelves { gap:32px; margin-top:24px; }
.home-shelf-heading h2,.home-shelf-title h3 { color:#f4f7f5!important; }
.home-shelf-heading p,.home-shelf-title span { color:#bdc9c1!important; font-size:1rem; }
.home-shelf-title { padding-top:16px; border-top:1px solid #354039; }
.academy-home-view .home-shelf-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; overflow:visible; padding:6px 0; margin:0; scroll-snap-type:none; }
.academy-home-view .home-shelf-track::after { display:none; }
.academy-home-view .home-feature-card { width:100%; min-width:0; min-height:272px; padding:24px; border:1px solid #43564a!important; border-radius:12px; background:#202823!important; color:#f4f7f5!important; box-shadow:none!important; transform:none; gap:0; }
.academy-home-view .home-feature-card::before,.academy-home-view .home-feature-card::after { display:none!important; }
.academy-home-view .home-feature-card:hover { background:#28382d!important; border-color:#83d7a5!important; transform:none; }
.academy-home-view .feature-card-icon { display:none; }
.academy-home-view .feature-card-type { margin:0 0 12px; color:#a4e6bf!important; text-shadow:none; font-size:.875rem; font-weight:700; line-height:1.4; letter-spacing:.045em; }
.academy-home-view .home-feature-card strong { max-width:none; margin:0; color:#f4f7f5!important; text-shadow:none; font-size:1.5rem; line-height:1.25; }
.academy-home-view .home-feature-card small { max-width:none; margin:12px 0 22px; color:#bdc9c1!important; text-shadow:none; font-size:1rem; line-height:1.55; }
.academy-home-view .home-feature-card em { align-self:stretch; justify-content:center; margin-top:auto; padding:12px 16px; background:#83d7a5; border-radius:9px; color:#142219!important; text-shadow:none; font-size:1rem; font-weight:700; line-height:1.35; }
.academy-home-view .home-feature-card em b { display:none; }
.home-study-cover { display:block; width:100%; height:150px; object-fit:contain; background:white; padding:10px; border-radius:7px; margin-bottom:18px; }
.academy-home-view :is(.home-goals,.home-practice,.home-next,.journey-card) { background:#202823!important; color:#f4f7f5!important; border-color:#43564a!important; border-radius:12px; box-shadow:none; }
.academy-home-view :is(.home-start h2,.home-next h2,.journey-card>strong) { color:#f4f7f5!important; }
.academy-home-view :is(.home-practice p,.home-practice li,.home-practice ol,.home-next p,.journey-saved-list>p) { color:#bdc9c1!important; font-size:1rem; line-height:1.6; }
.academy-home-view .home-goal-grid button { background:#242e27!important; color:#f4f7f5!important; border-color:#43564a!important; border-radius:10px; }
.academy-home-view .home-goal-grid button:hover,.academy-home-view .home-goal-grid button.active { background:#354b3e!important; border-color:#83d7a5!important; box-shadow:none; }
.academy-home-view .home-goal-grid small { color:#bdc9c1!important; font-size:.875rem; line-height:1.5; }
.academy-home-view .home-goal-grid button>span { display:none; }
.academy-home-view .home-goal-grid button strong { grid-column:1/-1; }
.home-human-guidance,.home-journey { background:#202823; border-color:#43564a; border-radius:12px; box-shadow:none; }
.home-guidance-results li { border-radius:9px; background:#242e27; border-color:#43564a; }
.academy-home-view :is(.primary,.ghost) { min-height:46px; border-radius:10px; padding:12px 20px; font-size:1rem; box-shadow:none; }
.academy-home-view .primary { background:#83d7a5!important; border-color:#83d7a5!important; color:#142219!important; }
.academy-home-view .primary:disabled { background:#43564a!important; color:#c5d0c8!important; cursor:not-allowed; }
.academy-home-view .ghost { background:#242e27!important; border-color:#627369!important; color:#f4f7f5!important; }
.home-instructor { display:block; background:#202823!important; border-color:#43564a!important; border-radius:12px; }
.home-instructor-photo { display:none; }
.home-instructor-copy { max-width:900px; }
.course-card { background:#202823!important; border-color:#43564a!important; border-radius:12px; box-shadow:none; }
.course-card .course-cover { background:#28382d!important; border-radius:9px; min-height:170px; aspect-ratio:auto; padding:24px; justify-content:center; }
.course-card .course-cover::before,.course-card .course-cover::after { display:none!important; }
.course-card .course-cover strong { color:#f4f7f5; line-height:1.15; font-size:1.7rem; margin:12px 0; }
.course-card .course-cover span,.course-card .course-cover b { color:#a4e6bf; font-size:.875rem; margin-bottom:0; }
.course-card p { color:#bdc9c1; font-size:1rem; }
.course-card em { color:#a4e6bf; font-size:1rem; }
body:has(.topbar) main>header { color:#f4f7f5; }
body:has(.topbar) main>header :is(h1,h2) { color:#f4f7f5!important; }
body:has(.topbar) main>header p { color:#bdc9c1!important; }
body:has(.topbar) main>header .eyebrow { color:#a4e6bf!important; }
@media(max-width:1000px) {
 .public-plans-grid,.access-page .capabilities-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .academy-home-view .home-shelf-track { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:820px) {
 .access-grid { grid-template-columns:1fr; }
 .access-action { border-left:0; border-top:1px solid #354039; }
}
@media(max-width:600px) {
 .access-page { padding:12px; }
 .access-brand,.access-copy,.access-action { padding:24px 20px; }
 .access-brand b { font-size:.875rem; }
 .identity-study { grid-template-columns:1fr; }
 .identity-study img { max-width:320px; }
 .access-page :is(.transformation,.audience-results,.academy-capabilities,.public-plans,.sales-faq,.sales-instructor) { padding:32px 4px; }
 .public-plans-grid,.access-page .capabilities-grid,.academy-home-view .home-shelf-track { grid-template-columns:1fr; }
 .academy-home-view .home-feature-card { min-height:0; padding:22px; }
 .academy-home-view .home-feature-card strong { font-size:1.5rem; }
 .academy-home-view .home-feature-card em { margin-top:4px; width:100%; }
 .home-practice-actions,.home-next { flex-wrap:wrap; }
 .academy-home-view :is(.home-practice-actions,.home-next,.home-guidance-copy) button { width:100%; }
 .home-method { flex-wrap:wrap; }
 .topbar .brand small { font-size:.75rem; }
}

/* Musical workspaces use the same instrument-panel vocabulary. */
.growth-bar { background: #202822; border-color: #465046; backdrop-filter: none; }
.growth-icon { width: auto; min-width: 70px; padding: 8px; border: 1px solid #65736a; border-radius: 10px; background: #171b19; color: #d5e8c1; font: 600 1.125rem/1.2 ui-monospace,Consolas,monospace; font-variant-numeric: tabular-nums; }
.growth-copy b { font-size: .875rem; }
.growth-copy small { color: #bcc7be; font-size: .875rem; }
.growth-score strong { color: #d5e8c1; }
.growth-score small { color: #bcc7be; font-size: .75rem; }
.aida-guide { border-color: #465046; border-left-color: #83d7a5; border-radius: 10px; background: #202822; }
.aida-guide span { color: #a4e6bf; font-size: .875rem; }
.aida-guide p { color: #bcc7be; font-size: 1rem; line-height: 1.6; }
.session-toast { border-color: #83d7a5; border-radius: 10px; background: #202822; box-shadow: 0 8px 24px #0003; }
.session-toast span { color: #bcc7be; font-size: 1rem; }
:is(.trail-hero,.library-hero,.courses-hero,.chords-head,.planner-hero,.mentor-hero) h1 {
  font-size: clamp(2rem,4vw,3.3rem); line-height: 1.12; letter-spacing: -.035em; font-weight: 800;
}
:is(.trail-hero,.library-hero,.courses-hero,.chords-head,.planner-hero,.mentor-hero) p { font-size: 1rem; line-height: 1.65; }
:is(.trail-hero,.library-hero,.courses-hero,.chords-head,.planner-hero,.mentor-hero) .eyebrow { font-size: .875rem; letter-spacing: .075em; }
.trail-hero { padding-top: 28px; }
.controls,.chord-workspace,.progression-workspace,.studies-workspace,.theory-tool,.formation-map,.mentor-shell,.library-card {
  background: #171b19 !important; border-color: #465046 !important; box-shadow: none;
  --muted: #bac5be; --cyan: #a4e6bf; --purple: #83d7a5; --green: #a4e6bf;
}
.controls { border-radius: 10px; padding: 18px; gap: 14px; }
.controls label,.metro-controls label { color: #bac5be; font-size: .875rem; letter-spacing: 0; }
.controls select,.controls input[type=number],.metro-controls select {
  min-height: 44px; border-radius: 10px; border-color: #65736a !important; background: #202822 !important; color: #fafaf5 !important;
}
.stage,.metronome-shell { background: #171b19; border-color: #465046; --muted: #bac5be; --cyan: #a4e6bf; --green: #a4e6bf; }
.stage .eyebrow,.stage .tempo strong,.stage .bpm-input output { color: #a4e6bf !important; }
.stage .tempo strong { font-weight: 600; font-variant-numeric: tabular-nums; line-height: 1; }
.stage .tempo span { color: #bac5be; font-size: .875rem; }
/* TAB animator: keep the vivid green language of the Greek Modes player. */
#generatorView .fretboard-shell { background: #050b13 !important; border-color: #293c55 !important; border-radius: 15px; box-shadow: none; }
#generatorView #fretboard .string { stroke: #8090a6 !important; opacity: 1; }
#generatorView #fretboard .fret { stroke: #35475f !important; opacity: 1; }
#generatorView #fretboard .fret-number { fill: #edf5ff !important; font-size: 18px; font-weight: 800; }
#generatorView #fretboard .note { fill: #25cf78 !important; stroke: #9dffca !important; stroke-width: 2 !important; filter: drop-shadow(0 0 5px rgba(48,213,129,.35)) !important; }
#generatorView #fretboard .note.root { fill: #65efac !important; stroke: #effff6 !important; stroke-width: 2.5 !important; }
#generatorView #fretboard .note-text { fill: #04160d !important; font-weight: 900 !important; }
#generatorView #fretboard .note.active { fill: #f4fff8 !important; stroke: #30d581 !important; stroke-width: 4 !important; filter: drop-shadow(0 0 12px #30d581) !important; }
#generatorView #fretboard .note-text.active { fill: #06351f !important; }
.now-playing { background: #202822; border-color: #465046; border-radius: 10px; }
.now-playing>div { border-color: #465046; }
.now-playing span { color: #bac5be; font-size: .875rem; letter-spacing: .05em; }
.now-playing strong { color: #d5e8c1 !important; }
.tab-token.active { text-shadow: none; }
.stage-footer { border-color: #465046; color: #bac5be; font-size: .75rem; line-height: 1.5; letter-spacing: .04em; gap: 12px; flex-wrap: wrap; }
.progress span,.category-track span,.big-progress span,.trail-progress span { background: #83d7a5 !important; }
.metro-controls,.metro-stage { background: #202822; border-color: #465046; border-radius: 10px; }
.metronome-heading h1 { font-size: clamp(2rem,4vw,3.3rem); line-height: 1.12; letter-spacing: -.035em; }
.metronome-heading p { color: #bac5be; font-size: 1rem; }
.metro-live strong { color: #d5e8c1; line-height: 1; font-weight: 600; font-variant-numeric: tabular-nums; }
.metro-live span,.metro-count span { color: #bac5be; font-size: .875rem; }
.metro-count strong { font-weight: 600; font-variant-numeric: tabular-nums; }
.metro-beats i { border-color: #849187; background: #171b19; }
.metro-beats i.active,.metro-beats i.first.active { background: #cce4ad; border-color: #fff; box-shadow: none; }
.metro-study-timer,.metro-study,.metro-concepts { border-color: #465046; border-radius: 10px; background: #202822; }
.metro-study-timer span,.metro-study span,.metro-concepts-head span { color: #a4e6bf; font-size: .875rem; letter-spacing: .06em; }
.metro-study-timer>strong { color: #d5e8c1; }
.metro-study-timer p,.metro-study p,.metro-concepts article p,.metro-concepts-tip { color: #bac5be; font-size: 1rem; line-height: 1.65; }
.metro-concepts article { border: 0; border-left: 1px solid #65736a; border-radius: 0; background: transparent; }
.metro-presets>span { color: #bac5be; font-size: .875rem; }
.trail-featured { background: #171b19 !important; border-color: #465046 !important; border-radius: 10px; box-shadow: none; }
.trail-featured h2 { font-size: clamp(1.6rem,3vw,2.4rem); line-height: 1.2; letter-spacing: -.025em; }
.trail-featured p { color: #bac5be; }
.trail-featured .trail-status { color: #a4e6bf !important; font-size: .875rem; letter-spacing: .055em; }
.trail-index-badge { color: #cce4ad; font-family: Georgia,serif; font-weight: 400; letter-spacing: -.035em; text-shadow: none; }
.trail-score { min-width: 160px; padding: 18px; border-color: #c8cfc6; border-radius: 10px; background: #e5e9e1; }
.trail-score strong { color: #365b29; }
.trail-score span { color: #59635d; font-size: .875rem; }
.trail-progress { height: 5px; background: #465046; }
.trail-step { border-color: #465046 !important; border-radius: 10px; background: #202822; }
.trail-step.done { border-left: 4px solid #83d7a5; background: #263325; }
.trail-step-number { border-radius: 8px; background: #171b19; color: #cce4ad; font-family: Georgia,serif; font-size: 1.5rem; font-weight: 400; }
.trail-step-copy>span { font-size: .875rem; color: #a4e6bf; letter-spacing: .05em; }
.trail-step h3 { font-size: 1.125rem; line-height: 1.4; }
.trail-step p { font-size: 1rem; line-height: 1.65; }
.trail-tags em { border: 1px solid #65736a; border-radius: 8px; background: transparent; color: #bac5be; font-size: .75rem; }
.trail-step-actions label { font-size: .875rem; color: #bac5be; }
.trail-coming,.formation-level { border-color: #465046; border-radius: 10px; background: #202822; }
.trail-coming p,.formation-level p { color: #bac5be; font-size: 1rem; }
.trail-coming>span,.formation-level>span { color: #a4e6bf; font-size: .875rem; letter-spacing: .05em; }
.planner-config,.planner-insights,.schedule-section { background: #fff !important; border-color: #c8cfc6 !important; border-radius: 10px; box-shadow: none; }
.planner-config :is(label,legend),.planner-insights p,.section-heading small { color: #59635d; font-size: .875rem; }
.planner-config select,.planner-config input[type=number],.planner-config textarea { border-color: #939f90 !important; border-radius: 10px; background: #f3f3f0 !important; color: #171b19 !important; font-size: 1rem; }
.planner-config :is(.minutes-control,.cycle-control) output,.planner-config .section-heading span { color: #365b29; }
.day-picker span { border-color: #939f90; border-radius: 10px; background: #f3f3f0; color: #334230; }
.day-picker input:checked+span { background: #263d20; color: #fff; border-color: #263d20; }
.day-picker input:focus-visible+span { outline: 3px solid #548d35; outline-offset: 3px; }
.theory-book-hero { background: #171b19; border-color: #465046; border-radius: 10px; }
.theory-book-hero h1 { color: #fafaf5; font-size: clamp(2rem,4vw,3.3rem); line-height: 1.12; }
.theory-book-hero p { color: #bac5be; font-size: 1rem; }
.theory-book-shell>aside,.theory-chapter { background: #171b19; border-color: #465046; border-radius: 10px; }
.book-index-head { color: #bac5be; }
.book-index-head span { color: #a4e6bf; }
.library-count { border-radius: 10px; background: #263d20 !important; border-color: #263d20 !important; box-shadow: none; }
@media(max-width:720px) {
  .growth-bar { gap: 10px; }
  .growth-icon { min-width: 62px; }
  .growth-copy strong { font-size: .875rem; line-height: 1.4; }
  .trail-hero { padding-top: 20px; }
  .metro-concepts article { border-left: 0; border-top: 1px solid #65736a; }
  .stage-footer { font-size: .75rem; }
}
/* Explicit contrast for inherited legacy light-shell rules and section heroes. */
:root { color-scheme:dark; }
.access-page :is(.transformation-flow,.audience-grid,.capabilities-grid) article { color:#f4f7f5; }
body:has(.topbar) :is(.trail-hero,.library-hero,.courses-hero,.chords-head,.planner-hero,.mentor-hero) h1 { color:#f4f7f5!important; }
body:has(.topbar) :is(.trail-hero,.library-hero,.courses-hero,.chords-head,.planner-hero,.mentor-hero) p { color:#bdc9c1!important; }
body:has(.topbar) :is(.trail-hero,.library-hero,.courses-hero,.chords-head,.planner-hero,.mentor-hero) .eyebrow { color:#a4e6bf!important; }
.home-instructor-copy h2 { font-size:clamp(1.8rem,3.5vw,2.8rem); line-height:1.2; }
.home-instructor-proof>span { background:#242e27; border-color:#43564a; color:#bdc9c1; font-size:.875rem; }
.home-instructor-proof b { color:#a4e6bf; }
:is(.planner-config,.planner-insights,.schedule-section,.academy-search-dialog) { color-scheme:light; }
.academy-home-view .home-goal-grid button small { grid-column:1/-1; }
