/* Legal document pages (/terms, /privacy, /sms-terms) — v64 guest
   disclosure + legal pages package. See "Legal pages" in CLAUDE.md.

   Structural classes (.legal-doc, .legal-callout, .legal-audience,
   .privacy-register, .safety-scope, details/summary) are ported from
   docs/design/afterset-v64-guest-safety-legal/dist/{styles.css,safety.css}
   — these three pages are the only place in the real site that needed
   them. Deliberately re-skinned onto the REAL marketing site's own
   existing tokens (--ink/--paper/--blood/--red/--line, already declared
   in afterset-marketing.css, loaded on every page including these) and
   its own Playfair Display/Manrope/DM Mono fonts, rather than
   re-declaring the v64 prototype's own slightly different hex values
   under the same :root custom-property names — two :root blocks on one
   page disagreeing about what --red means would silently repaint the
   real header/footer, not just this content. Adopting the v64 package's
   own literal palette site-wide is a separate, later decision (see
   "Palette" item in CLAUDE.md, held for a dedicated pass) — this file
   does not pre-empt it. */

.legal-doc { max-width: 780px; margin: 0 auto; }
.legal-doc h1 { font-size: clamp(2.6rem, 6vw, 4.2rem); }
.legal-doc h2 { font: 400 1.6rem/1.3 "Playfair Display", serif; margin: 40px 0 14px; color: var(--paper); }
.legal-doc h3 { font: 400 1.25rem/1.3 "Playfair Display", serif; margin: 28px 0 10px; color: var(--paper); }
.legal-doc p, .legal-doc li { color: #d4cec7; line-height: 1.7; }
.legal-doc .lede { font-size: 1.1rem; color: #d4cec7; max-width: 680px; }
.legal-doc blockquote { border-left: 3px solid var(--red); margin: 18px 0; padding: 6px 18px; color: #aba29c; font-style: italic; }
.legal-doc code { background: rgba(255,255,255,.08); padding: 1px 6px; border-radius: 5px; font-size: .9em; }
.legal-doc a { color: var(--red); }

.legal-kicker { font: 500 .72rem "DM Mono", monospace; letter-spacing: .18em; text-transform: uppercase; color: #aba29c; margin-bottom: 10px; }
.legal-audience { display: inline-flex; border: 1px solid var(--line); border-radius: 999px; padding: 4px 10px; font: 700 .68rem "DM Mono", monospace; text-transform: uppercase; color: var(--paper); margin-left: 10px; }
.legal-callout { border-left: 4px solid var(--red); padding: 14px 18px; background: rgba(255,255,255,.04); margin: 24px 0; border-radius: 0 10px 10px 0; }
.legal-callout strong { color: var(--paper); }

.legal-doc details { border: 1px solid var(--line); border-radius: 12px; padding: 14px 18px; margin: 12px 0; background: rgba(255,255,255,.02); }
.legal-doc summary { cursor: pointer; font-weight: 700; color: var(--paper); }
.legal-doc details p:last-child { margin-bottom: 0; }

.privacy-register { width: 100%; border-collapse: collapse; margin: 16px 0 30px; }
.privacy-register th, .privacy-register td { padding: 12px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; font-size: .88rem; }
.privacy-register th { font-size: .72rem; color: #aba29c; text-transform: uppercase; letter-spacing: .08em; }

.safety-scope { background: rgba(178,25,43,.1); border: 1px solid rgba(178,25,43,.3); color: var(--paper); padding: 20px; border-radius: 14px; margin: 24px 0; }
.safety-scope p { color: #e4dcd6; margin-bottom: 0; }

@media (max-width: 600px) {
  .privacy-register { display: block; overflow-x: auto; white-space: nowrap; }
}
