.projects-list { display: flex; flex-direction: column; }
.proj-row {
    display: flex; align-items: center; gap: 20px;
    padding: 22px 0; border-bottom: 1px solid rgba(255,255,255,.06);
    text-decoration: none; transition: background .18s, padding-left .22s; position: relative;
    padding-left: 4px; padding-right: 4px;
}
.proj-row:first-child { border-top: 1px solid rgba(255,255,255,.06); }
.proj-row:hover { background: rgba(255,255,255,.025); padding-left: 12px; }
.proj-num { font-size: 9px; letter-spacing: .2em; color: rgba(255,255,255,.18); min-width: 30px; transition: color .3s; }
.proj-row:hover .proj-num { color: var(--accent); }
.proj-info { flex: 1; display: flex; flex-direction: column; gap: 5px; }
.proj-title { font-size: .92rem; color: #fff; letter-spacing: .09em; font-weight: 700; transition: color .3s; }
.proj-row:hover .proj-title { color: var(--accent); }
.proj-tags { display: flex; gap: 8px; flex-wrap: wrap; }
.proj-tag { font-size: 6.5px; letter-spacing: .18em; color: rgba(255,255,255,.25); text-transform: uppercase; border: 1px solid rgba(255,255,255,.1); padding: 2px 7px; }
.proj-desc { font-size: .72rem; color: rgba(180,210,230,.42); line-height: 1.55; letter-spacing: .02em; max-width: 600px; }
.proj-date { font-size: 7px; letter-spacing: .14em; color: rgba(255,255,255,.2); white-space: nowrap; min-width: 80px; text-align: right; }
.proj-arrow {
    font-size: 1rem; color: rgba(255,255,255,.2); min-width: 28px; text-align: right;
    transition: color .18s, transform .18s;
}
.proj-row:hover .proj-arrow { color: var(--accent); transform: translate(3px,-3px); }