/* Privacy, terms and 404: one readable column, hairlines, the same black and grey as the homepage. */

.legal { padding-block: calc(var(--nav-h) + clamp(3rem, 10vw, 6rem)) clamp(4rem, 10vw, 8rem); }

.legal__body { max-width: 42rem; margin-inline: auto; }
.legal__body h1 { font-size: clamp(2.5rem, 8vw, 4.5rem); line-height: 1; letter-spacing: -0.015em; }
.legal__updated { margin-top: 1rem; color: var(--grey); font-size: 0.9375rem; }
.legal__updated time { font-variant-numeric: tabular-nums; }

.legal__summary { margin-top: 3rem; padding-block: 1.5rem; border-block: 1px solid var(--border); }
.legal__summary p + p, .legal__summary ul { margin-top: 0.75rem; }
.legal__body .legal__summary li { color: var(--ink); }

.legal__body h2 {
  margin: 3rem 0 0;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.015em;
  scroll-margin-top: calc(var(--nav-h) + 1rem);
}
.legal__body h3 { margin-top: 1.5rem; font-size: 1.125rem; }
.legal__body h2 + p, .legal__body p + p, .legal__body ul { margin-top: 1rem; }
.legal__body p, .legal__body li { color: var(--grey); }
.legal__body strong { color: var(--ink); font-weight: 600; }
.legal__body ul { margin-bottom: 0; padding-left: 1.25rem; }
.legal__body li + li { margin-top: 0.5rem; }
.legal__body li::marker { color: var(--grey); }

.legal__toc { margin-top: 2rem; padding-block: 1.5rem; border-bottom: 1px solid var(--border); }
.legal__toc-title { color: var(--grey); font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.legal__toc ol { margin: 1rem 0 0; padding-left: 1.5rem; columns: 2 14rem; column-gap: 2rem; }
.legal__toc li { break-inside: avoid; padding-block: 0.15rem; font-variant-numeric: tabular-nums; }
.legal__toc a { color: var(--ink); text-decoration: none; }
.legal__toc a:hover { text-decoration: underline; }

.legal__table { margin-top: 1.5rem; overflow-x: auto; border-top: 1px solid var(--border); }
.legal__table table { width: 100%; min-width: 38rem; border-collapse: collapse; font-size: 0.9375rem; }
.legal__table th, .legal__table td { padding: 0.75rem 1rem 0.75rem 0; text-align: left; vertical-align: top; color: var(--grey); border-bottom: 1px solid var(--border); }
.legal__table thead th { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; }
.legal__table tbody th { font-weight: 500; color: var(--ink); }

/* 404: a ring with no dot. */
.notfound { display: grid; align-items: center; min-height: 100vh; min-height: 100svh; padding-block: calc(var(--nav-h) + 2rem) 4rem; }
.notfound__inner { display: flex; flex-direction: column; align-items: center; text-align: center; }
.notfound__vessel { width: clamp(3rem, 9vw, 4rem); height: clamp(8.5rem, 25vw, 11rem); margin: 1.5rem 0 3.5rem; }
.notfound__title { font-size: clamp(3rem, 10vw, 6rem); }
.notfound__lede { margin-top: 1.5rem; }
.notfound__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 1rem 2rem; margin-top: 2.5rem; }

@media print { .legal__toc { display: none; } }
