/* TheologyBrain brand: indigo #3452eb, slate neutrals. AA-safe values only
   (brand README bans #5275f8 on dark and #94a3b8 on light). */
:root {
  --indigo: #3452eb;
  --ink: #0f172a;
  --muted: #475569;
  --paper: #ffffff;
  --rule: #e2e8f0;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --indigo: #8fa2ff;
    --ink: #e2e8f0;
    --muted: #cbd5e1;
    --paper: #0e1018;
    --rule: #1e293b;
  }
}

* { box-sizing: border-box; }

html { font-size: 100%; }

body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  color: var(--ink);
  font: 1.0625rem/1.6 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

.skip {
  position: absolute;
  left: -999px;
}
.skip:focus {
  left: 1rem;
  top: 1rem;
  padding: .5rem 1rem;
  background: var(--indigo);
  color: #fff;
}

.top, main, .foot {
  width: 100%;
  max-width: 40rem;
  margin: 0 auto;
  padding: 0 1.5rem;
}

.top { padding-top: 3rem; }
.top img { width: 7rem; height: auto; }

main { flex: 1; padding-top: 2rem; padding-bottom: 3rem; }

h1 {
  font-size: clamp(2rem, 6vw, 3rem);
  line-height: 1.15;
  margin: 0 0 1rem;
  color: var(--indigo);
}

.lead { font-size: 1.25rem; color: var(--muted); margin: 0 0 2rem; }

.actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 0; }

.button {
  display: inline-block;
  padding: .75rem 1.5rem;
  border-radius: 999px;
  background: var(--indigo);
  color: var(--paper);
  font-weight: 600;
  text-decoration: none;
}
.button:hover { text-decoration: underline; }
.button:focus-visible { outline: 3px solid var(--indigo); outline-offset: 3px; }

.soon {
  display: inline-block;
  margin: 0;
  padding: .4rem 1rem;
  border: 1px solid var(--indigo);
  border-radius: 999px;
  color: var(--indigo);
  font-weight: 600;
}

.foot {
  border-top: 1px solid var(--rule);
  padding-top: 1.5rem;
  padding-bottom: 2rem;
  color: var(--muted);
  font-size: .875rem;
}

a { color: var(--indigo); }
