/* Learning discovery and reference pages. Workspace components are not affected. */
.learning-family,
body[data-ecosystem-page="learning-centre"] {
  --learning-family-surface: var(--public-surface-tint, #f6f8f5);
  --learning-family-radius: var(--public-panel-radius, 10px);
  --learning-family-shadow: var(--public-panel-shadow, 0 12px 30px -24px rgba(16,41,23,.3));
}
.learning-family .hero-lead,
.learning-hero .hero-lead { max-width: 43rem; }
.learning-family .eyebrow a { color: inherit; text-underline-offset: .25em; }
.learning-family .guide-hero { max-width: 62rem; padding-block: clamp(3.5rem, 7vw, 6rem); }
.learning-family .guide-hero h1 { max-width: 58rem; }
.learning-family .guide-hero .hero-actions { margin-top: 1.75rem; }
.learning-family .section-heading { max-width: 48rem; }
.learning-family-nav { display: flex; flex-wrap: wrap; gap: .4rem 1.25rem; margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 1px solid var(--ic-border, #d9e2d9); }
.learning-family-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #344238; text-decoration: none; font-weight: 650; }
.learning-family-nav a[aria-current="page"] { color: var(--ic-brand, #173e20); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .5rem; }
.learning-family .resource-search-shell { max-width: none; padding: clamp(1.2rem,3vw,1.8rem); border: 1px solid #d9e2d9; border-radius: var(--learning-family-radius); background: #fff; }
.learning-family .resource-search-shell>label { display: block; margin-bottom: .65rem; font-weight: 700; color: #1f2937; }
.learning-family .search-row { display: flex; gap: .75rem; }
.learning-family .search-row input { min-width: 0; flex: 1; width: 100%; min-height: 48px; padding: .75rem 1rem; border: 1px solid #829388; border-radius: 6px; background: white; color: #1f2937; font: inherit; }
.learning-family .filter-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
.learning-family .filter-chips button { min-height: 44px; padding: .6rem .9rem; border: 1px solid #b8c8ba; border-radius: 6px; background: #fff; color: #344238; cursor: pointer; font-family: inherit; font-size: .875rem; line-height: 1.3; font-weight: 650; }
.learning-family .filter-chips button.is-active { color: #fff; background: var(--ic-brand, #173e20); border-color: var(--ic-brand, #173e20); }
.learning-family .finder-status { color: #344238; margin: 1rem 0 2rem; }
.learning-catalogue-group + .learning-catalogue-group { margin-top: 3.5rem; padding-top: 3rem; border-top: 1px solid #d9e2d9; }
.learning-catalogue-group > h2 { margin: 0 0 1.4rem; font-size: clamp(1.65rem,3vw,2.1rem); }
.learning-catalogue-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.15rem; }
.learning-catalogue-card,
.learning-family a.learning-catalogue-card { display: flex; flex-direction: column; align-items: stretch; min-width: 0; padding: clamp(1.4rem,2.5vw,1.85rem); border: 1px solid #cddace; border-radius: var(--learning-family-radius); background: #fff; box-shadow: var(--learning-family-shadow); color: #1f2937; text-decoration: none; }
.learning-catalogue-card .tag { color: var(--ic-brand, #173e20); font-size: .875rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.learning-catalogue-card h3 { margin: .85rem 0 .75rem; font-size: clamp(1.35rem,2vw,1.65rem); line-height: 1.18; }
.learning-catalogue-card p { margin: 0 0 1.5rem; color: #344238; font-size: 1rem; line-height: 1.55; }
.learning-catalogue-card > strong { margin-top: auto; color: var(--ic-brand, #173e20); font-size: .9rem; font-weight: 700; }
.learning-catalogue-card:hover { border-color: var(--ic-brand, #173e20); }
.learning-family .learning-library-callout { display: flex; gap: 2rem; align-items: center; justify-content: space-between; margin-top: 3rem; padding: clamp(1.5rem,3vw,2.5rem); border: 1px solid #cddace; border-radius: var(--learning-family-radius); background: var(--learning-family-surface); }
.learning-library-callout h2 { margin-top: 0; }
.learning-library-callout p { margin-bottom: 0; max-width: 38rem; }
.learning-scope-note { max-width: 48rem; margin-top: 2rem; color: #344238; }
.learning-resource-feature { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: clamp(1.5rem,3vw,2.5rem); border: 1px solid rgba(255,255,255,.35); border-radius: var(--learning-family-radius); background: #102917; }
.learning-resource-feature h2 { color: #fff; font-size: clamp(1.8rem,3vw,2.7rem); margin: 1rem 0; }
.learning-resource-feature>p { color: #f7f5f0; }
.learning-resource-feature .button { align-self: flex-start; margin-top: 1rem; }
.learning-family .resource-start { background: var(--learning-family-surface); }
.learning-family .resource-grid { gap: 1rem; }
.learning-family .resource-grid > .resource-card { padding: 1.5rem; border: 1px solid #cddace; border-radius: var(--learning-family-radius); background: #fff; box-shadow: var(--learning-family-shadow); }
.learning-family .resource-grid > .resource-card strong { font-size: 1.2rem; }
.learning-family .resource-grid > .resource-card small { color: #344238; font-size: .94rem; }
.learning-family .start-grid { gap: 1rem; }
.learning-family .start-card { padding: 1.7rem; border: 1px solid #cddace; border-radius: var(--learning-family-radius); background: #fff; }
.learning-family .download-grid { gap: 1rem; }
.learning-family .download-grid article { padding: 1.5rem; border: 1px solid rgba(255,255,255,.3); border-radius: var(--learning-family-radius); background: #102917; }
.learning-family .download-grid p { color: #f7f5f0; }
.learning-family :is(a,button,input):focus-visible,
.learning-path-grid a:focus-visible,
.learning-reference-grid a:focus-visible { outline: 3px solid #173e20; outline-offset: 4px; }
.learning-family .forest-section a:focus-visible,
.learning-family header .guide-hero a:focus-visible,
.learning-family header .hero-copy a:focus-visible { outline-color: #fff; box-shadow: 0 0 0 6px #173e20; }
.learning-catalogue-card[hidden],
.learning-catalogue-group[hidden] { display: none; }

.learning-path-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.25rem; margin-top: 2rem; }
.learning-path-grid > a { display: flex; flex-direction: column; min-width: 0; padding: clamp(1.5rem,2.8vw,2rem); border: 1px solid #cddace; border-radius: var(--learning-family-radius); background: #fff; box-shadow: var(--learning-family-shadow); color: #1f2937; text-decoration: none; }
.learning-path-icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; color: #173e20; background: var(--learning-family-surface); border-radius: 8px; }
.learning-path-icon svg { width: 32px; height: 32px; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.learning-path-grid h3 { margin: 1.5rem 0 .75rem; color: #1f2937; font: 500 clamp(1.65rem,2.8vw,2rem)/1.12 Georgia,serif; }
.learning-path-grid p { margin: 0 0 1.5rem; color: #344238; font-size: 1rem; }
.learning-path-grid strong { color: #173e20; margin-top: auto; font-size: .93rem; }
.learning-path-grid a:hover { border-color: #173e20; background: var(--learning-family-surface); }
.learning-related-link { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1.5rem 0 0; color: #344238; }
.learning-related-link a { color: #173e20; font-weight: 700; text-underline-offset: .2em; }
.learning-hero-preview.learning-answer-preview { background: #102917; backdrop-filter: none; border-radius: var(--learning-family-radius); box-shadow: var(--learning-family-shadow); }
.learning-answer-preview h2 { margin: 1.1rem 0 1.5rem; color: #fff; font: 500 clamp(1.7rem,2.5vw,2.15rem)/1.15 Georgia,serif; }
.learning-answer-preview dl { display: grid; gap: 0; margin: 0; }
.learning-answer-preview dl > div { padding: 1rem 0; border-top: 1px solid rgba(255,255,255,.25); }
.learning-answer-preview dt { color: #f7f5f0; font-size: .875rem; font-weight: 700; }
.learning-answer-preview dd { margin: .35rem 0 0; color: #fff; font-size: 1rem; line-height: 1.5; }
.learning-answer-next { margin-top: 1rem; padding: 1.15rem 1.25rem; border-radius: 6px; background: #f7f5f0; color: #173e20; }
.learning-answer-next span { color: #173e20; font-size: .875rem; font-weight: 700; }
.learning-answer-next p { margin: .45rem 0 0; color: #1f2937; font-size: 1.06rem; line-height: 1.4; }
.learning-reference-section { background: #f5f3ee; }
.learning-reference-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.15rem; margin-top: 1.8rem; }
.learning-reference-grid a { display: flex; flex-direction: column; padding: 1.5rem; border: 1px solid #cddace; border-radius: var(--learning-family-radius); background: #fff; color: #1f2937; text-decoration: none; }
.learning-reference-grid span { color: #173e20; font-size: .875rem; font-weight: 750; }
.learning-reference-grid h3 { margin: .8rem 0; font-size: 1.5rem; }
.learning-reference-grid p { margin: 0 0 1.5rem; color: #344238; font-size: .95rem; }
.learning-reference-grid strong { margin-top: auto; color: #173e20; font-size: .9rem; }
@media(max-width:980px) { .learning-catalogue-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:780px) {
  .learning-path-grid,.learning-reference-grid { grid-template-columns: 1fr; }
  .learning-path-grid > a { display: grid; grid-template-columns: 48px 1fr; gap: 0 1.25rem; }
  .learning-path-icon { grid-row: 1/4; }
  .learning-path-grid h3 { margin-top: 0; }
  .learning-path-grid p { margin-bottom: 1rem; }
  .learning-family .learning-library-callout { align-items: flex-start; flex-direction: column; gap: 1.3rem; }
}
@media(max-width:560px) { .learning-catalogue-grid { grid-template-columns: 1fr; }.learning-family .search-row { flex-wrap: wrap; }.learning-family .search-row input { flex-basis: 100%; }.learning-family .resource-search-shell { padding: 1rem; } }
@media(prefers-reduced-motion:reduce) { .learning-path-grid a,.learning-catalogue-card { transition: none; } }

/* Opaque labels keep the answer readable on the signature gradient. */
.learning-family .hero-lead,
.learning-hero .hero-lead,
.learning-hero .hero-boundary,
.learning-answer-preview .eyebrow { color: var(--brand-on-dark, #f7faf7); }
.learning-hero .hero-boundary { font-size: .875rem; }
.learning-family header .eyebrow { font-size: .875rem; }
.learning-family input::placeholder { color: #344238; opacity: 1; }
.learning-family .resource-search-ways :is(span,p,a) { font-size: .875rem; color: #344238; }
.learning-family .download-grid :is(span,a) { font-size: .875rem; color: #f7f5f0; }

.learning-family .guide-hero > .eyebrow { color: #f7f5f0; }
.learning-family .guide-hero h1 { font: 500 clamp(3rem,5.4vw,5.2rem)/1 Georgia,serif; letter-spacing: -.04em; }
.learning-family .learning-catalogue-card h3 { font-family: Georgia,serif; font-weight: 500; }
.learning-family .resource-card .tag { font-size: .875rem; }
.learning-family .fictional-note a { color: #173e20; font-size: .875rem; }
.learning-family .no-results p { color: #344238; }
.learning-search-row input::placeholder { color: #344238; opacity: 1; }
