/* Legal pages (terms · privacy & cookies · accessibility), 05.10.2026. Written by build_legal.py into legal/<doc>/<lang>/.
   Same tokens as the about page and the Knowledge Hub reader: dark ground, Assistant/Poppins, blue #468AC7.
   Long-read layout: sticky contents rail on desktop, a collapsible contents list on phones, numbered section anchors
   that land under the sticky bar, a reading line under the bar, "in short" box, scrollable tables, print layout.
   Motion is transform/opacity only and stops with prefers-reduced-motion. Font sizes follow the locked site floor
   (body 18.5px on phones, 19.5px from 768px; nothing smaller than 15px). */
[hidden]{display:none!important}
:root{color-scheme:dark;--bg:#090909;--bg2:#121212;--bg3:#171717;--ink:#fff;--mute:#E9ECEF;--read:#E2E5E8;--faint:#9BA2AA;
  --line:rgba(255,255,255,.14);--line2:rgba(255,255,255,.08);--blue:#468AC7;--blue2:#7DB4E6;--amber:#FFBC7D;--gut:20px;
  --f:"Assistant","Poppins",system-ui,sans-serif;--num:"Poppins","Assistant",system-ui,sans-serif;--ease:cubic-bezier(.23,1,.32,1);--bar:72px}
:lang(ar){--f:"Noto Sans Arabic","Assistant",system-ui,sans-serif}
:lang(ru){--f:"Noto Sans",system-ui,sans-serif;--num:"Poppins","Noto Sans",system-ui,sans-serif}
@media (min-width:768px){:root{--gut:40px}}
@media (max-width:767px){:root{--bar:60px}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:18.5px;line-height:1.7;-webkit-text-size-adjust:100%;overflow-x:hidden}
@media (min-width:768px){body{font-size:19.5px}}
a{color:inherit}
p{margin:0;text-wrap:pretty}
.wrap{max-width:1200px;margin:0 auto;padding-inline:var(--gut)}
.num{font-family:var(--num)}
[lang="de"] :is(h1,h2,h3,.lg-toc a,.lg-tabs a,dt),[lang="ru"] :is(h1,h2,h3,.lg-toc a,.lg-tabs a,dt){hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
main,.lg-art{overflow-wrap:break-word}

/* skip link */
.lg-skip{position:absolute;inset-inline-start:12px;top:-60px;z-index:60;padding:12px 18px;border-radius:12px;background:#fff;color:#090909;font-weight:800;text-decoration:none;transition:transform .2s var(--ease)}
.lg-skip:focus{top:12px}

/* reading line under the bar */
.lg-prog{position:fixed;inset-inline:0;top:var(--bar);z-index:44;height:2px;pointer-events:none;background:transparent}
.lg-prog i{display:block;height:100%;background:linear-gradient(90deg,#5598D2,#7DB4E6);transform:scaleX(var(--p,0));transform-origin:left center;will-change:transform}
[dir=rtl] .lg-prog i{transform-origin:right center}

/* opening */
.lg-hero{padding-block:clamp(40px,7vw,96px) 8px;position:relative}
body.lg-page{background:radial-gradient(1100px 520px at 18% -80px,rgba(70,138,199,.15),transparent 70%) no-repeat,var(--bg)}
[dir=rtl] body.lg-page{background:radial-gradient(1100px 520px at 82% -80px,rgba(70,138,199,.15),transparent 70%) no-repeat,var(--bg)}
.lg-kick{margin:0 0 14px;font:500 15px/1.3 var(--num);letter-spacing:.18em;text-transform:uppercase;color:var(--blue2)}
:lang(he) .lg-kick,:lang(ar) .lg-kick{letter-spacing:0;text-transform:none;font-family:var(--f);font-weight:700;font-size:16px}
.lg-hero h1{margin:0;font-size:clamp(38px,6vw,72px);line-height:1.04;font-weight:800;letter-spacing:-.025em;text-wrap:balance;max-width:20ch}
:lang(he) .lg-hero h1,:lang(ar) .lg-hero h1{letter-spacing:-.01em;line-height:1.12}
.lg-lede{margin-top:20px;font-size:clamp(19.5px,2vw,22px);line-height:1.6;color:var(--mute);max-width:60ch}
.lg-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;align-items:center}
.lg-chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03);font-size:15.5px;line-height:1.3;color:var(--mute)}
.lg-chip b{color:#fff;font-weight:700}
.lg-chip svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--blue2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lg-chip--date{border-color:rgba(70,138,199,.5);background:rgba(70,138,199,.1)}
.lg-chip--date i{width:8px;height:8px;border-radius:50%;background:#7BD8A6;box-shadow:0 0 0 4px rgba(123,216,166,.16);flex:none}
button.lg-chip{font:inherit;font-size:15.5px;cursor:pointer;color:var(--mute);min-height:44px}
@media (hover:hover){button.lg-chip:hover{border-color:rgba(70,138,199,.6);color:#fff}}
button.lg-chip:active,.lg-tabs a:active,.lg-top:active,.lg-more a:active,.lg-set:active{transform:scale(.97);transition:transform .12s var(--ease)}

/* the three documents */
.lg-tabs{display:flex;gap:6px;margin-top:28px;padding:5px;border:1px solid var(--line);border-radius:18px;background:var(--bg2);width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none}
.lg-tabs::-webkit-scrollbar{display:none}
.lg-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:13px;text-decoration:none;font-weight:700;font-size:16.5px;color:var(--faint);white-space:nowrap;transition:background-color .2s,color .2s}
.lg-tabs a[aria-current="page"]{background:#fff;color:#090909}
@media (hover:hover){.lg-tabs a:not([aria-current]):hover{color:#fff;background:rgba(255,255,255,.06)}}
@media (max-width:639px){.lg-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;overflow:visible}
  .lg-tabs a{justify-content:center;text-align:center;white-space:normal;line-height:1.2;padding:6px 8px;min-height:52px;font-size:15.5px;hyphens:auto;-webkit-hyphens:auto}}

/* body: rail + column */
.lg-body{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;padding-block:36px 40px}
@media (min-width:1024px){.lg-body{grid-template-columns:270px minmax(0,1fr);gap:64px;align-items:start}}
.lg-art{max-width:68ch;min-width:0}
@media (min-width:1024px){.lg-art{max-width:72ch}}

/* contents rail (desktop) */
.lg-toc{display:none}
@media (min-width:1024px){
  .lg-toc{display:block;position:sticky;top:calc(var(--bar) + 28px);max-height:calc(100svh - var(--bar) - 56px);overflow:auto;padding-inline-end:6px;scrollbar-width:thin}
}
.lg-toc h2,.lg-tocm summary{margin:0 0 10px;font:600 14px/1.3 var(--num);letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
:lang(he) .lg-toc h2,:lang(ar) .lg-toc h2,:lang(he) .lg-tocm summary,:lang(ar) .lg-tocm summary{letter-spacing:0;text-transform:none;font:700 16px/1.3 var(--f)}
.lg-toc ol,.lg-tocm ol{list-style:none;margin:0;padding:0}
.lg-toc li{position:relative}
.lg-toc a{position:relative;display:grid;grid-template-columns:30px 1fr;gap:6px;align-items:baseline;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--faint);font-size:16px;line-height:1.35;transition:color .2s,background-color .2s}
.lg-toc a .num,.lg-tocm a .num{font-size:13px;color:rgba(155,162,170,.8);font-variant-numeric:tabular-nums}
.lg-toc a::before{content:"";position:absolute;inset-block:8px;inset-inline-start:0;width:2px;border-radius:2px;background:var(--blue);transform:scaleY(0);transition:transform .25s var(--ease)}
.lg-toc a[aria-current="true"]{color:#fff;background:rgba(70,138,199,.1)}
.lg-toc a[aria-current="true"]::before{transform:scaleY(1)}
.lg-toc a[aria-current="true"] .num{color:var(--blue2)}
@media (hover:hover){.lg-toc a:hover{color:#fff}}

/* contents (phones and tablets) */
.lg-tocm{margin-bottom:28px;border:1px solid var(--line);border-radius:18px;background:var(--bg2);overflow:hidden}
@media (min-width:1024px){.lg-tocm{display:none}}
.lg-tocm summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;margin:0;padding:0 18px;cursor:pointer;list-style:none;color:#fff}
.lg-tocm summary::-webkit-details-marker{display:none}
.lg-tocm summary small{font:500 15px/1 var(--num);letter-spacing:0;text-transform:none;color:var(--faint);margin-inline-start:auto}
.lg-tocm summary svg{width:20px;height:20px;flex:none;fill:none;stroke:#fff;stroke-width:2;transition:transform .25s var(--ease)}
.lg-tocm[open] summary svg{transform:rotate(180deg)}
.lg-tocm ol{padding:0 8px 10px;border-top:1px solid var(--line2)}
.lg-tocm a{display:grid;grid-template-columns:30px 1fr;gap:6px;align-items:baseline;min-height:44px;padding:10px 10px;border-radius:10px;text-decoration:none;color:var(--mute);font-size:17px;line-height:1.35}
.lg-tocm a[aria-current="true"]{color:#fff;background:rgba(70,138,199,.12)}
.lg-tocm[open] ol{animation:lgIn .25s var(--ease) both}
@keyframes lgIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* in short */
.lg-sum{position:relative;margin-bottom:12px;padding:24px 24px 22px;border-radius:22px;border:1px solid rgba(70,138,199,.4);
  background:linear-gradient(180deg,rgba(70,138,199,.12),rgba(70,138,199,.03))}
.lg-sum h2{margin:0 0 12px;font-size:21px;line-height:1.3;font-weight:800;display:flex;align-items:center;gap:10px}
.lg-sum h2 svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--blue2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lg-sum ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.lg-art .lg-sum li{margin-top:0;padding-inline-start:28px;color:var(--read);line-height:1.6}
.lg-art .lg-sum li{position:relative}
.lg-sum li::before{content:"";position:absolute;inset-inline-start:2px;top:.55em;width:12px;height:7px;border-left:2px solid var(--blue2);border-bottom:2px solid var(--blue2);transform:rotate(-45deg)}

/* sections */
.lg-art h2.lg-h{position:relative;margin:56px 0 0;scroll-margin-top:24px;font-size:clamp(27px,3vw,36px);line-height:1.2;font-weight:800;letter-spacing:-.015em;text-wrap:balance;display:flex;gap:14px;align-items:baseline}
:lang(he) .lg-art h2.lg-h,:lang(ar) .lg-art h2.lg-h{letter-spacing:-.005em}
.lg-h .lg-n{flex:none;font:500 15px/1 var(--num);color:var(--blue2);letter-spacing:.04em;transform:translateY(-.3em);font-variant-numeric:tabular-nums}
.lg-h .lg-ht{min-width:0}
.lg-anc{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;margin-inline-start:-2px;border-radius:10px;color:var(--faint);text-decoration:none;opacity:0;transform:translateY(-.1em);transition:opacity .2s,background-color .2s,color .2s;align-self:center}
.lg-anc svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.lg-h:hover .lg-anc,.lg-anc:focus-visible{opacity:1}
@media (hover:none){.lg-anc{opacity:.55}}
@media (hover:hover){.lg-anc:hover{color:#fff;background:rgba(255,255,255,.06)}}
.lg-art h3{margin:32px 0 0;font-size:clamp(21px,2.1vw,25px);line-height:1.3;font-weight:800}
.lg-art p{margin-top:16px;color:var(--read)}
.lg-art p b,.lg-art li b{color:#fff;font-weight:700}
.lg-art a:not(.lg-anc):not(.lg-more a){color:var(--blue2);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
@media (hover:hover){.lg-art a:not(.lg-anc):hover{color:#fff}}
.lg-art ul:not(.lg-sum ul),.lg-art ol{margin:14px 0 0;padding-inline-start:24px;color:var(--read)}
.lg-art li{margin-top:9px;padding-inline-start:4px}
.lg-art li::marker{color:var(--blue)}
.lg-art code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em;padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.07);border:1px solid var(--line2);direction:ltr;unicode-bidi:isolate;white-space:nowrap}
.lg-art [dir=ltr]{unicode-bidi:isolate}
.lg-note{margin-top:20px;padding:18px 20px;border-radius:16px;border:1px solid rgba(255,188,125,.32);background:linear-gradient(180deg,rgba(255,188,125,.09),rgba(255,188,125,.035))}
.lg-note p b:first-child{color:var(--amber)}
.lg-note p{margin:0;color:var(--mute)}
.lg-dl{margin:18px 0 0;display:grid;grid-template-columns:minmax(0,1fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--bg2)}
.lg-dl>div{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:14px 18px;border-top:1px solid var(--line2)}
.lg-dl>div:first-child{border-top:0}
@media (min-width:640px){.lg-dl>div{grid-template-columns:minmax(150px,32%) minmax(0,1fr);gap:16px}}
.lg-dl dt{font-weight:700;color:#fff;font-size:16.5px}
.lg-dl dd{margin:0;color:var(--read)}
.lg-dl a{color:var(--blue2)}

/* tables: scroll sideways inside their frame on narrow screens, never the page */
.lg-tbl{position:relative;margin-top:20px;border:1px solid var(--line);border-radius:16px;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;background:var(--bg2)}
.lg-tbl:focus-visible{outline:2px solid #8EC0EA;outline-offset:3px}
.lg-tbl table{width:100%;border-collapse:collapse;font-size:16.5px;line-height:1.5}
.lg-tbl[data-cols="3"] table{min-width:600px}.lg-tbl[data-cols="4"] table{min-width:720px}
.lg-tbl caption{caption-side:top;text-align:start;padding:14px 16px 10px;font-weight:800;color:#fff;font-size:17px}
.lg-tbl th,.lg-tbl td{padding:12px 16px;text-align:start;vertical-align:top;border-top:1px solid var(--line2)}
.lg-tbl thead th{background:var(--bg3);color:#fff;font-weight:700;font-size:15.5px;white-space:nowrap}
.lg-tbl tbody th{color:#fff;font-weight:700}
.lg-tbl td{color:var(--read)}
.lg-tbl tbody tr:nth-child(even) :is(td,th){background:rgba(255,255,255,.015)}
.lg-hint{display:none;margin-top:8px;font-size:15px;color:var(--faint)}
@media (max-width:767px){.lg-tbl[data-cols="3"]+.lg-hint,.lg-tbl[data-cols="4"]+.lg-hint{display:block}}

/* inline cookie settings button */
.lg-set{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:4px 14px;margin:2px 0;border-radius:999px;border:1px solid rgba(70,138,199,.6);background:rgba(70,138,199,.12);color:#fff;font:inherit;font-size:.92em;font-weight:700;cursor:pointer;vertical-align:baseline}
@media (hover:hover){.lg-set:hover{background:rgba(70,138,199,.24)}}

/* the other two documents */
.lg-more{margin-top:64px;padding-top:28px;border-top:1px solid var(--line)}
.lg-more h2{margin:0;font-size:21px;font-weight:800}
.lg-more ul{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
@media (min-width:640px){.lg-more ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lg-more a{display:flex;flex-direction:column;gap:6px;min-height:100%;padding:18px 20px;border-radius:18px;border:1px solid var(--line);background:var(--bg2);text-decoration:none;color:#fff;transition:border-color .2s,transform .25s var(--ease)}
.lg-more a b{font-size:19px;font-weight:800;display:flex;justify-content:space-between;gap:12px}
.lg-more a b i{font-style:normal;color:var(--blue2);transition:transform .25s var(--ease)}
[dir=rtl] .lg-more a b i{transform:scaleX(-1)}
.lg-more a span{font-size:16px;line-height:1.5;color:var(--faint)}
@media (hover:hover){.lg-more a:hover{border-color:rgba(70,138,199,.6);transform:translateY(-2px)}.lg-more a:hover b i{transform:translateX(3px)}[dir=rtl] .lg-more a:hover b i{transform:scaleX(-1) translateX(3px)}}

/* back to top: right edge on both directions (the chat bubble lives on the left) */
.lg-top{position:fixed;right:16px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:43;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  background:rgba(18,18,18,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;display:grid;place-items:center;cursor:pointer;
  opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease),background-color .2s;box-shadow:0 10px 26px rgba(0,0,0,.4)}
.lg-top.on{opacity:1;transform:none;pointer-events:auto}
.lg-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (hover:hover){.lg-top:hover{background:rgba(70,138,199,.3)}}
@media (max-width:767px){.lg-top{bottom:calc(92px + env(safe-area-inset-bottom,0px));right:12px}}

/* toast */
.lg-toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom,0px));z-index:150;padding:12px 18px;border-radius:14px;background:#fff;color:#090909;font-weight:700;font-size:16px;
  transform:translate(-50%,16px);opacity:0;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.lg-toast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:767px){.lg-toast{bottom:calc(100px + env(safe-area-inset-bottom,0px))}}

/* entrance: subtle, opacity/transform only, script-gated so content never hides without it */
.js .lg-rv{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .7s var(--ease)}
.js .lg-rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .js .lg-rv{opacity:1;transform:none;transition:none}
  .lg-prog i,.lg-top,.lg-toast,.lg-toc a::before,.lg-tocm summary svg,.lg-more a,.lg-more a b i{transition:none}
  .lg-tocm[open] ol{animation:none}
}
html.a11y-motion .lg-rv{opacity:1!important;transform:none!important}

/* print: just the document */
@media print{
  @page{margin:18mm 16mm}
  html,body{background:#fff!important;color:#000!important;font-size:11.5pt;filter:none!important}
  .shd,.sfx,.lg-toc,.lg-tocm,.lg-prog,.lg-top,.lg-toast,.lg-tabs,.lg-more,.lg-anc,.lg-skip,.lg-set,button,#cgcc,.a11y-b,.a11y-p,.c-pill,.c-bar,.cgs-band,[data-print-hide]{display:none!important}
  .lg-hero{padding:0}body.lg-page{background:#fff!important}
  .lg-hero h1{font-size:24pt;max-width:none;color:#000}
  main,main *{color:#000!important}
  .lg-chip--date i{box-shadow:none}
  .lg-kick,.lg-h .lg-n{color:#333!important}
  .lg-chip{border-color:#999;background:none}
  .lg-body{display:block;padding:0}.lg-sum{margin-top:16pt}
  .lg-art{max-width:none}
  .lg-sum,.lg-note,.lg-dl,.lg-tbl{background:none!important;border-color:#999!important;break-inside:avoid}
  .lg-art h2.lg-h{font-size:16pt;margin-top:20pt;break-after:avoid;color:#000}
  .lg-art h3{font-size:13pt;color:#000}
  .lg-tbl{overflow:visible}.lg-tbl table{min-width:0!important;font-size:10pt}.lg-tbl th,.lg-tbl thead th{background:#eee!important;color:#000!important}
  .lg-art a{color:#000!important}
  .js .lg-rv{opacity:1!important;transform:none!important}
}
