.ds3 {--ds3-brand:#500000;--ds3-brand-start:#7a1c1c;--ds3-soft:#f7eeee;}
.ds3-sections .ds3-brand {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20d%3D%22M20%2010c0%205-8%2012-8%2012S4%2015%204%2010a8%208%200%201%201%2016%200Z%20M15%2010a3%203%200%201%201-6%200%203%203%200%200%201%206%200Z%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-mini-search i {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m21%2021-4.3-4.3M19%2011a8%208%200%201%201-16%200%208%208%200%200%201%2016%200Z%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-saved {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M20.8%204.6a5.4%205.4%200%200%200-7.6%200L12%205.8l-1.2-1.2a5.4%205.4%200%200%200-7.6%207.6l1.2%201.2%207.6%207.6%207.6-7.6%201.2-1.2a5.4%205.4%200%200%200%200-7.6Z%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-menu summary {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M4%206h16M4%2012h16M4%2018h16%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-categories a[href="/housing/"] {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%2021V3h14v18M3%2021h18M9%207h.1m5.9%200h.1M9%2011h.1m5.9%200h.1M9%2015h.1m5.9%200h.1M12%2021v-3%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-categories a[href="/housing/dorms/"] {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22m3%208%209-5%209%205M4%2010h16M3%2021h18M6%2011v7m6-7v7m6-7v7M4%2019h16%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-categories a[href="/courses/"] {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%203h14v18H6a2%202%200%200%201-2-2V5a2%202%200%200%201%202-2M4%2018a2%202%200%200%201%202-2h13M8%207h7%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-categories a[href="/food/"] {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%203v7m3-7v7m3-7v7m-6-2c0%205%206%205%206%200M8%2012v9M18%203c-3%203-3%208%200%2010h2M20%203v18%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-categories a[href="/campus/transit/"] {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%204h14v13H5zM5%2010h14M7%2017v3m10-3v3M8%2014h.1m7.9%200h.1%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-categories a[href="/campus/"] {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M21%2012a9%209%200%201%201-18%200%209%209%200%200%201%2018%200ZM15%209l-2%204-4%202%202-4%204-2Z%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections .ds3-categories a[href="/tools/"] {--ds3-icon:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20d%3D%22M5%203h14v18H5zM8%207h8M8%2011h1m6%200h1m-8%203h1m6%200h1m-8%203h1m6%200h1%22%2F%3E%3C%2Fsvg%3E");}
.ds3-sections {
  --ink: var(--ds3-ink);
  --muted: var(--ds3-muted);
  --line: var(--ds3-line);
  --wash: var(--ds3-well);
  --paper-warm: var(--ds3-well);
  --control: #767676;
  --sans: Figtree, system-ui, sans-serif;
  --display: var(--sans);
  --gutter: var(--ds3-gutter);
  --radius: 8px;
  --title-size: clamp(34px, 4vw, 52px);
  --section-size: clamp(22px, 2.4vw, 28px);
  --heading-3-size: 18px;
  --lead-size: clamp(16px, 1.5vw, 19px);
  --prose-size: 16px;
}

.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; }

@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;
  }
}

.ds3-section h1 { font-weight: 800; line-height: 1.08; letter-spacing: -.045em; text-wrap: balance; }
.ds3-section h2 { font-weight: 750; line-height: 1.15; letter-spacing: -.025em; }
.ds3-section h3 { font-weight: 700; }
.ds3-section .lead { line-height: 1.5; }
.ds3-section .eyebrow { color: var(--ds3-muted); font-weight: 750; }
.ds3-section .source-band { border: 1px solid var(--ds3-hairline); border-radius: 8px; }
.ds3-section .campus-photo img { border-radius: 12px; }
.ds3-section :is(.food-filters,.notice,.disclosure) { border-radius: 12px; }
.ds3-section :is(.food-filters,.notice) { border-color: var(--ds3-line); }
.ds3-section .food-filters { border: 1px solid var(--ds3-line); }
.ds3-section .button { font-weight: 700; }
.ds3-section .button.primary {
  background: linear-gradient(120deg, var(--ds3-brand-start), var(--ds3-brand));
  border-color: transparent;
  color: white;
}
.ds3-section .button.primary:hover { background: var(--ds3-brand); color: white; }
.ds3-section .button.secondary { color: var(--ds3-ink); border-color: var(--ds3-line); }
.ds3-section .button[aria-pressed="true"] { border-color: var(--ds3-ink); }
.ds3-section .catalog-row { border-color: var(--ds3-hairline); }
.ds3-section :is(.breadcrumb,.breadcrumbs) { color: var(--ds3-muted); }

@media (max-width: 760px) {
  .ds3-section .lead { font-size: 16px; }
  .ds3-section .source-band { padding: 10px 12px; }
}
