* { box-sizing: border-box; }
body { margin:0; font-family: system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif; line-height:1.55; color:#222; background:#fafafa; }
a { color:#0a64a0; text-decoration:none; }
a:hover { text-decoration:underline; }

.site-nav { background:#111; color:#fff; position:sticky; top:0; z-index:100; }
.site-nav .nav-inner { max-width:1080px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; padding:.75rem 1rem; }
.site-nav .brand { color:#fff; font-weight:600; font-size:1.1rem; }
.site-nav ul.nav-links { list-style:none; margin:0; padding:0; display:flex; gap:1.25rem; }
.site-nav li.nav-item { position:relative; }
.site-nav li.nav-item > a { color:#ddd; padding:.35rem 0; display:inline-block; }
.site-nav li.nav-item.active > a, .site-nav li.nav-item > a:hover { color:#fff; }
.site-nav .dropdown { display:none; position:absolute; top:100%; left:0; background:#1e1e1e; padding:.5rem 0; list-style:none; min-width:180px; border:1px solid #333; border-radius:4px; }
.site-nav li.nav-item:hover .dropdown { display:block; }
.site-nav .dropdown li a { display:block; padding:.4rem .9rem; color:#ddd; }
.site-nav .dropdown li a:hover { background:#2c2c2c; color:#fff; }

.container { max-width:1080px; margin:2rem auto 3rem; padding:0 1rem; }
main h1 { margin-top:0; }

.tile-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); }
.tile { background:#fff; border:1px solid #e3e3e3; border-radius:8px; padding:1rem; box-shadow:0 1px 2px rgba(0,0,0,.06); transition:.2s box-shadow, .2s transform; }
.tile:hover { box-shadow:0 4px 14px rgba(0,0,0,.12); transform:translateY(-2px); }
.tile img { max-width:100%; border-radius:6px; display:block; margin-bottom:.5rem; }

.gallery-grid { columns:4 240px; column-gap:1rem; }
.gallery-item { break-inside:avoid; margin:0 0 1rem; position:relative; }
.gallery-item img { width:100%; border-radius:8px; display:block; }
.gallery-item span { position:absolute; left:8px; bottom:8px; background:rgba(0,0,0,.55); color:#fff; padding:2px 6px; font-size:.75rem; border-radius:4px; }

@media (max-width: 800px) {
  .gallery-grid { columns:3 180px; }
}
@media (max-width: 500px) {
  .gallery-grid { columns:2 140px; }
  .site-nav .nav-inner { flex-wrap:wrap; }
}

.video-grid { display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); }
.video { position:relative; padding-top:56.25%; overflow:hidden; border-radius:12px; box-shadow:0 2px 8px rgba(0,0,0,.12); background:#000; }
.video iframe { position:absolute; top:0; left:0; width:100%; height:100%; border:0; }

.leaderboard-table { width:100%; border-collapse:collapse; background:#fff; margin:1rem 0 2rem; }
.leaderboard-table th, .leaderboard-table td { padding:.6rem .75rem; border-bottom:1px solid #e5e5e5; text-align:left; }
.leaderboard-table th { background:#f5f5f5; font-weight:600; }
.leaderboard-table tbody tr:hover { background:#f9fafb; }

.hof-grid { display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
.hof-card { background:#fff; border:1px solid #e2e2e2; border-radius:10px; padding:1rem; text-align:center; box-shadow:0 1px 2px rgba(0,0,0,.05); }
.hof-card img { width:80px; height:80px; border-radius:50%; object-fit:cover; margin-bottom:.5rem; }

.site-footer { text-align:center; padding:2rem 1rem; background:#111; color:#bbb; }
.site-footer a { color:#bbb; }

.muted { color:#667; font-size:.9rem; }
