@font-face {
  font-family: 'Harvey Serif';
  src: url('/fonts/harvey-serif/subset-HarveySerif-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Harvey Serif';
  src: url('/fonts/harvey-serif/subset-HarveySerif-Italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Harvey Sans';
  src: url('/fonts/harvey-sans/HarveySansDiatypeVariable.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* Brand tokens from harvey.ai globals.css */
:root {
  --bg: #0f0e0d; /* color-gray-950-ink */
  --fg: #fafaf9; /* color-gray-50-ivory */
  --font-serif: 'Harvey Serif', Georgia, 'Times New Roman', serif;
  --font-sans: 'Harvey Sans', system-ui, -apple-system, Segoe UI, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: var(--bg);
  color: var(--fg);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

main {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 2rem;
  gap: 4rem;
}

/* Between brand-site text-heading-2 and text-heading-3: 32 → 40 → 44 → 48px. */
.wordmark {
  font-family: var(--font-serif);
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.05;
  letter-spacing: -0.01em;
  text-wrap: pretty;
  margin: 0;
  font-feature-settings: 'liga' on, 'calt' on, 'dlig' 1;
}

@media (min-width: 1025px) {
  .wordmark { font-size: 2.5rem; }
}
@media (min-width: 1445px) {
  .wordmark { font-size: 2.75rem; }
}
@media (min-width: 1730px) {
  .wordmark { font-size: 3rem; }
}

/* Matches brand-site text-body-1: 20px / line-height 1.3. */
.message {
  font-family: var(--font-sans);
  font-size: 1.25rem;
  line-height: 1.3;
  color: var(--fg);
  margin: 0;
  max-width: 600px;
  text-wrap: balance;
}
