:root {
  --patina: #123831;
  --salt: #DDE6DF;
  --bronze: #AD7136;
  --ground: var(--salt);
  --ink: var(--patina);
  --ink-72: rgba(18, 56, 49, 0.72);
  --ink-12: rgba(18, 56, 49, 0.12);
}
@media (prefers-color-scheme: dark) {
  :root {
    --ground: var(--patina);
    --ink: var(--salt);
    --ink-72: rgba(221, 230, 223, 0.72);
    --ink-12: rgba(221, 230, 223, 0.12);
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--ground);
  color: var(--ink);
  font-family: Optima, Candara, "Noto Sans", "Segoe UI", sans-serif;
  font-size: 18px;
  line-height: 1.55;
}
main { max-width: 680px; margin: 0 auto; padding: 56px 20px 96px; }
a { color: inherit; text-decoration-color: var(--bronze); text-underline-offset: 3px; }
a:hover { color: var(--bronze); }
h1, h2, h3 { font-weight: 400; line-height: 1.15; margin: 0; }
h1 { font-size: clamp(44px, 11vw, 88px); letter-spacing: 0.02em; }
h2 { font-size: 30px; margin-top: 48px; }
h3 { font-size: 20px; margin-top: 28px; font-weight: 600; }
p, li { color: var(--ink-72); }
p.lead { font-family: "Libre Caslon Text", Georgia, serif; font-style: italic; font-size: 22px; color: var(--ink); }
.inscription { text-transform: uppercase; letter-spacing: 0.1em; font-size: 14px; color: var(--ink-72); }
.line { display: flex; gap: 6px; margin: 36px 0; }
.line span { flex: 1; height: 3px; background: var(--ink-12); }
.line span.held { background: var(--bronze); }
.line span.today { background: var(--ink); }
nav.top { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 48px; }
nav.top a { text-decoration: none; font-weight: 600; }
footer { margin-top: 72px; padding-top: 20px; border-top: 1px solid var(--ink-12); display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 16px; }
footer a { color: var(--ink-72); }
ol.steps { padding-left: 1.2em; }
ol.steps li { margin: 10px 0; }
.updated { font-size: 15px; }
