/* Luvolare - one column, plain text. Palette shared with quartic-it. */

:root {
  --paper:     #fbfaf7;
  --ink:       #0f1b2e;
  --ink-soft:  #3c4c63;
  --ink-muted: #5a6b80;
  --blue:      #2f6fd0; /* passes 4.5:1 on paper, safe for text */
  --rule:      #e2e0da;

  --font-display: 'Archivo', sans-serif;
  --font-body:    'IBM Plex Sans', sans-serif;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink-soft);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
}

.page {
  max-width: 600px;
  margin: 0 auto;
  padding: clamp(64px, 14vh, 144px) 16px 48px;
}

h1, h2 {
  font-family: var(--font-display);
  color: var(--ink);
  letter-spacing: -0.02em;
}

h1 {
  font-size: clamp(2.5rem, 8vw, 3.5rem);
  font-weight: 700;
  line-height: 1;
}

.accent {
  color: var(--blue);
}

.sub {
  margin: 12px 0 40px;
  color: var(--ink-muted);
}

h2 {
  font-size: 1.1rem;
  font-weight: 600;
  margin: 40px 0 8px;
}

a {
  color: var(--blue);
  text-underline-offset: 3px;
}

a:hover {
  color: var(--ink);
}

a:focus-visible {
  outline: 2px solid var(--blue);
  outline-offset: 3px;
}

footer {
  margin-top: 72px;
  padding-top: 16px;
  border-top: 1px solid var(--rule);
  font-size: 0.875rem;
  color: var(--ink-muted);
}
