.page-faq .support-main {
    padding-bottom: var(--space-80);
}

.page-faq .support-layout {
    padding-top: var(--space-64);
    padding-bottom: var(--space-80);
}

.page-faq .support-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: var(--space-32);
    align-items: start;
}

.page-faq .support-rail {
    position: sticky;
    top: calc(72px + var(--space-24));
    display: grid;
    gap: var(--space-24);
    padding: var(--space-24);
    background: var(--home-panel-strong);
    border-radius: var(--home-radius-lg);
    box-shadow: 0 18px 40px rgba(17, 21, 23, 0.08);
}

.page-faq .support-topic-nav {
    display: grid;
    gap: var(--space-8);
}

.page-faq .support-topic-nav a {
    display: block;
    padding: var(--space-12) 0;
    color: var(--home-muted);
    font-size: 0.96rem;
    font-weight: 600;
    text-decoration: none;
}

.page-faq .support-topic-nav a:hover {
    color: var(--home-ink);
}

.page-faq .support-rail-card {
    display: grid;
    gap: var(--space-12);
    padding-top: var(--space-24);
    border-top: 1px solid var(--home-line);
}

.page-faq .support-content {
    display: grid;
    gap: var(--space-32);
}

.page-faq .support-group {
    display: grid;
    gap: var(--space-32);
    padding: var(--space-32);
    background: var(--home-panel-strong);
    border-radius: var(--home-radius-lg);
    box-shadow: 0 18px 40px rgba(17, 21, 23, 0.08);
}

.page-faq .support-group-header {
    display: grid;
    grid-template-columns: 0.92fr 1.08fr;
    gap: var(--space-32);
    align-items: start;
}

.page-faq .support-group-meta {
    display: grid;
    gap: var(--space-12);
}

.page-faq .support-group-index {
    color: var(--home-muted);
    font-size: 1.75rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.page-faq .support-group-intro {
    margin: 0;
    max-width: 36rem;
    color: var(--home-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.page-faq .faq-list {
    display: grid;
    gap: var(--space-12);
}

.page-faq .faq-item {
    background: rgba(255, 255, 255, 0.34);
    border-radius: var(--home-radius-md);
    overflow: hidden;
}

.page-faq .faq-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-24);
    padding: var(--space-24);
    border: 0;
    background: transparent;
    color: var(--home-ink);
    font: inherit;
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.page-faq .faq-trigger-icon {
    position: relative;
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
}

.page-faq .faq-trigger-icon::before,
.page-faq .faq-trigger-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.875rem;
    height: 1px;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform 0.24s ease, opacity 0.24s ease;
}

.page-faq .faq-trigger-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.page-faq .faq-trigger[aria-expanded="true"] .faq-trigger-icon::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg) scaleX(0.2);
}

.page-faq .faq-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.36s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-faq .faq-panel-inner {
    display: grid;
    gap: var(--space-16);
    padding: 0 var(--space-24) var(--space-24);
    color: var(--home-muted);
    line-height: 1.65;
}

.page-faq .faq-panel-inner p,
.page-faq .faq-panel-inner ul,
.page-faq .faq-panel-inner ol {
    margin: 0;
}

.page-faq .faq-panel-inner ul,
.page-faq .faq-panel-inner ol {
    padding-left: 1.25rem;
    display: grid;
    gap: var(--space-8);
}

.page-faq .faq-panel-inner img {
    width: 100%;
    max-width: 680px;
    height: auto;
    display: block;
    border-radius: var(--home-radius-md);
    background: rgba(255, 255, 255, 0.46);
    box-shadow: 0 18px 36px rgba(17, 21, 23, 0.08);
}

.page-faq .faq-panel-inner img.no-shadow {
    box-shadow: none;
}

.page-faq .faq-panel-inner code {
    font-size: 0.94em;
}

@media (max-width: 1180px) {
    .page-faq .support-shell,
    .page-faq .support-group-header {
        grid-template-columns: 1fr;
    }

    .page-faq .support-rail {
        position: static;
    }
}

@media (max-width: 720px) {
    .page-faq .support-group,
    .page-faq .support-rail {
        padding: var(--space-24);
    }

    .page-faq .faq-trigger,
    .page-faq .faq-panel-inner {
        padding-inline: var(--space-16);
    }

    .page-faq .faq-panel-inner {
        padding-bottom: var(--space-16);
    }
}
