.training-jumps { display: flex; flex-wrap: wrap; gap: .6rem; margin-block: 1.5rem 2rem; }
.training-jumps a { padding: .65rem .85rem; border: 1px solid var(--color-rule); color: var(--color-bone); }
.training-jumps a:hover, .training-jumps a:focus-visible { background: var(--color-red); color: #fff; }
.editorial-programs article[id], #wrestling { scroll-margin-top: 7rem; }
.schedule-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; padding: 1.25rem; border: 1px solid var(--color-rule); }
.schedule-filters > div { display: grid; gap: .5rem; flex: 1 1 14rem; }
.schedule-filters label { font-weight: 800; }
.schedule-filters select { width: 100%; min-height: 3rem; padding: .6rem; font: inherit; color: var(--color-bone); background: var(--color-ink-raised); border: 1px solid var(--color-rule); }
.schedule-filters button { min-height: 3rem; cursor: pointer; }
.schedule-filters :focus-visible { outline: 3px solid var(--color-bone); outline-offset: 3px; }
.schedule-anchor { display: block; position: relative; scroll-margin-top: 8rem; }
.schedule-glossary { margin-block: 2rem; padding-top: 1rem; border-top: 1px solid var(--color-rule); }
.schedule-glossary dt { font-weight: 800; margin-top: 1rem; }
.schedule-glossary dd { margin: .3rem 0 0; }
[data-page="schedule"] [hidden] { display: none !important; }
@media (max-width: 38rem) { .schedule-filters { padding: 1rem; } .schedule-filters > div, .schedule-filters button { flex-basis: 100%; } }
