.faq { border-bottom: 1px solid var(--c-border); }

.faq__inner {
    max-width: var(--max-w);
    margin: 0 auto;
    padding: 0 var(--pad);
}

.faq__header {
    padding: 56px 0 48px;
    border-bottom: 1px solid var(--c-border);
}
.faq__title {
    font-family: var(--f-display);
    font-size: clamp(44px, 5vw, 72px);
    line-height: .95;
    text-transform: uppercase;
    color: var(--c-dark);
}

.faq__list { display: flex; flex-direction: column; }

.faq__item {
    border-bottom: 1px solid var(--c-border);
    transition: background .2s ease;
}
.faq__item:last-child { border-bottom: none; }
.faq__item:hover { background: rgba(26,107,255,.03); }

.faq__question {
    display: grid;
    grid-template-columns: 1fr 36px;
    gap: 24px;
    align-items: center;
    padding: 40px 0;
    cursor: pointer;
    user-select: none;
}

.faq__question .accordion__heading {
    font-family: var(--f-display);
    font-size: clamp(18px, 2.2vw, 30px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .014em;
    text-transform: uppercase;
    color: var(--c-dark);
    transition: color .2s ease;
}
.faq__question:hover .accordion__heading:first-child { color: var(--c-blue); }

.faq__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid var(--c-border);
    font-family: var(--f-mono);
    font-size: 16px;
    color: var(--c-muted);
    flex-shrink: 0;
    justify-self: center;
    transition: transform .25s ease, color .2s ease, border-color .2s ease, background .2s ease;
}

.faq__item.js-open .faq__icon {
    transform: rotate(45deg);
}

.faq__answer {
    padding: 0 0 40px;
    max-width: 760px;
}
.faq__answer .accordion__text {
    font-family: var(--f-body);
    font-size: 16px;
    line-height: 1.65;
    color: var(--c-text-2);
}

@media (max-width: 767px) {
    .faq__inner    { padding: 0 var(--pad-sm); }
    .faq__header   { padding: 40px 0 32px; }
    .faq__question { padding: 28px 0; }
}

@media (max-width: 390px) {
    .faq__inner  { padding: 0 16px; }
    .faq__question { padding: 22px 0; }
    .faq__answer { padding-bottom: 28px; }
}
