:root{
  --ink:#0B0B0B;
  --ink-2:#151515;
  --paper:#FAF7F2;
  --paper-2:#F3EEE6;
  --paper-3:#E9E2D5;
  --muted:#6B665E;
  --hair:rgba(11,11,11,0.12);
  --hair-strong:rgba(11,11,11,0.2);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans Arabic",sans-serif;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:var(--hair-strong)}
a:hover{text-decoration-color:var(--ink)}
.mono{font-family:"IBM Plex Mono",monospace;letter-spacing:0.02em}

/* Top utility bar */
.util{background:var(--ink);color:var(--paper);padding:12px 0;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:0.18em;text-transform:uppercase}
.util .row{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.util a{color:rgba(250,247,242,0.6);text-decoration:none;transition:color 0.15s}
.util a:hover{color:var(--paper)}
.util .home{color:var(--paper);display:inline-flex;align-items:center;gap:8px}
.util .home::before{content:"←"}

/* Main nav */
nav.legal-nav{padding:24px 0;border-bottom:1px solid var(--hair)}
nav.legal-nav .row{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
nav.legal-nav .logo{font-size:28px;font-weight:600;letter-spacing:-0.02em;display:inline-flex;align-items:center;gap:8px}
nav.legal-nav .logo .dot{width:5px;height:5px;border-radius:50%;background:var(--ink);display:inline-block}
nav.legal-nav .tabs{display:flex;gap:4px;flex-wrap:wrap}
nav.legal-nav .tabs a{font-size:13px;padding:10px 18px;border-radius:999px;text-decoration:none;color:var(--muted);border:1px solid transparent;transition:all 0.15s;font-weight:500}
nav.legal-nav .tabs a:hover{color:var(--ink);border-color:var(--hair)}
nav.legal-nav .tabs a.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Shell */
.shell{max-width:1200px;margin:0 auto;padding:60px 32px 120px;display:grid;grid-template-columns:240px 1fr;gap:60px}
@media(max-width:880px){.shell{grid-template-columns:1fr;gap:40px;padding:40px 24px 80px}}

/* Sidebar TOC */
aside.toc{position:sticky;top:20px;align-self:start;max-height:calc(100vh - 40px);overflow-y:auto;font-size:13px}
aside.toc h4{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--hair)}
aside.toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:3px}
aside.toc li{counter-increment:toc}
aside.toc a{display:flex;gap:10px;padding:7px 10px;border-radius:2px;text-decoration:none;color:var(--muted);line-height:1.4;transition:all 0.15s;border-inline-start:2px solid transparent}
aside.toc a::before{content:counter(toc,decimal-leading-zero);font-family:"IBM Plex Mono",monospace;font-size:10px;color:var(--muted);flex-shrink:0;padding-top:2px}
aside.toc a:hover{color:var(--ink);background:var(--paper-2)}
aside.toc a.active{color:var(--ink);background:var(--paper-2);border-inline-start-color:var(--ink);font-weight:500}
@media(max-width:880px){aside.toc{position:static;max-height:none}}

/* Article */
article.doc{max-width:72ch}
article.doc header.head{margin-bottom:50px;padding-bottom:30px;border-bottom:1px solid var(--ink)}
article.doc .k{font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:20px;display:inline-flex;align-items:center;gap:12px}
article.doc .k::before{content:"";width:24px;height:1px;background:var(--muted)}
article.doc h1{font-size:clamp(44px,6vw,68px);font-weight:600;letter-spacing:-0.03em;line-height:1;margin-bottom:24px}
article.doc header.head .lead{font-size:18px;color:#2a2a2a;line-height:1.65;max-width:56ch;margin-bottom:28px}
article.doc .meta{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:20px;background:var(--paper-2);border-radius:2px}
article.doc .meta > div{}
article.doc .meta .lbl{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
article.doc .meta .val{font-size:14px;font-weight:500}

article.doc section{padding:44px 0;border-top:1px solid var(--hair);scroll-margin-top:20px}
article.doc section:first-of-type{border-top:none;padding-top:0}
article.doc section h2{font-size:28px;font-weight:600;letter-spacing:-0.02em;margin-bottom:18px;line-height:1.2;display:flex;align-items:baseline;gap:14px}
article.doc section h2 .num{font-family:"IBM Plex Mono",monospace;font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0.1em}
article.doc section h3{font-size:17px;font-weight:600;margin:24px 0 10px;letter-spacing:-0.005em}
article.doc section p{font-size:15px;line-height:1.8;color:#1a1a1a;margin-bottom:14px}
article.doc section ul,article.doc section ol{padding-inline-start:20px;margin-bottom:14px}
article.doc section li{font-size:15px;line-height:1.8;color:#1a1a1a;margin-bottom:6px}

.callout{background:var(--ink);color:var(--paper);padding:24px 28px;border-radius:2px;margin:24px 0;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.callout .tag{font-family:"IBM Plex Mono",monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(250,247,242,0.55);padding-top:3px;white-space:nowrap}
.callout p{color:rgba(250,247,242,0.9) !important;margin-bottom:0 !important;font-size:14px !important}

.def-list{display:grid;grid-template-columns:180px 1fr;gap:12px 24px;padding:20px 0;border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);margin:20px 0}
.def-list dt{font-weight:600;font-size:14px}
.def-list dd{font-size:14px;color:#2a2a2a;line-height:1.6}

/* Footer */
footer.legal-foot{border-top:1px solid var(--hair);padding:40px 0;background:var(--paper-2)}
footer.legal-foot .row{max-width:1200px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-family:"IBM Plex Mono",monospace;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted)}
footer.legal-foot a{color:var(--muted);text-decoration:none}
footer.legal-foot a:hover{color:var(--ink)}
footer.legal-foot .links{display:flex;gap:22px;flex-wrap:wrap}
