@layer journalTokens, journalComponents, journalLayouts;
@layer journalTokens {
  .journal-page {--paper:#f8f7f2;--ink:#292d27;--muted:#696b63;--gold-deep:#8a7651;--line:#dcdcd2;--font-display:var(--font-hero);--article-measure:740px;--article-tint:#f0eee6;--line-reading:2.1}
}
@layer journalComponents {
  .journal-section {padding-block:var(--section-space)}
  .journal-heading {display:flex;justify-content:space-between;align-items:end;gap:36px;margin-bottom:44px}
  .journal-heading .eyebrow {color:var(--gold-deep);margin-bottom:20px}
  .journal-heading h2,.journal-entry h3,.journal-feature-copy :is(h2,h3),.home-journal-link h3 {font-family:var(--font-hero)}
  .journal-intro {max-width:400px;font-size:var(--text-small);line-height:var(--line-body);color:var(--muted);margin-top:22px}
  .journal-browse {display:inline-flex;align-items:center;gap:30px;padding-block:12px;border-bottom:1px solid var(--gold-deep);font-size:var(--text-small);white-space:nowrap}
  .journal-list {list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
  .journal-list>li {border-bottom:1px solid var(--line)}
  .journal-entry {display:grid;grid-template-columns:150px 1fr 22px;gap:32px;align-items:start;padding-block:32px}
  .journal-category,.journal-meta {font-size:var(--text-xs);color:var(--gold-deep);letter-spacing:var(--tracking-label)}
  .journal-category {padding-top:7px}
  .journal-entry h3,.journal-feature-copy h3,.home-journal-link h3 {font-size:var(--text-h3);line-height:var(--line-title);font-weight:var(--weight-medium);letter-spacing:var(--tracking-title)}
  .journal-entry p {font-size:var(--text-small);color:var(--muted);margin-top:14px;max-width:700px}
  .journal-entry .icon {margin-top:8px;transition:transform 250ms}
  .journal-entry:is(:hover,:focus-visible) h3 {color:var(--gold-deep)}
  .journal-entry:is(:hover,:focus-visible) .icon {transform:translateX(4px)}
  .journal-empty {padding:36px 0;border-block:1px solid var(--line);color:var(--muted);font-size:var(--text-small)}
  .journal-loader {min-height:80px;display:grid;place-items:center;color:var(--muted)}
  .journal-error {display:flex;align-items:center;justify-content:space-between;gap:20px}
  .journal-retry {flex:none}
  .journal-link {display:inline-block;padding-block:10px;font-size:var(--text-small);text-decoration:underline;text-underline-offset:5px}
  .journal-feature {display:grid;grid-template-columns:1.13fr 1fr;gap:clamp(36px,5vw,76px);align-items:center}
  .journal-feature-visual {min-width:0}
  .journal-feature-photo {height:auto;aspect-ratio:1.38;border-radius:0}
  .journal-feature-photo>img {object-position:50% 50%}
  .journal-feature-visual figcaption {margin-top:12px;color:var(--muted);font-size:var(--text-xs);letter-spacing:var(--tracking-body)}
  .journal-feature-copy {min-width:0;padding-bottom:24px}
  .journal-feature-copy .journal-category {padding:0;margin-bottom:20px}
  .journal-feature-copy :is(h2,h3) {text-wrap:balance;overflow-wrap:anywhere}
  .journal-feature-copy :is(h2,h3) a:is(:hover,:focus-visible) {color:var(--gold-deep)}
  .journal-feature-excerpt {margin-top:24px;color:var(--muted);font-size:var(--text-small);max-width:28em}
  .journal-feature-copy .journal-browse {margin-top:28px;gap:46px}
}
@layer journalLayouts {
  .home-journal-feature {grid-template-columns:1.2fr 1fr}
  .home-journal-feature .journal-feature-photo {aspect-ratio:1.6}
  .home-journal-feature .journal-feature-copy {padding:0}
  .home-journal-feature .journal-feature-excerpt {display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
  .home-journal-related {list-style:none;padding:0;margin:40px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}
  .home-journal-related>li {border-top:1px solid var(--line);min-width:0}
  .home-journal-link {display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px}
  .home-journal-link .journal-category {display:block;padding:0;margin-bottom:12px}
  .home-journal-link h3 {overflow-wrap:anywhere}
  .home-journal-link .icon {flex:none}
  .home-journal-link:is(:hover,:focus-visible) h3 {color:var(--gold-deep)}
  .journal-page .site-header {border-bottom:1px solid var(--line)}
  .journal-page .header-inner nav {margin-right:0}
  .journal-page .header-inner {gap:24px}
  .journal-page main {padding-block:72px 96px}
  .journal-page .journal-hero {margin-bottom:64px}
  .journal-page .journal-hero .eyebrow {color:var(--gold-deep);margin-bottom:24px}
  .journal-page .journal-hero p:last-child {max-width:600px;margin-top:26px;color:var(--muted)}
  .journal-page .journal-pagination {display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:36px}
  .article-breadcrumb {font-size:var(--text-small);color:var(--muted);margin-bottom:44px;display:flex;gap:16px;flex-wrap:wrap}
  .article-breadcrumb a {text-decoration:underline;text-underline-offset:5px}
  .article-header,.article-toc,.article-body,.article-contact {max-width:var(--article-measure);margin-inline:auto;min-width:0}
  .article-header h1 {font-size:var(--text-h2);margin-top:20px}
  .article-header .article-summary {font-size:var(--text-large);color:var(--muted);margin-top:28px}
  .article-meta {font-size:var(--text-xs);color:var(--muted);margin-top:24px}
  .article-toc {margin-top:40px;padding:26px 30px;border:1px solid var(--line);background:var(--article-tint)}
  .article-toc-title {font-size:var(--text-small);font-weight:var(--weight-bold);letter-spacing:var(--tracking-label);color:var(--ink);margin-bottom:14px}
  .article-toc ol {list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 28px}
  .article-toc a {display:flex;align-items:baseline;gap:12px;padding-block:8px;font-size:var(--text-small);line-height:var(--line-body)}
  .article-toc a:hover {text-decoration:underline;text-decoration-color:var(--gold-deep);text-underline-offset:4px}
  .article-toc-number {flex:none;color:var(--gold-deep);font-size:var(--text-xs);font-variant-numeric:tabular-nums}
  .article-body {padding-block:40px}
  .article-body p,.article-body li {line-height:var(--line-reading);white-space:pre-wrap;overflow-wrap:anywhere}
  .article-body p,.article-body ul,.article-body ol {margin-block:22px}
  .article-body ul,.article-body ol {padding-inline-start:1.4em}
  .article-body ul {list-style:disc outside}
  .article-body ol {list-style:decimal outside}
  .article-body li {padding-inline-start:.2em}
  .article-body li+li {margin-top:6px}
  .article-body h2 {font-size:var(--text-h3);margin:46px 0 20px;scroll-margin-top:24px}
  .article-body h3 {font-size:var(--text-large);line-height:var(--line-title);margin:30px 0 14px}
  .article-body strong {font-weight:var(--weight-bold)}
  .article-body a {text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
  .article-references {display:flex;align-items:baseline;flex-wrap:wrap;gap:8px 20px;margin-top:36px;font-size:var(--text-small);line-height:var(--line-body);color:var(--muted)}
  .article-references>span {font-weight:var(--weight-medium)}
  .article-table {margin-block:30px}
  .article-table-scroll {overflow-x:auto;border:1px solid var(--line);overscroll-behavior-inline:contain}
  .article-table-scroll:focus-visible,.article-body h2:focus-visible {outline:2px solid var(--gold-deep);outline-offset:5px}
  .article-table table {border-collapse:collapse;width:100%;min-width:540px;font-size:var(--text-small);line-height:var(--line-body)}
  .article-table th,.article-table td {text-align:start;vertical-align:top;padding:16px 20px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
  .article-table th {font-weight:var(--weight-bold)}
  .article-table thead {background:var(--article-tint)}
  .article-table tbody th {width:22%;min-width:112px}
  .article-table tbody tr:last-child>* {border-bottom:0}
  .article-body .article-table-hint {display:none;font-size:var(--text-xs);line-height:var(--line-body);color:var(--muted);margin:0 0 8px}
  .article-contact {border-top:1px solid var(--line);padding-top:32px}
  .article-contact p {font-size:var(--text-small);color:var(--muted);margin-bottom:20px}
  .journal-page .site-footer {background:var(--paper);border-top:1px solid var(--line)}
  @media(max-width:900px) {
    .journal-feature {gap:32px;grid-template-columns:1fr 1fr}
    .journal-feature-photo {aspect-ratio:1.12}
  }
  @media(max-width:760px) {
    .journal-feature {grid-template-columns:1fr;gap:24px}
    .journal-feature-photo {aspect-ratio:1.4}
    .journal-feature-copy {padding-bottom:0}
    .journal-feature-copy .journal-category {margin-bottom:14px}
    .journal-feature-excerpt {margin-top:18px}
    .journal-feature-copy .journal-browse {margin-top:20px}
    .home-journal-related {grid-template-columns:1fr;gap:0;margin-top:30px}
    .journal-heading {display:block;margin-bottom:30px}
    .journal-browse {margin-top:20px}
    .journal-entry {grid-template-columns:1fr 20px;gap:12px 18px;padding-block:26px}
    .journal-category {grid-column:1/-1;padding:0}
    .journal-entry .icon {width:20px}
    .journal-error {align-items:start;flex-direction:column}
    .journal-page main {padding-block:42px 64px}
    .journal-page .journal-hero {margin-bottom:40px}
    .journal-page .header-inner nav {display:flex;gap:18px;font-size:var(--text-small)}
    .article-breadcrumb {margin-bottom:30px}
    .article-toc {margin-top:30px;padding:20px}
    .article-toc ol {grid-template-columns:1fr;gap:0}
    .article-toc a {min-height:44px}
    .article-body .article-table-hint {display:block}
    .article-table th,.article-table td {padding:14px 16px}
    .article-body {padding-block:24px}
  }
  @media(prefers-reduced-motion:reduce) {.journal-entry .icon{transition:none;transform:none}}
}
@layer journalLayouts {
  /* Same page width, header height and logo inset as the selected homepage (.design-a). */
  .journal-page {--page-padding:clamp(28px,7vw,116px);--container:1400px}
  .journal-page .header-inner {height:110px}
  .journal-page .site-header .brand {padding:12px}
  @media(max-width:760px) {.journal-page {--page-padding:24px}.journal-page .header-inner {height:94px}.journal-page .site-header .brand {padding:10px}}
  @media(max-width:360px) {.journal-page .site-header .brand {padding:8px}}
}
