/* Coming-soon page (docs/index.html). Black ground, the 1157 mark in its on-black look.
   Sizes and spacing on the phi / Fibonacci lattice: 8 13 21 34 55 89. */
:root {
  --ink: #000;
  --paper: #fff;
  --dim: rgba(255, 255, 255, 0.618);
  --line: rgba(255, 255, 255, 0.236);
  --sans: "Archivo", system-ui, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; margin: 0; }

html, body { background: var(--ink); color: var(--paper); }

body {
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.618;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.soon {
  min-height: 100vh;
  min-height: 100svh;
  max-width: 987px;
  margin: 0 auto;
  padding: 89px 21px 34px;
  display: flex;
  flex-direction: column;
  gap: 55px;
}

/* Lockup: 1157 with the word in Geist Medium capitals (wordmark option 3038, one of Joe's uppercase
   selects; not final). Set in lockup units from context/brand/marks/wordmark/lockups.json. */
.soon__word { font-size: 0; line-height: 0; }
.soon__lockup { display: block; width: 100%; max-width: 515px; height: auto; }
.soon__lockup text { font-family: "Geist", var(--sans); font-weight: 500; }

.soon__body { display: flex; flex-direction: column; gap: 34px; }

/* One sentence per paragraph, a blank line between them (Joe). 26px: one step down from 34. */
.soon__copy { display: flex; flex-direction: column; gap: 1.236em; font-size: 26px; }
.soon__lead {
  font-size: 26px;
  font-weight: 400;
  line-height: 1.236;
  letter-spacing: -0.01em;
}
.soon__email { font-size: 26px; line-height: 1.236; letter-spacing: -0.01em; }
.soon__mail, .soon__email a { color: var(--dim); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
/* Always one line (Joe); on narrow phones the line scales down to fit. */
.soon__inq { white-space: nowrap; }
.soon__mail:hover, .soon__email a:hover { color: var(--paper); }

.soon__text { color: var(--dim); max-width: 34em; }

.soon__book { margin-top: 34px; display: flex; flex-direction: column; gap: 13px; }
.soon__label { font-size: 15px; }
.soon__cal { min-height: 610px; width: 100%; overflow: hidden; }

.soon__foot {
  margin-top: auto;
  padding-top: 21px;
  border-top: 1px solid var(--line);
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px 21px;
  font-family: var(--mono);
  font-size: 13px;
  color: var(--dim);
}
.soon__foot a { color: var(--paper); text-decoration: none; }
.soon__foot a:hover { text-decoration: underline; }
.soon__social { display: flex; gap: 21px; }

@media (max-width: 520px) {
  .soon { padding-top: 55px; gap: 34px; }
  .soon__copy, .soon__lead, .soon__email { font-size: 19px; }
  .soon__mail, .soon__email a { text-underline-offset: 3px; }
  .soon__inq { font-size: min(1em, 4.6vw); }
}
