.catalog-intro .related-pages { margin-top:32px; }
.catalog-controls { display:grid; grid-template-columns:1fr 1fr 1.5fr auto; gap:18px; align-items:end; padding:28px; background:var(--sage); border-top:1px solid var(--ink); }
.catalog-controls[hidden], .catalog-card[hidden], [data-catalog-empty][hidden] { display:none; }
.catalog-controls label { display:grid; gap:10px; font-size:14px; line-height:22px; font-weight:600; }
.catalog-controls input, .catalog-controls select { width:100%; min-height:48px; padding:11px 12px; border:1px solid #aeb9aa; border-radius:0; color:var(--ink); background:var(--paper,#f8f6ef); font:inherit; font-size:16px; }
.catalog-controls button { min-height:48px; padding:10px 16px; border:1px solid var(--ink); background:transparent; color:var(--ink); font:inherit; cursor:pointer; }
.catalog-controls input:focus-visible, .catalog-controls select:focus-visible, .catalog-controls button:focus-visible { outline:2px solid var(--ink); outline-offset:3px; }
[data-catalog-count] { margin:24px 0; font-size:15px; color:var(--muted); }
.catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.catalog-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--line); padding:28px; background:transparent; }
.catalog-card .section-kicker, .catalog-card .eyebrow { font-size:13px; line-height:22px; margin-bottom:18px; }
.catalog-card h2, .catalog-card h3 { font:600 25px/1.4 var(--sans); color:var(--ink); margin-bottom:18px; }
.catalog-card > p { font-size:16px; line-height:26px; margin-bottom:22px; }
.catalog-card .text-link { margin-top:auto; align-self:flex-start; }
.catalog-card dl { margin:0 0 28px; }
.catalog-card dt { font-size:12px; color:var(--muted); margin-top:16px; }
.catalog-card dd { font-size:14px; line-height:23px; margin:5px 0 0; }
.catalog-card ul { font-size:14px; line-height:23px; padding-left:18px; margin-bottom:24px; }
.catalog-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px; }
.catalog-tags span { background:var(--sage); padding:4px 8px; font-size:12px; line-height:20px; }
[data-catalog-empty] { border-block:1px solid var(--line); padding:44px 24px; font-size:17px; line-height:28px; text-align:center; }
.catalog-finder { padding-bottom:64px; }
.catalog-results-heading { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin:32px 0 0; }
.catalog-results-heading h2 { font:600 24px/1.5 var(--sans); }
.catalog-results-heading [data-catalog-count] { margin:0; }
.catalog-card .catalog-card-category { font-size:13px; line-height:22px; letter-spacing:.02em; color:var(--ink); }
.course-meta { display:grid; grid-template-columns:1fr 1fr 1.2fr; gap:32px; padding-block:24px 36px; border-top:1px solid var(--line); }
.course-meta dt { font-size:13px; line-height:22px; color:var(--muted); }.course-meta dd { margin:10px 0 0; font-size:17px; line-height:28px; }
.course-module .course-module-output { padding:16px 20px; background:var(--sage); }
.catalog-finder > .source-note, .catalog-intro > .source-note { margin-block:24px; }
.course-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:64px; align-items:start; padding-bottom:64px; }
.course-layout .course-body { grid-column:1; width:100%; min-width:0; max-width:none; }
.course-aside { position:sticky; top:120px; padding:28px; background:var(--sage); }
.course-aside h2 { font:600 24px/1.4 var(--sans); margin:16px 0; }
.course-aside p, .course-aside li { font-size:15px; line-height:25px; }
.course-aside .button { margin-top:24px; width:100%; justify-content:space-between; }
.course-aside .text-link { margin-top:22px; }
.course-toc { display:flex; flex-wrap:wrap; gap:4px 24px; padding-block:20px; margin-bottom:48px; border-block:1px solid var(--line); }
.course-toc a { font-size:14px; line-height:24px; padding-block:9px; }
.course-toc nav, .course-toc ul { display:flex; flex-wrap:wrap; gap:4px 24px; list-style:none; margin:0; padding:0; }
.course-module { border-top:1px solid var(--line); padding:28px 0; }
.course-module h3 { margin-bottom:20px; }
.course-module dl { display:grid; gap:16px; margin:20px 0 0; }
.course-module dt { font-size:14px; font-weight:600; color:var(--ink); }
.course-module dd { margin:6px 0 0; font-size:17px; line-height:28px; }
.course-module .course-output { padding:16px 20px; background:var(--sage); }
.course-edition-note { border-left:2px solid var(--ink); padding:14px 20px; font-size:14px; line-height:23px; color:var(--muted); max-width:900px; margin:28px 0; }
.course-intro .related-pages, .course-hero .related-pages { margin-block:28px; }
.course-facts { display:grid; gap:20px; grid-template-columns:1fr 1fr; margin-top:28px; }
.course-facts dt { font-size:13px; color:var(--muted); }.course-facts dd { margin:8px 0 0; font-size:17px; line-height:28px; }
@media(max-width:1068px){
 .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.catalog-controls { grid-template-columns:1fr 1fr; }
 .course-layout { grid-template-columns:minmax(0,1fr) 240px; gap:32px; }.course-aside { padding:24px; top:110px; }
}
@media(max-width:734px){
 .catalog-grid { grid-template-columns:1fr; gap:20px; }.catalog-card { padding:24px; }.catalog-controls { padding:20px; gap:16px; }.catalog-controls label:nth-child(3) { grid-column:1/-1; }.catalog-controls button { grid-column:1/-1; }
 .catalog-results-heading { align-items:flex-start; flex-direction:column; gap:10px; }.course-meta { grid-template-columns:1fr; gap:18px; padding-block:24px; }.course-meta > div { display:grid; grid-template-columns:80px minmax(0,1fr); gap:12px; }.course-meta dd { margin:0; }
 .catalog-card h2, .catalog-card h3 { font-size:23px; }.course-layout { grid-template-columns:1fr; gap:32px; }.course-aside { position:static; }.course-toc { gap:4px 18px; margin-bottom:32px; padding-block:16px; }.course-toc a { font-size:13px; }.course-facts { grid-template-columns:1fr; }
}

.course-top-actions { margin:0 0 32px; }
