/* Shared page header/footer. The homepage keeps its original sparse layout. */
.site-chrome {
  --tm-ink: #202b38;
  --tm-muted: #65717c;
  --tm-blue: #123c78;
  --tm-blue-deep: #0a2a57;
  --tm-card: #fff;
  --tm-rule: #d9d9d2;
  --tm-signal: #e8b947;
  margin: 0;
  min-height: 100vh;
}
.site-chrome .tm-shell {
  box-sizing: border-box;
  width: min(1260px, calc(100% - 48px));
  min-height: 100vh;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}
.site-chrome .tm-header,
.site-chrome .tm-footer {
  box-sizing: border-box;
  background: #fff;
  color: var(--tm-ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
}
.site-chrome .tm-header *,
.site-chrome .tm-footer * { box-sizing: border-box; }
.site-chrome .tm-skip-link {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 16px;
  transform: translateY(-200%);
  padding: 12px;
  background: #fff;
  color: #333;
  font: 16px/1.5 Arial, Helvetica, sans-serif;
}
.site-chrome .tm-skip-link:focus { transform: translateY(0); }
.site-chrome a:focus-visible { outline: 3px solid var(--tm-blue); outline-offset: 3px; }
.site-chrome .tm-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 24px 0 20px;
  border-bottom: 1px solid var(--tm-rule);
}
.site-chrome .tm-wordmark img { display: block; width: min(350px, 80vw); height: auto; max-width: 100%; border: 0; }
.site-chrome .tm-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 30px; align-items: center; }
.site-chrome .tm-nav a {
  color: #333;
  padding: 6px 2px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 160ms ease, transform 160ms ease;
}
.site-chrome .tm-nav a:hover { color: var(--tm-blue); transform: translateY(-1px); }
.site-chrome .tm-nav a[aria-current] { color: var(--tm-blue); font-weight: 700; }
.site-chrome .tm-content {
  position: relative;
  flex: 1;
  min-width: 0;
  padding: 28px 0 52px;
  overflow-x: auto;
}
.site-chrome .tm-related-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px 24px;
  margin: 28px 0;
  font: bold 14px/1.5 Arial, Helvetica, sans-serif;
}
.site-chrome .tm-related-links a { color: var(--tm-blue); text-underline-offset: 3px; }
.site-chrome .tm-footer { padding: 30px 0 34px; border-top: 1px solid var(--tm-rule); }
.site-chrome .tm-footer-top { display: flex; flex-direction: column; justify-content: center; gap: 20px; align-items: center; text-align: center; }
.site-chrome .tm-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; }
.site-chrome .tm-footer-links a { color: #333; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.site-chrome .tm-footer-links a:hover { color: var(--tm-blue); text-underline-offset: 3px; }
.site-chrome .tm-email { color: var(--tm-blue) !important; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.site-chrome .tm-email:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 800px) {
  .site-chrome .tm-nav { gap: 8px 20px; }
  .site-chrome .tm-nav a { font-size: 14px; }
}
@media (max-width: 560px) {
  .site-chrome .tm-shell { width: calc(100% - 32px); }
  .site-chrome .tm-header { padding: 18px 0 14px; }
  .site-chrome .tm-nav { width: 100%; gap: 4px 18px; }
  .site-chrome .tm-nav a { white-space: nowrap; font-size: 14px; }
  .site-chrome .tm-footer-top { gap: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-chrome .tm-nav a { transition: none; }
}
