.container { width: min(800px, calc(100% - 48px)); }
.container-wide { width: min(1200px, calc(100% - 48px)); margin-inline: auto; }
body > nav { position: sticky; top: 0; z-index: 30; padding-block: 16px; background: var(--color-bgsurface); border-bottom: 1px solid var(--color-bordersubtle); }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.logo-link { display: inline-flex; align-items: center; min-height: 44px; }
.logo-link img { width: 110px; }
.back { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 14px; }
.back:hover { color: var(--color-brandprimary); }
.hero-legal { padding-block: 56px 40px; background: var(--color-bgcanvas); }
.hero-legal h1 { font-size: var(--font-title-display-size); letter-spacing: -.025em; }
.hero-legal .meta { margin-top: 12px; font-size: 14px; }
.content { padding-block: 40px 64px; }
.content h2 { margin: 36px 0 16px; padding-top: 24px; border-top: 1px solid var(--color-bordersubtle); font-size: var(--font-title-h2-size); }
.content h2:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }
.content h3 { margin: 24px 0 12px; font-size: var(--font-title-h3-size); }
.content p, .content ul, .content ol { margin-bottom: 16px; line-height: 1.8; }
.content ul, .content ol { padding-left: 24px; }
.content li { margin-bottom: 8px; }
.content a, footer a { color: var(--color-brandprimary); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.table-scroll { overflow-x: auto; margin-bottom: 24px; }
.content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.content th, .content td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--color-bordersubtle); }
.content th { background: var(--color-bgcanvas); font-weight: 700; }
.highlight-box { margin-block: 24px; padding: 24px; background: var(--color-bgcanvas); border: 1px solid var(--color-borderbrand); border-radius: var(--radius-medium); }
.highlight-box p:last-child { margin-bottom: 0; }
.rights-grid, .measures-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-block: 24px; }
.right-card, .measure-card { padding: 24px; background: var(--color-bgcanvas); border: 1px solid var(--color-bordersubtle); border-radius: var(--radius-medium); }
.right-card h3, .measure-card h3 { display: flex; align-items: center; gap: 8px; margin-top: 0; }
.right-card h3 svg { flex-shrink: 0; color: var(--color-brandprimary); }
.right-card p, .measure-card p { margin-bottom: 0; font-size: 15px; }
.cta-box { margin-top: 32px; padding: 32px; background: var(--color-bgcanvas); border-radius: var(--radius-large); }
.cta-box h3 { margin-top: 0; }
.cta-box .btn { background: var(--color-brandprimary); color: var(--color-textinverse); text-decoration: none; }
.cta-box .btn:hover { background: var(--color-brandsubtle); color: var(--color-textprincipal); }
footer { padding: 28px 24px; border-top: 1px solid var(--color-bordersubtle); background: var(--color-bgcanvas); text-align: center; font-size: 13px; line-height: 1.8; }
@media (max-width: 640px) {
  .container, .container-wide { width: calc(100% - 40px); }
  .hero-legal { padding-block: 40px 32px; }
  .hero-legal h1 { font-size: 28px; }
  .content h2 { font-size: 21px; }
  .back { font-size: 13px; }
  .highlight-box { padding: 20px; }
  .rights-grid, .measures-grid { grid-template-columns: 1fr; }
  .cta-box { padding: 24px; }
}
