.legal-wrap {
    max-width: 760px;
    margin: 0 auto;
    padding: 175px 20px 110px;
}

.legal-meta {
    color: var(--ink-dim);
    font-family: var(--font-mono);
    font-size: 0.82rem;
    padding-bottom: 30px;
    margin-bottom: 40px;
    border-bottom: 1px solid var(--line);
}

.legal-wrap h1 {
    font-family: var(--font-mark);
    font-size: clamp(1.9rem, 4vw, 2.6rem);
    font-weight: 700;
    margin: 0 0 16px;
    letter-spacing: 0.5px;
}

.legal-lede {
    font-size: 1.08rem;
    color: var(--ink);
    margin-bottom: 20px;
}

.legal-wrap h2 {
    font-size: 1.3rem;
    font-weight: 600;
    margin: 50px 0 16px;
    color: var(--ink);
    line-height: 1.3;
}

.legal-wrap h3 {
    font-size: 1.05rem;
    font-weight: 600;
    margin: 26px 0 8px;
    color: var(--ink);
}

.legal-wrap p {
    color: var(--ink-dim);
    margin: 0 0 16px;
    line-height: 1.75;
}

.legal-wrap ul, .legal-wrap ol {
    margin: 0 0 16px;
    padding-left: 22px;
    color: var(--ink-dim);
}

.legal-wrap ol[type="a"] { padding-left: 26px; }

.legal-wrap li { margin-bottom: 9px; line-height: 1.7; }
.legal-wrap li ul { margin-top: 9px; margin-bottom: 4px; }

.legal-wrap strong { color: var(--ink); }

.legal-wrap a {
    color: var(--violet-light);
    text-decoration: underline;
    text-decoration-color: rgba(138, 43, 226, 0.35);
    transition: text-decoration-color 0.25s ease;
}

.legal-wrap a:hover { text-decoration-color: var(--violet-light); }

.legal-wrap code {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: 4px;
    padding: 2px 7px;
    font-family: var(--font-mono);
    font-size: 0.85em;
    color: var(--violet-light);
    white-space: nowrap;
}

.legal-card {
    background: var(--surface);
    border: 1px solid var(--line);
    border-left: 3px solid var(--violet);
    border-radius: var(--radius-sm);
    padding: 18px 22px;
    margin: 18px 0 30px;
}

.legal-card p:last-child { margin-bottom: 0; }

.legal-table {
    width: 100%;
    border-collapse: collapse;
    margin: 14px 0 26px;
    font-size: 0.92rem;
}

.legal-table th, .legal-table td {
    text-align: left;
    padding: 12px 14px;
    border-bottom: 1px solid var(--line);
    vertical-align: top;
    color: var(--ink-dim);
}

.legal-table th {
    color: var(--ink-faint);
    font-weight: 600;
    font-family: var(--font-mono);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.legal-table td:first-child { color: var(--ink); font-weight: 600; white-space: nowrap; }

.legal-callout {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--radius-md);
    padding: 22px 24px;
    margin: 18px 0 30px;
}

.legal-callout p { margin: 0; color: var(--ink); }

.legal-placeholder {
    color: var(--violet-light);
    background: rgba(138, 43, 226, 0.08);
    border: 1px dashed rgba(138, 43, 226, 0.4);
    border-radius: 4px;
    padding: 0 6px;
}

@media (max-width: 640px) {
    .legal-wrap { padding: 130px 20px 80px; }
    .legal-table { font-size: 0.85rem; }
    .legal-table th, .legal-table td { padding: 9px 8px; }
}
