/* ============================================================
   Unified standalone styles for the legal pages:
   - Enterprise Terms of Service (tos.html)
   - Privacy Notice (privacy.html)
   - App End User Terms (end-user-terms.html)

   Self-contained: no dependency on the main site stylesheet.
   Light-only, Figtree, single readable centered column.
   Covers the (different) class vocabularies of all three pages.
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap');

:root {
  --legal-ink: #1c2030;
  --legal-muted: #5d6376;
  --legal-rule: #e3e6ee;
  --legal-panel: #f6f7fb;
  --legal-link: #2f54eb;
  --legal-max: 780px;
}

* { box-sizing: border-box; }

html { background: #fff; }

body {
  margin: 0 auto;
  max-width: var(--legal-max);
  padding: clamp(40px, 6vw, 72px) clamp(18px, 5vw, 28px) 96px;
  background: #fff;
  color: var(--legal-ink);
  font-family: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 1.0625rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Inner wrappers used by some pages — let <body> own the column. */
.privacy-page,
.legal-page { max-width: none; margin: 0; padding: 0; }

/* ---------- Paragraphs, links, emphasis ---------- */
p { margin: 0 0 1rem; }
a { color: var(--legal-link); text-decoration: underline; text-underline-offset: 2px; }
a:hover { text-decoration: none; }
b, strong { font-weight: 700; }

ul, ol { margin: 0 0 1rem 1.5rem; padding: 0 0 0 1.1rem; }
li { margin: 0 0 .5rem; }

/* ---------- Page titles ---------- */
.title,
.legal-header h1,
.privacy-page h1 {
  font-size: clamp(1.7rem, 4vw, 2.1rem);
  font-weight: 800;
  letter-spacing: -.015em;
  line-height: 1.2;
  margin: 0 0 1.4rem;
}
.legal-header {
  margin: 0 0 2.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--legal-rule);
}
.legal-header h1 { margin: 0 0 .35rem; }
.legal-header p { margin: 0; color: var(--legal-muted); font-size: .95rem; }

/* ---------- Section / sub headings ---------- */
/* privacy uses <h1> for numbered sections, <h2> for sub-headings */
h1 { font-size: 1.2rem; font-weight: 700; margin: 2.25rem 0 .8rem; line-height: 1.4; }
h2 { font-size: 1.05rem; font-weight: 700; margin: 1.6rem 0 .6rem; line-height: 1.45; }

/* ---------- "Last updated" eyebrow ---------- */
.uppercase {
  text-transform: uppercase;
  letter-spacing: .05em;
  font-size: .8rem;
  font-weight: 600;
  color: var(--legal-muted);
}

/* ---------- Table of contents (privacy) ---------- */
.toc {
  margin: 0 0 2rem;
  padding: 1.25rem 1.5rem;
  background: var(--legal-panel);
  border: 1px solid var(--legal-rule);
  border-radius: 10px;
}
.toc p { margin: 0 0 .5rem; text-indent: 0; font-size: .95rem; }
.toc p:last-child { margin-bottom: 0; }

/* ---------- Indent / alignment helpers (privacy) ---------- */
.smallcaps { font-variant: small-caps; font-weight: 700; }
.center { text-align: center; }
.no-indent, .body-indent { text-indent: 0; }
.indent { margin-left: 1.5rem; }
.indent-half, .nested { margin-left: 3rem; }
.contact p { margin: 0 0 .4rem; }
.all-caps { text-transform: uppercase; }

/* ---------- End User Terms structure ---------- */
.intro p { text-indent: 0; }
.section { margin-top: 1.5rem; }
.section-title { margin: 0 0 .75rem; font-size: 1rem; font-weight: 400; line-height: 1.7; }
.section-title .section-number { font-weight: 700; display: inline-block; min-width: 2.2em; }
.section-title .section-heading { font-weight: 700; }
.subsection { margin: 0 0 .75rem 2rem; }
.subsection-title { margin: 0; line-height: 1.7; }
.subsection-label { display: inline-block; min-width: 2.2em; }
.subsection-heading { text-decoration: underline; }

@media (max-width: 640px) {
  body { font-size: 1rem; }
  .subsection { margin-left: 1.1rem; }
  .indent-half, .nested { margin-left: 1.5rem; }
}
