:root {
  --cream: #fefcf8;
  --delft-deep: #1e3a5f;
  --delft-mid: #4a7ba6;
  --terracotta: #e8a87c;
  --ink: #2c2c2c;
  --font-serif: Georgia, "Times New Roman", Cambria, serif;
  --font-sans: Arial, Helvetica, "Liberation Sans", sans-serif;
}

* { box-sizing: border-box; }

html { color-scheme: light; }

body {
  margin: 0;
  min-height: 100svh;
  display: grid;
  place-items: center;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--font-sans);
  font-size: clamp(1.0625rem, 1rem + 0.3vw, 1.1875rem);
  line-height: 1.5;
  text-align: center;
  padding: clamp(1.5rem, 4vw, 3rem);
}

main {
  max-width: 34rem;
}

.kicker {
  display: block;
  font-size: clamp(0.8rem, 0.7rem + 0.4vw, 0.95rem);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--delft-mid);
  margin-bottom: 1rem;
}

h1 {
  font-family: var(--font-serif);
  font-weight: 600;
  color: var(--delft-deep);
  font-size: clamp(2.6rem, 2rem + 4vw, 4.5rem);
  line-height: 1.05;
  margin: 0 0 0.6em;
  text-wrap: balance;
  white-space: nowrap;
}

.divider {
  width: 3rem;
  height: 3px;
  background: var(--terracotta);
  border: 0;
  border-radius: 2px;
  margin: 1.5rem auto;
}

.date {
  font-family: var(--font-serif);
  font-size: clamp(1.3rem, 1.1rem + 1vw, 1.75rem);
  color: var(--delft-deep);
  margin: 0 0 1rem;
}

p.tagline {
  color: var(--ink);
  text-wrap: pretty;
  margin: 0;
}

a {
  color: var(--delft-deep);
  text-underline-offset: 0.15em;
}

a:hover { color: var(--delft-mid); }

a:focus-visible,
*:focus-visible {
  outline: 3px solid var(--delft-mid);
  outline-offset: 3px;
}

.home-link {
  font-weight: 600;
}
