html.field-guide.fg-courses { --pd-signal: var(--gw-signal-text); --pd-focus: var(--gw-focus); }
html.field-guide.fg-courses [hidden] { display: none !important; }
html.field-guide.fg-courses .cp .index-search { max-width: 38rem; margin: 24px 0 0; }
html.field-guide.fg-courses .cp [data-course-controls] label { display: grid; gap: 6px; font-size: 14px; }
html.field-guide.fg-courses .cp [data-course-controls] input {
  box-sizing: border-box;
  min-height: 44px;
  width: min(100%, 38rem);
  padding: 8px 12px;
  border: 1px solid var(--gw-input-line);
  border-radius: 2px;
  background: var(--gw-paper-raised);
  color: var(--gw-ink);
  font: 400 15px/1.4 var(--gw-font);
}
html.field-guide.fg-courses .cp .hub-controls { max-width: 30rem; margin: 0 0 18px; padding: 0; border: 0; }
html.field-guide.fg-courses .index-letters a { min-width: 44px; min-height: 44px; }
html.field-guide.fg-courses .fg-subject-letter { padding: 8px 0 14px; }
html.field-guide.fg-courses .fg-subject-letter h3 { margin: 0 0 8px; font-size: 19px; }
html.field-guide.fg-courses .fg-subject-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}
html.field-guide.fg-courses .fg-subject-grid a {
  display: grid;
  gap: 6px;
  padding: 12px;
  min-height: 44px;
  border: 1px solid var(--gw-line);
  background: var(--gw-paper-raised);
  text-decoration: none;
}
html.field-guide.fg-courses .fg-subject-grid strong,
html.field-guide.fg-courses .fg-course-code { color: var(--gw-signal-text); }
html.field-guide.fg-courses .fg-subject-grid span,
html.field-guide.fg-courses .fg-course-credit { color: var(--gw-muted); font-size: 14px; }
html.field-guide.fg-courses .fg-course-row a {
  display: grid;
  grid-template-columns: minmax(95px,.25fr) minmax(0,1.5fr) auto;
  gap: 8px 16px;
  align-items: baseline;
  min-height: 44px;
  border-top: 1px solid var(--gw-line);
  padding: 10px 0;
  text-decoration: none;
  overflow-wrap: anywhere;
}
html.field-guide.fg-courses .fg-course-summary {
  display: grid;
  gap: 8px;
  min-height: 120px;
  padding: 20px;
  border: 1px solid var(--gw-line);
  background: var(--gw-paper-raised);
}
html.field-guide.fg-courses .fg-course-summary strong {
  color: var(--gw-ink);
  font-size: var(--gw-h2);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
html.field-guide.fg-courses .fg-course-summary span { color: var(--gw-muted); }
@media(max-width:750px) {
  html.field-guide.fg-courses .fg-subject-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  html.field-guide.fg-courses .fg-course-row a { grid-template-columns: minmax(64px,.28fr) minmax(0,1fr); }
  html.field-guide.fg-courses .fg-course-credit { grid-column: 2; }
}
html.field-guide.fg-courses .cp .hub-controls label { width: 100%; }
html.field-guide.fg-courses .cp .cp-hero .cp-kicker {
  margin: 0 0 12px;
  color: var(--gw-muted);
  font-size: 13px;
}
html.field-guide.fg-courses .cp .cp-hero .cp-lead { max-width: 54ch; margin: 16px 0 0; }
html.field-guide.fg-courses .cp #course-sources ~ p a,
html.field-guide.fg-courses .cp #index-sources ~ p a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}
