.learning-page { --learning-card: rgba(255,252,246,.88); padding-bottom: 12px; }
.learning-page button, .learning-page a { -webkit-tap-highlight-color: transparent; }
.learning-page h1, .learning-page h2, .learning-page h3, .learning-page p { overflow-wrap: anywhere; }
.learning-hero { min-height: 370px; padding: clamp(30px, 5vw, 58px); border-radius: 36px; display: grid; grid-template-columns: minmax(0, 1fr) 250px; align-items: center; gap: 38px; color: #fffaf1; background: radial-gradient(circle at 80% 22%, rgba(244,201,125,.34), transparent 25%), linear-gradient(135deg, #153426, #2e6045 65%, #54725a); box-shadow: 0 26px 80px rgba(20,49,35,.2); overflow: hidden; }
.learning-hero-copy { max-width: 720px; }
.learning-hero-copy .eyebrow { color: #f5cf8d; }
.learning-hero-copy h1 { margin: 10px 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(41px, 6vw, 68px); font-weight: 500; line-height: .98; letter-spacing: -2.5px; }
.learning-hero-copy h1 em { color: #f4cf91; font-weight: 400; }
.learning-hero-copy > p:not(.eyebrow) { max-width: 610px; margin: 0; color: rgba(255,255,255,.72); font-size: 14px; line-height: 1.7; }
.learning-continue { width: min(100%, 520px); min-height: 67px; margin-top: 27px; padding: 13px 15px 13px 18px; border: 1px solid rgba(255,255,255,.17); border-radius: 18px; display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #fff; background: rgba(255,255,255,.1); backdrop-filter: blur(10px); cursor: pointer; text-align: left; }
.learning-continue span { min-width: 0; }
.learning-continue small, .learning-continue strong { display: block; }
.learning-continue small { margin-bottom: 4px; color: #f2cb8b; font-size: 8px; font-weight: 900; letter-spacing: 1.6px; }
.learning-continue strong { overflow: hidden; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.learning-continue b { flex: 0 0 auto; padding: 10px 13px; border-radius: 12px; color: #173529; background: #f6d69e; font-size: 10px; }
.learning-progress-orbit { --progress-color: #f4c87e; width: 224px; height: 224px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(var(--progress-color) calc(var(--learning-progress) * 1%), rgba(255,255,255,.12) 0); box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 20px 60px rgba(8,25,16,.2); }
.learning-progress-orbit::before { content: ""; width: 176px; height: 176px; border-radius: inherit; position: absolute; background: #214936; box-shadow: inset 0 0 28px rgba(255,255,255,.04); }
.learning-progress-orbit > div { z-index: 1; text-align: center; }
.learning-progress-orbit strong, .learning-progress-orbit span { display: block; }
.learning-progress-orbit strong { font-family: Georgia, serif; font-size: 48px; font-weight: 500; }
.learning-progress-orbit span { margin-top: 3px; color: rgba(255,255,255,.62); font-size: 9px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; }
.learning-stat-strip { width: min(92%, 800px); margin: -31px auto 0; padding: 18px 24px; border: 1px solid rgba(255,255,255,.9); border-radius: 22px; position: relative; display: grid; grid-template-columns: repeat(4, 1fr); background: rgba(255,252,246,.92); box-shadow: 0 17px 48px rgba(59,49,32,.12); backdrop-filter: blur(18px); }
.learning-stat-strip > div { min-width: 0; padding: 0 18px; text-align: center; }
.learning-stat-strip > div + div { border-left: 1px solid var(--border); }
.learning-stat-strip strong, .learning-stat-strip span { display: block; }
.learning-stat-strip strong { font-family: Georgia, serif; font-size: 25px; font-weight: 500; }
.learning-stat-strip span { margin-top: 3px; color: #7b887f; font-size: 8px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }

.learning-catalogue, .learning-paths-section, .learning-connected-section, .learning-resources-section { margin-top: 52px; }
.learning-section-heading { margin-bottom: 17px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.learning-section-heading h2 { margin: 5px 0 0; font-family: Georgia, serif; font-size: clamp(28px, 4vw, 39px); font-weight: 500; letter-spacing: -1px; }
.learning-section-heading > span, .learning-section-heading > p { margin: 0; color: #7b887f; font-size: 10px; }
.learning-section-heading > button { padding: 8px 0; border: 0; color: var(--forest); background: transparent; cursor: pointer; font-size: 11px; font-weight: 800; }
.learning-tools { margin-bottom: 18px; display: grid; grid-template-columns: minmax(250px, 1fr) auto; align-items: center; gap: 14px; }
.learning-search { height: 53px; padding: 0 16px; border: 1px solid rgba(37,75,55,.12); border-radius: 17px; display: flex; align-items: center; gap: 10px; background: rgba(255,252,246,.86); box-shadow: 0 8px 26px rgba(53,47,35,.04); }
.learning-search > span { color: #587164; font-size: 22px; }
.learning-search input { width: 100%; border: 0; outline: 0; color: var(--ink); background: transparent; font-size: 12px; }
.learning-search input::placeholder { color: #89958e; }
.learning-filter-row { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.learning-filter-row button { flex: 0 0 auto; min-height: 42px; padding: 0 14px; border: 1px solid var(--border); border-radius: 13px; color: #627369; background: rgba(255,252,246,.75); cursor: pointer; font-size: 9px; font-weight: 800; }
.learning-filter-row button.is-active { border-color: #28523a; color: #fff; background: #28523a; }
.learning-module-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.learning-module-card { --accent: #9caf87; border: 1px solid rgba(255,255,255,.9); border-radius: 25px; position: relative; background: var(--learning-card); box-shadow: 0 12px 38px rgba(56,48,34,.075); overflow: hidden; }
.learning-accent-apricot { --accent: #e9a66d; }
.learning-accent-sage { --accent: #92aa7f; }
.learning-accent-sky { --accent: #88adbf; }
.learning-accent-violet { --accent: #aa9ac6; }
.learning-accent-gold { --accent: #d9ae58; }
.learning-accent-rose { --accent: #cf9189; }
.learning-accent-forest { --accent: #3c7153; }
.learning-accent-sand { --accent: #c9b69c; }
.learning-module-card::after { content: ""; width: 160px; height: 160px; border-radius: 50%; position: absolute; right: -75px; top: -85px; background: color-mix(in srgb, var(--accent) 27%, transparent); pointer-events: none; }
.learning-module-main { width: 100%; min-height: 183px; padding: 22px; border: 0; display: grid; grid-template-columns: 50px minmax(0, 1fr) 24px; align-items: start; gap: 15px; color: inherit; background: transparent; cursor: pointer; text-align: left; }
.learning-module-icon { width: 50px; height: 50px; border-radius: 17px; display: grid; place-items: center; color: #173529; background: color-mix(in srgb, var(--accent) 42%, #fff); font-family: Georgia, serif; font-size: 23px; }
.learning-module-main small { color: #839087; font-size: 8px; font-weight: 900; letter-spacing: 1.25px; }
.learning-module-main h3 { margin: 7px 0 7px; font-family: Georgia, serif; font-size: 24px; font-weight: 500; }
.learning-module-main p { margin: 0; color: #67776e; font-size: 10px; line-height: 1.55; }
.learning-module-main > b { padding-top: 13px; color: var(--forest); font-size: 19px; }
.learning-module-progress { height: 4px; background: #e8e7df; }
.learning-module-progress span { height: 100%; display: block; background: var(--accent); transition: width .35s ease; }
.learning-module-matches { border-top: 1px solid var(--border); }
.learning-module-matches button { width: 100%; min-height: 45px; padding: 7px 14px; border: 0; display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; background: transparent; cursor: pointer; text-align: left; }
.learning-module-matches button + button { border-top: 1px solid var(--border); }
.learning-module-matches strong { overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.learning-module-matches small { color: #859087; font-size: 8px; }

.learning-path-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.learning-path-card { min-width: 0; min-height: 182px; padding: 17px; border: 1px solid rgba(255,255,255,.9); border-radius: 22px; display: flex; flex-direction: column; align-items: flex-start; color: var(--ink); background: rgba(255,252,246,.82); box-shadow: 0 10px 30px rgba(50,45,35,.06); cursor: pointer; text-align: left; }
.learning-path-card.is-following { border-color: rgba(45,95,67,.28); background: #eef3e8; }
.learning-path-symbol { width: 39px; height: 39px; margin-bottom: auto; border-radius: 13px; display: grid; place-items: center; color: #fff; background: #315d43; font-size: 18px; }
.learning-path-card small { color: #7b8a80; font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.learning-path-card h3 { margin: 5px 0; font-family: Georgia, serif; font-size: 19px; font-weight: 500; }
.learning-path-card p { margin: 0; color: #77847b; font-size: 8px; line-height: 1.4; }
.learning-path-card b { align-self: flex-end; margin-top: -16px; color: var(--forest); }

.learning-pose-strip { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(190px, 1fr); gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.learning-pose-card { padding: 0; border: 1px solid rgba(255,255,255,.9); border-radius: 20px; background: rgba(255,252,246,.84); box-shadow: 0 10px 28px rgba(54,47,35,.06); cursor: pointer; overflow: hidden; scroll-snap-align: start; text-align: left; }
.learning-pose-card img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: contain; object-position: center; background: #e7ebdf; }
.learning-pose-card > span { padding: 12px; display: block; }
.learning-pose-card strong, .learning-pose-card small { display: block; }
.learning-pose-card strong { font-family: Georgia, serif; font-size: 15px; font-weight: 500; }
.learning-pose-card small { margin-top: 4px; color: #7b887f; font-size: 8px; }
.learning-elements-section { margin-top: 38px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.learning-elements-section article { padding: 20px; border: 1px solid rgba(255,255,255,.86); border-radius: 22px; display: grid; grid-template-columns: 38px 1fr; gap: 14px; background: rgba(255,252,246,.75); }
.learning-elements-section article > span { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: #315d43; font-size: 9px; font-weight: 900; }
.learning-elements-section h3 { margin: 5px 0 7px; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.learning-elements-section p:not(.eyebrow) { margin: 0; color: #68786f; font-size: 10px; line-height: 1.6; }
.learning-resource-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.learning-resource-grid a { min-height: 110px; padding: 16px; border: 1px solid rgba(255,255,255,.85); border-radius: 19px; display: grid; grid-template-columns: 42px 1fr 20px; gap: 12px; align-items: start; color: inherit; background: rgba(255,252,246,.82); text-decoration: none; }
.learning-resource-grid a > span { width: 42px; height: 42px; border-radius: 13px; display: grid; place-items: center; color: var(--forest); background: #e6ecdc; }
.learning-resource-grid small, .learning-resource-grid strong { display: block; }
.learning-resource-grid small { color: #859087; font-size: 7px; font-weight: 900; text-transform: uppercase; }
.learning-resource-grid strong { margin-top: 5px; font-size: 11px; }
.learning-resource-grid p { margin: 5px 0 0; color: #718078; font-size: 9px; line-height: 1.45; }
.learning-empty { min-height: 260px; border: 1px dashed rgba(42,78,58,.18); border-radius: 24px; display: grid; place-content: center; justify-items: center; color: #718078; text-align: center; }
.learning-empty > span { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: #315d43; font-size: 19px; }
.learning-empty h3, .learning-empty h2 { margin: 12px 0 4px; font-family: Georgia, serif; color: var(--ink); font-size: 24px; font-weight: 500; }
.learning-empty p { margin: 0 0 14px; font-size: 10px; }
.learning-empty button { padding: 10px 14px; border: 0; border-radius: 12px; color: #fff; background: var(--forest); cursor: pointer; font-size: 10px; font-weight: 800; }

.learning-back { margin: 0 0 16px; padding: 7px 0; border: 0; color: #66796e; background: transparent; cursor: pointer; font-size: 10px; font-weight: 800; }
.learning-module-hero { --accent: #9caf87; min-height: 245px; padding: 35px; border-radius: 32px; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 22px; background: linear-gradient(130deg, color-mix(in srgb, var(--accent) 25%, #fff9ef), rgba(255,252,246,.95)); box-shadow: 0 18px 50px rgba(53,46,33,.09); }
.learning-module-hero .learning-module-icon { width: 64px; height: 64px; border-radius: 21px; font-size: 28px; }
.learning-module-hero h1 { margin: 6px 0 9px; font-family: Georgia, serif; font-size: clamp(38px, 6vw, 58px); font-weight: 500; letter-spacing: -2px; }
.learning-module-hero p:not(.eyebrow) { max-width: 650px; margin: 0; color: #62746a; font-size: 12px; line-height: 1.65; }
.learning-module-score { min-width: 110px; text-align: right; }
.learning-module-score strong, .learning-module-score span { display: block; }
.learning-module-score strong { font-family: Georgia, serif; font-size: 37px; font-weight: 500; }
.learning-module-score span { color: #718078; font-size: 8px; }
.learning-track-line { height: 5px; margin: 18px 0 24px; border-radius: 99px; background: rgba(39,75,54,.1); overflow: hidden; }
.learning-track-line span { width: var(--track-progress); height: 100%; display: block; border-radius: inherit; background: #315d43; }
.learning-lesson-list { display: grid; gap: 9px; }
.learning-lesson-row { width: 100%; min-height: 112px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.86); border-radius: 20px; display: grid; grid-template-columns: 43px minmax(0, 1fr) 67px; align-items: center; gap: 15px; color: inherit; background: rgba(255,252,246,.82); box-shadow: 0 9px 28px rgba(52,45,33,.055); cursor: pointer; text-align: left; }
.learning-lesson-row.is-completed { background: #edf3e8; }
.learning-lesson-number { width: 43px; height: 43px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: #315d43; font-size: 10px; font-weight: 900; }
.learning-lesson-row p { margin: 0; color: #879189; font-size: 7px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.learning-lesson-row h3 { margin: 5px 0; font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.learning-lesson-row div > span { display: block; color: #6b7b72; font-size: 9px; line-height: 1.5; }
.learning-lesson-row aside { text-align: right; }
.learning-lesson-row aside strong, .learning-lesson-row aside i { display: block; }
.learning-lesson-row aside strong { font-size: 10px; }
.learning-lesson-row aside i { margin-top: 9px; color: var(--forest); font-style: normal; font-size: 18px; }
.learning-wide-link { width: 100%; min-height: 53px; margin-top: 13px; padding: 0 18px; border: 1px solid var(--border); border-radius: 17px; display: flex; align-items: center; justify-content: space-between; background: rgba(255,252,246,.7); cursor: pointer; font-size: 10px; font-weight: 800; }

.learning-lesson-topline { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.learning-bookmark { min-height: 37px; padding: 0 13px; border: 1px solid var(--border); border-radius: 13px; color: #5f7468; background: rgba(255,252,246,.76); cursor: pointer; font-size: 9px; font-weight: 800; }
.learning-bookmark.is-bookmarked { border-color: rgba(155,82,70,.22); color: #a05447; background: #fbebe4; }
.learning-lesson-hero { --accent: #9caf87; min-height: 330px; padding: clamp(30px, 6vw, 60px); border-radius: 34px; color: #fffaf0; background: radial-gradient(circle at 87% 15%, color-mix(in srgb, var(--accent) 45%, transparent), transparent 28%), linear-gradient(135deg, #173629, #315f45); box-shadow: 0 25px 70px rgba(22,49,35,.17); }
.learning-lesson-kicker { display: flex; align-items: center; gap: 10px; }
.learning-lesson-kicker > span { width: 37px; height: 37px; border-radius: 12px; display: grid; place-items: center; color: #173529; background: color-mix(in srgb, var(--accent) 55%, #fff); }
.learning-lesson-kicker p { margin: 0; color: rgba(255,255,255,.68); font-size: 8px; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; }
.learning-lesson-hero h1 { max-width: 830px; margin: 28px 0 13px; font-family: Georgia, serif; font-size: clamp(42px, 7vw, 72px); font-weight: 500; line-height: 1; letter-spacing: -2.5px; }
.learning-lesson-hero > p { max-width: 720px; margin: 0; color: rgba(255,255,255,.73); font-size: 13px; line-height: 1.7; }
.learning-lesson-meta { margin-top: 24px; display: flex; flex-wrap: wrap; gap: 7px; }
.learning-lesson-meta span { padding: 7px 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; color: rgba(255,255,255,.77); background: rgba(255,255,255,.08); font-size: 8px; font-weight: 800; }
.learning-reading-progress { margin: 14px 0 22px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 12px; }
.learning-reading-progress > div { height: 5px; border-radius: 999px; background: rgba(41,77,56,.1); overflow: hidden; }
.learning-reading-progress > div span { height: 100%; display: block; border-radius: inherit; background: #315d43; transition: width .3s ease; }
.learning-reading-progress strong { color: #65776d; font-size: 8px; text-transform: uppercase; }
.learning-lesson-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; align-items: start; gap: 17px; }
.learning-article, .learning-related-aside { border: 1px solid rgba(255,255,255,.88); border-radius: 25px; background: rgba(255,252,246,.82); box-shadow: 0 12px 40px rgba(55,47,34,.06); }
.learning-article { padding: 24px; }
.learning-article-intro { padding: 0 2px 18px; }
.learning-article-intro p:not(.eyebrow) { margin: 7px 0 0; color: #718078; font-size: 10px; line-height: 1.6; }
.learning-section-list { border-top: 1px solid var(--border); }
.learning-article-section { border-bottom: 1px solid var(--border); }
.learning-article-section summary { min-height: 74px; padding: 12px 3px; display: grid; grid-template-columns: 28px minmax(0, 1fr) 22px; align-items: center; gap: 12px; list-style: none; cursor: pointer; }
.learning-article-section summary::-webkit-details-marker { display: none; }
.learning-article-section summary > span { color: #87948c; font-size: 8px; font-weight: 900; }
.learning-article-section summary strong { font-family: Georgia, serif; font-size: 18px; font-weight: 500; }
.learning-article-section summary i { color: var(--forest); font-style: normal; transition: transform .2s ease; }
.learning-article-section[open] summary i { transform: rotate(180deg); }
.learning-article-section.is-current summary strong { color: #245338; }
.learning-section-content { padding: 0 7px 22px 40px; }
.learning-section-content > p { margin: 0; color: #52665a; font-family: Georgia, serif; font-size: 15px; line-height: 1.85; }
.learning-section-content blockquote { margin: 19px 0 0; padding: 14px 16px; border-left: 3px solid #d9ae58; border-radius: 0 13px 13px 0; color: #55685d; background: #f4eddf; font-size: 11px; line-height: 1.6; }
.learning-section-content blockquote span { display: block; margin-bottom: 5px; color: #9b7937; font-family: Inter, sans-serif; font-size: 7px; font-weight: 900; letter-spacing: 1.4px; }
.learning-complete-panel { margin-top: 24px; padding: 17px; border-radius: 19px; display: grid; grid-template-columns: 39px minmax(0, 1fr) auto; align-items: center; gap: 13px; background: #efe7da; }
.learning-complete-panel.is-complete { background: #e7eee0; }
.learning-complete-panel > span { width: 39px; height: 39px; border-radius: 13px; display: grid; place-items: center; color: #fff; background: #315d43; }
.learning-complete-panel h3 { margin: 4px 0; font-family: Georgia, serif; font-size: 18px; font-weight: 500; }
.learning-complete-panel p:not(.eyebrow) { margin: 0; color: #718078; font-size: 8px; line-height: 1.45; }
.learning-complete-panel button { min-height: 39px; padding: 0 13px; border: 0; border-radius: 12px; color: #fff; background: var(--forest); cursor: pointer; font-size: 9px; font-weight: 800; }
.learning-complete-panel button:disabled { color: #446351; background: #d2e0cc; }
.learning-related-aside { padding: 19px; position: sticky; top: 96px; }
.learning-relation-list { margin-top: 10px; display: grid; gap: 7px; }
.learning-relation-card { width: 100%; min-height: 64px; padding: 8px; border: 1px solid var(--border); border-radius: 14px; display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: center; gap: 9px; color: inherit; background: rgba(255,255,255,.48); cursor: pointer; text-align: left; text-decoration: none; }
.learning-relation-card img, .learning-relation-card > span { width: 42px; height: 42px; border-radius: 11px; display: grid; place-items: center; object-fit: contain; background: #e5ebdf; }
.learning-relation-card small, .learning-relation-card strong, .learning-relation-card p { display: block; }
.learning-relation-card small { color: #849087; font-size: 6px; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; }
.learning-relation-card strong { margin-top: 4px; font-size: 9px; }
.learning-relation-card p { margin: 3px 0 0; color: #7b887f; font-size: 7px; }
.relation-route { background: #e9f0e3; }
.learning-safety-note { margin-top: 16px; padding: 13px; border-radius: 14px; color: #746f64; background: #f1eadf; }
.learning-safety-note strong { font-size: 9px; }
.learning-safety-note p { margin: 6px 0 0; font-size: 8px; line-height: 1.55; }
.learning-muted { color: #7c8981; font-size: 9px; line-height: 1.5; }
.learning-adjacent-nav { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.learning-adjacent-nav button { min-height: 73px; padding: 13px 16px; border: 1px solid rgba(255,255,255,.85); border-radius: 17px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: rgba(255,252,246,.78); cursor: pointer; text-align: left; }
.learning-adjacent-nav button:last-child { align-items: flex-end; text-align: right; }
.learning-adjacent-nav small { color: #87938b; font-size: 7px; font-weight: 900; letter-spacing: 1px; }
.learning-adjacent-nav strong { margin-top: 5px; font-family: Georgia, serif; font-size: 15px; font-weight: 500; }

.learning-path-hero { min-height: 300px; padding: clamp(30px, 5vw, 50px); border-radius: 34px; display: grid; grid-template-columns: minmax(0, 1fr) 170px; align-items: center; gap: 25px; color: #fff; background: radial-gradient(circle at 85% 20%, rgba(244,204,132,.35), transparent 26%), linear-gradient(135deg, #173629, #3c6e50); box-shadow: 0 24px 70px rgba(22,49,35,.17); }
.learning-path-hero h1 { margin: 9px 0; font-family: Georgia, serif; font-size: clamp(45px, 7vw, 68px); font-weight: 500; letter-spacing: -2px; }
.learning-path-hero p:not(.eyebrow) { margin: 0; color: rgba(255,255,255,.7); font-size: 12px; }
.learning-path-badges { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 7px; }
.learning-path-badges span { padding: 7px 10px; border-radius: 999px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.1); font-size: 8px; font-weight: 800; }
.learning-path-follow { display: grid; justify-items: center; gap: 14px; }
.mini-progress-ring { width: 105px; height: 105px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle closest-side, #2d5a41 75%, transparent 77% 99%), conic-gradient(#f0ca88 calc(var(--learning-progress) * 1%), rgba(255,255,255,.14) 0); }
.mini-progress-ring strong { font-family: Georgia, serif; font-size: 24px; font-weight: 500; }
.learning-path-follow button { min-height: 40px; padding: 0 13px; border: 1px solid rgba(255,255,255,.2); border-radius: 13px; color: #fff; background: rgba(255,255,255,.1); cursor: pointer; font-size: 8px; font-weight: 900; }
.learning-path-follow button.is-following { color: #183a29; background: #f3d49e; }
.learning-path-intro { max-width: 720px; margin: 32px auto; text-align: center; }
.learning-path-intro h2 { margin: 7px 0 9px; font-family: Georgia, serif; font-size: 34px; font-weight: 500; }
.learning-path-intro p:not(.eyebrow) { margin: 0; color: #65766d; font-size: 11px; line-height: 1.7; }
.learning-stage-list { max-width: 850px; margin: 0 auto; padding: 0; list-style: none; }
.learning-stage-list > li { display: grid; grid-template-columns: 48px 1fr; gap: 16px; }
.learning-stage-marker { display: flex; flex-direction: column; align-items: center; }
.learning-stage-marker span { width: 42px; height: 42px; flex: 0 0 auto; border: 2px solid #d5dfce; border-radius: 50%; display: grid; place-items: center; color: #64766b; background: #fbf7ef; font-size: 9px; font-weight: 900; }
.learning-stage-marker i { width: 2px; min-height: 100%; flex: 1; background: #d9dfd3; }
.learning-stage-list > li:last-child .learning-stage-marker i { display: none; }
.learning-stage-list li.is-completed .learning-stage-marker span { border-color: #315d43; color: #fff; background: #315d43; }
.learning-stage-list article { margin-bottom: 13px; padding: 21px; border: 1px solid rgba(255,255,255,.86); border-radius: 20px; background: rgba(255,252,246,.82); box-shadow: 0 10px 30px rgba(51,45,34,.055); }
.learning-stage-list h3 { margin: 5px 0 9px; font-family: Georgia, serif; font-size: 23px; font-weight: 500; }
.learning-stage-list article > p { margin: 0; color: #607269; font-size: 11px; line-height: 1.65; }
.learning-stage-focus { margin-top: 14px; padding: 11px 13px; border-radius: 13px; background: #edf1e7; }
.learning-stage-focus strong, .learning-stage-focus span { display: block; }
.learning-stage-focus strong { color: #78867d; font-size: 7px; letter-spacing: 1px; text-transform: uppercase; }
.learning-stage-focus span { margin-top: 5px; color: #496052; font-size: 9px; }
.learning-stage-list article > button { margin-top: 13px; padding: 9px 11px; border: 1px solid var(--border); border-radius: 11px; color: var(--forest); background: #fffaf2; cursor: pointer; font-size: 8px; font-weight: 900; }
.learning-loading-view { min-height: 65vh; display: grid; place-content: center; justify-items: center; gap: 15px; color: #6f7d75; }
.learning-loader { width: 45px; height: 45px; border: 4px solid #dfe8d7; border-top-color: var(--forest); border-radius: 50%; animation: learning-spin .8s linear infinite; }
.learning-loading-view p { margin: 0; font-size: 10px; font-weight: 800; }
@keyframes learning-spin { to { transform: rotate(360deg); } }

@media (hover: hover) {
  .learning-module-card, .learning-path-card, .learning-pose-card, .learning-lesson-row, .learning-relation-card { transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
  .learning-module-card:hover, .learning-path-card:hover, .learning-pose-card:hover, .learning-lesson-row:hover { transform: translateY(-3px); border-color: rgba(44,89,63,.2); box-shadow: 0 18px 48px rgba(51,45,34,.11); }
  .learning-relation-card:hover { transform: translateX(2px); border-color: rgba(44,89,63,.2); }
}

@media (max-width: 900px) {
  .learning-path-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .learning-lesson-layout { grid-template-columns: 1fr; }
  .learning-related-aside { position: static; }
  .learning-relation-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .learning-page { margin-inline: -2px; }
  .learning-hero { min-height: 0; padding: 25px 19px 53px; border-radius: 26px; grid-template-columns: 1fr; gap: 24px; }
  .learning-hero-copy h1 { margin-top: 8px; font-size: clamp(38px, 12vw, 52px); line-height: .99; letter-spacing: -1.8px; }
  .learning-hero-copy > p:not(.eyebrow) { font-size: 11px; line-height: 1.6; }
  .learning-continue { min-height: 62px; margin-top: 20px; }
  .learning-progress-orbit { width: 118px; height: 118px; position: absolute; right: 22px; bottom: -74px; border: 7px solid #f7f1e7; }
  .learning-progress-orbit::before { width: 83px; height: 83px; }
  .learning-progress-orbit strong { font-size: 26px; }
  .learning-progress-orbit span { font-size: 6px; }
  .learning-stat-strip { width: calc(100% - 18px); margin: 11px 9px 0; padding: 15px 8px; border-radius: 18px; }
  .learning-stat-strip > div { padding: 0 6px; }
  .learning-stat-strip strong { font-size: 19px; }
  .learning-stat-strip span { font-size: 6px; letter-spacing: .5px; }
  .learning-catalogue, .learning-paths-section, .learning-connected-section, .learning-resources-section { margin-top: 34px; }
  .learning-section-heading { align-items: end; }
  .learning-section-heading h2 { font-size: 28px; }
  .learning-section-heading > p { display: none; }
  .learning-tools { grid-template-columns: 1fr; gap: 8px; }
  .learning-search { height: 47px; border-radius: 14px; }
  .learning-filter-row { margin-inline: -2px; }
  .learning-filter-row button { min-height: 37px; padding-inline: 12px; }
  .learning-module-grid { grid-template-columns: 1fr; gap: 9px; }
  .learning-module-main { min-height: 145px; padding: 17px; grid-template-columns: 44px minmax(0, 1fr) 18px; gap: 12px; }
  .learning-module-icon { width: 44px; height: 44px; border-radius: 14px; font-size: 20px; }
  .learning-module-main h3 { font-size: 22px; }
  .learning-path-grid { grid-auto-flow: column; grid-auto-columns: 175px; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .learning-path-card { min-height: 165px; scroll-snap-align: start; }
  .learning-pose-strip { grid-auto-columns: 162px; }
  .learning-elements-section, .learning-resource-grid { grid-template-columns: 1fr; }
  .learning-elements-section { gap: 8px; }

  .learning-module-hero { min-height: 0; padding: 23px 18px; border-radius: 25px; grid-template-columns: 48px 1fr; gap: 13px; }
  .learning-module-hero .learning-module-icon { width: 48px; height: 48px; border-radius: 16px; font-size: 22px; }
  .learning-module-hero h1 { margin-top: 4px; font-size: 36px; letter-spacing: -1.5px; }
  .learning-module-hero p:not(.eyebrow) { font-size: 10px; }
  .learning-module-score { grid-column: 1 / -1; min-width: 0; display: flex; align-items: baseline; gap: 8px; text-align: left; }
  .learning-module-score strong { font-size: 26px; }
  .learning-lesson-row { min-height: 105px; padding: 13px; grid-template-columns: 38px minmax(0, 1fr) 47px; gap: 10px; }
  .learning-lesson-number { width: 38px; height: 38px; border-radius: 12px; }
  .learning-lesson-row h3 { font-size: 17px; }

  .learning-lesson-hero { min-height: 0; padding: 25px 18px; border-radius: 26px; }
  .learning-lesson-hero h1 { margin: 22px 0 11px; font-size: clamp(38px, 11vw, 52px); letter-spacing: -1.7px; }
  .learning-lesson-hero > p { font-size: 11px; line-height: 1.6; }
  .learning-lesson-meta { margin-top: 18px; }
  .learning-article { padding: 16px; border-radius: 21px; }
  .learning-article-section summary { min-height: 66px; grid-template-columns: 23px minmax(0, 1fr) 18px; gap: 8px; }
  .learning-article-section summary strong { font-size: 16px; }
  .learning-section-content { padding: 0 2px 19px 31px; }
  .learning-section-content > p { font-size: 14px; line-height: 1.78; }
  .learning-complete-panel { grid-template-columns: 35px 1fr; }
  .learning-complete-panel > span { width: 35px; height: 35px; }
  .learning-complete-panel button { grid-column: 1 / -1; width: 100%; }
  .learning-related-aside { padding: 16px; border-radius: 21px; }
  .learning-relation-list { grid-template-columns: 1fr; }
  .learning-adjacent-nav { grid-template-columns: 1fr; }
  .learning-adjacent-nav > span { display: none; }
  .learning-adjacent-nav button:last-child { align-items: flex-start; text-align: left; }

  .learning-path-hero { min-height: 0; padding: 26px 19px; border-radius: 26px; grid-template-columns: 1fr; }
  .learning-path-hero h1 { font-size: 45px; }
  .learning-path-follow { grid-template-columns: 70px 1fr; justify-items: stretch; align-items: center; }
  .mini-progress-ring { width: 70px; height: 70px; }
  .mini-progress-ring strong { font-size: 18px; }
  .learning-path-follow button { width: 100%; }
  .learning-path-intro { margin: 25px auto; text-align: left; }
  .learning-path-intro h2 { font-size: 29px; }
  .learning-stage-list > li { grid-template-columns: 35px 1fr; gap: 10px; }
  .learning-stage-marker span { width: 35px; height: 35px; }
  .learning-stage-list article { padding: 16px; border-radius: 18px; }
  .learning-stage-list h3 { font-size: 20px; }
}

@media (max-width: 390px) {
  .learning-hero-copy h1 { font-size: 36px; }
  .learning-continue { padding-left: 13px; }
  .learning-continue strong { max-width: 190px; }
  .learning-module-main p { font-size: 9px; }
  .learning-lesson-row { grid-template-columns: 34px minmax(0, 1fr) 38px; }
  .learning-lesson-number { width: 34px; height: 34px; }
}
