/* The project space. One column, resting on one line. */

:root {
  --ground: #e6e9ec;
  --ink: #172033;
  --ink-soft: #4e5c70;
  --rule: #c2c8d0;
  --live: #2e7d6b;

  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua",
    Georgia, "Times New Roman", serif;

  --pad: clamp(1.75rem, 6vw, 5.5rem);
}

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

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  min-height: 100vh;
  background: var(--ground);
  color: var(--ink);
  font-family: var(--serif);
  -webkit-font-smoothing: antialiased;

  display: flex;
  align-items: flex-end;
  padding: var(--pad);
  /* The column rests below centre, not in the middle of the field. */
  padding-bottom: clamp(3rem, 22vh, 11rem);
}

/* On a narrow, tall screen the column would sit against the bottom edge with a
   field of nothing above it. Centre it there instead; the rule still reads. */
@media (max-width: 40rem) {
  body {
    align-items: center;
    padding-bottom: var(--pad);
  }
}

.space {
  width: 100%;
  max-width: 34rem;
}

.space__title {
  margin: 0;
  font-size: clamp(2rem, 6.4vw, 3.5rem);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.017em;
  text-wrap: balance;
}

.space__lead {
  margin: clamp(1.35rem, 3.4vw, 2rem) 0 0;
  max-width: 27rem;
  color: var(--ink-soft);
  font-size: clamp(1.0625rem, 1.9vw, 1.25rem);
  line-height: 1.62;
}

/* The floor the column rests on. */
.space__state {
  margin: clamp(2.5rem, 7vw, 4rem) 0 0;
  padding-top: 1.0625rem;
  border-top: 1px solid var(--rule);
  display: flex;
  align-items: baseline;
  gap: 0.6875rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

/* Reads the state, and is the only saturated thing on the page. */
.space__mark {
  flex: none;
  width: 0.4375rem;
  height: 0.4375rem;
  border-radius: 50%;
  background: var(--live);
  /* Lift the dot off the baseline onto the x-height. */
  transform: translateY(-0.28em);
}
