:root {
  --bg: #f4f1ea;
  --ink: #004c79;
  --muted: #5d6b75;
}

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

html, body { height: 100%; margin: 0; }

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 0 16px;
  background-color: var(--bg);
  background-image:
    radial-gradient(ellipse at center, rgba(255, 255, 255, .45) 0%, rgba(255, 255, 255, 0) 55%, rgba(120, 100, 70, .10) 100%),
    url("../img/paper.svg");
  background-attachment: fixed, scroll;
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}

main {
  flex: 1;
  display: grid;
  place-items: center;
}

h1 { margin: 0; }

.logo {
  display: block;
  width: min(72vw, 400px);
  height: auto;
  animation: appear 1.2s ease-out both;
}

footer {
  padding: 24px 0 32px;
  text-align: center;
  font-size: 13px;
  letter-spacing: .04em;
  color: var(--muted);
}

footer a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}

footer a:hover, footer a:focus-visible { color: var(--ink); }

@keyframes appear {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .logo { animation: none; }
}
