.course-directory{margin:var(--space-10) 0;padding:var(--space-8) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);scroll-margin-top:calc(var(--cga-header-offset,120px) + 24px)}.course-directory h2{font-size:var(--font-heading);font-weight:600;margin-bottom:var(--space-3)}.course-directory>p{color:var(--color-secondary);line-height:1.6}.directory-filters{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-4);margin:var(--space-6) 0 var(--space-3)}.directory-filters label{display:grid;gap:var(--space-2);font-size:var(--font-small)}.directory-filters input,.directory-filters select{width:100%;min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-surface);font:inherit}.directory-count{font-size:var(--font-small);margin-bottom:var(--space-4)}.directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);max-height:640px;overflow:auto;padding:var(--space-1)}.directory-course{display:grid;gap:var(--space-2);text-decoration:none}.directory-course[hidden]{display:none}.directory-course strong{font-size:var(--font-heading);font-weight:600}.directory-course span{font-size:var(--font-small);color:var(--color-muted)}.directory-course small{font-size:var(--font-small);color:var(--color-secondary)}.directory-course:hover{border-color:var(--color-accent)}.directory-course:focus-visible{outline:var(--focus-width) solid var(--color-focus);outline-offset:var(--focus-offset)}@media(max-width: 639px){.directory-filters,.directory-list{grid-template-columns:1fr}.directory-list{max-height:65vh}}
.directory-course:hover strong, .directory-course:hover span, .directory-course:hover small,
.directory-course:focus-visible strong, .directory-course:focus-visible span, .directory-course:focus-visible small { color: var(--color-text); }
