/* Projects section: project list and project pages. Loaded after site.css. */
.status{display:inline-flex;align-items:center;gap:7px;font:500 .75rem var(--f-mono);letter-spacing:.04em;padding:5px 10px;border-radius:999px;border:1px solid var(--line);color:var(--fg);background:var(--surface);white-space:nowrap}
.status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}
.status.st-pilot::before{background:var(--signal)}
.status.st-dev::before{background:transparent;border:1.5px solid var(--accent)}

.proj-note{max-width:44ch;color:var(--muted);font-size:var(--s-sm)}
.proj-note a{color:var(--accent);font-weight:600}
.proj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.proj{display:grid;grid-template-rows:auto auto 1fr auto auto;gap:14px;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--fg);text-decoration:none;min-width:0;transition:transform .3s,border-color .3s,box-shadow .3s}
.proj:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 24px 40px -28px color-mix(in srgb,var(--accent) 60%,transparent)}
.proj:hover .textlink svg{transform:translateX(4px)}
.proj-top{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.proj h2{font-size:clamp(1.375rem,2vw,1.625rem);font-weight:700}
.proj p{color:var(--muted);font-size:var(--s-sm)}
@media (max-width:1000px){.proj-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.proj-grid{grid-template-columns:minmax(0,1fr)}}

.pbrief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pbrief-card{border:1px solid var(--line);border-radius:18px;background:var(--surface);padding:28px 26px;display:grid;gap:12px;align-content:start;min-width:0}
.pbrief-card h2{font-size:var(--s-lg);font-weight:700}
.pbrief-card p{color:var(--muted);font-size:var(--s-sm);line-height:1.65}
.pbrief-card:last-child{background:var(--accent-soft);border-color:transparent}
.pbrief-card:last-child p{color:var(--fg)}
.pbrief-foot{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;margin-top:24px}
.pbrief-foot .stack-tags{margin-top:0}
@media (max-width:900px){.pbrief{grid-template-columns:minmax(0,1fr)}}
.cta-band .btn-ghost{color:var(--band-fg)}
