.header-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--accent);
    color: #000;
    font-weight: 700;
    box-shadow: 4px 4px 0 rgb(0 0 0 / 35%);
}

.nav-filter .btn {
    background: #222831;
    color: #d4dbe3;
    border: 2px solid var(--border);
    border-radius: 0;
    margin: 0;
}

.nav-filter .btn.active,
.nav-filter .btn:hover {
    background: var(--accent);
    color: #000;
    border-color: var(--accent);
    font-weight: 700;
}

.project-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    background: var(--card-bg);
    border: 2px solid var(--border);
    box-shadow: 5px 5px 0 rgb(0 0 0 / 32%);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.project-card:hover {
    border-color: var(--accent);
    box-shadow: 6px 6px 0 rgb(0 245 255 / 15%);
}

.project-img {
    display: block;
    width: 100%;
    height: 220px;
    object-fit: cover;
    object-position: center;
    background: #111820;
    border-bottom: 3px solid var(--border);
}

.project-card > .p-4 {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
}

.project-card p {
    flex: 1 0 auto;
    line-height: 1.35;
}

.project-card .badge {
    white-space: normal;
    text-align: center;
}

.tag {
    display: inline-flex;
    align-items: center;
    font-size: 0.9rem;
    line-height: 1.1;
    padding: 0.25rem 0.6rem;
    background: #222831;
    border: 1px solid #39424e;
    color: #d5dce5;
}

.btn-view {
    margin-top: auto;
    background: linear-gradient(90deg, var(--accent), var(--accent-green));
    color: #000;
    font-weight: 700;
    border: 2px solid #061a1c;
    transition: filter 0.2s ease;
}

.btn-view:hover,
.btn-view:focus-visible {
    filter: brightness(1.08);
    color: #000;
}

.section-title {
    color: var(--accent);
    font-weight: 700;
    letter-spacing: 0.04em;
}

@media (max-width: 767.98px) {
    .project-img {
        height: 200px;
    }

    .project-card .p-4 {
        padding: 1rem !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .project-card,
    .btn-view {
        transition: none;
    }
}
