/* ==========================================================================
   Encounter Solutions — document pages (privacy, 404)
   Long-form reading on bone. Builds on styles.css; reuses .masthead,
   .brand-mark, .button-ghost and .site-footer from page.css unchanged.
   ========================================================================== */

.doc { padding-block: clamp(3rem, 8vh, 5.5rem) clamp(4rem, 10vh, 7rem); }

.doc-title {
  font-family: var(--font-display);
  font-size: var(--t-statement);
  font-weight: var(--w-light);
  line-height: 1.14;
  letter-spacing: -0.02em;
  color: var(--text-strong);
  margin-bottom: 0.5em;
}

/* 68ch is the reading measure. Legal text is the one thing on this site people
   actually read start to finish, so it gets a narrower column than the marketing
   copy and more leading. */
.doc-body {
  max-width: 68ch;
  font-size: var(--t-body);
  line-height: 1.65;
  color: var(--text);
}

.doc-lede { font-size: var(--t-lede); color: var(--muted); margin-bottom: 2.5rem; }

.doc-body h2 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: var(--w-regular);
  line-height: 1.25;
  letter-spacing: -0.01em;
  color: var(--text-strong);
  margin: 2.75rem 0 0.85rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rule);
}

.doc-body h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

.doc-body p { margin: 0 0 1.1rem; }
.doc-body p:last-child { margin-bottom: 0; }

.doc-body ul { margin: 0 0 1.25rem; padding-left: 1.15rem; }
.doc-body li { margin-bottom: 0.5rem; }

.doc-body a { color: var(--text-strong); text-decoration: underline; text-underline-offset: 0.2em; }
.doc-body a:hover { color: var(--tan-deep); }

.doc-body strong { font-weight: var(--w-medium); color: var(--text-strong); }

/* Tables carry the lawful-basis and third-party lists. They must scroll rather than
   force the page wide on a phone — hence the wrapper. */
.doc-table-wrap { overflow-x: auto; margin: 0 0 1.5rem; }

.doc-body table { border-collapse: collapse; width: 100%; min-width: 32rem; font-size: var(--t-small); }

.doc-body th,
.doc-body td {
  text-align: left;
  vertical-align: top;
  padding: 0.75rem 1rem 0.75rem 0;
  border-bottom: 1px solid var(--rule);
  line-height: 1.5;
}

.doc-body th {
  font-weight: var(--w-medium);
  color: var(--text-strong);
  border-bottom-color: var(--rule-strong);
}

.doc-updated {
  margin-top: 3rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--rule);
  font-size: var(--t-small);
  color: var(--muted);
}

/* ---------- 404 ---------- */
.notfound { padding-block: clamp(5rem, 18vh, 10rem); }

.notfound-code {
  font-family: var(--font-micro);
  font-size: var(--t-label);
  font-weight: var(--w-medium);
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--tan);
  margin-bottom: 1.25rem;
}

.notfound-title {
  font-family: var(--font-display);
  max-width: 18ch;
  font-size: var(--t-statement);
  font-weight: var(--w-light);
  line-height: 1.14;
  letter-spacing: -0.02em;
  color: var(--text-strong);
  margin-bottom: 1.25rem;
}

.notfound-body { max-width: 46ch; font-size: var(--t-lede); color: var(--muted); margin-bottom: clamp(2rem, 4vw, 2.75rem); }
