.types-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

@media (max-width: 1024px) {
    .types-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .types-grid {
        grid-template-columns: 1fr;
    }
}

.type-card {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    min-height: 420px;
    transition: all .35s ease;
    border: 1px solid rgba(255, 255, 255, .08);
}

.type-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, .78), rgba(0, 0, 0, .12));
    z-index: 1;
}

.type-card:hover {
    transform: translateY(-6px);
    border-color: #c62839;
}

.type-card .elementor-background-overlay {
    transition: all .35s ease;
}

.type-card:hover .elementor-background-overlay {
    opacity: .7;
}

.type-card-content {
    position: relative;
    z-index: 2;
}