.work-list { list-style: none; padding: 0; margin: 42px 0 0; border-top: 1px solid var(--line); }
.work-entry { display: grid; grid-template-columns: 32px minmax(160px, .8fr) minmax(0, 1.25fr) minmax(180px, .8fr); gap: 28px; align-items: center; padding: 27px 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: background 180ms ease; }
.work-entry:hover { background: rgba(255, 255, 255, .025); }
.work-entry:focus-visible { outline-offset: -3px; }
.work-index { color: var(--muted); font: .75rem "JetBrains Mono", monospace; }
.work-title :is(h2, h3) { margin: 0 0 7px; color: var(--text); font-size: 1.35rem; line-height: 1.5; }
.work-title > span { color: var(--muted); font-size: .8rem; }
.work-entry > p { margin: 0; color: var(--muted); font-size: .95rem; }
.work-meta { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.work-meta > span:first-child { color: var(--muted); font: .7rem/1.8 "JetBrains Mono", monospace; }
.work-arrow { color: var(--accent); font-size: .9rem; }
.work-all { margin: 22px 0 0; }
.work-all a { text-underline-offset: 5px; font-size: .95rem; }
.projects-archive { padding-bottom: 72px; }
.project-page .article-header .inner,
.project-page .article-body { width: min(calc(100% - 40px), var(--max)); }
.project-header { padding-block: 50px 38px; }
.project-header h1 { font-size: clamp(2.6rem, 6vw, 4.5rem); }
.project-header .lead { margin-top: 18px; max-width: 850px; }
.project-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin: 32px 0 0; padding-top: 24px; border-top: 1px solid var(--line); }
.project-facts dt { color: var(--muted); font-size: .82rem; }
.project-facts dd { margin: 5px 0 0; font-size: .98rem; }
.project-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 25px; }
.project-actions > a:not(.button) { color: var(--muted); font-size: .95rem; text-underline-offset: 5px; }
.project-body { padding-block: 12px 70px; }
.project-section { display: grid; grid-template-columns: minmax(180px, .65fr) minmax(0, 1.6fr); gap: 60px; padding-block: 38px; border-bottom: 1px solid var(--line); }
.project-section h2 { margin: 0; font-size: clamp(1.35rem, 2.5vw, 1.8rem); line-height: 1.7; }
.project-section p:last-child,
.project-section ul:last-child { margin-bottom: 0; }
.project-section ul { margin-top: 0; padding-inline-start: 1.2em; }
.project-body .article-nav { margin-top: 32px; border: 0; padding-top: 0; }
@media (max-width: 1000px) {
  .work-entry { grid-template-columns: 26px minmax(150px, .8fr) minmax(0, 1.2fr); gap: 20px; }
  .work-meta { grid-column: 2 / -1; flex-direction: row; justify-content: space-between; align-items: center; }
  .project-section { gap: 32px; }
}
@media (max-width: 600px) {
  .work-list { margin-top: 30px; }
  .work-entry { grid-template-columns: 24px minmax(0, 1fr); gap: 10px 16px; padding-block: 22px; }
  .work-index { align-self: start; padding-top: 5px; }
  .work-entry > p,
  .work-meta { grid-column: 2; }
  .work-title :is(h2, h3) { font-size: 1.2rem; margin-bottom: 3px; }
  .work-meta > span:first-child { font-size: .62rem; }
  .project-facts { grid-template-columns: 1fr; gap: 15px; }
  .project-section { grid-template-columns: 1fr; gap: 14px; padding-block: 30px; }
  .project-header { padding-block: 32px; }
  .project-page .article-header .inner,
  .project-page .article-body { width: calc(100% - 28px); }
}
@media (prefers-reduced-motion: reduce) { .work-entry { transition: none; } }
