.feature-library { border-top: 1px solid #263845; }
.home-professional .feature-library .section-title { color: var(--text); }
.home-professional .feature-library .section-kicker { color: var(--accent); }
.home-professional .feature-library .section-copy { color: var(--muted); }
.home-professional .feature-library .home-tools-link { color: var(--accent); }
.feature-library-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 28px; margin-bottom: 30px; }
.feature-library-heading > div { max-width: 700px; }
.feature-library-heading .home-tools-link { flex-shrink: 0; }
.feature-article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.feature-article-card { min-width: 0; padding: 28px; display: flex; flex-direction: column; align-items: flex-start; border: 1px solid #dce2df; border-radius: 16px; background: #fff; color: #122335; transition: border-color .15s ease, transform .15s ease; }
.feature-article-card:hover { border-color: #18846e; transform: translateY(-3px); }
.feature-article-number { color: #347262; font-size: .72rem; font-weight: 750; letter-spacing: .08em; }
.feature-article-card h3 { margin: 20px 0 12px; font-size: 1.25rem; line-height: 1.5; letter-spacing: -.035em; text-wrap: pretty; }
.feature-article-card p { margin: 0 0 26px; color: #54616a; font-size: .9rem; line-height: 1.8; }
.feature-article-action { margin-top: auto; display: flex; align-items: center; gap: 12px; color: #176650; font-size: .82rem; font-weight: 750; }
.feature-article-action svg { width: 17px; height: 17px; }
.feature-library-note { margin: 24px 0 0; color: #b2c3cf; font-size: .85rem; line-height: 1.8; }
.guide-back-link { color: #42645a; font-size: .9rem; font-weight: 650; }
.feature-article .content-hero h1 { font-size: clamp(2rem, 4vw, 3.35rem); line-height: 1.25; text-wrap: pretty; word-break: keep-all; overflow-wrap: anywhere; }
.feature-article-card h3 { word-break: keep-all; overflow-wrap: anywhere; }
.guide-faq details { padding: 16px 0; border-top: 1px solid #dce4de; }
.guide-faq summary { cursor: pointer; color: #244c3d; font-weight: 650; line-height: 1.7; }
.guide-faq details p { margin: 12px 0 0; }
.guide-edition { margin: 22px 0 0; color: #63716b; font-size: .8rem; }
.guide-toc { display: block; margin-bottom: 30px; padding: 24px 28px; border: 1px solid #dbe4df; border-radius: 16px; background: #f1f6f3; }
.guide-toc strong { color: #244439; font-size: .92rem; }
.guide-toc ol { margin: 14px 0 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.guide-toc a { color: #456056; font-size: .9rem; line-height: 1.7; text-decoration: underline; text-underline-offset: 4px; }
.feature-article .content-section { scroll-margin-top: 24px; }
.feature-article .content-section h2 { line-height: 1.5; }
.guide-example { margin: 22px 0; padding: 20px 22px; border-left: 3px solid #329b7d; border-radius: 0 12px 12px 0; background: #f1f6f3; }
.guide-example p { margin: 0 0 10px; color: #316651; font-size: .8rem; font-weight: 750; }
.guide-example pre { margin: 0; color: #213a30; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .87rem; line-height: 1.8; }
.guide-table-wrap { margin: 24px 0 8px; max-width: 100%; overflow-x: auto; border: 1px solid #dce4de; border-radius: 12px; }
.guide-table { width: 100%; min-width: 480px; border-collapse: collapse; text-align: start; font-size: .9rem; line-height: 1.7; }
.guide-table caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.guide-table th { color: #244c3d; background: #edf4ef; font-weight: 750; }
.guide-table th, .guide-table td { padding: 14px 16px; border-bottom: 1px solid #e0e7e2; overflow-wrap: anywhere; vertical-align: top; }
.guide-table td { color: #4b5361; }
.guide-table tr:last-child td { border-bottom: 0; }
.guide-sources { padding-top: 20px; border-top: 1px solid #e0e7e2; }
.guide-sources h2 { font-size: 1rem; }
.guide-sources ul { padding-left: 20px; display: grid; gap: 10px; }
.guide-sources a { color: #356551; font-size: .87rem; line-height: 1.7; text-decoration: underline; text-underline-offset: 3px; }
.guide-tool-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0 24px; }
.guide-tool-links a { padding: 10px 14px; border: 1px solid #c9d9ce; border-radius: 8px; color: #27654e; font-size: .85rem; font-weight: 650; }
.guide-group-nav { margin: 0 0 32px; display: flex; flex-wrap: wrap; gap: 10px; }
.guide-group-nav a { padding: 10px 15px; border: 1px solid #d2dfd5; border-radius: 999px; color: #375c4a; background: #fff; font-size: .84rem; font-weight: 650; }
.guide-group-nav a:hover { background: #e8f2ec; }
.guide-groups .hub-group-heading h3 { scroll-margin-top: 24px; }
.hub-guides .guide-hub-card { min-width: 0; }
.hub-guides .guide-hub-card strong { line-height: 1.6; }
.hub-guides .guide-hub-card p { line-height: 1.8; }
.guide-language-label { align-self: flex-start; padding: 3px 7px; border: 1px solid #dce2df; border-radius: 4px; }
.feature-article-card:focus-visible, .guide-toc a:focus-visible, .guide-tool-links a:focus-visible, .guide-group-nav a:focus-visible { outline: 3px solid #18846e; outline-offset: 4px; }
@media (max-width: 1000px) { .feature-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .feature-library-heading { align-items: flex-start; flex-direction: column; gap: 16px; }
  .feature-article-grid { grid-template-columns: 1fr; gap: 14px; }
  .feature-article-card { padding: 22px; }
  .guide-toc { padding: 20px; }
  .guide-table th, .guide-table td { padding: 11px 12px; font-size: .82rem; }
  .guide-example { padding: 16px; }
}
@media (prefers-reduced-motion: reduce) { .feature-article-card { transition: none; } .feature-article-card:hover { transform: none; } }

/* Feature reading paths share the editorial palette of the existing guides. */
.series-overview { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 26px 0 32px; border-top: 1px solid #d5ded7; }
.series-overview .eyebrow { margin: 0 0 12px; color: #39765b; font-size: .72rem; letter-spacing: .1em; }
.series-overview h3 { margin: 0 0 12px; color: #192f27; font-size: clamp(1.5rem, 3vw, 2.15rem); line-height: 1.4; letter-spacing: -.035em; word-break: keep-all; }
.series-overview p { color: #54645b; line-height: 1.8; }
.series-overview .series-overview-count { flex-shrink: 0; margin: 0; text-align: end; }
.series-overview-count strong { display: block; color: #1c664c; font-size: 3rem; line-height: 1.1; }
.series-overview-count span { font-size: .82rem; }
.series-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.series-card { display: flex; flex-direction: column; min-width: 0; padding: 26px; border: 1px solid #d6e0d8; border-radius: 14px; background: #fff; color: #20362b; text-decoration: none; transition: border-color .15s ease, transform .15s ease; }
.series-card-meta { display: flex; justify-content: space-between; gap: 12px; color: #547265; font-size: .68rem; font-weight: 700; letter-spacing: .07em; }
.series-card-meta span:last-child { color: #23674c; padding: 3px 7px; margin-top: -3px; background: #edf5ef; border-radius: 4px; white-space: nowrap; }
.series-card h3 { color: #193628; margin: 24px 0 12px; font-size: 1.4rem; letter-spacing: -.03em; line-height: 1.45; word-break: keep-all; overflow-wrap: anywhere; }
.series-card p { margin: 0 0 24px; color: #5b6a61; font-size: .86rem; line-height: 1.8; }
.series-card-action { margin-top: auto; color: #25674c; font-size: .81rem; font-weight: 750; }
.series-card:hover { border-color: #39835f; transform: translateY(-2px); }
.series-card .guide-language-label { margin-top: 18px; font-size: .7rem; }
.guide-full-catalog { margin-top: 40px; padding-top: 24px; border-top: 1px solid #d5ded7; }
.guide-full-catalog > summary { cursor: pointer; color: #244934; font-weight: 700; font-size: 1.05rem; padding: 10px 0 20px; }
.guide-full-catalog > summary span { margin-inline-start: 10px; color: #69776d; font-size: .85rem; font-weight: 500; }
.guide-full-catalog[open] > summary { margin-bottom: 16px; }
.home-series-links { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 24px; }
.home-series-links a { display: flex; flex-direction: column; gap: 14px; padding: 20px; border: 1px solid #3a514f; border-radius: 12px; color: #e9f5ee; background: #152b31; min-width: 0; }
.home-series-links span { font-size: 1rem; font-weight: 650; }
.home-series-links strong { color: #77e4c0; font-size: .78rem; }
.home-series-links a:hover { border-color: #77e4c0; }
.series-hero h1 { font-size: clamp(2rem, 4vw, 3.2rem); letter-spacing: -.04em; line-height: 1.3; word-break: keep-all; overflow-wrap: anywhere; }
.series-hero h1 span { display: block; color: #4d725d; font-size: .55em; letter-spacing: -.02em; margin-top: 12px; }
.series-hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 28px; }
.series-hero-actions > a:last-child { color: #2a6148; font-size: .9rem; font-weight: 650; }
.series-scope { padding: 20px 24px; border-inline-start: 3px solid #408565; border-radius: 0 10px 10px 0; background: #edf4ef; margin-bottom: 40px; }
.series-scope h2 { color: #365c45; font-size: .9rem; margin: 0 0 10px; }
.series-scope p { margin: 0; color: #536358; font-size: .87rem; line-height: 1.85; }
.series-index-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.series-index-heading h2 { margin: 0; color: #243e2e; font-size: 1.35rem; }
.series-index-heading > span { color: #6b786e; font-size: .83rem; }
.series-episodes { padding: 0; margin: 0; list-style: none; }
.series-episodes li { border-top: 1px solid #dfe7e0; }
.series-episodes li:last-child { border-bottom: 1px solid #dfe7e0; }
.series-episodes a { display: flex; align-items: flex-start; gap: 22px; padding: 24px 8px; color: #294134; text-decoration: none; }
.series-episode-number { flex-shrink: 0; width: 30px; margin-top: 3px; color: #437b5f; font-size: .87rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.series-episodes a > div { min-width: 0; flex: 1; }
.series-episodes h3 { margin: 0 0 10px; color: #254432; font-size: 1.12rem; line-height: 1.6; word-break: keep-all; overflow-wrap: anywhere; }
.series-episodes p { margin: 0; color: #637166; font-size: .87rem; line-height: 1.85; }
.series-episode-arrow { flex-shrink: 0; color: #437b5f; }
.series-episodes a:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.series-other { margin-top: 38px; padding-top: 20px; border-top: 1px solid #dfe7e0; }
.series-other summary { cursor: pointer; color: #365c45; font-size: .95rem; font-weight: 650; }
.series-other nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 20px; }
.series-other a { display: flex; justify-content: space-between; gap: 12px; min-width: 0; color: #44634e; font-size: .86rem; padding: 12px 14px; border: 1px solid #dde6df; border-radius: 8px; }
.series-other a span { flex-shrink: 0; color: #607866; font-size: .76rem; }
.guide-series-position { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.guide-series-position a { color: #32664b; font-size: .84rem; font-weight: 700; }
.guide-series-position span { color: #5e7868; font-size: .75rem; padding: 4px 8px; border: 1px solid #d5e3d9; border-radius: 5px; }
.guide-series-navigation { margin: 28px 0; padding: 24px; border: 1px solid #cddfd2; background: #f0f6f2; border-radius: 14px; }
.guide-series-nav-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.guide-series-nav-heading a { color: #285c40; font-size: .88rem; font-weight: 750; }
.guide-series-nav-heading > span { color: #6b806f; font-size: .78rem; white-space: nowrap; }
.guide-series-neighbors { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.guide-series-neighbors a { display: flex; flex-direction: column; gap: 10px; padding: 18px; border: 1px solid #d8e4db; border-radius: 10px; background: #fff; min-width: 0; }
.guide-series-neighbors span { color: #5a7b65; font-size: .75rem; }
.guide-series-neighbors strong { color: #2b5037; font-size: .94rem; line-height: 1.7; word-break: keep-all; overflow-wrap: anywhere; }
.guide-series-memberships { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 14px; border-top: 1px solid #d8e4db; margin-top: 18px; padding-top: 18px; }
.guide-series-memberships span { color: #6a7a6e; font-size: .75rem; }
.guide-series-memberships a { color: #3d7250; font-size: .79rem; text-decoration: underline; text-underline-offset: 3px; }
.series-card:focus-visible, .series-episodes a:focus-visible, .home-series-links a:focus-visible, .guide-series-navigation a:focus-visible, .series-other a:focus-visible { outline: 3px solid #18846e; outline-offset: 3px; }
@media (max-width: 1000px) { .series-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .home-series-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) {
  .series-overview { align-items: flex-start; gap: 18px; }
  .series-overview-count strong { font-size: 2.3rem; }
  .series-grid { grid-template-columns: 1fr; gap: 12px; }
  .series-card { padding: 22px; }
  .home-series-links { gap: 10px; }
  .home-series-links a { padding: 16px; }
  .series-episodes a { gap: 14px; padding: 22px 0; }
  .series-episodes h3 { font-size: 1rem; }
  .series-scope, .guide-series-navigation { padding: 18px; }
  .guide-series-neighbors, .series-other nav { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .series-card { transition: none; } .series-card:hover { transform: none; } }
