@layer components {
    .quote {
        display: flex;
        flex-direction: column;
        gap: 16px;
        min-width: 0;
    }

    .quote__mark {
        color: var(--fg-accent);
    }

    .quote__caption {
        margin-top: auto;
        font-size: 15px;
    }

    .quote__name {
        display: block;
        font-weight: 600;
    }

    .quote__source {
        color: var(--fg-muted);
    }

    .quote--card {
        padding: 26px;
        border: 1px solid var(--color-line);
        border-radius: var(--radius-card);
        background: var(--color-white);
    }

    .quote--feature,
    .quote--dark {
        padding: clamp(24px, 3vw, 36px);
        border-radius: var(--radius-panel);
    }

    .quote--feature {
        border: 1px solid var(--color-line);
        background: var(--color-white);
    }

    .quote--feature .quote__text {
        font-size: 19px;
        line-height: 1.55;
    }

    .quote--dark {
        gap: 18px;
        background: var(--color-slate);
    }

    .quote--dark .quote__text {
        font-size: 20px;
        line-height: 1.55;
    }

    .stars {
        display: inline-flex;
        gap: 2px;
        color: var(--color-accent);
    }

    .rating {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        font-size: 15px;
        font-weight: 500;
    }
}
