:root {
  --space-sm: .75rem; --space-md: 1.5rem; --space-lg: 3rem;
  --radius-control: .75rem; --radius-card: 1.5rem;
  --error-ink: #6f1b13; --error-surface: #fff0ed; --success-surface: #e8f4ec;
}
body { overflow-x: visible; }
main, section, article, form, fieldset, .vt-hero-copy, .vt-program-details { min-width: 0; }
p, li, h1, h2, h3, h4, a, code { overflow-wrap: anywhere; }
img, svg { max-width: 100%; }
.vt-shell { max-width: 70rem; margin: auto; padding: 3rem 5vw; }
.vt-lede { color: var(--muted); line-height: 1.7; }
.vt-course-panel { min-height: 36.875rem; }
.vt-reflection { transform: none; }
.vt-course-label { flex-wrap: wrap; text-align: center; }
.vt-course-art { pointer-events: none; }
.vt-footer nav, .vt-footer-top { min-width: 0; }
.vt-footer nav a, .vt-nav a, button { min-height: 2.75rem; align-items: center; }
.vt-nav { gap: .75rem 1.25rem; }
.vt-footer-top > p { min-width: 0; }
.vt-nav a, .vt-button { white-space: normal; }
button, input, select, textarea { max-width: 100%; font: inherit; }
:focus-visible { outline: var(--vt-border-focus, 3px) solid var(--vt-color-focus-on-light, #14261f); outline-offset: var(--vt-focus-offset, 3px); }
.vt-programs :focus-visible, .vt-course-panel :focus-visible { outline-color: var(--vt-color-focus, #f2b84b); }
.vt-skip { top: -20rem; }
.vt-skip:focus { top: 1rem; }
.vt-menu { display: none; }
/* A static page always has usable navigation. Collapse only after CSR starts. */
.vt-header .vt-nav { display: flex; }
.vt-enhancement { padding: .5rem 5vw; color: var(--muted); }
.error { color: var(--error-ink); background: var(--error-surface); }
.account-card > *, .account-card form > * { max-width: 100%; }
.account-card button, .account-card a { min-height: 44px; min-width: 44px; }
.account-card a { display: inline-flex; align-items: center; }
.account-card button { white-space: normal; margin: .5rem .5rem .5rem 0; }
.account-card .actions { flex-wrap: wrap; }
.account-card label:not(.option) { display: block; margin-block: .75rem .5rem; }
.account-card .share-path { overflow-wrap: anywhere; word-break: break-word; }
.account-card .success { background: var(--success-surface); padding: 1rem; border-radius: var(--radius-control); }
.account-card ul { padding-inline-start: 1.25rem; }
@media (max-width: 760px) {
  .account-shell { padding-inline: .75rem; }
  .account-card { padding: 1rem; }
  .account-shell .intro h1 { font-size: clamp(1.5rem, 10vw, 2.65rem); }
}
@media (max-width: 1000px) {
  :root[data-varsitee-ready="true"] .vt-menu { display: inline-flex; }
  .vt-header .brand { max-width: 100%; }
  .vt-wordmark { font-size: clamp(1.25rem, 5vw, 1.85rem); }
  .vt-header > .vt-button { max-width: 100%; }
}
@media (max-width: 1000px) {
  :root[data-varsitee-ready="true"] .vt-header .vt-nav[data-open="false"] { display: none; }
}
@media (max-width: 760px) {
  .vt-hero h1 { font-size: clamp(2.25rem, 12vw, 5.5rem); }
  .vt-course-panel { padding-inline: 1rem; }
  .vt-footer nav { gap: .5rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
