.faq {
    padding: calc(var(--spacing-unit) * 10) 0;
    background: var(--color-cream-dark);
}

.faq__header {
    margin-bottom: calc(var(--spacing-unit) * 5);
    padding-bottom: calc(var(--spacing-unit) * 4);
    border-bottom: var(--border-heavy);
}

.faq__list {
    display: flex;
    flex-direction: column;
    max-width: 52rem;
}

.faq__item {
    border-bottom: 1px solid var(--color-border);
}

.faq__item:first-child {
    border-top: 1px solid var(--color-border);
}

.faq__question {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--spacing-unit) * 2);
    padding: calc(var(--spacing-unit) * 3) 0;
    font-family: var(--font-display);
    font-size: var(--font-size-lg);
    font-weight: 700;
    text-align: left;
    background: transparent;
    min-height: 56px;
}

.faq__question:hover {
    color: var(--color-coral);
}

.faq__icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    transition: transform var(--transition-base);
    color: var(--color-ink);
    border: 1px solid var(--color-ink);
    padding: 4px;
}

.faq__item.is-open .faq__icon {
    transform: rotate(180deg);
    background: var(--color-gold);
}

.faq__answer {
    display: none;
    padding: 0 0 calc(var(--spacing-unit) * 3);
    color: var(--color-ink-muted);
    line-height: var(--line-height-base);
    max-width: 40rem;
}

.faq__item.is-open .faq__answer {
    display: block;
}

.quotes {
    padding: calc(var(--spacing-unit) * 10) 0;
    background: var(--color-ink);
    color: var(--color-cream);
}

.quotes__disclaimer {
    font-family: var(--font-mono);
    font-size: 0.8125rem;
    letter-spacing: 0.04em;
    color: rgba(248, 241, 233, 0.55);
    margin-bottom: calc(var(--spacing-unit) * 4);
}

.quotes .section-title {
    color: var(--color-cream);
    margin-bottom: calc(var(--spacing-unit) * 5);
}

.quotes__grid {
    display: grid;
    gap: calc(var(--spacing-unit) * 3);
}

.quotes__card {
    background: transparent;
    border-left: 4px solid var(--color-gold);
    padding: calc(var(--spacing-unit) * 2) 0 calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);
}

.quotes__text {
    font-family: var(--font-display);
    font-size: var(--font-size-xl);
    font-style: italic;
    line-height: var(--line-height-base);
    margin-bottom: calc(var(--spacing-unit) * 2);
    color: var(--color-cream);
}

.quotes__author {
    font-family: var(--font-mono);
    font-size: var(--font-size-sm);
    font-style: normal;
    color: rgba(248, 241, 233, 0.65);
}

@media (min-width: 768px) {
    .quotes__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: calc(var(--spacing-unit) * 4);
    }

    .quotes__card {
        border-left: none;
        border-top: 3px solid var(--color-gold);
        padding: calc(var(--spacing-unit) * 3) 0 0;
    }
}
