
    /* Scoped to this component; matches the site's minimal 3-color theme
       (off-white / near-black ink / moss-green accent) — same tokens
       used across the header, footer, games grid, app detail card, and
       game-details section */
    .faq-wrap {
        --ink:          #101114;
        --ink-soft:     #5b5d63;
        --ink-faint:    #96979c;
        --accent:       #3d5a3a;
        --accent-soft:  #eef2ec;
        --accent-dark:  #324a30;
        --line:         #e9e9e7;
        --bg:           #ffffff;
        --page-bg:      #fbfbfa;
        --font-head:    'Inter', sans-serif;
        --font-body:    'Inter', sans-serif;
        --ease:         cubic-bezier(0.16, 1, 0.3, 1);
        --transition:   all 0.2s ease;

        font-family: var(--font-body);
        color: var(--ink-soft);
        background: var(--page-bg);
        max-width: 1180px;
        margin: 0 auto;
        padding: 40px 24px 96px;
    }

    .faq-wrap,
    .faq-wrap * {
        box-sizing: border-box;
    }

    .faq-wrap h2 {
        font-family: var(--font-head);
        letter-spacing: -0.01em;
        margin: 0;
    }

    .faq-card {
        position: relative;
        background: var(--bg);
        border: 1px solid var(--line);
        border-radius: 18px;
        padding: 40px;
        overflow: hidden;
    }

    /* Header */
    .faq-header {
        text-align: center;
        max-width: 640px;
        margin: 0 auto 32px;
    }

    .faq-eyebrow {
        display: inline-block;
        font-family: var(--font-head);
        font-size: 11.5px;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: #fff;
        background: var(--accent);
        padding: 6px 16px;
        border-radius: 999px;
        margin-bottom: 16px;
    }

    .faq-title {
        font-size: 26px;
        font-weight: 700;
        color: var(--ink);
        margin-bottom: 10px;
    }

    .faq-subtitle {
        font-size: 14.5px;
        color: var(--ink-faint);
        line-height: 1.6;
        margin: 0;
    }

    /* List */
    .faq-list {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .faq-item {
        background: var(--bg);
        border: 1px solid var(--line);
        border-radius: 14px;
        overflow: hidden;
        transition: var(--transition);
    }

    .faq-item.is-open {
        border-color: var(--accent);
    }

    .faq-question {
        display: flex;
        align-items: center;
        gap: 14px;
        padding: 16px 18px;
        cursor: pointer;
        user-select: none;
    }

    .faq-icon {
        flex: none;
        width: 32px;
        height: 32px;
        border-radius: 9px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--accent);
        color: #fff;
        font-size: 13.5px;
        transition: var(--transition);
    }

    .faq-question:hover .faq-icon {
        transform: scale(1.06);
    }

    .faq-question-text {
        flex: 1;
        font-size: 15px;
        font-weight: 600;
        color: var(--ink);
    }

    .faq-chevron {
        flex: none;
        color: var(--ink-faint);
        font-size: 13px;
        transition: transform .18s var(--ease);
    }

    .faq-item.is-open .faq-chevron {
        transform: rotate(180deg);
        color: var(--accent);
    }

    .faq-answer {
        max-height: 0;
        overflow: hidden;
        transition: max-height .28s var(--ease);
    }

    .faq-answer-inner {
        padding: 0 18px 18px 64px;
        font-size: 14.5px;
        color: var(--ink-soft);
        line-height: 1.6;
    }

    /* ===== Tablet ===== */
    @media (max-width: 768px) {
        .faq-wrap {
            padding: 32px 16px 72px;
        }

        .faq-card {
            padding: 28px;
        }
    }

    /* ===== Mobile ===== */
    @media (max-width: 640px) {
        .faq-wrap {
            padding: 20px 10px 48px;
        }

        .faq-card {
            padding: 16px;
            border-radius: 16px;
        }

        .faq-header {
            margin: 0 auto 20px;
        }

        .faq-eyebrow {
            font-size: 10px;
            padding: 5px 12px;
            margin-bottom: 10px;
        }

        .faq-title {
            font-size: 18px;
            margin-bottom: 6px;
        }

        .faq-subtitle {
            font-size: 12.5px;
        }

        .faq-list {
            gap: 8px;
        }

        .faq-item {
            border-radius: 11px;
        }

        .faq-question {
            gap: 10px;
            padding: 12px 12px;
        }

        .faq-icon {
            width: 26px;
            height: 26px;
            border-radius: 7px;
            font-size: 11px;
        }

        .faq-question-text {
            font-size: 13px;
        }

        .faq-chevron {
            font-size: 11px;
        }

        .faq-answer-inner {
            padding: 0 12px 14px 48px;
            font-size: 12.5px;
        }
    }

    /* ===== Very small phones ===== */
    @media (max-width: 380px) {
        .faq-card {
            padding: 12px;
        }

        .faq-title {
            font-size: 16px;
        }

        .faq-question {
            padding: 10px 10px;
        }

        .faq-question-text {
            font-size: 12.5px;
        }

        .faq-answer-inner {
            padding-left: 40px;
            font-size: 12px;
        }
    }
