/*  The legal documents (/terms, /privacy, /eula, /refunds, /trial) only. Linked right after site.css, before any other sheet, so these
 *  rules keep the place in the cascade they had inside site.css.
 *
 *  site.css is render-blocking on every page, and most visitors arrive on a phone, half of
 *  them inside Instagram's browser, so a rule only one page uses no longer rides along
 *  with every other page (October 2026).
 */

/* ── Legal and guide documents (the rest of this section is in site.css) */

.legal-draft-note {
  margin: 0 0 30px;
  padding: 14px 16px;
  border: 1px solid rgba(26, 147, 111, .55);
  border-radius: var(--radius-sm);
  background: rgba(26, 147, 111, .1);
  color: var(--ink);
  font-size: 14px;
}

/* ══════════════════════════════════════════════════════════════════════════════
   Legal — /terms /privacy /eula /refunds /trial
   ══════════════════════════════════════════════════════════════════════════════
   A port of Legal.dc.html. The design is one page whose side nav swaps the article;
   here the five documents keep the five routes they already had and the nav is
   links, because a document someone is asked to agree to should have its own URL
   to link to. The shell is identical on all five. */

body.legal-doc {
  --lg-wide: min(1240px, calc(100% - 64px));
  --lg-ink-lede: #4a4a4a;
  --lg-ink-body: #5c5c5c;
  --lg-ink-mut: #8a8a93;
}

body.legal-doc .site-orb-1 {
  top: -16vh;
  right: -10vw;
  width: 40vw;
  height: 40vw;
  background: radial-gradient(circle, rgba(26, 147, 111, .13), transparent 68%);
  animation-duration: 30s;
}

body.legal-doc .site-orb-2 {
  bottom: -14vh;
  left: -10vw;
  width: 36vw;
  height: 36vw;
  background: radial-gradient(circle, rgba(213, 185, 66, .15), transparent 70%);
  animation-duration: 36s;
  animation-direction: reverse;
}

.lg-sec {
  width: var(--lg-wide);
  margin: 0 auto;
}

/* ── hero ──────────────────────────────────────────────────────────────────── */
.lg-hero { padding: 76px 0 40px; }

.lg-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 16px;
  color: var(--lg-ink-mut);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.lg-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lg-ink-mut);
  animation: ww-pulse 2.4s ease-in-out infinite;
}

.lg-hero h1 {
  margin: 0 0 18px;
  max-width: 24ch;
  font-size: clamp(36px, 4.8vw, 62px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.lg-lede {
  margin: 0;
  max-width: 60ch;
  color: var(--lg-ink-lede);
  font-size: 19px;
  line-height: 1.55;
}

/* ── the document and its index ────────────────────────────────────────────── */
.lg-body {
  display: grid;
  grid-template-columns: 236px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
  padding: 0 0 100px;
}

.lg-nav {
  position: sticky;
  top: 98px;
  display: grid;
  gap: 4px;
}

.lg-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  padding: 10px 16px;
  border-radius: 10px;
  color: var(--lg-ink-body);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition: background-color .2s ease, color .2s ease;
}

.lg-nav a:hover {
  background: rgba(47, 47, 47, .06);
  color: var(--ink);
}

.lg-nav a[aria-current="page"] {
  background: rgba(26, 147, 111, .12);
  color: var(--ink);
}

.lg-nav-tag {
  color: var(--lg-ink-mut);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
}

.lg-updated {
  margin: 18px 16px 0;
  color: var(--lg-ink-mut);
  font-family: var(--mono);
  font-size: 10px;
  line-height: 1.7;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.lg-doc h2 {
  margin: 0 0 10px;
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.lg-doc-lede {
  margin: 0 0 34px;
  max-width: 70ch;
  color: var(--lg-ink-body);
  font-size: 18px;
  line-height: 1.6;
}

.lg-clause {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  padding: 24px 0;
  border-top: 1px solid rgba(47, 47, 47, .1);
}

.lg-clause-num {
  min-width: 34px;
  color: var(--lg-ink-mut);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
}

.lg-clause > div {
  flex: 1;
  min-width: min(320px, 100%);
}

.lg-clause h3 {
  margin: 0 0 8px;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -.012em;
}

.lg-clause p {
  margin: 0;
  max-width: 74ch;
  color: var(--lg-ink-lede);
  font-size: 16.5px;
  line-height: 1.65;
}

.lg-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 44px;
  padding: 32px 0;
  border-top: 1px solid rgba(47, 47, 47, .14);
  border-bottom: 1px solid rgba(47, 47, 47, .14);
}

.lg-foot p {
  margin: 0;
  max-width: 52ch;
  color: var(--lg-ink-body);
  font-size: 16px;
  line-height: 1.6;
}

.lg-btn {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 999px;
  background: var(--ink);
  color: var(--bg);
  font-weight: 700;
  text-decoration: none;
  transition: transform .18s ease;
}

.lg-btn:hover { transform: translateY(-3px); }

@media (prefers-reduced-motion: reduce) {
  .lg-dot { animation: none; }
}

@media (max-width: 900px) {
  .lg-body {
    grid-template-columns: minmax(0, 1fr);
    gap: 32px;
    padding: 0 0 72px;
  }

  /* The index stops being a rail and becomes a row of chips above the document. */
  .lg-nav {
    position: static;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
  }

  .lg-nav a {
    min-height: 40px;
    padding: 8px 14px;
    background: rgba(47, 47, 47, .05);
  }

  .lg-updated {
    width: 100%;
    margin: 6px 0 0;
  }

  .lg-hero { padding: 56px 0 32px; }
}

@media (max-width: 640px) {
  body.legal-doc { --lg-wide: min(1240px, calc(100% - 40px)); }

  .lg-lede { font-size: 17px; }
  .lg-btn { width: 100%; justify-content: center; }
}
