/* Open source: a heading with search, a jump strip, and a three-column grid per section. */
.projects-page .page { width:auto;margin:0;padding:0; }
.projects-page .page-heading { display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:18px;border-bottom:2px solid var(--ink);padding-bottom:18px; }
.projects-page .eyebrow { margin:0 0 10px;color:var(--accent);font:600 11px/1.3 var(--body);letter-spacing:.09em;text-transform:uppercase; }
.projects-page h1 { margin:0; }
.projects-page .page-intro { color:var(--muted);margin:6px 0 0;max-width:62ch; }
.project-search { display:flex;gap:10px;border-bottom:1px solid var(--ink);min-width:min(320px,100%); }
.project-search input { flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:14px;padding:8px 0;color:var(--ink); }
.project-search input:focus { outline:none; }
.project-search:focus-within { border-bottom-color:var(--accent); }
.search-status { margin:0;color:var(--muted);font-size:12.5px;align-self:center;white-space:nowrap;font-variant-numeric:tabular-nums; }
.type-nav { display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13.5px;padding:12px 0;border-bottom:1px solid var(--rule); }
.type-nav a { color:var(--ink);text-decoration:none; }
.type-nav a:hover { color:var(--accent); }
.type-nav a[aria-disabled="true"] { color:var(--muted);pointer-events:none; }
.projects-page .count { color:var(--muted);font-weight:400;font-variant-numeric:tabular-nums; }
.projects-page h2 .count { font:400 13px var(--body); }
.empty-state { padding:18px 0;color:var(--muted); }
.empty-state h2 { font:600 18px/1.3 var(--heading);color:var(--ink);margin:0 0 4px; }
.empty-state p { margin:0; }
.project-section { border-top:1px solid var(--rule);padding-top:22px;margin-top:34px;scroll-margin-top:24px; }
.section-head { display:grid;gap:6px;margin-bottom:16px; }
.section-head h2 { font:700 28px/1.2 var(--heading);letter-spacing:-.035em;margin:0; }
.section-head p { margin:0;color:var(--muted);font-size:13px;max-width:52ch; }
.section-aside { font-size:13px; }
.project-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px; }
.project-item { display:grid;gap:4px;align-content:start;padding:14px 0 16px;border-top:1px solid var(--rule);color:var(--ink);text-decoration:none;min-width:0; }
.project-item[hidden] { display:none; }
.project-item h3 { font:600 16.5px/1.3 var(--heading);letter-spacing:-.01em;margin:0; }
.project-item p { font-size:14px;color:var(--muted);line-height:1.5;margin:0; }
.project-item:hover { text-decoration:none; }
.project-item:hover h3 { color:var(--accent); }
.project-tags { display:flex;flex-wrap:wrap;gap:5px;margin-top:6px; }
.project-tags .tag { font-size:11px;line-height:1;padding:4px 6px;border:1px solid var(--rule);color:var(--muted); }
.archive-strip { display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center;margin-top:34px;padding:18px 0;border-top:2px solid var(--ink); }
.archive-strip p { margin:0; }
.archive-strip span { color:var(--muted); }
.projects-page .button { display:inline-block;padding:8px 13px;border:1px solid var(--accent);background:var(--accent);color:var(--paper);font-size:13.5px;text-decoration:none; }
.projects-page .button:hover { background:transparent;color:var(--accent); }
@media(max-width:1100px) { .project-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .project-list { grid-template-columns:1fr; } .projects-page .page-heading>div,.project-search { flex-basis:100%; } }
