.memento {
  max-width: 760px;
  margin: 0 auto;
  padding: 72px 0 64px;
  --memento-muted: #626f68;
  --memento-line: #ccd5cf;
}

.memento p, .memento h1, .memento h2 { max-width: 100%; }
.memento-intro { text-align: center; }
.memento .memento-eyebrow {
  font: 400 11px/1.5 'Lato', sans-serif;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  margin: 0;
}
.memento h1 {
  font-size: clamp(40px, 6vw, 68px);
  letter-spacing: -0.04em;
  line-height: 1.15;
  margin: 14px 0 40px;
}
.memento-clock { border-block: 1px solid var(--memento-line); padding: 28px 0; text-align: center; }
.memento-digits { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 16px; margin: 26px 0 22px; }
.memento-unit { display: flex; flex-direction: column; gap: 9px; min-width: 0; }
.memento-unit > [data-unit] {
  font-size: clamp(30px, 5vw, 58px);
  font-weight: 300;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.035em;
}
.memento-unit-label { font-size: 10px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--memento-muted); }
.memento-horizon { font-size: 12px; color: var(--memento-muted); line-height: 1.7; margin: 0; }
.memento-perspective { padding-top: 28px; }
.memento-progress-label, .memento-timeline { display: flex; justify-content: space-between; gap: 12px; font-size: 11px; color: var(--memento-muted); }
.memento-progress-label > :first-child { color: var(--text-color); }
.memento progress { display: block; width: 100%; height: 4px; margin: 12px 0; border: 0; border-radius: 0; background: var(--memento-line); color: var(--primary-color); appearance: none; }
.memento progress::-webkit-progress-bar { background: var(--memento-line); }
.memento progress::-webkit-progress-value { background: var(--primary-color); }
.memento progress::-moz-progress-bar { background: var(--primary-color); }
.memento-timeline > :last-child { text-align: right; }

@media (max-width: 600px) {
  .memento { padding-top: 40px; }
  .memento-digits { grid-template-columns: repeat(3, 1fr); gap: 24px 12px; }
  .memento-days { grid-column: 1 / -1; }
  .memento-days > [data-unit] { font-size: 64px; }
  .memento-unit > [data-unit]:not([data-unit="days"]) { font-size: 36px; }
}

@media (prefers-color-scheme: dark) {
  .memento { --memento-muted: #a4b1aa; --memento-line: #37433c; }
}
