/* The plain-HTML pages written by scripts/build_pages.mjs (/schools, /schools/<school>). Same look as the app. */
:root {
  --serif: "Iowan Old Style", Palatino, "Palatino Linotype", Georgia, serif;
  --sans: ui-sans-serif, system-ui, sans-serif;
  color: #1c1915;
  background: #f3efe6;
  font-family: var(--serif);
  line-height: 1.45;
}
* { box-sizing: border-box; }
body { margin: 0; }
a { color: #2456a6; }
:focus-visible { outline: 3px solid #2456a6; outline-offset: 2px; }

.top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: min(880px, calc(100% - 32px));
  margin: 0 auto;
  padding: 16px 0;
  font-family: var(--sans);
  font-size: 14px;
}
.brand { display: inline-flex; align-items: center; gap: 12px; color: #1c1915; text-decoration: none; }
.brand span { font-family: var(--serif); font-size: 24px; font-weight: 700; letter-spacing: -0.01em; white-space: nowrap; }
.brand svg { flex: none; }
@media (max-width: 520px) { .brand span { font-size: 18px; } .brand svg { width: 30px; height: 30px; } }
.cta-small {
  padding: 8px 16px;
  border: 1px solid #1c1915;
  border-radius: 999px;
  background: #fffdf8;
  color: #1c1915;
  text-decoration: none;
}

.page { width: min(880px, calc(100% - 32px)); margin: 0 auto; padding: 8px 0 48px; }
.crumbs { font-family: var(--sans); font-size: 13px; color: #6b6256; }
.crumbs a { color: #6b6256; }
.eyebrow {
  margin: 24px 0 8px;
  font-family: var(--sans);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6b6256;
}
h1 { margin: 0; font-size: 32px; line-height: 1.15; font-weight: 560; }
h2 { margin: 40px 0 16px; font-size: 22px; }
.lede { margin: 16px 0; font-size: 18px; }
.muted { color: #6b6256; font-family: var(--sans); font-size: 14px; }
.label, .coach > span:first-child { font-family: var(--sans); font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: #6b6256; margin-right: 8px; }
.coach { font-size: 17px; }

.cta {
  display: inline-block;
  margin: 8px 0;
  padding: 12px 20px;
  background: #1c1915;
  color: #f3efe6;
  font-family: var(--sans);
  font-size: 15px;
  text-decoration: none;
}

.facts {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 16px 24px;
  margin: 24px 0;
  padding: 16px;
  border: 1px solid #d9d0c2;
  background: #fffdf8;
  font-family: var(--sans);
}
.facts dt { font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: #6b6256; }
.facts dd { margin: 4px 0 0; font-size: 15px; }

.table-wrap { overflow-x: auto; margin: 16px 0; }
table { width: 100%; border-collapse: collapse; font-family: var(--sans); font-size: 14px; }
caption { caption-side: top; text-align: left; padding-bottom: 8px; color: #4e473e; font-size: 13px; }
th, td { padding: 8px; border-bottom: 1px solid #d9d0c2; text-align: left; vertical-align: top; white-space: nowrap; }
thead th { font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: #6b6256; font-weight: 600; }
tbody th { font-weight: 600; }

.divisions { font-family: var(--sans); font-size: 14px; line-height: 2; }
.state h2 { margin-top: 32px; font-size: 20px; }
.list { columns: 2 260px; column-gap: 32px; margin: 0; padding: 0; list-style: none; font-size: 16px; }
.list li { break-inside: avoid; padding: 4px 0; }
.list .muted { font-size: 12px; }

.foot {
  width: min(880px, calc(100% - 32px));
  margin: 0 auto;
  padding: 24px 0 48px;
  border-top: 1px solid #d9d0c2;
  font-family: var(--sans);
  font-size: 13px;
  color: #4e473e;
}
.foot a { color: #4e473e; }
