.faq {
    background: var(--color-primary);
    padding: 64px 40px;
}

.faq__inner {
    max-width: 1320px;
    margin: 0 auto;
}

.faq__header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 32px;
    align-items: center;
    margin-bottom: 64px;
}

.faq__title {
    font-weight: 700;
    font-size: clamp(60px, 8vw, 121px);
    color: var(--color-accent);
    line-height: 1;
}

.faq__text {
    font-weight: 500;
    font-size: 20px;
    color: var(--color-white);
    max-width: 284px;
    justify-self: end;
    line-height: 1.4;
}

.faq__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.faq-card {
    background: var(--color-accent);
    border-radius: 32px;
    padding: 16px;
    display: grid;
    gap: 16px;
}

.faq-card__question {
    font-weight: 700;
    font-size: 20px;
    color: var(--color-primary);
    line-height: 1.3;
}

.faq-card__answer {
    font-weight: 500;
    font-size: 15px;
    color: var(--color-primary);
    line-height: 1.5;
}

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

@media (max-width: 768px) {
    .faq {
        padding: 40px 20px;
    }

    .faq__header {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 32px;
    }

    .faq__text {
        justify-self: start;
        max-width: none;
    }

    .faq__grid {
        grid-template-columns: 1fr;
    }

    .faq__title {
        font-size: clamp(40px, 12vw, 70px);
    }
}
