/* White paper / legal pages — builds on site.css tokens */

.legal { padding-block: clamp(40px, 7vw, 88px) clamp(64px, 9vw, 120px); display: grid; gap: clamp(28px, 4vw, 44px); }
.legal-head { margin-bottom: 0; }

.statement { display: grid; gap: 10px; padding: clamp(18px, 3vw, 26px); border-radius: var(--r-m); background: var(--gold-soft); border: 1px solid color-mix(in srgb, var(--gold-bright) 45%, transparent); max-width: 62em; }
.statement p { font-size: 0.95rem; line-height: 1.6; }

.docs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 860px) { .docs { grid-template-columns: 1fr; } }
.doc { display: grid; gap: 14px; align-content: start; padding: clamp(22px, 3vw, 32px); border-radius: var(--r-l); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow); min-width: 0; }
.doc-kind { font: 700 0.78rem/1 var(--f-mono); letter-spacing: 0.1em; color: var(--leaf); }
.doc-sub { font-size: 0.85rem; color: var(--ink-3); }
.doc-meta { display: grid; gap: 0; border-top: 1px solid var(--line); }
.doc-meta > div { display: grid; grid-template-columns: minmax(0, 12rem) minmax(0, 1fr); gap: 4px 16px; padding: 10px 0; border-bottom: 1px solid var(--line); }
.doc-meta dt { font-size: 0.85rem; color: var(--ink-3); }
.doc-meta dd { font-size: 0.92rem; font-weight: 500; overflow-wrap: anywhere; }
@media (max-width: 480px) { .doc-meta > div { grid-template-columns: 1fr; } }
.doc-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.hash { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 0.78rem; color: var(--ink-3); }
.hash code { font-size: 0.74rem; overflow-wrap: anywhere; min-width: 0; flex: 1 1 16rem; }
.link-btn { border: 0; background: none; padding: 0; color: var(--leaf); font: 600 0.78rem/1.4 var(--f-text); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }

.notices { display: grid; gap: 14px; }
.updated { font-size: var(--step--1); color: var(--ink-3); margin-top: -6px; }
.notice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 860px) { .notice-grid { grid-template-columns: 1fr; } }
.notice { display: grid; gap: 10px; align-content: start; padding: 22px; border-radius: var(--r-m); border: 1px solid var(--line); background: var(--bg-2); }
.notice p { color: var(--ink-2); font-size: 0.95rem; overflow-wrap: anywhere; }
.verify code { font-size: 0.78rem; }
