:root {
  --ivory: #efe7d8;
  --ivory-deep: #e6dcc7;
  --bush: #33402c;
  --bush-deep: #232c1e;
  --gold: #cf9b2e;
  --rust: #a15a35;
  --ink: #2a2620;
  --ink-soft: #55503f;
  --card-bg: #f7f2e6;
}

* { box-sizing: border-box; }

html, body {
  margin: 0; padding: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: 'Work Sans', -apple-system, sans-serif;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .display {
  font-family: 'Fraunces', Georgia, serif;
  font-weight: 500;
  letter-spacing: 0.005em;
}

.wrap { max-width: 980px; margin: 0 auto; padding: 0 28px; }

.btn {
  display: inline-block;
  background: var(--rust);
  color: #fbf5e6;
  text-decoration: none;
  border: none;
  cursor: pointer;
  padding: 14px 30px;
  border-radius: 3px;
  font-size: 1rem;
  font-family: 'Work Sans', -apple-system, sans-serif;
  letter-spacing: 0.01em;
  transition: background 0.2s ease;
}
.btn:hover { background: #8a4a29; }
.btn:disabled { opacity: 0.6; cursor: default; }

.back-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--ink-soft);
  text-decoration: none;
  font-size: 0.92rem;
}
.back-link:hover { color: var(--rust); }

footer {
  padding: 32px 28px 40px;
  text-align: center;
  color: var(--ink-soft);
  font-size: 0.88rem;
  background: var(--ivory-deep);
}

@media (max-width: 640px) {
  .wrap { padding: 0 20px; }
}
