.glossary-page {
    max-width: 920px;
    margin: 0 auto;
    padding: 32px 20px 60px;
    color: var(--text-primary, #21242c);
}

.glossary-breadcrumb {
    margin-bottom: 24px;
    color: var(--text-secondary, #5c606b);
    font-size: .88rem;
}
.glossary-breadcrumb a,
.glossary-source a,
.glossary-return a {
    color: var(--sc-accent, #c24500);
    text-underline-offset: 3px;
}
.glossary-breadcrumb span { margin: 0 .45rem; }

.glossary-heading { max-width: 730px; }
.glossary-kicker {
    margin: 0 0 .45rem;
    color: var(--sc-accent, #c24500);
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .04em;
}
.glossary-heading h1 {
    margin: 0;
    font-size: clamp(1.8rem, 4vw, 2.55rem);
    line-height: 1.35;
}
.glossary-heading > p:not(.glossary-kicker) {
    margin: .85rem 0 0;
    color: var(--text-secondary, #5c606b);
    line-height: 1.8;
}

.glossary-subjects {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    margin: 1.8rem 0;
}
.glossary-subjects a {
    border: 1px solid var(--border-color, #d9dce3);
    border-radius: 5px;
    color: inherit;
    font-size: .9rem;
    font-weight: 700;
    padding: .48rem .75rem;
    text-decoration: none;
}
.glossary-subjects a:hover,
.glossary-subjects a:focus-visible,
.glossary-subjects a.is-current {
    border-color: var(--sc-accent, #c24500);
    color: var(--sc-accent, #c24500);
}

.glossary-intro {
    border-left: 3px solid var(--sc-accent, #c24500);
    margin: 0 0 2rem;
    max-width: 720px;
    padding: .15rem 0 .15rem 1rem;
}
.glossary-intro p { margin: .4rem 0; color: var(--text-secondary, #5c606b); line-height: 1.7; }
.glossary-intro strong { color: var(--text-primary, #21242c); font-size: 1.16em; }

.glossary-list { border-top: 1px solid var(--border-color, #d9dce3); }
.glossary-term {
    border-bottom: 1px solid var(--border-color, #d9dce3);
    padding: 1.35rem 0 1.25rem;
}
.glossary-term h2 { margin: 0; font-size: 1.22rem; line-height: 1.45; }
.glossary-term > p:not(.glossary-source) { margin: .65rem 0 0; line-height: 1.8; }
.glossary-source { margin: .8rem 0 0; color: var(--text-secondary, #5c606b); font-size: .9rem; }
.glossary-error, .glossary-empty { color: var(--text-secondary, #5c606b); line-height: 1.75; }
.glossary-return { margin: 2.2rem 0 0; font-weight: 700; }

@media (max-width: 620px) {
    .glossary-page { padding: 24px 15px 48px; }
    .glossary-term { padding: 1.1rem 0; }
}
