:root {
  --bg: #0e1113;
  --ink: #e8e4dc;
  --dim: #8a867e;
  --line: #2a2e31;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html, body { height: 100%; }
body {
  background: var(--bg);
  color: var(--ink);
  font-family: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  -webkit-font-smoothing: antialiased;
}
main { padding: 2rem; }
.pulse {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--ink);
  margin: 0 auto 3rem;
  animation: breathe 6s ease-in-out infinite;
}
@keyframes breathe {
  0%, 100% { transform: scale(1); opacity: .35; }
  50%      { transform: scale(2.2); opacity: .9; }
}
@media (prefers-reduced-motion: reduce) {
  .pulse { animation: none; opacity: .6; }
}
h1 {
  font-size: clamp(1.9rem, 5vw, 3.2rem);
  font-weight: 400;
  letter-spacing: .04em;
}
.rule {
  width: 48px; height: 1px;
  background: var(--line);
  margin: 2rem auto;
}
p, footer a {
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--dim);
}
p { font-size: .95rem; }
footer {
  position: fixed;
  left: 0; right: 0;
  bottom: 1.5rem;
}
footer a {
  font-size: .7rem;
  text-decoration: none;
}
footer a:hover, footer a:focus-visible { color: var(--ink); }
