/* COLM project page. Same tokens as the homepage, one 720px column. */
.project-page main, .project-page .page-width { width: min(100% - 48px, 720px); margin: 0 auto; }
.project-page .project-return { padding-top: 64px; font-size: 13px; }
.project-page .project-return a { color: var(--low); text-decoration: none; transition: color .2s var(--ease); }
.project-page .project-return a:hover { color: var(--ink); }
.project-page .section-grid { padding: 32px 0; border-bottom: 1px solid var(--line); }
.project-page .project-intro { padding-top: 24px; }
.project-page .section-rail { margin-bottom: 6px; }
.project-page .rail-label { color: var(--low); font-size: 13px; font-weight: 560; }
.project-page .rail-small { display: none; }
.project-page h1 { font-size: 26px; font-weight: 620; letter-spacing: -.022em; line-height: 1.25; text-wrap: balance; }
.project-page .project-authors { margin-top: 8px; color: var(--mid); font-size: 13.5px; }
.project-page .project-authors strong { color: var(--ink); font-weight: 560; }
.project-page .project-affiliations { color: var(--low); font-size: 13px; }
.project-page .project-summary { margin-top: 20px; font-size: 16px; line-height: 1.7; color: var(--ink); }
.project-page .project-links { margin-top: 16px; }
.project-page .project-links a, .project-page .footer-inner a { color: var(--ink); text-decoration: underline 1px #c4c4ca; text-underline-offset: 3px; }
.project-page h2 { display: block; margin: 0 0 6px; padding: 0; border: 0; font-size: 17px; font-weight: 600; letter-spacing: -.014em; }
.project-page .section-main > p { color: var(--mid); }
.project-page .stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 16px 18px; border-radius: 10px; background: var(--soft); }
.project-page .stat-item strong { display: block; font-size: 22px; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.project-page .stat-item span { color: var(--mid); font-size: 12.5px; }
.project-page .project-figure img { display: block; max-width: 100%; height: auto; margin-top: 12px; border-radius: 10px; }
.project-page .small-caption { margin-top: 10px; color: var(--low); font-size: 12.5px; }
.project-page .example-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.project-page .example-card { padding: 14px 16px; border-radius: 10px; box-shadow: inset 0 0 0 1px var(--line); }
.project-page .example-card h3 { margin-bottom: 8px; font-size: 13px; font-weight: 560; }
.project-page .example-card pre { font: 12px/1.65 var(--mono); color: var(--mid); white-space: pre-wrap; }
.project-page .project-findings { margin-top: 8px; padding-left: 18px; list-style: disc; color: var(--mid); }
.project-page .project-findings li + li { margin-top: 8px; }
.project-page .project-findings strong { color: var(--ink); font-weight: 560; }
.project-page .bibtex { margin-top: 8px; padding: 14px 16px; border-radius: 8px; background: var(--soft); box-shadow: inset 0 0 0 1px var(--line); font: 12px/1.65 var(--mono); color: var(--mid); white-space: pre; overflow-x: auto; }
.project-page .copy-button { margin-top: 10px; height: 26px; padding: 0 10px; border: 0; border-radius: 6px; background: #fff; box-shadow: inset 0 0 0 1px var(--line); font: 460 12.5px var(--sans); color: var(--ink); cursor: pointer; }
.project-page .copy-status { margin-left: 10px; color: var(--low); font-size: 12.5px; }
.project-page .site-footer { width: min(100% - 48px, 720px); margin: 64px auto 0; padding: 16px 0 48px; border-top: 1px solid var(--line); color: var(--low); font-size: 13px; }
.project-page .footer-inner { display: flex; justify-content: space-between; }
@media (max-width: 640px) {
  .project-page .project-return { padding-top: 40px; }
  .project-page h1 { font-size: 22px; }
  .project-page .stat-row { grid-template-columns: 1fr 1fr; }
  .project-page .example-grid { grid-template-columns: 1fr; }
}
.project-page .skip-link { position: fixed; left: 16px; top: -48px; z-index: 9; padding: 6px 12px; border-radius: 6px; background: var(--ink); color: #fff; text-decoration: none; }
.project-page .skip-link:focus { top: 16px; }
.project-page .site-footer .page-width { width: 100%; }
.project-page .section-grid:last-of-type { border-bottom: 0; }
