/* Journal and contributor surfaces share the site's navy/turquoise tokens. */
.journal-nav { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-8); border-block: var(--stroke) solid var(--border); padding-block: var(--space-4); margin-bottom: var(--space-10); }
.journal-nav a { display: inline-flex; align-items: center; min-height: var(--control-sm); color: var(--text-muted); }
.journal-nav a[aria-current], .journal-nav a:hover { color: var(--accent); }
.contributor-directory { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-6); padding-bottom: var(--space-20); }
.contributor-card { display: flex; flex-direction: column; min-width: 0; padding: var(--space-8); border: var(--stroke) solid var(--border); border-radius: var(--radius-md); background: var(--surface-raised); }
.contributor-identity { display: grid; grid-template-columns: 7rem minmax(0,1fr); gap: var(--space-6); align-items: center; }
.contributor-identity img { display: block; width: 7rem; height: 7rem; border-radius: var(--radius-sm); object-fit: cover; }
.contributor-identity .eyebrow { font-size: var(--text-xs); margin-bottom: var(--space-2); }
.contributor-identity h2 { font-size: var(--text-xl); line-height: 1.2; margin: 0; }
.contributor-identity p { font-size: var(--text-sm); margin: var(--space-2) 0 0; }
.contributor-bio { font-size: var(--text-sm); line-height: 1.65; margin: var(--space-6) 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.contributor-latest { margin-top: auto; padding: var(--space-5) 0; border-top: var(--stroke) solid var(--border); }
.contributor-latest .eyebrow { font-size: var(--text-xs); margin-bottom: var(--space-2); }
.contributor-latest > a { display: block; font-size: var(--text-base); line-height: 1.5; }
.contributor-latest time { display: block; font-family: var(--font-mono); font-size: var(--text-xs); color: var(--text-muted); margin-top: var(--space-2); }
.contributor-footer { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-3); justify-content: space-between; padding-top: var(--space-4); border-top: var(--stroke) solid var(--border); }
.contributor-footer small, .profile-disclosure { font-size: var(--text-xs); color: var(--text-muted); line-height: 1.6; }
.profile-back { padding-top: var(--space-6); }
.profile-header { display: grid; grid-template-columns: 13rem minmax(0,1fr); gap: var(--space-10); align-items: start; padding-block: var(--space-8) var(--space-10); border-bottom: var(--stroke) solid var(--border); }
.profile-header > img { width: 13rem; height: 13rem; object-fit: cover; border-radius: var(--radius-md); }
.profile-header h1 { font-size: var(--text-intro); line-height: 1.15; margin-block: var(--space-3); }
.profile-header p { max-width: var(--measure); font-size: var(--text-base); }
.profile-header .profile-position { color: var(--accent); margin-bottom: var(--space-4); }
.profile-disclosure { display: block; margin-top: var(--space-4); }
.profile-links { display: flex; flex-wrap: wrap; gap: var(--space-6); margin-top: var(--space-5); font-size: var(--text-sm); }
.profile-links a { padding-block: var(--space-2); }
.profile-current { padding-block: var(--space-12); }
.profile-current h2, .editorial-about h2 { font-size: var(--text-h3); }
.profile-current .section-heading { margin-bottom: var(--space-4); }
.section-intro { margin-bottom: var(--space-8); max-width: var(--measure); }
.profile-archive { padding-bottom: var(--space-16); }
.profile-archive details { border-block: var(--stroke) solid var(--border); }
.profile-archive summary { display: flex; justify-content: space-between; align-items: center; gap: var(--space-6); cursor: pointer; padding-block: var(--space-6); list-style: none; }
.profile-archive summary::-webkit-details-marker { display: none; }
.profile-archive summary .eyebrow { display: block; margin-bottom: var(--space-2); }
.archive-title { font-size: var(--text-xl); }
.profile-archive details[open] > p { margin-bottom: var(--space-8); }
.journal-byline { display: flex; flex-wrap: wrap; gap: var(--space-6); font-size: var(--text-sm); }
.journal-byline > a { display: flex; flex-direction: column; justify-content: center; }
.journal-byline strong { display: block; font-weight: 500; line-height: 1.45; color: var(--text); }
.journal-byline > a > span, .journal-byline small { color: var(--text-muted); font-size: var(--text-xs); line-height: 1.5; }
.journal-byline .journal-commentator { flex-direction: row; align-items: center; gap: var(--space-3); }
.journal-commentator img { width: 2.5rem; height: 2.5rem; object-fit: cover; border-radius: 50%; flex-shrink: 0; }
.news-card .journal-byline { display: grid; gap: var(--space-3); margin-block: var(--space-5); padding-block: var(--space-4); border-block: var(--stroke) solid var(--border); }
.news-card .journal-byline > a { align-items: flex-start; }
.news-card .journal-byline .journal-commentator { justify-content: flex-start; align-items: center; }
.news-card .journal-commentator img { width: 2rem; height: 2rem; }
.news-card .journal-byline strong { font-size: var(--text-sm); }
.journal-results > .news-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-12) var(--space-8); }
.journal-results .news-card h3 { font-size: var(--text-xl); }
.journal-results .news-card .news-image { aspect-ratio: 1200 / 630; }
.article-layout .article-heading { min-height: 0; padding-block: var(--space-8) var(--space-6); gap: var(--space-5); }
.article-heading h1 { max-width: 26ch; }
.article-updated { grid-column: 1 / -1; margin: 0; color: var(--text-muted); font-size: var(--text-sm); }
.article-authors { margin-block: var(--space-6) var(--space-8); padding-bottom: var(--space-6); }
.article-body { max-width: var(--measure); margin-inline: auto; }
.editorial-about { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: var(--space-16); }
.editorial-about aside { align-self: start; padding: var(--space-8); background: var(--surface-raised); border: var(--stroke) solid var(--border); border-radius: var(--radius-md); }
.editorial-about aside a { display: block; margin-top: var(--space-4); overflow-wrap: anywhere; }
.journal-controls { display: flex; align-items: center; justify-content: space-between; gap: var(--space-8); padding-top: var(--space-4); margin-bottom: var(--space-6); }
.journal-switch { display: flex; gap: var(--space-3); flex-wrap: wrap; }
.journal-switch .button { background: var(--transparent); color: var(--text); border-color: var(--border-strong); }
.journal-switch a[aria-current] { background: var(--accent); color: var(--surface); border-color: var(--accent); }
.journal-controls .search-form { margin: 0; }
.journal-count { margin-left: auto; align-self: center; font-size: var(--text-sm); color: var(--text-muted); }
.article-layout--journal { max-width: var(--container); padding-top: 0; }
.article-layout--journal .article-heading h1 { max-width: 29ch; }
.article-layout--journal .article-lead { max-width: 66ch; margin-top: var(--space-6); }
.article-layout--journal .article-illustration { margin-block: 0 var(--space-12); }
.article-layout--journal .article-illustration img { max-height: 25rem; object-fit: cover; }
.article-reader { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: var(--space-16); align-items: start; }
.article-sidebar { position: sticky; top: 7rem; }
.article-toc { padding-block: var(--space-6); border-block: var(--stroke) solid var(--border); }
.article-toc ol { padding: 0; margin: var(--space-4) 0 0; list-style: none; }
.article-toc li + li { margin-top: var(--space-3); }
.article-toc a { display: block; color: var(--text-muted); font-size: var(--text-sm); line-height: 1.55; padding-block: var(--space-1); }
.article-toc a:hover { color: var(--accent); }
.article-service { margin-top: var(--space-8); padding: var(--space-8); border-radius: var(--radius-md); background: var(--accent-soft); border: var(--stroke) solid var(--border); }
.article-service h2 { font-size: var(--text-lg); line-height: 1.4; margin-block: var(--space-4); }
.article-service p { font-size: var(--text-sm); line-height: 1.7; margin-bottom: var(--space-5); }
.article-service .eyebrow { font-size: var(--text-xs); line-height: 1.6; }
.article-reading-column { min-width: 0; max-width: 47rem; }
.article-reader .article-body { max-width: none; }
.article-reading-column > .article-body:first-child > h2:first-child { margin-top: 0; }
.article-reading-column h2[id] { scroll-margin-top: 7rem; }
.article-reader .editorial-perspectives { margin-block: var(--space-10); }
.article-reader .perspectives-heading h2 { font-size: var(--text-xl); margin-block: var(--space-3) var(--space-5); }
.article-reader .editorial-perspective { border-radius: var(--radius-md); border-left: 2px solid var(--accent); }
.article-reader .perspective-text { font-size: var(--text-base); line-height: 1.8; }
.article-reader .perspective-identity { margin-top: var(--space-2); }
.article-checklist { padding: var(--space-6) var(--space-8); margin-top: var(--space-10); background: var(--surface-raised); border: var(--stroke) solid var(--border); border-radius: var(--radius-md); }
.prose .article-checklist h2 { font-size: var(--text-xl); margin-top: 0; }
.prose .article-checklist ol { margin-bottom: 0; }
.article-checklist li::marker { color: var(--accent); font-family: var(--font-mono); }
.article-faq details { border-bottom: var(--stroke) solid var(--border); }
.article-faq summary { cursor: pointer; padding-block: var(--space-5); color: var(--text); font-weight: 500; }
.article-faq details p { padding-right: var(--space-5); }
.article-editorial-card { padding-block: var(--space-8); border-block: var(--stroke) solid var(--border); margin-top: var(--space-10); }
.article-editorial-card h2 { font-size: var(--text-xl); margin-block: var(--space-3); }
.article-editorial-card p { line-height: 1.8; margin-block: var(--space-4); }
.article-related { padding-bottom: var(--space-20); }
@media (min-width: 48.01rem) {
  .news-grid--single .news-image { grid-row: 1 / 7; }
}
@media (max-width: 60rem) {
  .article-reader { grid-template-columns: 12rem minmax(0,1fr); gap: var(--space-8); }
  .journal-controls { align-items: stretch; flex-direction: column; gap: var(--space-5); }
  .contributor-card { padding: var(--space-6); }
  .contributor-identity { grid-template-columns: 5rem minmax(0,1fr); gap: var(--space-4); }
  .contributor-identity img { width: 5rem; height: 5rem; }
  .contributor-identity h2 { font-size: var(--text-lg); }
}
@media (max-width: 48rem) {
  .journal-page { padding-bottom: calc(5.5rem + env(safe-area-inset-bottom)); }
  .journal-page::after { content: ''; position: fixed; inset: auto 0 0; height: calc(5.5rem + env(safe-area-inset-bottom)); background: var(--surface); border-top: var(--stroke) solid var(--border); z-index: 38; pointer-events: none; }
  html:has(.journal-page) { scroll-padding-bottom: 6rem; }
  .article-reader { grid-template-columns: 1fr; gap: var(--space-8); }
  .article-sidebar { position: static; }
  .article-toc ol { columns: auto; }
  .article-layout--journal .article-illustration { margin-bottom: var(--space-8); }
  .article-checklist { padding: var(--space-6); }
  .journal-switch { display: grid; grid-template-columns: 1fr 1fr; }
  .journal-switch .button { min-width: 0; padding-inline: var(--space-3); font-size: var(--text-sm); }
  .profile-current .section-intro { padding-inline-end: var(--space-16); }
  .contributor-directory, .journal-results > .news-grid, .editorial-about { grid-template-columns: 1fr; }
  .profile-header { grid-template-columns: 1fr; gap: var(--space-5); }
  .profile-header > img { width: 7rem; height: 7rem; }
  .profile-header h1 { font-size: var(--text-h3); }
  .journal-nav { gap: var(--space-2) var(--space-5); }
  .article-layout .article-heading h1 { font-size: var(--text-h3); max-width: none; }
  .article-authors .journal-byline { display: grid; gap: var(--space-4); }
  .article-authors .journal-byline .journal-commentator { justify-content: flex-start; }
  .article-layout { padding-top: 0; }
}
