/* ==========================================================================
   NOWY — legal pages (privacy, note legali, termini)
   Requires nowy-core.css.
   ========================================================================== */
.legal-hero{ padding: calc(var(--nav-h) + var(--space-16)) 0 var(--space-12); position: relative; overflow: hidden; isolation: isolate; }
.legal-hero .mesh{ z-index: -1; opacity: .7; }
.legal-hero .t-display{ margin-top: var(--space-5); }
.legal-hero .t-lead{ margin-top: var(--space-5); max-width: 56ch; }
.legal-hero .t-small{ margin-top: var(--space-4); }

.legal{ display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: var(--space-16); align-items: start; }
.legal__toc{ position: sticky; top: calc(var(--nav-h) + var(--space-6)); display: grid; gap: var(--space-2); list-style: none; padding: 0; margin: 0; }
.legal__toc a{ font-size: var(--text-small); color: var(--color-fg-3); transition: color var(--dur-base) var(--ease-standard); }
.legal__toc a:hover{ color: var(--color-fg); }
.legal__body{ max-width: 72ch; }
.legal__body h2{ font-size: var(--text-h2); line-height: 1.15; letter-spacing: var(--tracking-heading); font-weight: var(--weight-medium); margin: var(--space-16) 0 var(--space-4); scroll-margin-top: calc(var(--nav-h) + var(--space-6)); }
.legal__body h2:first-child{ margin-top: 0; }
.legal__body h3{ font-size: var(--text-h3); font-weight: var(--weight-medium); margin: var(--space-8) 0 var(--space-2); }
.legal__body p, .legal__body li{ color: var(--color-fg-2); line-height: 1.7; }
.legal__body p + p{ margin-top: var(--space-3); }
.legal__body ul, .legal__body ol{ padding-left: 1.2em; display: grid; gap: var(--space-2); margin: var(--space-3) 0; }
.legal__body strong{ color: var(--color-fg); font-weight: var(--weight-medium); }
.legal__body table{ width: 100%; border-collapse: collapse; margin: var(--space-4) 0; font-size: var(--text-small); }
.legal__body th, .legal__body td{ text-align: left; padding: var(--space-3); border-bottom: 1px solid var(--color-border); vertical-align: top; }
.legal__body th{ font-family: var(--font-mono); font-size: var(--text-label); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-fg-3); font-weight: var(--weight-medium); }
.legal__summary{ padding: var(--space-5) var(--space-6); border-radius: var(--radius-md); background: var(--color-surface); border: 1px solid var(--color-border); margin-bottom: var(--space-10); }
.legal__summary p{ color: var(--color-fg); }
.table-wrap{ overflow-x: auto; }
@media (max-width: 899px){ .legal{ grid-template-columns: 1fr; gap: var(--space-8); } .legal__toc{ position: static; } }
