/* Server-rendered pages: school, program, major, guides, methodology. */
.page { padding: 20px 16px 56px; display: grid; gap: 20px; }
.crumbs { font-size: 13px; color: var(--muted); }
.crumbs a { color: var(--muted); }
.page-head { display: grid; gap: 8px; }
.page-head h1 { font-size: clamp(28px, 4.4vw, 44px); line-height: 1.08; max-width: 26ch; }
.badge-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0; }
.facts { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin: 0; }
.facts > div { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 14px 16px; display: grid; gap: 2px; align-content: start; }
.facts dt { font-size: 13px; color: var(--muted); font-weight: 500; }
.facts dd { margin: 0; font: 600 20px/1.25 var(--serif); }
.facts dd.src { font: 400 11px/1.4 var(--sans); color: var(--muted); }
.cta-row { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.honesty-box { background: var(--brand-soft); border-radius: var(--radius); padding: 14px 16px; font-size: 14px; }
.honesty-box p { margin: 0; }
.link-list h2, .table-card h2 { font-size: 22px; margin-bottom: 8px; }
.link-list ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 2px; }
.link-list ul.cols { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); column-gap: 24px; }
.link-list li { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.link-list li span { color: var(--muted); font-size: 13px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.table-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px; }
.table-scroll { overflow-x: auto; }
table.simple { border-collapse: collapse; width: 100%; font-size: 14px; font-variant-numeric: tabular-nums; }
table.simple th, table.simple td { text-align: left; padding: 8px 10px; border-bottom: 1px solid var(--line); }
table.simple td:not(:first-child), table.simple thead th:not(:first-child) { text-align: right; white-space: nowrap; }
.prose { max-width: 75ch; display: grid; gap: 12px; }
.prose h2 { font-size: 24px; margin-top: 12px; }
.prose p, .prose li { margin: 0; }
.prose ul { display: grid; gap: 6px; }
@media (max-width: 720px) { .page { padding-top: 12px; } .facts dd { font-size: 18px; } }

/* Tile-map heat maps: copied from UsedCarWise web/css/pages.css */
.pg-scroll { overflow-x: auto; }
.pg-table, .pg-years { width: 100%; border-collapse: collapse; font-size: 15px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-sm); overflow: hidden; }
.pg-table th, .pg-table td, .pg-years th, .pg-years td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--line); }
.pg-table thead th, .pg-years thead th { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); background: var(--surface-2); }
.pg-table .num { font-variant-numeric: tabular-nums; }
.seo-page [data-shade="-2"] { background: var(--heat-b2); }
.seo-page [data-shade="-1"] { background: var(--heat-b1); }
.seo-page [data-shade="0"] { background: var(--heat-0); }
.seo-page [data-shade="1"] { background: var(--heat-r1); }
.seo-page [data-shade="2"] { background: var(--heat-r2); }
.sm { margin: 0; display: grid; gap: 10px; }
.sm-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(11, minmax(0, 1fr)); gap: 3px; max-width: 720px; }
.sm-grid li { aspect-ratio: 1; display: grid; place-content: center; text-align: center; border-radius: 6px; background: var(--heat-0); line-height: 1.1; min-width: 0; }
.sm-grid b { font-size: 13px; }
.sm-grid span { font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.sm-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 3px; margin: 0; font-size: 12px; font-weight: 600; }
.sm-legend > span:first-child { margin-right: 4px; }
.sm-legend > span:last-child { margin-left: 4px; }
.sm-legend i { display: inline-block; width: 22px; height: 12px; border-radius: 3px; }
.sm-legend-cat { gap: 6px 14px; }
.sm-legend-cat span { display: inline-flex; align-items: center; gap: 6px; margin: 0 !important; }
.seo-page [data-cat="a"] { background: #b7d3f6; }
.seo-page [data-cat="b"] { background: #f9d58b; }
.seo-page [data-cat="c"] { background: #c9b8f0; }
.seo-page [data-cat="d"] { background: var(--heat-0); }
.sm-table summary { cursor: pointer; font-size: 14px; font-weight: 600; color: var(--brand); }
.sm-table .pg-table { margin-top: 8px; }
@media (max-width: 640px) {
  .sm-grid { gap: 2px; }
  .sm-grid li { border-radius: 4px; }
  .sm-grid b { font-size: 10px; }
  .sm-grid span { display: none; }   /* too small to read; the list below has every value */
}
@media (forced-colors: active) { .sm-grid li { border: 1px solid CanvasText; } }
/* Sequential blue for amounts with no good or bad end (lower -> higher). */
.seo-page [data-seq="1"] { background: #86b6ef; }
.seo-page [data-seq="2"] { background: #5598e7; }
.seo-page [data-seq="3"] { background: #2a78d6; color: #fff; }
.seo-page [data-seq="4"] { background: #1c5cab; color: #fff; }
.seo-page [data-seq="5"] { background: #104281; color: #fff; }
.link-list li { display: grid; grid-template-columns: 1fr auto; align-items: baseline; }
.link-list .earn-bar { grid-column: 1 / -1; justify-self: start; height: 4px; border-radius: 0 4px 4px 0; background: color-mix(in srgb, var(--brand) 55%, var(--surface)); margin-top: 2px; }
.cta-row .btn { white-space: normal; text-align: center; padding-top: 8px; padding-bottom: 8px; max-width: 100%; }
