/* /projects — full project listing */

.v2-pl-hero {
    padding: 50px var(--v2-pad) 40px;
}

.v2-pl-stack {
    max-width: var(--v2-max);
    margin: 0 auto;
    padding: 0 var(--v2-pad) 80px;
    display: flex; flex-direction: column; gap: 1px;
    background: var(--v2-border);
    border: 1px solid var(--v2-border);
}

.v2-pl-card {
    background: var(--v2-bg-card);
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: 0;
    transition: background 0.2s;
}
.v2-pl-card:hover { background: var(--v2-bg-hover); }
.v2-pl-card:hover img { transform: scale(1.03); }

.v2-pl-card__media {
    position: relative;
    aspect-ratio: 16/10;
    background: #111;
    overflow: hidden;
    min-height: 260px;
}
.v2-pl-card__media img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.4s ease;
}
.v2-pl-card__year {
    position: absolute; top: 14px; right: 14px;
    padding: 4px 10px;
    background: rgba(0,0,0,0.6);
    font-family: var(--v2-f-mono); font-size: 10px;
    letter-spacing: 1px; color: var(--v2-text);
    text-transform: uppercase;
}
.v2-pl-card__cat {
    position: absolute; top: 14px; left: 14px;
    padding: 4px 10px;
    background: var(--v2-accent); color: #111;
    font-family: var(--v2-f-mono); font-size: 10px;
    letter-spacing: 1px; font-weight: 600;
    text-transform: uppercase;
}

.v2-pl-card__body {
    padding: 32px 36px;
    display: flex; flex-direction: column; gap: 16px;
}
.v2-pl-card__title {
    font-family: var(--v2-f-head);
    font-size: clamp(24px, 2.4vw, 32px);
    font-weight: 500;
    letter-spacing: -0.8px;
    color: var(--v2-text);
    margin: 0;
}
.v2-pl-card__subtitle {
    font-size: 13px; color: var(--v2-muted);
    font-family: var(--v2-f-mono); letter-spacing: 1px;
    text-transform: uppercase;
}
.v2-pl-card__desc {
    font-size: 15px; line-height: 1.6;
    color: var(--v2-text-body);
    margin: 0;
}

.v2-pl-card__split {
    display: grid; grid-template-columns: 1fr 1fr; gap: 24px;
    margin-top: 8px;
    padding-top: 18px;
    border-top: 1px solid var(--v2-border);
}
.v2-pl-card__split h4 {
    font-family: var(--v2-f-mono); font-size: 10px;
    letter-spacing: 1px; color: var(--v2-accent);
    text-transform: uppercase;
    margin: 0 0 10px;
    font-weight: 500;
}
.v2-pl-card__list {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 8px;
}
.v2-pl-card__list li {
    font-size: 13px; line-height: 1.5;
    color: var(--v2-dim);
    display: flex; gap: 8px; align-items: baseline;
}
.v2-pl-card__list li::before {
    content: '▸';
    color: var(--v2-accent);
    font-family: var(--v2-f-mono);
    font-size: 10px;
    flex-shrink: 0;
}
.v2-pl-card__list--results li::before {
    content: '●';
    color: var(--v2-accent);
    font-size: 8px;
}

/* Project-specific accent override via data attribute */
.v2-pl-card[data-slug="sokol"]         { --v2-accent: #ff7a1a; }
.v2-pl-card[data-slug="mega-silkway"]  { --v2-accent: #ff7a1a; }
.v2-pl-card[data-slug="kaznu"]         { --v2-accent: #0aa2c0; }
.v2-pl-card[data-slug="panic-buttons"] { --v2-accent: #d4a548; }
.v2-pl-card[data-slug="forum"]         { --v2-accent: #ff7a1a; }
.v2-pl-card[data-slug="supercomputer"] { --v2-accent: #0aa2c0; }

@media (max-width: 900px) {
    .v2-pl-card { grid-template-columns: 1fr; }
    .v2-pl-card__body { padding: 24px 22px; }
    .v2-pl-card__split { grid-template-columns: 1fr; gap: 16px; }
    .v2-pl-card__media { min-height: 180px; }
}
