/* GENERATED by packages/design-system/scripts/build-wp.mjs in lonestar-launchpad-com. Do not edit; regenerate.
   Source: build/legal/css/legal.css */
/* ===========================================================================
   LoneStar LaunchPad — legal prose template.

   Imports the design-system tokens, then ONLY the components this page uses.
   No page imports a stylesheet named for a page it is not.
   =========================================================================== */

/* the password gate on page.html / single.html */
/* --- page-specific: layout and regions that belong to this page only --- */
/* ===========================================================================
   Legal prose template — privacy, terms, cookie policy, disclaimer.
   The one place on the site where readability is the whole job: 8,956 words
   of policy text on the longest page.

   COUPLING RESOLVED Sep 2026: this page imports site-shell.css, not another
   page's stylesheet. The shell carries the locals, resets and focus rings every
   page shares; the components above are exactly the ones this page renders.
   =========================================================================== */
:root {
  /* TOKEN GAP — a PROSE measure, distinct from the content measure.
     --lslp-x-measure (1000px → 952 of text) suits an article with a metadata
     bar and a full-bleed image to bridge it. Prose-only pages have neither,
     and 952px runs ~100 characters. 680px lands ~68 — inside 45–75. */
  --lslp-x-measure-prose: 680px;
}

.lslp-legal-head .lslp-container { padding-block: var(--lslp-space-8) var(--lslp-space-6); }
.lslp-legal-head__inner { display: flex; flex-direction: column; gap: var(--lslp-space-3); }
.lslp-legal__title {
  font-family: var(--lslp-font-serif);
  font-size: var(--lslp-h1-size);
  line-height: var(--lslp-h1-line);
  letter-spacing: var(--lslp-h1-tracking);
  font-weight: var(--lslp-h1-weight);
  color: var(--lslp-navy);
}
.lslp-legal__updated {
  font-family: var(--lslp-font-mono);
  font-size: var(--lslp-mono-size);
  color: var(--lslp-text-muted);
}
.lslp-legal__body { padding-bottom: var(--lslp-space-8); }
/* Live's legal pages set sans-serif headings and skip h2 entirely.
   The prose component already styles h2/h3 in the serif scale; nothing extra
   needed here beyond letting long documents breathe. */
.lslp-legal__body .lslp-prose { border-bottom: 0; }
.lslp-legal__body .lslp-prose h2 { margin-top: var(--lslp-space-8); }
.lslp-legal__body .lslp-prose h3 { margin-top: var(--lslp-space-7); }
.lslp-legal__body .lslp-prose ul { margin-top: var(--lslp-space-4); }
.lslp-legal__body .lslp-prose table { width: 100%; border-collapse: collapse; }
.lslp-legal__body .lslp-prose :is(th, td) {
  padding: var(--lslp-space-3);
  border: 1px solid var(--lslp-line);
  text-align: left;
  font-size: var(--lslp-body-sm-size);
}
/* the heading lives inside the summary — keep it inline, not block.
   Needs to outrank .lslp-legal__body .lslp-prose h2's top margin. */
.lslp-legal__body .lslp-prose summary :is(h2, h3) {
  margin: 0;
  font-family: var(--lslp-font-sans);
  font-size: var(--lslp-body-size);
  line-height: var(--lslp-body-line);
  font-weight: var(--lslp-label-weight);
  letter-spacing: normal;
  color: var(--lslp-navy);
}
.lslp-legal__body .lslp-prose details h3 {
  margin-top: var(--lslp-space-4);
  font-family: var(--lslp-font-sans);
  font-size: var(--lslp-label-size);
  font-weight: var(--lslp-label-weight);
  letter-spacing: var(--lslp-x-track-label);
  text-transform: uppercase;
  color: var(--lslp-text-muted);
}
