/* ==========================================================================
   byostack.ai legal pages - shared stylesheet (deploy as css/legal.css)
   Used by /terms/ and /privacy/. External for strict-CSP compliance
   (style-src does not permit inline styles). Loads AFTER site.css as the
   page-specific layer: site.css supplies fonts, tokens, header, and
   footer; this file supplies the legal article register. Deduplicated
   2026-08-09 (Bundle Standards v1.86); originally added 2026-07-27
   (Bundle Standards v1.68) for the interim legal-page publication.
   ========================================================================== */

@font-face { font-family: 'Spectral'; src: url('/fonts/Spectral-Medium.woff2') format('woff2'); font-weight: 500; font-style: normal; font-display: swap; }

/* site.css supplies the shared brand tokens; only the two legal-page
   aliases it does not define live here. */
:root {
  --ink-75: rgba(28,26,23,.75);
  --ink-50: rgba(28,26,23,.5);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
  background: var(--field);
  color: var(--ink);
  font-family: 'Spectral', Georgia, serif;
  font-size: 17px;
  line-height: 1.65;
}
.wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 72px 24px 96px;
}
.eyebrow {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 20px;
}
h1 {
  font-size: clamp(28px, 5vw, 38px);
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 14px;
  text-wrap: balance;
}
.doc-meta {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  color: var(--ink-50);
  margin-bottom: 6px;
}
.doc-meta strong { font-weight: 500; color: var(--ink-75); }
.lede { margin: 22px 0 0; }
.lede + p { margin-top: 16px; }
.rule {
  border: none;
  border-top: 1px solid var(--hairline);
  margin: 36px 0;
}
article h2 {
  font-size: 21px;
  font-weight: 600;
  line-height: 1.3;
  margin: 34px 0 12px;
}
article h3 {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.4;
  margin: 22px 0 8px;
}
article p { margin-bottom: 16px; }
article ul { margin: 0 0 16px 22px; }
article li { margin-bottom: 8px; }
article li ul { margin: 8px 0 0 22px; }
/* Postal address block (Privacy Policy, Contact). */
article .address { line-height: 1.5; }
article a { color: var(--vermilion); }
article a:hover { text-decoration: none; }
/* Conspicuous-disclosure rendering for the warranty disclaimer, liability
   cap and jury waiver clauses (Terms Sections 6.2, 9 and 13). Word displays
   these all-caps via display formatting; the class must reproduce it or
   the conspicuous requirement fails on the published page. Launch-gating.
   Updated 2026-09-10 (attorney-final publication): h3 subsection register
   and nested-list rule added for the final Terms; address block for the
   final Privacy Policy. */
.legal-caps { text-transform: uppercase; }
@media (max-width: 480px) {
  .wrap { padding: 48px 18px 72px; }
}
