:root {
  --field: #14161a;
  --chalk: #e4e2da;
  --signal: #d6ff4a;
  --line: #2a2e28;
  --muted: #8e9088;
  --display: "Unbounded", sans-serif;
  --text: "Commissioner", sans-serif;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
  background: var(--field);
  color: var(--chalk);
  font-family: var(--text);
}

body { min-height: 100vh; }

.sky {
  position: fixed;
  inset: 0 0 auto 0;
  height: 46vh;
  background:
    linear-gradient(to bottom, rgba(20, 22, 26, 0.2), var(--field) 92%),
    url("./field.png") center 42% / cover no-repeat;
  animation: drift 16s ease-out both;
  pointer-events: none;
}

.stage {
  position: relative;
  z-index: 1;
  width: min(880px, 100%);
  margin: 0 auto;
  min-height: 100vh;
  padding: clamp(20px, 4vw, 48px) clamp(16px, 4vw, 40px) 64px;
}

.brand {
  margin: clamp(28px, 8vh, 88px) 0 0;
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(2.4rem, 8vw, 4.6rem);
  line-height: 0.9;
  letter-spacing: -0.045em;
  color: var(--signal);
  overflow-wrap: anywhere;
  animation: settle 0.7s ease both;
}

.lead {
  margin: 16px 0 32px;
  max-width: 34rem;
  font-size: clamp(1rem, 2.4vw, 1.15rem);
  line-height: 1.4;
}

.shelf {
  list-style: none;
  margin: 0;
  padding: 0;
}

.shelf a {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 6px;
  padding: 18px 0;
  border-top: 1px solid var(--line);
  color: inherit;
  text-decoration: none;
  animation: settle 0.8s 0.12s ease both;
}

.shelf a:last-child { border-bottom: 1px solid var(--line); }

.name {
  font-family: var(--display);
  font-weight: 500;
  font-size: 1.7rem;
  letter-spacing: -0.03em;
}

.about {
  grid-column: 1 / -1;
  max-width: 38rem;
  color: var(--muted);
  font-size: clamp(0.95rem, 2.2vw, 1.05rem);
  line-height: 1.4;
}

.go {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  color: var(--signal);
  font-size: 0.95rem;
}

.shelf a:hover .name,
.shelf a:focus-visible .name { color: var(--signal); }

.next {
  margin: 28px 0 0;
  color: var(--muted);
  font-size: 0.95rem;
}

@keyframes drift {
  from { transform: scale(1.06); }
  to { transform: scale(1); }
}

@keyframes settle {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

@media (min-width: 800px) {
  .sky { height: 38vh; }
  .shelf a { padding: 22px 0; }
}

@media (max-width: 380px) {
  .brand { font-size: clamp(2rem, 11vw, 2.5rem); }
  .go { font-size: 0.88rem; }
}

@media (prefers-reduced-motion: reduce) {
  .sky, .brand, .shelf a { animation: none; }
}
