:root {
  --goose-grey: #d4d4cf;
  --ink: #1a1a1a;
  --gold: #e6b800;
  --sky: #a8c8e0;
  --paper: #faf7f0;
  --drip-green: #4a9b2c;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  font-family: ui-monospace, "SF Mono", Menlo, monospace;
  background: var(--paper);
  color: var(--ink);
  line-height: 1.6;
}

.hero {
  text-align: center;
  padding: 3rem 1rem 2rem;
  background: linear-gradient(180deg, var(--sky) 0%, var(--paper) 85%);
}

.goosebumps {
  font-family: "Impact", "Arial Black", sans-serif;
  font-size: clamp(3rem, 10vw, 6rem);
  color: var(--drip-green);
  letter-spacing: 0.02em;
  text-shadow:
    2px 2px 0 #111,
    4px 4px 0 #111;
  transform: skew(-2deg, 0);
  margin: 0 0 0.25rem;
  /* the drip */
  filter: drop-shadow(0 4px 0 rgba(74,155,44,0.4));
}

.catchphrase {
  font-family: ui-serif, Georgia, serif;
  font-style: italic;
  font-size: clamp(1.1rem, 3vw, 1.6rem);
  color: var(--ink);
  margin: 0 0 0.4rem;
  text-shadow: 1px 1px 0 rgba(230,184,0,0.35);
}

.ticker {
  font-size: 1rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #555;
  margin: 0 0 2rem;
}

.cta {
  display: inline-block;
  margin-top: 1rem;
  padding: 0.75rem 1.5rem;
  background: var(--gold);
  border: 3px solid var(--ink);
  border-radius: 8px;
  color: var(--ink);
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 0.05em;
  transform: skew(-2deg, 0);
  box-shadow: 4px 4px 0 var(--ink);
  transition: transform 0.1s, box-shadow 0.1s;
}

.cta:hover {
  background: var(--drip-green);
  color: white;
  transform: skew(-2deg, 0) translate(-2px, -2px);
  box-shadow: 6px 6px 0 var(--ink);
}

.logo-slot {
  max-width: 320px;
  margin: 0 auto 2rem;
}

.logo-slot img {
  width: 100%;
  height: auto;
  border: 4px solid var(--ink);
  border-radius: 8px;
  background: white;
}

.tagline {
  max-width: 40rem;
  margin: 0 auto;
  font-size: 1.15rem;
}

main {
  max-width: 42rem;
  margin: 0 auto;
  padding: 2rem 1rem;
}

section {
  margin-bottom: 3rem;
}

h2 {
  font-size: 1.5rem;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 0.25rem;
  margin-top: 0;
}

code {
  background: #eee;
  padding: 0.1rem 0.35rem;
  border-radius: 3px;
  font-size: 0.95em;
}

ol, ul { padding-left: 1.5rem; }

.glossary dt {
  font-weight: bold;
  margin-top: 0.5rem;
}

.glossary dd {
  margin: 0 0 0 1.5rem;
  color: #333;
}

.nongoals ul {
  list-style: "❌ ";
}

footer {
  text-align: center;
  padding: 2rem 1rem 3rem;
  color: #666;
  font-size: 0.9rem;
  border-top: 1px dashed #999;
}

.honk {
  font-weight: bold;
  color: var(--gold);
  text-shadow: 1px 1px 0 var(--ink);
  letter-spacing: 0.1em;
}

a { color: var(--drip-green); }
a:hover { background: var(--drip-green); color: white; }
