.catalog { width: min(100% - 3rem, 64rem); margin: 4rem auto; }
.catalog-header { margin-bottom: 3rem; }
.eyebrow { color: var(--color-muted); font-size: 0.875rem; letter-spacing: 0.08em; }
h1 { margin: 0.5rem 0; font-size: clamp(1.75rem, 5vw, 2.5rem); line-height: 1.3; }
h2 { margin: 0; font-size: 1.125rem; }
.section-heading { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; }
.section-heading > span { font-size: 0.875rem; }
.empty-state { margin-top: 1rem; padding: 3rem 1.5rem; border: 1px dashed var(--color-border); border-radius: var(--radius); text-align: center; color: var(--color-muted); }
.page-list { padding: 0; list-style: none; display: grid; gap: 0.75rem; }
.page-link { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.5rem 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--color-border); border-radius: var(--radius); background: var(--color-surface); color: var(--color-text); text-decoration: none; overflow-wrap: anywhere; }
.page-link:hover { border-color: var(--color-primary); }
.page-status { color: var(--color-muted); font-size: 0.875rem; }
@media (max-width: 40rem) { .catalog { margin-top: 2rem; } }
