/* Legal + 404 pages: dark house style, reading width, no 3D. Tokens from meridian.css. */
body.legal { background: radial-gradient(1200px 600px at 80% -10%, rgba(245,185,106,.08), transparent 60%), var(--bg); color: var(--ink-2); min-height: 100svh; margin: 0; }
.l-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: max(18px, env(safe-area-inset-top)) var(--gut, 16px) 0; max-width: 1180px; margin: 0 auto; }
.l-mark { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-family: var(--serif); font-size: 23px; letter-spacing: -.01em; }
.l-mark svg { width: 26px; height: 26px; fill: none; stroke: var(--sun); stroke-width: 1.6; filter: drop-shadow(0 0 6px rgba(245,185,106,.5)); }
.l-wrap { max-width: 720px; margin: 0 auto; padding: 56px var(--gut, 16px) 40px; animation: ms-pop .45s var(--ease) both; }
.l-wrap h1 { font-family: var(--serif); font-weight: 400; color: var(--ink); font-size: clamp(40px, 5vw, 64px); line-height: 1; letter-spacing: -.015em; margin: 10px 0 18px; text-wrap: balance; }
.l-wrap h1 em { color: var(--sun-2); }
.l-wrap h2 { font-family: var(--serif); font-weight: 400; color: var(--ink); font-size: 28px; line-height: 1.1; margin: 38px 0 10px; }
.l-wrap p, .l-wrap li { font-size: 15px; line-height: 1.7; }
.l-wrap ul, .l-wrap ol { padding-left: 20px; margin: 0 0 12px; }
.l-wrap li { margin: 0 0 8px; }
.l-wrap li::marker { color: var(--sun); }
.l-wrap b { color: var(--ink); font-weight: 600; }
.l-wrap a, .l-foot a { color: var(--sun-2); text-underline-offset: 3px; }
.l-lede { font-size: 17px !important; color: var(--ink-2); }
.l-small { margin-top: 36px; font-size: 12.5px !important; color: var(--ink-3); }
.l-wrap .ms-note { margin: 16px 0; }
.l-foot { max-width: 720px; margin: 0 auto; padding: 24px var(--gut, 16px) max(32px, env(safe-area-inset-bottom)); border-top: 1px solid var(--line); font-size: 13px; color: var(--ink-3); }
.l-foot p { margin: 0 0 6px; }
.l-foot a { color: var(--ink-2); }
@media (max-width: 720px) { .l-wrap { padding-top: 36px; } .l-wrap h2 { font-size: 24px; } .l-mark { font-size: 20px; } .l-top .ms-pill { font-size: 12px; } }
