.journal-article { color: #314838; }
.journal-article-hero { background: linear-gradient(125deg, #edf4e9 0%, #f9fbf7 58%, #e5efe6 100%); padding: clamp(4.8rem, 8vw, 6.8rem) 0 clamp(2.5rem, 5vw, 4rem); }
.journal-article-hero-grid { align-items: center; display: grid; gap: clamp(2.5rem, 7vw, 7rem); grid-template-columns: 1.02fr .98fr; }
.journal-back-link { color: #305d3c; display: inline-flex; font-size: .88rem; font-weight: 700; margin-bottom: 1.75rem; text-decoration: none; }
.journal-back-link:hover, .journal-back-link:focus-visible { text-decoration: underline; text-underline-offset: .2em; }
.journal-back-link span { margin-left: .4rem; }
.journal-article-heading h1 { color: #1d3d2a; font-size: clamp(2.65rem, 4.7vw, 4.65rem); letter-spacing: -.075em; line-height: .98; margin: .45rem 0 1.1rem; }
.journal-article-heading h1 em { color: #4c7e61; font-family: Georgia, serif; font-weight: 400; }
.journal-lead { color: #52695a; font-size: clamp(1.05rem, 1.7vw, 1.22rem); line-height: 1.7; max-width: 40rem; }
.journal-meta { align-items: center; color: #667b6a; display: flex; flex-wrap: wrap; font-size: .82rem; gap: .6rem; margin-top: 1.8rem; }
.journal-hero-image { margin: 0; }
.journal-hero-image img { border-radius: 1.5rem; box-shadow: 0 1.3rem 3.8rem rgba(41, 74, 48, .16); display: block; height: auto; width: 100%; }
.journal-hero-image figcaption { color: #697c6c; font-size: .76rem; line-height: 1.5; margin: .7rem .15rem 0; }
.journal-content-layout { display: grid; gap: clamp(2.5rem, 8vw, 8rem); grid-template-columns: 13rem minmax(0, 46rem); justify-content: center; padding-bottom: clamp(5rem, 10vw, 9rem); padding-top: clamp(3.5rem, 7vw, 6rem); }
.journal-on-this-page { align-self: start; border-left: 1px solid #d8e4d8; position: sticky; top: 2rem; }
.journal-on-this-page > p { color: #234a30; font-size: .78rem; font-weight: 800; letter-spacing: .09em; margin: 0 0 .75rem; padding-left: 1rem; text-transform: uppercase; }
.journal-on-this-page ol { list-style: none; margin: 0; padding: 0; }
.journal-on-this-page li { margin: .6rem 0; }
.journal-on-this-page a { color: #667b6a; display: block; font-size: .82rem; line-height: 1.4; padding-left: 1rem; text-decoration: none; }
.journal-on-this-page a:hover, .journal-on-this-page a:focus-visible { color: #205f31; text-decoration: underline; text-underline-offset: .2em; }
.journal-body { color: #506555; }
.journal-intro { color: #31503b; font-size: clamp(1.15rem, 2vw, 1.35rem); line-height: 1.75; margin: 0 0 3.5rem; }
.journal-body section { margin: 0 0 3.6rem; scroll-margin-top: 2rem; }
.journal-body h2 { color: #1e452c; font-size: clamp(1.8rem, 3.7vw, 2.8rem); letter-spacing: -.055em; line-height: 1.05; margin: 0 0 1.15rem; }
.journal-body h3 { color: #214a30; font-size: 1.15rem; letter-spacing: -.025em; margin: 0 0 .65rem; }
.journal-body p, .journal-body li { font-size: 1.04rem; line-height: 1.8; }
.journal-body p { margin: 0 0 1.15rem; }
.journal-body a { color: #17622c; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.journal-key-answer { background: #edf5ea; border-left: 4px solid #5c9b63; border-radius: 0 1rem 1rem 0; margin: 1.8rem 0; padding: 1.35rem 1.45rem; }
.journal-key-answer .eyebrow { color: #3c7d49; font-size: .7rem; margin-bottom: .55rem; }
.journal-key-answer p:last-child { color: #294d34; font-size: 1.05rem; line-height: 1.65; margin: 0; }
.journal-type-grid { display: grid; gap: .85rem; grid-template-columns: repeat(3, 1fr); margin: 1.8rem 0; }
.journal-type-grid article { background: #f7faf5; border: 1px solid #dce8da; border-radius: 1rem; padding: 1.25rem; }
.journal-type-grid span { color: #62926b; font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.journal-type-grid p { font-size: .9rem; line-height: 1.65; margin: 0; }
.journal-source-list { list-style: none; margin: 1.5rem 0; padding: 0; }
.journal-source-list li { border-bottom: 1px solid #dce7da; padding: 1.15rem 0; }
.journal-source-list li:first-child { border-top: 1px solid #dce7da; }
.journal-steps { counter-reset: steps; list-style: none; margin: 1.6rem 0; padding: 0; }
.journal-steps li { counter-increment: steps; margin: 1.25rem 0; padding-left: 3rem; position: relative; }
.journal-steps li::before { background: #e4f0e2; border-radius: 50%; color: #216032; content: counter(steps); font-size: .75rem; font-weight: 800; height: 1.85rem; left: 0; line-height: 1.85rem; position: absolute; text-align: center; top: .18rem; width: 1.85rem; }
.journal-checklist { list-style: none; margin: 1.5rem 0; padding: 0; }
.journal-checklist li { border-bottom: 1px solid #dce7da; padding: 1rem 0 1rem 2rem; position: relative; }
.journal-checklist li::before { color: #438453; content: '✓'; font-weight: 800; left: 0; position: absolute; }
.journal-faq details { border-bottom: 1px solid #d7e4d6; }
.journal-faq details:first-of-type { border-top: 1px solid #d7e4d6; }
.journal-faq summary { color: #284c33; cursor: pointer; font-size: 1.05rem; font-weight: 800; line-height: 1.45; padding: 1.2rem 2rem 1.2rem 0; position: relative; }
.journal-faq summary::after { content: '+'; font-size: 1.35rem; font-weight: 400; position: absolute; right: .1rem; top: .9rem; }
.journal-faq details[open] summary::after { content: '−'; }
.journal-faq details p { font-size: .98rem; padding-bottom: .5rem; }
.journal-sources { background: #f4f8f2; border-radius: 1.2rem; padding: clamp(1.35rem, 4vw, 2.2rem); }
.journal-sources h2 { font-size: clamp(1.45rem, 3vw, 2rem); }
.journal-sources p, .journal-sources li { font-size: .9rem; line-height: 1.65; }
.journal-sources ul { margin: 1rem 0 0; padding-left: 1.2rem; }
.journal-sources li { margin: .5rem 0; }

@media (max-width: 860px) {
    .journal-article-hero-grid, .journal-content-layout { grid-template-columns: 1fr; }
    .journal-article-hero-grid { gap: 2.2rem; }
    .journal-on-this-page { border-bottom: 1px solid #d8e4d8; border-left: 0; position: static; padding-bottom: 1.25rem; }
    .journal-on-this-page > p, .journal-on-this-page a { padding-left: 0; }
    .journal-on-this-page ol { column-count: 2; column-gap: 1.5rem; }
}

@media (max-width: 620px) {
    .journal-article-hero { padding-top: 5.5rem; }
    .journal-type-grid { grid-template-columns: 1fr; }
    .journal-on-this-page ol { column-count: 1; }
    .journal-body p, .journal-body li { font-size: 1rem; }
}
