/* ==========================================================================
   Legal pages (privacy, terms). Shared pieces live in site.css.
   The policy text itself is fixed: platform apps link to these URLs.
   ========================================================================== */

.legal { padding: calc(var(--head-h) + clamp(48px, 9vw, 136px)) 0 var(--section); }
.legal-in {
  display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 7vw, 128px);
  align-items: start;
}
.legal-head { position: sticky; top: calc(var(--head-h) + 32px); }
.legal-head h1 { margin: 22px 0 20px; font-size: clamp(2.6rem, 5.2vw, 5.6rem); line-height: 0.95; letter-spacing: -0.045em; margin-left: -0.03em; }
.legal-head .updated { font-size: var(--t-small); color: var(--mute); }
.legal-head .legal-alt { margin-top: 28px; }

.legal-body { max-width: 40em; color: var(--paper-2); line-height: 1.72; text-wrap: pretty; }
.legal-body > :first-child { margin-top: 0; }
.legal-body p, .legal-body ul { margin-top: 1em; }
.legal-body h2 {
  margin-top: 2.6em; padding-top: 1.1em; border-top: 1px solid var(--line);
  font-size: clamp(1.3rem, 1.7vw, 1.6rem); line-height: 1.2; color: var(--paper);
}
.legal-body h2 + p, .legal-body h2 + ul { margin-top: 0.7em; }
.legal-body li { position: relative; padding-left: 1.4em; }
.legal-body li + li { margin-top: 0.55em; }
.legal-body li::before { content: ""; position: absolute; left: 0; top: 0.82em; width: 0.6em; height: 1px; background: var(--red); }
.legal-body strong { color: var(--paper); font-weight: 600; }
.legal-body a {
  color: var(--paper); text-decoration: underline; text-decoration-color: var(--red);
  text-underline-offset: 4px; text-decoration-thickness: 1px; transition: color .4s var(--ease);
  overflow-wrap: anywhere;
}
.legal-body a:focus-visible { outline: 2px solid var(--paper); outline-offset: 3px; border-radius: 2px; }
@media (hover: hover) { .legal-body a:hover { color: var(--red-hover); } }

@media (max-width: 900px) {
  .legal-in { grid-template-columns: minmax(0, 1fr); gap: 40px; }
  .legal-head { position: static; }
}
