
    .gh-home-head {
        max-width: 960px;
        margin: 1.6rem auto 5.6rem;
        padding: 1.8rem 3.6rem;
        border: 1px solid var(--color-light-gray);
        border-radius: 4px;
        background: color-mix(in srgb, var(--color-light-gray) 22%, transparent);
        text-align: center;
    }
    .gh-home-title {
        font-size: 4.6rem;
        font-weight: 600;
        line-height: 1.08;
        letter-spacing: -0.02em;
        margin: 0;
        text-wrap: balance;
        word-break: normal;
    }
    .gh-home-title-lead {
        color: var(--color-darker-gray);
    }
    .gh-home-title-dash {
        display: inline-block;
        margin: 0 0.2em;
        font-weight: 300;
        color: var(--color-mid-gray);
    }
    .gh-home-title-tail {
        font-weight: 400;
        letter-spacing: -0.005em;
        color: var(--color-secondary-text);
    }
    .gh-home-description {
        max-width: 60ch;
        margin: 2rem auto 0;
        font-size: 1.9rem;
        line-height: 1.55;
        color: var(--color-secondary-text);
        text-wrap: pretty;
    }
    .gh-home-faq {
        max-width: 760px;
        margin: 5.6rem auto 1.6rem;
        padding: 3.2rem 0 0;
        border-top: 1px solid var(--color-light-gray);
    }
    .gh-home-faq .gh-section-title {
        margin: 0 0 2.4rem;
    }
    .gh-home-faq-item {
        margin: 0;
        padding: 0;
        border-bottom: 1px solid color-mix(in srgb, var(--color-light-gray) 60%, transparent);
    }
    .gh-home-faq-item:last-child { border-bottom: 0; }
    .gh-home-faq-item > summary {
        list-style: none;
        cursor: pointer;
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1.6rem;
        padding: 2rem 0;
        font-size: 1.9rem;
        font-weight: 600;
        line-height: 1.35;
        color: var(--color-darker-gray);
        -webkit-tap-highlight-color: transparent;
    }
    .gh-home-faq-item > summary::-webkit-details-marker,
    .gh-home-faq-item > summary::marker { display: none; content: ""; }
    .gh-home-faq-item > summary::after {
        content: "+";
        flex-shrink: 0;
        font-size: 2.4rem;
        font-weight: 400;
        line-height: 1;
        color: var(--color-secondary-text);
        transform: translateY(-2px);
        transition: transform 0.15s ease;
    }
    .gh-home-faq-item[open] > summary::after {
        content: "−";
        transform: translateY(-2px);
    }
    .gh-home-faq-item > summary:hover { color: var(--ghost-accent-color, var(--color-primary-text)); }
    .gh-home-faq-item > summary:focus-visible {
        outline: 2px solid var(--ghost-accent-color, var(--color-darker-gray));
        outline-offset: 4px;
        border-radius: 2px;
    }
    .gh-home-faq-a {
        margin: 0;
        padding: 0 4rem 2rem 0;
        font-size: 1.6rem;
        line-height: 1.6;
        color: var(--color-secondary-text);
    }
    .gh-home-faq-a a {
        color: var(--ghost-accent-color, var(--color-darker-gray));
    }
    @media (max-width: 700px) {
        .gh-home-head {
            margin-bottom: 4rem;
            padding: 2.4rem 2rem;
        }
        .gh-home-title { font-size: 3rem; line-height: 1.12; }
        .gh-home-description { font-size: 1.6rem; }
        .gh-home-faq { margin-top: 4rem; }
        .gh-home-faq-item > summary { font-size: 1.7rem; padding: 1.6rem 0; }
        .gh-home-faq-a { padding-right: 2.4rem; padding-bottom: 1.6rem; }
    }

.gh-empty { max-width: 760px; min-height: 240px; margin: 0 0 5.6rem; padding: 3.2rem 0; border-top: 1px solid var(--color-light-gray); }
.gh-empty h2 { font-size: 2.6rem; margin-bottom: 1.6rem; }
.gh-empty p { color: var(--color-secondary-text); font-size: 1.8rem; line-height: 1.6; }
.gh-empty a { color: var(--ghost-accent-color); text-decoration: underline; text-underline-offset: .2em; }
.gh-head-logo img { object-fit: contain; width: auto; height: 40px; }
.gh-head-brand-wrapper .gh-head-logo { display: inline-flex; align-items: center; gap: 12px; font-size: 2.6rem; }
.gh-head-brand-wrapper .gh-head-logo img { width: 40px; height: 40px; }
.gh-foot-logo { font-weight: 600; }
.gh-site a:focus-visible, .gh-site button:focus-visible { outline: 2px solid var(--ghost-accent-color); outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }

.gh-topic-item[aria-disabled="true"] { cursor: default; }
