*, *::before, *::after { box-sizing: border-box; }
html { color: var(--ink); background: var(--bg); font-family: var(--font-body); }
body { min-width: 0; margin: 0; }
a { color: var(--accent); }
a:hover { color: var(--accent-dark); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }

.skip-link { position: absolute; top: 0; left: 0; transform: translateY(-120%); padding: 0.55rem 0.8rem; color: var(--surface); background: var(--accent); }
.skip-link:focus { transform: translateY(0); }
.glossary-shell { width: min(100% - 3rem, 68rem); margin-inline: auto; padding-block: clamp(2rem, 6vw, 5rem); }
.top-nav { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; font: 500 0.78rem/1.4 var(--font-display); }
.top-nav a { text-decoration: none; }
.top-nav a:hover { text-decoration: underline; }
.glossary-header { max-width: 56rem; padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(2rem, 5vw, 3.5rem); border-bottom: 1px solid var(--ink); }
.eyebrow { margin: 0 0 0.8rem; color: var(--accent-text); font: 600 0.7rem/1.3 var(--font-display); letter-spacing: 0.12em; text-transform: uppercase; }
h1, h2, p { margin-top: 0; }
h1 { max-width: 24ch; margin-bottom: 1.25rem; font: 700 clamp(2rem, 4.6vw, 3.8rem)/1 var(--font-display); letter-spacing: -0.055em; }
.glossary-header > p:last-child { max-width: 48rem; margin-bottom: 0; color: var(--body-text); font-size: clamp(1rem, 1.5vw, 1.1rem); line-height: 1.55; }
.terms { margin-top: clamp(2rem, 5vw, 3.5rem); border-top: 1px solid var(--ink); }
.terms article { display: grid; grid-template-columns: minmax(13rem, 0.8fr) minmax(0, 2fr); gap: clamp(1rem, 4vw, 4rem); padding: clamp(1.35rem, 2.5vw, 2rem) 0; border-bottom: 1px solid var(--ink); }
h2 { margin-bottom: 0; font: 700 clamp(1.2rem, 2vw, 1.55rem)/1.1 var(--font-display); letter-spacing: -0.035em; }
.terms p { max-width: 60ch; margin-bottom: 0; color: var(--body-text); line-height: 1.6; }
code { font-family: var(--font-display); }
@media (max-width: 640px) { .glossary-shell { width: min(100% - 2rem, 68rem); } .terms article { display: block; } h2 { margin-bottom: 0.65rem; } }
