/* heypetr.com: the legal pages (terms, privacy, refunds) and the not-found page, in the design's tokens (petr.css).
   Dark ground, Fraunces headings, Inter body, spacing on the scale; one left edge, shared with the nav's wordmark.
   Gaps inside a group (heading to its text: 12) are 4x smaller than between groups (48). */

.legal {
  position: relative;
  z-index: 1;
  max-width: var(--w-page);
  margin: 0 auto;
  padding: calc(72px + var(--s-96)) var(--pad-page) var(--s-128);
}
/* Petr's light, faint, behind the title (his cobalt and violet, as in the hero's pool) */
.legal::before {
  content: '';
  position: absolute;
  z-index: -1;
  left: -160px;
  top: -80px;
  width: 920px;
  height: 560px;
  background: radial-gradient(closest-side, rgba(47, 91, 255, 0.16), rgba(155, 123, 255, 0.06) 60%, rgba(155, 123, 255, 0));
  pointer-events: none;
}
.legal article {
  max-width: 720px;
}
.lg-head h1 {
  margin-top: var(--s-16);
  font-size: var(--fs-56);
  line-height: 1.04;
  letter-spacing: -0.02em;
  text-wrap: balance;
}
.lg-updated {
  margin-top: var(--s-16);
  font-size: var(--fs-14);
  color: var(--c-text-2);
}
.lg-draft {
  display: flex;
  width: fit-content;
  align-items: baseline;
  gap: var(--s-8);
  margin-top: var(--s-24);
  padding: var(--s-8) var(--s-16);
  border-radius: var(--r-card);
  background: var(--c-clay-soft);
  font-size: var(--fs-14);
  font-weight: 500;
  color: var(--c-clay-light);
}
.lg-draft::before {
  content: '';
  flex: none;
  transform: translateY(-2px);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.lg-body {
  margin-top: var(--s-48);
}
.lg-body h2 {
  margin-top: var(--s-48);
  font-family: var(--font-serif);
  font-weight: 800;
  font-variation-settings: var(--display-axes);
  font-size: var(--fs-28);
  line-height: 1.15;
  letter-spacing: -0.015em;
}
.lg-body > :first-child {
  margin-top: 0;
}
.lg-body p {
  margin-top: var(--s-12);
  font-size: var(--fs-17);
  line-height: 1.65;
  color: #bdbdbd;
  text-wrap: pretty;
}
.lg-body h2 + p {
  margin-top: var(--s-12);
}
.lg-body p + p {
  margin-top: var(--s-16);
}
.lg-body a,
.legal .lg-link {
  color: var(--c-brand-text);
  text-decoration: underline;
  text-decoration-color: rgba(143, 168, 255, 0.4);
  text-underline-offset: 4px;
  transition: text-decoration-color var(--t-fast) linear;
}
.lg-body a:hover,
.legal .lg-link:hover {
  text-decoration-color: currentColor;
}

/* not found */
.legal .lg-lost {
  margin-top: var(--s-20);
  font-size: var(--fs-18);
  line-height: 1.55;
  color: #bdbdbd;
}
.legal .lg-lost + .btn {
  margin-top: var(--s-32);
}

@media (max-width: 900px) {
  .legal {
    padding-top: calc(56px + var(--s-64));
    padding-bottom: var(--s-96);
  }
  .legal::before {
    left: -240px;
    top: -60px;
    width: 640px;
    height: 420px;
  }
  .lg-head h1 {
    font-size: 40px;
  }
  .lg-body {
    margin-top: var(--s-40);
  }
  .lg-body h2 {
    margin-top: var(--s-40);
    font-size: var(--fs-22);
  }
  .lg-body p {
    font-size: var(--fs-16);
  }
}
