/* Companion reading layouts. Tables remain usable at narrow widths. */
.article-content { font-size: 1.125rem; line-height: 1.75; }
.article-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; margin: 1.5rem 0; }
.article-content th, .article-content td { padding: .75rem; border: 1px solid #DCE2DD; text-align: left; vertical-align: top; min-width: 9rem; }
.article-content th { background: #ECEFE9; }
.article-content pre { max-width: 100%; overflow-x: auto; white-space: pre; }
.article-content a { text-decoration: underline; text-underline-offset: .18em; }
.gft-directory section { margin-block: 2rem; }
@media (max-width: 600px) { .article-content { font-size: 1rem; } }

/* Launch task routes: scoped to the library; retain the existing GFT palette. */
.gft-learning-paths { margin: 0 0 2.5rem; }
.gft-learning-paths > h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); margin: 0 0 .5rem; }
.gft-paths-intro { margin: 0 0 1.25rem; color: #5D6B70; }
.gft-journey-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.gft-journey { min-width: 0; padding: 1.4rem; background: #FFFFFF; border: 1px solid #DCE2DD; border-radius: 12px; }
.gft-journey h3 { margin: 0 0 .65rem; font-size: 1.15rem; line-height: 1.35; }
.gft-journey p { margin: 0 0 .85rem; font-size: 1rem; line-height: 1.6; color: #5D6B70; }
.gft-journey ol { margin: 0; padding-left: 1.35rem; }
.gft-journey li { padding-left: .25rem; }
.gft-journey li + li { margin-top: .25rem; }
.gft-journey a { display: inline-block; vertical-align: top; padding: .55rem 0; min-height: 44px; color: #216647; font-size: 1rem; line-height: 1.5; text-decoration: underline; text-underline-offset: .18em; overflow-wrap: anywhere; }
.gft-journey a:focus-visible { outline: 3px solid #216647; outline-offset: 3px; border-radius: 2px; }
@media (max-width: 900px) { .gft-journey-grid { grid-template-columns: 1fr; } }
