@font-face {
  font-family: 'Sansation';
  src: local('Sansation'), local('Sansation-Regular'),
       url('fonts/Sansation-Regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sansation';
  src: local('Sansation Bold'), local('Sansation-Bold'),
       url('fonts/Sansation-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  --ink: #0B0B0B;
  --ink-card: #131312;
  --chalk: #F2F0EC;
  --ash: #86837C;
  --ash-dim: #57544F;
  --accent: #F2F0EC;
  --hairline: rgba(242, 240, 236, .13);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--ink);
  color: var(--chalk);
  font-family: 'Sansation', 'Hanken Grotesk', 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 clamp(28px, 8vw, 56px);
}

.legal-header { padding-top: 40px; padding-bottom: 8px; }
.back-link {
  color: var(--ash);
  text-decoration: none;
  font-size: .9rem;
}
.back-link:hover { color: var(--chalk); }

.legal-header h1 {
  font-family: 'League Spartan', sans-serif;
  letter-spacing: -.035em;
  font-weight: 800;
  font-size: clamp(2.2rem, 8vw, 3.2rem);
  margin: 16px 0 0;
}

main.legal { padding-top: 24px; padding-bottom: 64px; }

.legal section { padding: 24px 0; border-top: 1px solid var(--hairline); }
.legal section:first-child { border-top: none; }

.legal h2 {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--ash);
  font-weight: 700;
  margin: 0 0 12px;
}

.legal p { margin: 0 0 10px; color: var(--ash); font-size: .85rem; max-width: 65ch; }
.legal p:last-child { margin-bottom: 0; }
.legal a { color: var(--accent); }

footer.legal-footer {
  padding-top: 24px;
  padding-bottom: 48px;
  border-top: 1px solid var(--hairline);
  color: var(--ash-dim);
  font-size: .8rem;
}
