.journal-page { padding-block: 3rem 4rem; }
.journal-heading { max-width: 48rem; margin-bottom: 2.5rem; }
.journal-heading h1 { font-size: var(--title-size); line-height: 1.15; margin-bottom: 1rem; }
.journal-heading > p:last-child { max-width: 44rem; font-size: var(--text-base); margin-bottom: 0; }
.journal-feature { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border-radius: var(--radius-image); background: #e2e9d9; margin-bottom: 4rem; }
.journal-feature__image { display: block; min-height: 24rem; background: #d5ded1; }
.journal-feature__image > img, .journal-feature__image .editorial-picture, .journal-feature__image .editorial-picture img { display: block; width: 100%; height: 100%; max-height: 32rem; object-fit: contain; }
.journal-feature > div { align-self: center; padding: 2.5rem; }
.journal-feature h2 { font-size: var(--text-2xl); line-height: 1.2; margin-bottom: 1.25rem; }
.journal-feature p:not(.eyebrow) { font-size: var(--text-base); line-height: 1.75; }
.journal-feature .eyebrow { line-height: 1.6; }
.journal-collection { scroll-margin-top: 8rem; }
.journal-collection__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.5rem; }
.journal-collection__heading h2 { font-size: var(--section-title-size); margin: 0; }
.journal-collection__heading .eyebrow { margin-bottom: .5rem; }
.journal-collection__heading > p { margin: 0; white-space: nowrap; font-size: var(--text-sm); color: #516358; }
.journal-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 1rem; border-block: 1px solid var(--line); margin-bottom: 2rem; }
.journal-topics { display: flex; flex-wrap: wrap; gap: .5rem; }
.journal-topics a { display: flex; align-items: center; min-height: var(--control-height); padding: .5rem .75rem; border: 1px solid #a7b5a5; border-radius: var(--radius-control); font-size: var(--text-sm); line-height: 1.4; }
.journal-topics a[aria-current="page"] { color: #fff; background: var(--forest); border-color: var(--forest); }
.journal-search { display: flex; gap: .5rem; min-width: 0; }
.journal-search input { min-width: 0; width: 14rem; max-width: 100%; }
.journal-entries { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.5rem 1.5rem; }
.journal-entry { min-width: 0; display: flex; flex-direction: column; }
.journal-entry__image { display: block; overflow: hidden; border-radius: var(--radius-image); background: #e5e9de; aspect-ratio: 4 / 3; }
.journal-entry__image img, .journal-entry__image .editorial-picture { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; transition: transform .3s; }
.journal-entry:hover .journal-entry__image img { transform: scale(1.025); }
.journal-entry__body { display: flex; flex-direction: column; flex: 1; padding-top: 1rem; }
.journal-entry h2 { font-size: var(--text-xl); line-height: 1.3; letter-spacing: -.025em; margin: 0 0 .875rem; overflow-wrap: anywhere; }
.journal-entry h2 a:hover { text-decoration: underline; text-underline-offset: .2em; }
.journal-entry__body > p:not(.journal-meta) { font-size: var(--text-sm); color: #435d4e; line-height: 1.75; margin-bottom: 1rem; }
.journal-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; color: #4d6556; font-size: var(--text-xs); line-height: 1.5; margin: 0 0 .875rem; }
.journal-meta > span:first-child { font-weight: 650; }
.journal-entry .text-link { align-self: start; display: inline-flex; align-items: center; gap: .5rem; margin-top: auto; min-height: var(--control-height); font-size: var(--text-sm); }
.journal-pagination { display: flex; justify-content: center; flex-wrap: wrap; gap: .5rem; padding-top: 3rem; }
.journal-pagination a { display: grid; place-items: center; min-width: var(--control-height); min-height: var(--control-height); border: 1px solid #a7b5a5; border-radius: var(--radius-control); font-size: var(--text-sm); }
.journal-pagination a[aria-current="page"] { color: white; background: var(--forest); border-color: var(--forest); }
.journal-empty { padding: 2rem; border-radius: var(--radius-card); background: #e7ecdf; }
.article-hero { padding-block: 2rem 2.5rem; }
.article-back { display: inline-flex; gap: .5rem; align-items: center; min-height: var(--control-height); margin-bottom: 1.75rem; font-size: var(--text-sm); }
.article-back .compass-line-icon { transform: rotate(180deg); }
.article-hero h1 { max-width: 28ch; margin: 1rem 0 0; font-size: var(--title-size); line-height: 1.15; }
.article-cover { margin-block: 0; overflow: hidden; border-radius: var(--radius-image); background: #e5e9de; }
.article-cover img, .article-cover .editorial-picture { width: 100%; max-height: 38rem; object-fit: contain; }
.article-body { grid-template-columns: minmax(0, 45rem) minmax(15rem, 1fr); gap: clamp(2rem, 6vw, 6rem); padding-block: 3rem; }
.article-body__content { font-size: var(--text-base); line-height: 1.85; min-width: 0; overflow-wrap: break-word; }
.article-body__content > :first-child { margin-top: 0; }
.article-body__content > p:first-child { font-size: var(--text-lg); line-height: 1.7; color: #244b39; }
.article-body__content p { margin-bottom: 1.5rem; }
.article-body__content :is(h2,h3,h4,h5,h6) { font-size: var(--text-xl); line-height: 1.3; margin: 2.5rem 0 1rem; }
.article-body__content strong { font-weight: 650; }
.article-body__content h2 strong { font-weight: inherit; }
.article-body__content :is(ul,ol) { padding-left: 1.4rem; margin-block: 1.5rem; }
.article-body__content li { padding-left: .25rem; margin-bottom: .5rem; }
.article-body__content :is(img,picture) { display: block; width: auto; max-width: 100%; height: auto; margin: 2rem auto; border-radius: var(--radius-image); }
.article-body__content picture img { width: 100%; margin: 0; }
.article-body__content figure { margin: 2rem 0; }
.article-body__content figcaption { font-size: var(--text-xs); color: #4d6556; }
.article-body__content a { text-decoration: underline; text-underline-offset: .2em; }
.article-body__aside { top: 7rem; display: block; }
.article-shop-card { padding: 1.5rem; background: #e6ecdf; border-radius: var(--radius-card); }
.article-shop-card h2 { font-size: var(--text-xl); line-height: 1.25; }
.article-shop-card p:not(.eyebrow) { font-size: var(--text-sm); }
.article-body__aside a { border: 0; padding: .625rem 1rem; font-size: var(--text-sm); }
.article-body__aside .text-link { display: flex; align-items: center; gap: .5rem; min-height: var(--control-height); margin-top: .5rem; padding-inline: 0; }
.journal-related { padding-block: 2.5rem 4rem; border-top: 1px solid var(--line); }
@media (max-width: 1000px) { .journal-entries { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .journal-page { padding-top: 2rem; }
  .journal-feature { grid-template-columns: 1fr; margin-bottom: 2.5rem; }
  .journal-feature__image { min-height: 0; height: 22rem; }
  .journal-feature > div { padding: 1.5rem; }
  .journal-feature h2 { font-size: var(--text-xl); }
  .article-body { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 2rem; }
  .article-body__aside { position: static; }
  .article-body__content > p:first-child { font-size: var(--text-base); }
  .article-hero { padding-block: 1.5rem 2rem; }
}
@media (max-width: 600px) {
  .journal-entries { grid-template-columns: 1fr; gap: 2rem; }
  .journal-search { width: 100%; }
  .journal-search input { flex: 1; }
  .journal-collection__heading { align-items: start; }
  .journal-entry h2 { font-size: var(--text-lg); }
  .journal-related .journal-collection__heading { flex-direction: column; }
  .journal-feature__image { height: 19rem; }
}
@media (prefers-reduced-motion: reduce) { .journal-entry__image img { transition: none; } }
