/* ── Manifesto landing page ─────────────────────────────────────────────────
   Stone, ink, and gold. Serif throughout — this page is a document, not an app. */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #14110c;
  background-image: radial-gradient(ellipse 80% 50% at 50% -10%, #2a2214 0%, transparent 60%);
  color: #e6dcc4;
  font: 17px/1.75 'Iowan Old Style', 'Palatino Linotype', Palatino, Georgia, serif;
}
a { color: #d4a938; }

/* Hero */
.hero { text-align: center; padding: 72px 20px 28px; }
.hero .seal {
  font-size: 72px; line-height: 1; color: #d4a938;
  text-shadow: 0 0 42px rgba(212, 169, 56, .35);
}
.hero h1 {
  margin: 18px 0 6px;
  font-size: clamp(40px, 9vw, 76px);
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.05;
  color: #f2ead2;
}
.hero .sub { margin: 0; font-style: italic; color: #a99a72; font-size: 18px; }
.hero .kicker {
  margin: 26px 0 0;
  letter-spacing: .5em;
  text-transform: uppercase;
  font-size: 12px;
  color: #d4a938;
}

/* Manifesto body */
.manifesto { max-width: 660px; margin: 0 auto; padding: 24px 22px 8px; }
.manifesto section { margin: 0 0 44px; }
.manifesto h2 {
  font-size: 22px;
  font-weight: 600;
  color: #f2ead2;
  margin: 0 0 10px;
  line-height: 1.35;
}
.manifesto .num {
  display: block;
  font-size: 14px;
  letter-spacing: .35em;
  color: #d4a938;
  margin-bottom: 6px;
}
.manifesto p { margin: 0 0 14px; }
.manifesto em { color: #f2ead2; }
.signature {
  text-align: right;
  font-size: 22px;
  letter-spacing: .18em;
  color: #f2ead2;
  margin: 56px 0 40px;
}
.signature .year {
  display: block;
  font-size: 13px;
  letter-spacing: .4em;
  color: #a99a72;
}

/* Section shells */
.works, .peek, .waitlist, .follow { max-width: 860px; margin: 0 auto; padding: 34px 22px; }
.works h3, .peek h3, .waitlist h3, .follow h3 {
  text-align: center;
  font-size: 15px;
  letter-spacing: .35em;
  text-transform: uppercase;
  color: #d4a938;
  margin: 0 0 24px;
}
.works { border-top: 1px solid #2e2818; }

/* Feature cards */
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.cards article {
  background: #1b1710;
  border: 1px solid #2e2818;
  border-radius: 10px;
  padding: 18px 18px 8px;
}
.cards h4 { margin: 0 0 8px; color: #f2ead2; font-size: 17px; }
.cards p { margin: 0 0 12px; font-size: 15px; line-height: 1.6; color: #c9bda0; }

/* Forum peek */
.peek { border-top: 1px solid #2e2818; }
.peeknote { text-align: center; margin: -12px 0 20px; color: #a99a72; font-size: 15px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 20px; }
.chips span {
  border: 1px solid #3a3220;
  border-radius: 999px;
  padding: 3px 12px;
  font-size: 13px;
  color: #c9bda0;
}
.chips b { color: #d4a938; font-weight: 600; }
.threads { list-style: none; margin: 0; padding: 0; }
.threads li {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  align-items: baseline;
  border-bottom: 1px solid #241f14;
  padding: 12px 4px;
}
.threads .score { min-width: 2.4em; text-align: right; color: #d4a938; font-weight: 600; }
.threads .title { color: #ecdfc0; overflow-wrap: anywhere; }
.threads .meta { color: #948765; font-size: 13px; }
.threads a { color: inherit; text-decoration: none; min-width: 0; }
.threads a:hover .title { color: #d4a938; }

/* Waitlist */
.waitlist { border-top: 1px solid #2e2818; text-align: center; padding-bottom: 60px; }
.waitlist form { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.waitlist input {
  background: #1b1710;
  border: 1px solid #3a3220;
  border-radius: 8px;
  color: #f2ead2;
  font: inherit;
  padding: 10px 14px;
  min-width: min(320px, 80vw);
}
.waitlist input:focus { outline: 1px solid #d4a938; }
.waitlist button {
  background: #d4a938;
  color: #241d0a;
  border: 0;
  border-radius: 8px;
  font: 600 16px/1 inherit;
  font-family: inherit;
  padding: 12px 20px;
  cursor: pointer;
}
.waitlist button:hover { background: #e6bc45; }
.waitlist button:disabled { opacity: .55; cursor: default; }
#wl-msg { min-height: 1.5em; color: #d4a938; margin: 14px 0 0; }

footer {
  text-align: center;
  padding: 26px 20px 40px;
  color: #948765;
  font-size: 13px;
  letter-spacing: .12em;
  border-top: 1px solid #241f14;
}

.follow { border-top: 1px solid #2e2818; text-align: center; }
.follow .links { display: flex; flex-direction: column; gap: 10px; align-items: center; }
.follow a {
  color: #f2ead2; text-decoration: none; border: 1px solid #3a3220; border-radius: 8px;
  padding: 10px 16px; background: #1b1710; width: min(420px, 100%); box-sizing: border-box;
}
.follow a:hover { border-color: #d4a938; }
