:root { --maxw: 1100px; }
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height: 1.55;
  color: #111;
  background: #fff;   /* always white */
}

/* Header with centered logo */
.site-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px 16px 8px;
  border-bottom: 1px solid #eee;
}
.logo { width: 160px; height: auto; object-fit: contain; }

/* Layout */
.container { max-width: var(--maxw); margin: 0 auto; padding: 24px 16px 40px; }
h1, h2 { margin: 8px 0 10px; }
.tagline { color: #555; margin: 4px 0 18px; }

/* A to Z banner */
.az-banner {
  display: grid;
  grid-template-columns: repeat(13, 1fr);
  gap: 8px;
  padding: 8px 0 16px;
}
.az {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 0;
  border: 1px solid #ddd;
  border-radius: 10px;
  text-decoration: none;
  color: #111;
  font-weight: 600;
  background: #fafafa;
  cursor: pointer;
  user-select: none;
}
.az:hover { background: #f0f0f0; }
.az:active { transform: translateY(1px); }

/* Breadcrumbs */
.breadcrumbs {
  font-size: .95rem;
  margin: 8px 0 18px;
  color: #333;
}
.breadcrumbs a { color: inherit; text-decoration: none; }
.breadcrumbs .sep { margin: 0 6px; color: #888; }

/* Lists */
.grid-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  gap: 10px;
}
.grid-list li a {
  display: block;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  text-decoration: none;
  color: #111;
  background: #fafafa;
}
.grid-list li a:hover { background: #f0f0f0; }

/* People cards */
.list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
}
.card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 12px;
  background: #fff;
}
.meta { color: #666; font-size: .9rem; }

/* Footer */
.site-footer { border-top: 1px solid #eee; padding: 16px; text-align: center; color: #666; }

/* Responsive */
@media (max-width: 920px) {
  .grid-list { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
}
@media (max-width: 640px) {
  .az-banner { grid-template-columns: repeat(7, 1fr); }
  .grid-list { grid-template-columns: repeat(2, minmax(140px, 1fr)); }
}

/* Dark mode (locked to white background) */
@media (prefers-color-scheme: dark) {
  body { background: #fff; color: #111; }
  .site-header, .site-footer { border-color: #eee; }
  .az, .grid-list li a { border-color: #ddd; background: #fafafa; color: #111; }
  .az:hover, .grid-list li a:hover { background: #f0f0f0; }
  .card { border-color: #ddd; background: #fff; }
  .meta { color: #666; }
}
