/* Sumezi — shared legal page layout (Privacy, Terms, Cookie policy) */
.legal-layout { max-width: 1080px; margin: 0 auto; padding: 40px 32px 96px; display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 56px; align-items: start; }

.legal-toc { position: sticky; top: 92px; align-self: start; }
.legal-toc .lt-h { font-size: var(--fs-eyebrow); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 12px; }
.legal-toc a { display: block; padding: 6px 0 6px 13px; border-left: 2px solid var(--border); font-size: var(--fs-body-sm); color: var(--fg-3); transition: color var(--dur-fast), border-color var(--dur-fast); }
.legal-toc a:hover { color: var(--fg); }
.legal-toc a.active { color: var(--accent-fg); border-left-color: var(--accent); font-weight: 600; }

.legal-content { min-width: 0; max-width: 680px; }
.legal-head { padding-bottom: 28px; margin-bottom: 12px; border-bottom: 1px solid var(--border); }
.legal-kicker { font-size: var(--fs-eyebrow); letter-spacing: var(--tracking-wider); text-transform: uppercase; color: var(--accent-fg); font-weight: 700; }
.legal-head h1 { font-family: var(--font-display); font-size: 40px; font-weight: 600; letter-spacing: -0.02em; line-height: 1.08; margin-top: 12px; }
.legal-meta { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--fg-3); font-size: var(--fs-body-sm); }
.legal-meta svg { width: 15px; height: 15px; }

.legal-content section { scroll-margin-top: 92px; }
.legal-content h2 { font-family: var(--font-display); font-size: 23px; font-weight: 600; letter-spacing: -0.01em; margin-top: 40px; }
.legal-content p { font-size: var(--fs-body-lg); line-height: 1.75; color: var(--fg); margin-top: 16px; }
.legal-content ul { margin-top: 16px; padding-left: 22px; line-height: 1.75; font-size: var(--fs-body-lg); color: var(--fg); }
.legal-content li { margin-bottom: 10px; }
.legal-content a { color: var(--accent-fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.legal-content a:hover { text-decoration-color: var(--accent); }

.legal-foot { display: flex; gap: 18px; flex-wrap: wrap; margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--border); }
.legal-foot a { font-size: var(--fs-body-sm); font-weight: 600; color: var(--fg-2); }
.legal-foot a:hover { color: var(--accent-fg); }

@media (max-width: 760px) {
  .legal-layout { grid-template-columns: 1fr; gap: 24px; padding: 28px 22px 72px; }
  .legal-toc { display: none; }
}
