:root {
  --legal-text: #17212a;
  --legal-muted: #667579;
  --legal-line: #dfe5e4;
  --legal-surface: #ffffff;
  --legal-accent: #2b4dff;
}

* { box-sizing: border-box; }
body.public-legal-page { background: var(--legal-surface); color: var(--legal-text); font-family: var(--font-sans); margin: 0; overflow: auto; }
.public-legal-page header .landing-site-navbar { border-bottom: 1px solid var(--legal-line); }

.legal-shell { background: var(--legal-surface); display: grid; grid-template-columns: 290px minmax(0, 1fr); margin: 0 auto; max-width: 1440px; min-height: calc(100dvh - 72px); padding-top: 76px; }
.legal-sidebar { background: var(--legal-surface); border-right: 1px solid var(--legal-line); display: flex; flex-direction: column; max-height: calc(100dvh - 72px); min-height: calc(100dvh - 72px); overflow-y: auto; padding: 2rem 1rem; position: sticky; top: 72px; }
.legal-sidebar-home { color: var(--legal-text); display: grid; gap: .12rem; padding: .4rem 1rem 1.8rem; text-decoration: none; }
.legal-sidebar-home strong { color: var(--legal-text); font-size: .9rem; }
.legal-sidebar-home span { color: var(--legal-muted); font-size: .62rem; }
.legal-sidebar nav { border-top: 1px solid var(--legal-line); display: grid; }
.legal-sidebar nav a { align-items: center; border-bottom: 1px solid var(--legal-line); color: var(--legal-muted); display: grid; font-size: .7rem; font-weight: 750; gap: .7rem; grid-template-columns: 23px 1fr auto; line-height: 1.3; min-height: 48px; padding: .5rem .55rem .5rem 1rem; text-decoration: none; }
.legal-sidebar nav a:first-child { grid-template-columns: 1fr auto; }
.legal-sidebar nav a small { color: #89979a; font-size: .55rem; }
.legal-sidebar nav a i { font-size: .7rem; opacity: 0; }
.legal-sidebar nav a:hover, .legal-sidebar nav a.active { color: var(--legal-text); }
.legal-sidebar nav a.active { background: var(--legal-surface); box-shadow: inset 3px 0 0 var(--legal-accent); color: var(--legal-accent); }
.legal-sidebar nav a.active small { color: var(--legal-accent); }
.public-legal-page .legal-sidebar nav a:not(.active) { color: var(--legal-muted); }
.legal-sidebar nav a.active i { opacity: 1; }
.legal-contact { align-items: center; border: 1px solid var(--legal-line); border-radius: 10px; color: var(--legal-text); display: flex; gap: .7rem; margin-top: auto; padding: .85rem; text-decoration: none; }
.legal-contact > i { color: var(--legal-accent); font-size: 1.2rem; }
.legal-contact span { display: grid; gap: .12rem; }
.legal-contact strong { font-size: .7rem; }
.legal-contact small { color: var(--legal-muted); font-size: .6rem; }
.legal-mobile-navigation { display: none; }

.legal-document { background: transparent; margin: 0 auto; max-width: 980px; min-width: 0; width: 100%; }
.legal-document-header { background: var(--legal-surface); border-bottom: 1px solid var(--legal-line); padding: clamp(3rem, 7vw, 6.5rem) clamp(2rem, 6vw, 5.5rem); }
.legal-draft-status { align-items: center; display: flex; gap: .55rem; margin-bottom: 2.2rem; }
.legal-draft-status span { border: 1px solid var(--legal-line); border-radius: 999px; color: var(--legal-muted); font-size: .58rem; font-weight: 850; letter-spacing: .08em; padding: .36rem .55rem; text-transform: uppercase; }
.legal-draft-status small { color: var(--legal-muted); font-size: .6rem; }
.legal-kicker { color: var(--legal-accent); font-size: .63rem; font-weight: 850; letter-spacing: .15em; margin: 0 0 1rem; text-transform: uppercase; }
.legal-document-header h1 { color: #102e39; font-family: var(--font-display); font-size: clamp(3rem, 6vw, 5.8rem); font-weight: 650; letter-spacing: -.07em; line-height: .9; margin: 0; max-width: 760px; }
.legal-summary { color: var(--legal-muted); font-size: .92rem; line-height: 1.7; margin: 1.5rem 0; max-width: 680px; }
.legal-meta { display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; }
.legal-meta span { align-items: center; color: #718287; display: flex; font-size: .62rem; font-weight: 700; gap: .35rem; }
.legal-meta i { color: #0b5261; font-size: .9rem; }
.legal-content { padding: clamp(2rem, 5vw, 4.5rem); }
.legal-content section, .legal-markdown section { border-top: 1px solid #dce3e1; display: grid; gap: clamp(1rem, 4vw, 3.5rem); grid-template-columns: minmax(170px, .38fr) minmax(0, 1fr); padding: clamp(2rem, 5vw, 3.8rem) 0; }
.legal-content > section:first-child, .legal-markdown section:first-child { border-top: 0; padding-top: 0; }
.legal-content h2, .legal-markdown h2 { color: var(--legal-text); font-family: var(--font-display); font-size: clamp(1.7rem, 3vw, 2.5rem); font-weight: 650; letter-spacing: -.05em; line-height: 1; margin: 0; }
.legal-section-body { color: #526469; font-family: Georgia, Cambria, serif; font-size: 1rem; line-height: 1.7; min-width: 0; }
.legal-section-body p { margin: 0 0 1rem; }
.legal-section-body p:last-child { margin-bottom: 0; }
.legal-section-body h3 { color: var(--legal-text); font-family: var(--font-sans); font-size: 1rem; margin: 1.5rem 0 .65rem; }
.legal-content ul, .legal-markdown ul { display: grid; gap: .7rem; list-style: none; margin: 0; padding: 0; }
.legal-content li, .legal-markdown li { padding-left: 1.2rem; position: relative; }
.legal-content li::before, .legal-markdown li::before { background: var(--legal-accent); border-radius: 50%; content: ""; height: 5px; left: 0; position: absolute; top: .7rem; width: 5px; }
.legal-content a { color: var(--legal-accent); }
.legal-document-grid { display: grid; gap: .7rem; margin-top: 1.4rem; }
.legal-document-grid a { border: 1px solid var(--legal-line); border-radius: 12px; color: var(--legal-text); display: grid; gap: .35rem; grid-template-columns: 34px 1fr auto; padding: 1rem; text-decoration: none; transition: border-color .16s, transform .16s; }
.legal-document-grid a:hover { border-color: var(--legal-accent); transform: translateY(-1px); }
.legal-document-grid small { color: var(--legal-muted); font: .56rem var(--font-sans); grid-row: span 3; }
.legal-document-grid strong { color: var(--legal-text); font: 700 .76rem var(--font-sans); }
.legal-document-grid span { color: var(--legal-muted); font: .67rem/1.5 var(--font-sans); grid-column: 2; }
.legal-document-grid em { color: var(--legal-accent); font: 800 .54rem var(--font-sans); grid-column: 2; letter-spacing: .07em; text-transform: uppercase; }
.legal-document-grid i { color: var(--legal-accent); grid-column: 3; grid-row: 1 / 4; }
.legal-identity-list { display: grid; gap: .8rem; margin: 1.4rem 0 0; }
.legal-identity-list div { border-bottom: 1px solid var(--legal-line); display: grid; gap: .25rem; padding-bottom: .8rem; }
.legal-identity-list dt { color: var(--legal-muted); font: 700 .62rem var(--font-sans); text-transform: uppercase; }
.legal-identity-list dd { color: var(--legal-text); margin: 0; }
.legal-identity-strip { background: color-mix(in srgb, var(--legal-accent) 5%, var(--legal-surface)); border: 1px solid color-mix(in srgb, var(--legal-accent) 18%, var(--legal-line)); border-radius: 12px; display: grid; gap: .35rem; margin-bottom: 2rem; padding: 1rem 1.1rem; }
.legal-identity-strip strong { font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.legal-identity-strip span, .legal-identity-strip a { color: var(--legal-muted); font-size: .72rem; line-height: 1.5; }
.legal-review-note { align-items: flex-start; border: 1px solid var(--legal-line); border-radius: 12px; display: flex; gap: .9rem; margin-top: 1.5rem; padding: 1.1rem; }
.legal-review-note > i { color: var(--legal-accent); font-size: 1.2rem; }
.legal-review-note strong { display: block; font-size: .72rem; margin-bottom: .3rem; }
.legal-review-note p { color: var(--legal-muted); font-size: .72rem; line-height: 1.55; margin: 0; }
.legal-review-note.compact { margin-top: 2.5rem; }
.public-footer-links { display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; margin-top: 1.25rem; }
.public-legal-page .public-footer-links a { color: var(--legal-muted); font-size: .7rem; font-weight: 700; text-decoration: none; }
.public-footer-links a:hover { color: var(--legal-accent); }
.legal-table-wrap { border: 1px solid var(--legal-line); border-radius: 10px; overflow-x: auto; }
.legal-table-wrap table { border-collapse: collapse; font-family: var(--font-sans); font-size: .68rem; line-height: 1.45; min-width: 560px; width: 100%; }
.legal-table-wrap th { color: var(--legal-text); font-weight: 800; text-align: left; }
.legal-table-wrap th, .legal-table-wrap td { border-bottom: 1px solid var(--legal-line); padding: .75rem; vertical-align: top; }

@media (max-width: 900px) {
  .legal-shell { display: block; }
  .legal-sidebar { display: none; }
  .legal-mobile-navigation { border-bottom: 1px solid var(--legal-line); display: block; padding: .85rem 1rem; }
  .legal-mobile-navigation summary { align-items: center; cursor: pointer; display: flex; font-size: .72rem; font-weight: 800; justify-content: space-between; list-style: none; }
  .legal-mobile-navigation summary::-webkit-details-marker { display: none; }
  .legal-mobile-navigation nav { display: grid; margin-top: .7rem; }
  .legal-mobile-navigation a { border-top: 1px solid var(--legal-line); color: var(--legal-muted); font-size: .72rem; padding: .75rem 0; text-decoration: none; }
  .legal-mobile-navigation a.active { color: var(--legal-accent); }
}

@media (max-width: 650px) {
  .legal-document-header, .legal-content { padding: 2.5rem 1.2rem; }
  .legal-document-header h1 { font-size: clamp(3rem, 15vw, 4.6rem); }
  .legal-content section, .legal-markdown section { gap: 1rem; grid-template-columns: 1fr; padding: 2.2rem 0; }
  .legal-content h2, .legal-markdown h2 { font-size: 2rem; }
  .legal-document-grid a { grid-template-columns: 26px 1fr auto; }
}
