/* Wave 0 bridge for San Marcos pages awaiting their family template. */
.ds3-sections {
  --gw-font: Figtree, system-ui, sans-serif;
  --gw-paper: #fff;
  --gw-paper-raised: var(--ds3-well);
  --gw-surface: var(--ds3-well);
  --gw-card: var(--ds3-well);
  --gw-card-hover: var(--ds3-hairline);
  --gw-ink: var(--ds3-ink);
  --gw-muted: var(--ds3-muted);
  --gw-rule: var(--ds3-hairline);
  --gw-rule-strong: var(--ds3-line);
  --gw-gutter: var(--ds3-gutter);
  --gw-radius: 8px;
  --gw-radius-card: 12px;
  --gw-h1: 28px;
  --gw-h2: 24px;
  --gw-h3: 17px;
  --gw-lead: 16px;
  --gw-body: 16px;
  --fg-panel: var(--ds3-well);
  --fg-panel-text: var(--ds3-ink);
  --fg-panel-rule: var(--ds3-line);
  --pd-font-body: var(--gw-font);
  --pd-font-display: var(--gw-font);
  --pd-font-instrument: var(--gw-font);
  --pd-ink: #fff;
  --pd-paper: var(--ds3-well);
  --pd-bone: var(--ds3-ink);
  --pd-ash: var(--ds3-muted);
  --pd-faint: var(--ds3-muted);
  --pd-rule: var(--ds3-hairline);
  --pd-rule-strong: var(--ds3-line);
  --pd-gutter: var(--ds3-gutter);
}

.ds3-sections body { font: 400 16px/1.55 Figtree, system-ui, sans-serif; }
.ds3-sections main { font-variant-numeric: tabular-nums; }
.ds3-sections main h1,
.ds3-sections.fg-courses .cp-hero h1 {
  color: var(--ds3-ink);
  font: 700 28px/1.15 Figtree, system-ui, sans-serif;
  letter-spacing: -.025em;
}
.ds3-sections.fg-courses .cp-hero h1 { max-inline-size: 36ch; }
.ds3-sections main h2 {
  font-family: Figtree, system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
}

/* Legacy guide CTAs must keep the foreground paired with their button paint. */
.ds3-sections main a.query-primary {
  background: var(--ds3-brand);
  color: #fff;
  border-radius: 8px;
}
.ds3-sections main a.query-primary:hover { background: var(--ds3-brand-start); }
.ds3-sections main a.query-primary:focus-visible { outline-color: var(--ds3-ink); }

.ds3-sections :is(.housing-subnav, .cp-crumbs, .ds3-crumbs) a,
.ds3-sections .tool-actions button { min-inline-size: 44px; }
.ds3-sections .cp-crumbs { align-items: center; }
.ds3-sections :is(.cp-crumbs, [data-shuttle-route] h3) a {
  display: inline-flex;
  align-items: center;
  min-block-size: 44px;
  vertical-align: middle;
}
.ds3-sections .fg-budget-table > summary::-webkit-details-marker { display: revert; }

.ds3-sections .ds3-categories a { color: var(--ds3-muted); }
.ds3-sections .ds3-categories .is-primary { color: var(--ds3-ink); font-weight: 700; }
.ds3-sections .ds3-categories a:focus-visible { outline: 2px solid var(--ds3-ink); outline-offset: -3px; }

.ds3-sections :is(.ds3-brand,.ds3-saved,.ds3-mini-search i,.ds3-menu summary,.ds3-categories a)::before {
  content: "";
  flex: none;
  width: 20px;
  height: 20px;
  background: currentColor;
  mask: var(--ds3-icon) center / contain no-repeat;
}
.ds3-sections .ds3-brand::before { color: var(--ds3-brand); width: 25px; height: 25px; }
.ds3-sections :is(.ds3-saved,.ds3-mini-search i)::before { width: 16px; }
.ds3-sections .ds3-mini-search i::before { color: #fff; }
.ds3-sections .ds3-menu summary { padding: 0; margin: 0; background: #fff; border-radius: 999px; }
.ds3-sections .ds3-menu summary:hover, .ds3-sections .ds3-menu[open] summary { background: var(--ds3-well); }
.ds3-sections .ds3-mast a:hover { color: var(--ds3-ink); }
.ds3-sections .ds3-menu nav { max-height: 70dvh; overflow-y: auto; overscroll-behavior: contain; }

/* Keep the skip link in the first tab stop without reserving layout space. */
.ds3 .skip {
  position: fixed;
  z-index: 40;
  inset: 8px auto auto var(--ds3-gutter);
  transform: translateY(calc(-100% - 12px));
  padding: 12px 16px;
  background: #fff;
  color: var(--ds3-ink);
}
.ds3 .skip:focus { transform: none; }

@media (max-width: 760px) {
  .ds3 body:has(.ds3-directory) .ds3-footer { padding-bottom: 80px; }
}

@media (forced-colors: active) {
  .ds3-sections :is(.ds3-brand,.ds3-saved,.ds3-mini-search i,.ds3-menu summary,.ds3-categories a)::before {
    background: CanvasText;
    forced-color-adjust: none;
  }
}
