:root {
  --apex-ink: #0d0f12;
  --apex-panel: #161a20;
  --apex-line: #2a3038;
  --apex-cream: #f3efe6;
  --apex-muted: rgba(243, 239, 230, 0.72);
  --apex-gold: #c9a227;
  --apex-font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
  --apex-font-body: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

.apex-body,
body.apex-body {
  margin: 0;
  background:
    radial-gradient(1200px 600px at 10% -10%, rgba(201, 162, 39, 0.12), transparent 55%),
    radial-gradient(900px 500px at 100% 0%, rgba(80, 110, 160, 0.14), transparent 50%),
    var(--apex-ink);
  color: var(--apex-cream);
  font-family: var(--apex-font-body);
  line-height: 1.55;
}

.apex-body a { color: var(--apex-gold); }
.apex-body h1, .apex-body h2, .apex-body h3 {
  font-family: var(--apex-font-display);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.apex-header {
  border-bottom: 1px solid var(--apex-line);
  backdrop-filter: blur(8px);
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(13, 15, 18, 0.88);
}
.apex-header__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 0.9rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
.apex-brand a {
  font-family: var(--apex-font-display);
  font-size: 1.35rem;
  color: var(--apex-cream);
  text-decoration: none;
  letter-spacing: -0.03em;
}
.apex-header__nav { flex: 1; }
.apex-nav {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.1rem;
}
.apex-nav a {
  color: var(--apex-muted);
  text-decoration: none;
  font-size: 0.95rem;
}
.apex-nav a:hover { color: var(--apex-cream); }
.apex-header__cta { margin-left: auto; white-space: nowrap; }

.apex-btn {
  display: inline-block;
  padding: 0.75rem 1.2rem;
  background: var(--apex-gold);
  color: var(--apex-ink) !important;
  text-decoration: none;
  border: 0;
  font-weight: 650;
  cursor: pointer;
}
.apex-btn--ghost {
  background: transparent;
  color: var(--apex-cream) !important;
  border: 1px solid var(--apex-line);
  margin-left: 0.5rem;
}

.apex-main { max-width: 1120px; margin: 0 auto; padding: 0 1.25rem 4rem; }
.apex-hero {
  padding: min(18vh, 8rem) 0 3rem;
  min-height: 58vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.apex-hero__brand {
  font-family: var(--apex-font-display);
  font-size: clamp(2.8rem, 8vw, 5.5rem);
  margin: 0 0 0.75rem;
  letter-spacing: -0.04em;
}
.apex-hero__title {
  font-size: clamp(1.4rem, 3vw, 2rem);
  max-width: 18ch;
  margin: 0 0 1rem;
  color: var(--apex-cream);
}
.apex-hero__lead {
  max-width: 36rem;
  color: var(--apex-muted);
  font-size: 1.1rem;
  margin: 0 0 1.5rem;
}
.apex-section { padding: 2.5rem 0; border-top: 1px solid var(--apex-line); }
.apex-section__title { margin: 0 0 1.25rem; font-size: 1.75rem; }

.apex-page__header { padding: 3rem 0 1rem; }
.apex-page__title { font-size: clamp(2rem, 4vw, 3rem); margin: 0; }
.apex-page__content { max-width: 46rem; }
.apex-page__content .apex-winners,
.apex-page__content .apex-categories,
.apex-page__content .apex-enter { max-width: none; }

.apex-footer {
  border-top: 1px solid var(--apex-line);
  margin-top: 2rem;
  background: rgba(0,0,0,.25);
}
.apex-footer__inner {
  max-width: 1120px;
  margin: 0 auto;
  padding: 2.5rem 1.25rem 3rem;
}
.apex-footer__brand {
  font-family: var(--apex-font-display);
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
}
.apex-footer__blurb { color: var(--apex-muted); max-width: 32rem; }
.apex-nav--footer { margin: 1.25rem 0; }
.apex-footer__email a { color: var(--apex-muted); }

.screen-reader-text {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  border: 0;
}

@media (max-width: 800px) {
  .apex-header__inner { flex-wrap: wrap; }
  .apex-header__nav { order: 3; width: 100%; }
  .apex-header__cta { margin-left: 0; }
}
