/* ════════════════════════════════════════════════════════════════════════
   legal.css — L3 brush for the formal legal documents (zBrush: [legal]).
   Loaded after zCloud.css (zCanvas). Owns ONLY the .legal-* document surface;
   the navbar, brand tokens, and background come from the canvas.

   Concept: a warm "paper" sheet resting on the dark zolo desk — serif body,
   numbered clauses, brand-violet accents. Intentionally distinct from the
   modern card pages: a legal document should LOOK like a legal document.

   Rendering contract (same as faq.css / founder.css):
   - `_zClass` on a multi-child block (or a sole-child wrapper that collapses)
     survives onto the rendered element.
   - zText / zMD render a `[data-zkey]` wrapper; zMD emits one <p> per paragraph.
   - Headings (zH1) render as <h1> — styled by element under a wrapper class.
   ════════════════════════════════════════════════════════════════════════ */

:root {
    --legal-ink:      #1f2430;   /* body ink on paper            */
    --legal-ink-dark: #14182a;   /* headings / strong            */
    --legal-muted:    #6b6f7d;   /* meta / fineprint             */
    --legal-paper:    #fdfcf8;   /* sheet                        */
    --legal-rule:     #e4e0d3;   /* warm hairline on paper       */
    --legal-accent:   #6d4fe0;   /* brand violet, legal-grade    */
}

/* ── Desk — full-bleed dark backdrop the sheet sits on ───────────────────── */
.legal-doc-page {
    display:    block;
    width:      100vw;
    margin-inline: calc(50% - 50vw);
    padding:    clamp(2.5rem, 6vw, 5rem) 1.25rem clamp(4rem, 8vw, 6rem);
    background: radial-gradient(ellipse at top, #181d38 0%, var(--primary-dark) 62%);
}

/* ── Paper sheet ─────────────────────────────────────────────────────────── */
.legal-doc {
    display:       block;
    max-width:     820px;
    margin:        0 auto;
    background:    var(--legal-paper);
    color:         var(--legal-ink);
    border-radius: 14px;
    border-top:    4px solid var(--legal-accent);
    box-shadow:    0 30px 80px rgba(0, 0, 0, 0.45);
    padding:       clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 5vw, 4.5rem) 3.5rem;
    font-family:   Georgia, "Times New Roman", Cambria, serif;
    line-height:   1.7;
    font-size:     1.02rem;
}

/* ── Document header ─────────────────────────────────────────────────────── */
.legal-head {
    text-align:     center;
    border-bottom:  1px solid var(--legal-rule);
    padding-bottom: 2rem;
    margin-bottom:  2.5rem;
}
.legal-head h1 {
    font-size:      clamp(2rem, 5vw, 2.9rem);
    font-weight:    700;
    letter-spacing: -0.01em;
    color:          var(--legal-ink-dark);
    margin:         0 0 0.5rem;
    line-height:    1.1;
}

.legal-eyebrow,
.legal-eyebrow p {
    margin:         0 0 1rem;
    font-family:    Arial, Helvetica, sans-serif;
    font-size:      0.66rem;
    font-weight:    700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color:          var(--legal-muted);
}

.legal-subtitle,
.legal-subtitle p {
    margin:      0 0 1.5rem;
    font-size:   1.15rem;
    font-style:  italic;
    color:       #5f6570;
}

.legal-meta,
.legal-meta p {
    margin:      0;
    font-family: Arial, Helvetica, sans-serif;
    font-size:   0.82rem;
    line-height: 1.6;
    color:       var(--legal-muted);
}
.legal-meta strong { color: var(--legal-accent); font-weight: 700; }

/* ── Sections / numbered clauses ─────────────────────────────────────────── */
.legal-section { margin: 2.5rem 0; }

.legal-section-head {
    display:        flex;
    align-items:    baseline;
    gap:            0.75rem;
    border-bottom:  1px solid #ece8db;
    padding-bottom: 0.5rem;
    margin-bottom:  1rem;
}
.legal-num,
.legal-num p {
    margin:         0;
    font-family:    Arial, Helvetica, sans-serif;
    font-size:      0.85rem;
    font-weight:    700;
    letter-spacing: 0.05em;
    color:          var(--legal-accent);
    flex-shrink:    0;
}
.legal-h2,
.legal-h2 p {
    margin:         0;
    font-family:    Arial, Helvetica, sans-serif;
    font-size:      0.95rem;
    font-weight:    700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color:          #2a2f3e;
}

/* ── Body clauses (zMD / zText paragraphs inside a section) ───────────────── */
.legal-section [data-zkey] p,
.legal-section [data-zkey="zMD"] {
    margin:     0 0 1rem;
    text-align: justify;
    color:      var(--legal-ink);
}
.legal-section [data-zkey]:last-child p:last-child { margin-bottom: 0; }
.legal-section strong { color: var(--legal-ink-dark); }
.legal-section a {
    color:               var(--legal-accent);
    text-decoration:     underline;
    text-underline-offset: 2px;
}

/* ── Verbatim license block (the canonical text) ─────────────────────────── */
.legal-verbatim {
    background:    #f4f2ea;
    border:        1px solid #e0dccd;
    border-left:   3px solid var(--legal-accent);
    border-radius: 8px;
    padding:       1.75rem 1.9rem;
    margin:        1.25rem 0;
    font-family:   "SFMono-Regular", "Courier New", Courier, monospace;
    font-size:     0.86rem;
    line-height:   1.65;
    color:         #2a2f3e;
}
.legal-verbatim [data-zkey] p,
.legal-verbatim [data-zkey] { margin: 0 0 0.95rem; text-align: left; }
.legal-verbatim [data-zkey]:last-child p:last-child { margin-bottom: 0; }
.legal-verbatim .legal-vb-title,
.legal-verbatim .legal-vb-title p { font-weight: 700; color: var(--legal-ink-dark); }
.legal-verbatim strong { color: var(--legal-ink-dark); }
.legal-verbatim a { color: var(--legal-accent); }

/* ── Inline note / plain-English callout ─────────────────────────────────── */
.legal-note {
    background:    #eef0ff;
    border:        1px solid #d6d9f7;
    border-radius: 8px;
    padding:       1.1rem 1.4rem;
    margin:        1.5rem 0;
}
.legal-note [data-zkey] p,
.legal-note [data-zkey="zMD"] {
    margin:     0;
    text-align: left;
    font-size:  0.95rem;
    color:      #2f3550;
}
.legal-note strong { color: var(--legal-accent); }
.legal-summary { margin: 0 0 2.5rem; }

/* ── Footer ──────────────────────────────────────────────────────────────── */
.legal-footer {
    margin-top:  3rem;
    padding-top: 1.75rem;
    border-top:  1px solid var(--legal-rule);
    text-align:  center;
}
.legal-footer [data-zkey] p,
.legal-footer [data-zkey="zMD"] {
    margin:      0 0 1.5rem;
    text-align:  center;
    font-family: Arial, Helvetica, sans-serif;
    font-size:   0.78rem;
    line-height: 1.6;
    color:       #8a8e99;
}
.legal-actions { display: flex; justify-content: center; gap: 0.75rem; flex-wrap: wrap; }
.legal-actions a {
    display:         inline-flex;
    align-items:     center;
    gap:             0.4rem;
    padding:         0.6rem 1.3rem;
    border:          1px solid var(--legal-rule);
    border-radius:   999px;
    font-family:     Arial, Helvetica, sans-serif;
    font-size:       0.85rem;
    font-weight:     600;
    color:           var(--legal-ink-dark);
    background:      #fff;
    text-decoration: none;
    transition:      border-color 0.15s ease, color 0.15s ease;
}
.legal-actions a:hover { border-color: var(--legal-accent); color: var(--legal-accent); }

/* ── Small screens ───────────────────────────────────────────────────────── */
@media (max-width: 600px) {
    .legal-doc { padding: 2.25rem 1.4rem 2.5rem; }
    .legal-section [data-zkey] p,
    .legal-section [data-zkey="zMD"],
    .legal-verbatim { text-align: left; }
}
