/* About and legal pages (v3). Extends v3.css; keep small. */
.v3-legal { display: grid; grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); gap: 2.5rem; align-items: start; }
.v3-legal__nav { position: sticky; top: 1rem; }
.v3-legal__nav h2 { font: 600 .8rem var(--rz-font-display); text-transform: uppercase; letter-spacing: .08em; color: var(--rz-muted); margin: 0 0 .75rem; }
.v3-legal__nav ol { list-style: none; margin: 0; padding: 0; counter-reset: toc; }
.v3-legal__nav li { counter-increment: toc; margin: 0; }
.v3-legal__nav a { display: block; padding: .4rem 0 .4rem 2rem; position: relative; color: var(--rz-text); text-decoration: none; font-size: .95rem; border-bottom: 1px dashed var(--rz-line); min-height: 24px; }
.v3-legal__nav a::before { content: counter(toc); position: absolute; left: 0; font: 600 .8rem var(--rz-font-display); color: var(--rz-muted); top: .55rem; }
.v3-legal__nav a:hover { background: var(--rz-blue-tint, #E4EDF6); }
.v3-legal__body { max-width: 72ch; }
.v3-legal__body section { margin-bottom: 2rem; scroll-margin-top: 1rem; }
.v3-legal__body h2 { font-size: 1.4rem; margin: 0 0 .6rem; display: flex; gap: .75rem; align-items: baseline; }
.v3-legal__no { font: 700 .9rem var(--rz-font-display); color: var(--rz-muted); border: 1px solid var(--rz-line); border-radius: 4px; padding: .1rem .45rem; flex: none; }
.v3-legal__body ul, .v3-legal__body ol { color: var(--rz-text-2); line-height: 1.65; padding-left: 1.25rem; }
.v3-legal__body li { margin-bottom: .4rem; }
.v3-legal__meta { margin-top: 1rem; }
.v3-legal__related { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.v3-legal__related a { display: inline-block; padding: .5rem .9rem; border: 1px solid var(--rz-ink); border-radius: var(--rz-radius-pill); text-decoration: none; color: var(--rz-text); font-weight: 600; font-size: .9rem; min-height: 24px; }
.v3-legal__related a:hover { background: var(--rz-blue-tint, #E4EDF6); }
.v3-dl { margin: 0; display: grid; grid-template-columns: minmax(8rem, 12rem) 1fr; gap: .4rem 1rem; }
.v3-dl dt { font: 500 .8rem var(--rz-font-display); text-transform: uppercase; letter-spacing: .06em; color: var(--rz-muted); }
.v3-dl dd { margin: 0; }
.v3-person { display: flex; gap: 1.25rem; align-items: flex-start; }
.v3-person__pic { flex: none; width: 5.5rem; height: 5.5rem; border: 2px solid var(--rz-ink); border-radius: 4px; display: grid; place-items: center; background: var(--rz-surface); overflow: hidden; }
.v3-person__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.v3-person__pic .v3-stamp { transform: rotate(-4deg); font-size: 1.4rem; margin: 0; }
.v3-person h3 { margin: 0 0 .15rem; }
.v3-person__role { font: 500 .8rem var(--rz-font-display); text-transform: uppercase; letter-spacing: .06em; color: var(--rz-muted); margin: 0 0 .5rem; }
.v3-promises { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; counter-reset: pr; }
.v3-promises > li { counter-increment: pr; background: var(--rz-surface); border: 1px solid var(--rz-line); border-radius: var(--rz-radius); padding: 1.25rem 1.5rem 1.25rem 4rem; position: relative; }
.v3-promises > li::before { content: counter(pr); position: absolute; left: 1.25rem; top: 1.2rem; font: 700 1.5rem var(--rz-font-display); color: var(--rz-ink); }
.v3-promises h3 { margin: 0 0 .4rem; font-size: 1.1rem; }
.v3-promises p { margin: 0; }
.v3-promises .v3-promises__n { margin-top: .5rem; font: 600 .85rem var(--rz-font-display); }
@media (max-width: 900px) {
  .v3-legal { grid-template-columns: 1fr; }
  .v3-legal__nav { position: static; }
  .v3-promises { grid-template-columns: 1fr; }
  .v3-dl { grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .v3-person { flex-direction: column; gap: .75rem; }
}

.v3-motto { margin: .25rem 0 1.25rem; padding-left: .85rem; border-left: 3px solid currentColor; font-style: italic; opacity: .85; }
