/* Shared audience journeys; use the existing brand tokens. */
[hidden] { display: none !important; }
:root { --text: var(--ink); }
.journey-wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.journey-intro { padding: 72px 0 44px; }
.journey-eyebrow { display: block; color: var(--accent); font-size: 12px; font-weight: 700; letter-spacing: .09em; margin-bottom: 6px; }
.journey-intro h1 { margin: 18px 0 22px; font-size: clamp(34px, 4.3vw, 58px); line-height: 1.16; letter-spacing: -.045em; font-weight: 600; }
.journey-intro h1 em { font-style: normal; color: var(--accent); }
.journey-intro p { max-width: 680px; color: var(--muted); font-size: 17px; line-height: 1.8; margin-bottom: 26px; }
.home-entry .journey-intro { text-align: center; }
.home-entry .journey-intro p { margin-left: auto; margin-right: auto; }
.entry-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.entry-card { display: flex; flex-direction: column; padding: 34px 38px; border: 1px solid var(--line); border-top: 4px solid var(--accent); border-radius: 22px; background: var(--surface); transition: transform .2s, box-shadow .2s; }
.entry-card:hover { transform: translateY(-4px); box-shadow: 0 16px 42px #18181b0c; }
.entry-card h2 { font-size: clamp(25px, 2.6vw, 34px); line-height: 1.3; margin: 18px 0 12px; letter-spacing: -.03em; }
.entry-card p, .entry-card li { color: var(--muted); }
.entry-card ul { padding-left: 20px; margin: 8px 0 28px; line-height: 2; }
.entry-action { display: flex; justify-content: space-between; align-items: center; border-top: 1px solid var(--line); padding-top: 20px; margin-top: auto; color: var(--accent); font-weight: 700; }
.enterprise-entry, .enterprise-journey { --accent: #087f65; --accent-soft: #e0f2eb; }
[data-theme="dark"] .enterprise-entry, [data-theme="dark"] .enterprise-journey { --accent: #63cdb0; --accent-soft: #153a30; }
.entry-note { text-align: center; color: var(--muted); margin: 30px auto 60px; font-size: 13px; }
.journey-split { display: grid; grid-template-columns: 1.55fr 1fr; align-items: center; gap: 65px; }
.journey-guide { padding: 30px; border: 1px solid var(--line); background: var(--surface); border-radius: 20px; }
.journey-guide ol { padding-left: 22px; margin: 20px 0 0; }
.journey-guide li { padding-left: 10px; margin-top: 20px; color: var(--accent); }
.journey-guide strong, .journey-guide small { display: block; }
.journey-guide strong { color: var(--ink); }
.journey-guide small { color: var(--muted); margin-top: 4px; font-size: 13px; }
.journey-section { margin: 25px 0 60px; scroll-margin-top: 110px; }
.journey-section h2, .journey-contact h2 { font-size: clamp(26px, 3vw, 36px); line-height: 1.3; margin: 10px 0 25px; letter-spacing: -.035em; }
.journey-wrap .section-heading, .journey-section .section-heading { width: 100%; margin-left: 0; margin-right: 0; margin-bottom: 20px; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.section-heading a { color: var(--accent); font-size: 14px; }
.journey-filters { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.journey-filters label, .journey-form label { display: flex; flex-direction: column; gap: 7px; font-size: 13px; font-weight: 600; }
.journey-filters input, .journey-filters select, .journey-form input, .journey-form select, .journey-form textarea { width: 100%; min-width: 0; padding: 12px; font: inherit; font-weight: 400; color: var(--ink); background: var(--bg); border: 1px solid var(--line); border-radius: 9px; }
.filter-status { font-size: 13px; color: var(--muted); margin: 18px 0; }
.journey-course-grid, .solution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.journey-course, .solution-card { display: flex; flex-direction: column; padding: 25px; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); }
.journey-course small { font-size: 12px; color: var(--accent); }
.journey-course h3, .solution-card h3 { font-size: 20px; line-height: 1.4; margin: 14px 0 8px; }
.journey-course p { color: var(--muted); font-size: 14px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.course-next { margin-top: auto; padding-top: 18px; color: var(--accent); font-size: 14px; font-weight: 700; }
.journey-empty { padding: 40px; text-align: center; border: 1px dashed var(--line); border-radius: 16px; }
.journey-number { color: var(--accent); font-family: var(--font-mono); font-size: 13px; }
.solution-card p { color: var(--muted); font-size: 14px; }
.solution-result { border-top: 1px solid var(--line); padding-top: 16px; }
.solution-card .button { margin-top: auto; font-size: 13px; }
.journey-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; padding: 40px; margin: 50px 0 60px; background: var(--surface); border: 1px solid var(--line); border-radius: 22px; scroll-margin-top: 100px; }
.journey-contact p { color: var(--muted); }
.journey-form { display: grid; gap: 16px; }
.journey-form .button { justify-content: center; }
.form-note { font-size: 12px; margin: 0; }
.curriculum-details { padding: 24px; border: 1px solid var(--line); border-radius: 16px; }
.curriculum-details summary { cursor: pointer; font-weight: 600; font-size: 18px; }
.curriculum-details > p { color: var(--muted); }
.journey-breadcrumb { padding-top: 24px; font-size: 13px; color: var(--muted); }
.journey-breadcrumb a { color: var(--accent); }
.header-inner { gap: 20px; }
.desktop-nav { gap: 22px; }
.header-consult-cta { white-space: nowrap; }
@media (max-width: 1100px) { .search-trigger span, .search-trigger kbd { display: none; } .journey-split { gap: 30px; } }
@media (max-width: 800px) { .entry-grid, .journey-split, .journey-contact { grid-template-columns: 1fr; } .journey-course-grid, .solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .journey-intro { padding-top: 40px; } .journey-guide { margin-bottom: 10px; } .journey-contact { gap: 24px; padding: 26px; } }
@media (max-width: 560px) { .journey-wrap { width: calc(100% - 32px); } .entry-card { padding: 26px; } .journey-filters, .journey-course-grid, .solution-grid { grid-template-columns: 1fr; } .section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 20px; gap: 0; } .journey-intro h1 { font-size: 35px; } .journey-contact { padding: 22px; } .header-actions .header-consult-cta { display: none; } .header-inner { width: calc(100% - 28px); gap: 10px; } .header-actions { gap: 5px; } .curriculum-details { padding: 18px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .entry-card { transition: none; } }

body[data-active-audience="enterprise"] .header-consult-cta { background: #087f65; }

.journey-wrap .button-primary { background: var(--accent); color: #fff; border-color: var(--accent); }
[data-theme="dark"] .enterprise-journey .button-primary { color: #102d24; }

/* Enterprise curriculum: scan topics before opening course lists. */
.topic-search { display: grid; gap: 8px; font-size: 13px; font-weight: 600; max-width: 520px; margin-top: 24px; }
.topic-search input { width: 100%; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); font: inherit; font-weight: 400; }
.topic-groups { display: grid; gap: 12px; }
.topic-group { border: 1px solid var(--line); border-radius: 14px; background: var(--surface); overflow: hidden; }
.topic-group > summary { display: flex; align-items: center; gap: 18px; padding: 20px 22px; list-style: none; }
.topic-group > summary::-webkit-details-marker { display: none; }
.topic-group > summary::after { content: '+'; font-size: 24px; color: var(--accent); margin-left: 2px; }
.topic-group[open] > summary::after { content: '−'; }
.topic-group[open] > summary { border-bottom: 1px solid var(--line); }
.topic-heading { flex: 1; min-width: 0; }
.topic-heading strong { display: block; font-size: 17px; }
.topic-heading > span { display: block; color: var(--muted); font-size: 13px; font-weight: 400; margin-top: 4px; }
.topic-count { font-size: 12px; white-space: nowrap; font-weight: 500; color: var(--accent); background: var(--accent-soft); padding: 5px 10px; border-radius: 20px; }
.topic-list { padding: 0 22px; }
.topic-row { display: flex; align-items: center; gap: 24px; padding: 18px 0; }
.topic-row + .topic-row { border-top: 1px solid var(--line); }
.topic-row > div { flex: 1; min-width: 0; }
.topic-row h3 { font-size: 14px; font-weight: 600; line-height: 1.6; margin: 0 0 4px; }
.topic-row small { font-size: 12px; color: var(--muted); }
.topic-open { font-size: 13px; color: var(--accent); white-space: nowrap; font-weight: 600; }
@media(max-width: 560px) { .topic-group > summary { gap: 10px; padding: 16px; flex-wrap: wrap; } .topic-heading { flex-basis: calc(100% - 40px); } .topic-count { order: 2; } .topic-group > summary::after { margin-left: auto; } .topic-list { padding: 0 16px; } .topic-row { align-items: flex-start; flex-direction: column; gap: 8px; } }

/* Resource library: truthful formats and compact, task-oriented groups. */
.resource-hub .journey-intro { padding-bottom: 24px; }
.resource-nav { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 44px; }
.resource-nav a { padding: 10px 16px; border: 1px solid var(--line); border-radius: 10px; font-size: 14px; background: var(--surface); }
.resource-nav a:hover { border-color: var(--accent); color: var(--accent); }
.resource-featured { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.resource-featured article { padding: 28px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; }
.resource-type { font-size: 12px; color: var(--accent); font-weight: 600; }
.resource-hub h3 { font-size: 20px; margin: 10px 0; line-height: 1.4; }
.resource-featured p, .resource-file p, .resource-note, .resource-help p { color: var(--muted); font-size: 14px; line-height: 1.7; }
.resource-featured a, .resource-help a { display: inline-block; margin-top: 12px; color: var(--accent); font-size: 14px; font-weight: 600; }
.resource-downloads { border: 1px solid var(--line); border-radius: 18px; background: var(--surface); overflow: hidden; }
.resource-file { display: flex; align-items: center; gap: 36px; padding: 26px 28px; scroll-margin-top: 100px; }
.resource-file + .resource-file { border-top: 1px solid var(--line); }
.resource-file > div { flex: 1; }
.resource-file p { margin-bottom: 0; max-width: 740px; }
.resource-file > a { flex-shrink: 0; font-size: 13px; }
.resource-guides { display: grid; gap: 12px; }
.resource-guide { padding: 20px 24px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); scroll-margin-top: 100px; }
.resource-guide summary { cursor: pointer; }
.resource-guide summary strong { font-size: 16px; }
.resource-guide summary > span { display: block; color: var(--muted); font-size: 13px; margin: 6px 0 0 18px; }
.resource-guide ul { list-style: none; padding: 12px 0 0; margin-bottom: 0; }
.resource-guide li a { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--line); color: var(--accent); font-size: 14px; }
.resource-help { padding: 28px 0 50px; border-top: 1px solid var(--line); }
.resource-help h2 { font-size: 24px; margin-bottom: 8px; }
.resource-help > div { display: flex; flex-wrap: wrap; gap: 24px; }
@media(max-width: 640px) { .resource-featured { grid-template-columns: 1fr; } .resource-file { flex-direction: column; align-items: flex-start; gap: 18px; padding: 22px; } .resource-featured article { padding: 22px; } }

.sme-needs .journey-number { font-family: var(--font-sans); font-weight: 600; }
.sme-needs .solution-result strong { font-size: 12px; color: var(--ink); }
.sme-discovery { background: transparent; border-style: dashed; }
.static-contact [data-enterprise-brief] { margin: 24px 0; }
.static-contact [data-contact-selection] { font-size: 13px; color: var(--muted); }

.personal-foundation { padding: 24px 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); margin: 8px 0 45px; }
.personal-foundation h2 { font-size: 23px; margin: 8px 0; }
.personal-foundation p { color: var(--muted); font-size: 14px; }
.personal-foundation summary { color: var(--accent); cursor: pointer; font-size: 14px; font-weight: 600; }
.personal-foundation li { margin-top: 12px; font-size: 14px; }
.work-goal-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.work-goal { display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); padding: 24px; }
.work-goal:hover, .work-goal[aria-current="true"] { border-color: var(--accent); background: color-mix(in srgb,var(--accent) 6%,var(--surface)); }
.work-goal[aria-current="true"] { box-shadow: inset 0 0 0 1px var(--accent); }
.work-goal h3 { font-size: 18px; line-height: 1.4; margin: 12px 0 8px; }
.work-goal p { color: var(--muted); font-size: 14px; margin: 0 0 16px; }
.work-path { margin-top: 30px; padding: 32px; background: var(--surface); border: 1px solid var(--line); border-radius: 20px; scroll-margin-top: 100px; }
.work-output { font-size: 18px; line-height: 1.6; max-width: 900px; }
.work-steps-heading { margin-top: 32px; font-size: 18px; }
.work-steps { list-style: decimal-leading-zero; padding-left: 28px; }
.work-steps li { padding: 20px 0 20px 8px; border-top: 1px solid var(--line); }
.work-steps li[data-role-lesson] { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 12px 16px 8px; flex-wrap: wrap; transition: background 0.15s ease; }
.work-steps li[data-role-lesson]:hover { background: color-mix(in srgb, var(--accent) 4%, transparent); }
.work-steps li[data-role-lesson] > strong { order: 1; font-size: 15px; color: var(--ink); line-height: 1.5; flex: 1; min-width: 240px; }
.work-steps li[data-role-lesson] [data-recommendation] { order: 2; background: color-mix(in srgb, var(--accent) 14%, transparent); color: var(--accent); border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; padding: 3px 8px; border-radius: 6px; white-space: nowrap; }
.work-steps li[data-role-lesson] .button { order: 3; margin: 0 0 0 auto; font-size: 13px; font-weight: 700; white-space: nowrap; padding: 8px 18px; box-shadow: 0 2px 8px color-mix(in srgb, var(--accent) 25%, transparent); }
.work-steps li.role-recommended { border-left: 4px solid var(--accent) !important; background: color-mix(in srgb, var(--accent) 6%, transparent); border-radius: 8px; padding-left: 14px !important; }
.work-steps li::marker { color: var(--accent); font-family: var(--font-mono); }
.work-steps li p { margin: 6px 0; font-size: 14px; color: var(--muted); }
.work-steps li small { color: var(--muted); font-size: 12px; }
.work-steps .button { margin-top: 12px; font-size: 13px; }
.work-mentor { display: inline-block; margin-top: 24px; font-size: 14px; color: var(--accent); }
@media(max-width: 850px) { .work-goal-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width: 560px) { .work-goal-grid { grid-template-columns: 1fr; } .work-path { padding: 22px; } .personal-foundation { padding: 22px; } }

/* Footer: readable hierarchy, compact navigation and audience-aware next action. */
.site-footer.footer-redesign { background: var(--surface); color: var(--ink); border-top: 1px solid var(--line); padding: 44px 0 88px; }
.footer-layout { width: min(1180px, calc(100% - 48px)); margin: auto; display: grid; grid-template-columns: 1.25fr .8fr 1fr; gap: 56px; }
.footer-redesign .brand-copy strong { color: var(--ink); font-size: 16px; }
.footer-redesign .brand-copy small { color: var(--muted); font-family: var(--font-sans); font-size: 11px; text-transform: none; letter-spacing: 0; margin-top: 7px; }
.footer-identity > p { font-size: 18px; line-height: 1.6; margin: 22px 0 18px; color: var(--ink); letter-spacing: -.02em; }
.footer-next { display: inline-flex; align-items: center; gap: 18px; color: var(--accent); font-size: 14px; font-weight: 700; min-height: 44px; }
.footer-next::after { content: '→'; }
body[data-active-audience="enterprise"] .footer-next { color: #087f65; }
[data-theme="dark"] body[data-active-audience="enterprise"] .footer-next { color: #63cdb0; }
.footer-redesign h2 { color: var(--ink); font-size: 14px; font-weight: 700; line-height: 1.4; margin: 0 0 16px; }
.footer-navigation { display: flex; flex-direction: column; align-items: flex-start; gap: 0; }
.footer-navigation a { color: var(--muted); font-size: 14px; display: inline-flex; align-items: center; min-height: 36px; }
.footer-redesign a:hover { color: var(--accent); }
.footer-email { display: inline-flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 600; color: var(--ink); overflow-wrap: anywhere; }
.footer-contact > p { color: var(--muted); font-size: 13px; line-height: 1.7; margin: 14px 0; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 20px; }
.footer-socials a { font-size: 13px; color: var(--muted); display: inline-flex; align-items: center; min-height: 36px; }
.footer-legal { width: min(1180px, calc(100% - 48px)); margin: 30px auto 0; padding-top: 18px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; gap: 12px 24px; flex-wrap: wrap; color: var(--muted); font-size: 11px; }
.footer-newsletter { margin-top: 22px; }
.footer-newsletter label { display: block; font-size: 12px; margin-bottom: 8px; }
.footer-newsletter > div { display: flex; gap: 6px; }
.footer-newsletter input[type="email"] { min-width: 0; width: 100%; border: 1px solid var(--line); background: var(--bg); color: var(--ink); border-radius: 8px; padding: 10px; font-size: 13px; }
.footer-newsletter button { border: 1px solid var(--line); border-radius: 8px; background: var(--ink); color: var(--surface); padding: 10px 12px; white-space: nowrap; font-size: 12px; cursor: pointer; }
@media(max-width: 850px) { .footer-layout { grid-template-columns: 1fr 1fr; gap: 32px; } .footer-identity { grid-column: 1/-1; } .footer-identity > p { margin-top: 16px; } }
@media(max-width: 520px) { .footer-layout { grid-template-columns: 1fr; gap: 30px; } .footer-layout, .footer-legal { width: calc(100% - 40px); } .site-footer.footer-redesign { padding-top: 32px; } .footer-navigation a { min-height: 40px; } }
/* Self-study: focus on content and distinguish completion from position. */
.lesson-heading h1 { font-size: clamp(28px, 3.2vw, 44px); }
.study-outline { margin: 12px 0 20px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; }
.study-outline summary { cursor: pointer; font-weight: 600; }
@media(min-width: 1000px) { .study-outline { display: none; } }
.local-study-controls { margin: 24px 0; }
.study-done strong::after { content: ' ✓'; color: var(--accent); }
.role-recommended { border-left: 3px solid var(--accent); }
[data-recommendation] { color: var(--accent); font-weight: 600; }
[data-copy-fallback] { width: 100%; min-height: 160px; }
[data-resume-box] { margin: 20px 0; padding: 20px; border: 1px solid var(--line); border-radius: 14px; }
[data-study-role] { display: block; width: min(100%, 420px); padding: 12px; margin: 10px 0; color: var(--ink); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
[hidden] { display: none !important; }

.entry-trust { display: block; margin-top: auto; padding-top: 18px; color: var(--muted); font-size: 12px; font-weight: 600; letter-spacing: .01em; }
.enterprise-trust { color: color-mix(in srgb, #059669 78%, var(--ink)); }
.static-contact-actions { display: grid; grid-template-columns: 1fr; row-gap: 16px; margin: 18px 0; }
.static-contact-actions .button { min-height: 48px; justify-content: center; text-align: center; }
.static-messenger { background: #0866ff; border-color: #0866ff; color: #fff; }
.static-contact .form-note a { color: var(--accent); font-weight: 600; }
@media(max-width: 560px) { .static-contact-actions { grid-template-columns: 1fr; } }
