/* Shared shell for the legal pages. Same palette and type as the landing page,
   but a single reading column — these are documents, not marketing. */
:root{
  --charcoal:#1A1D1A;--lime:#C9DD1D;--chalk:#F2F4EF;--grey:#8E948A;
  --surface:#1F231E;--outline:rgba(255,255,255,.13);
  --pad:clamp(1.25rem,5vw,3rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--charcoal);color:var(--chalk);
  font:400 1.02rem/1.7 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;
  overflow-x:hidden}
.wrap{max-width:46rem;margin:0 auto;padding-inline:var(--pad)}
a{color:var(--lime)}
:where(a,button):focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:2px}
.skip{position:absolute;left:-9999px;top:0;z-index:50;background:var(--lime);
  color:var(--charcoal);font-weight:700;padding:.7rem 1.2rem;border-radius:0 0 .5rem 0}
.skip:focus{left:0}

header{border-bottom:1px solid var(--outline)}
header .wrap{display:flex;align-items:center;gap:1rem;min-height:4.25rem;max-width:60rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--lime);text-decoration:none;
  font-weight:600;letter-spacing:.14em;font-size:.95rem}
.brand svg{width:1.7rem;height:1.7rem;flex:none}
.brand span{color:var(--chalk)}
header nav{margin-left:auto;display:flex;gap:1.25rem;font-size:.9rem}
header nav a{color:var(--grey);text-decoration:none}
header nav a:hover,header nav a[aria-current="page"]{color:var(--chalk)}

main{padding-block:clamp(2.5rem,7vw,4.5rem)}
.eyebrow{font:600 .7rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.18em;text-transform:uppercase;color:var(--lime);margin:0 0 .9rem}
h1{font-size:clamp(2rem,1.2rem + 3vw,3rem);line-height:1.08;letter-spacing:-.03em;
  font-weight:700;margin:0 0 .6rem;text-wrap:balance}
.updated{color:var(--grey);font-size:.9rem;margin:0 0 2.5rem}
h2{font-size:1.3rem;line-height:1.25;letter-spacing:-.015em;margin:2.6rem 0 .7rem;
  padding-top:1.6rem;border-top:1px solid var(--outline)}
h3{font-size:1.02rem;margin:1.6rem 0 .4rem}
p,li{color:var(--grey)}
p{margin:0 0 1rem}
ul{margin:0 0 1.2rem;padding-left:1.15rem}
li{margin:.35rem 0}
strong{color:var(--chalk);font-weight:600}
.callout{background:var(--surface);border:1px solid var(--outline);border-radius:.9rem;
  padding:1.15rem 1.3rem;margin:0 0 1.4rem}
.callout p:last-child{margin-bottom:0}
table{width:100%;border-collapse:collapse;margin:0 0 1.4rem;font-size:.93rem}
th,td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--outline);
  vertical-align:top;color:var(--grey)}
th{font:600 .66rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;
  text-transform:uppercase;color:var(--grey)}
td:first-child{color:var(--chalk);font-weight:600}
footer{border-top:1px solid var(--outline);padding-block:2.2rem;color:var(--grey);font-size:.9rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:.8rem 1.6rem;align-items:center;max-width:60rem}
footer nav{display:flex;flex-wrap:wrap;gap:1.2rem;margin-left:auto}
footer a{color:var(--grey);text-decoration:none}
footer a:hover{color:var(--chalk)}

/* ---------- translation notice ----------
   These documents are written in English and translated. The English version is
   the one that governs, and saying so belongs at the top of the translation. */
.translation-note{font-size:.88rem;color:var(--grey);margin:-1.6rem 0 2.2rem;
  padding-inline-start:.9rem;border-inline-start:2px solid var(--outline)}

/* ---------- language picker ----------
   A native <details>: the 27 locales are one tap away and it works with no JS.
   Every link carries its own lang/dir, or an endonym in Arabic or Hebrew script
   would render under the surrounding page's direction. */
.langpick{max-width:60rem;margin:1.6rem auto 0;padding-inline:var(--pad)}
.langpick details{font-size:.88rem}
.langpick summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;
  gap:.5rem;color:var(--grey);padding:.35rem 0}
.langpick summary::-webkit-details-marker{display:none}
.langpick summary:hover{color:var(--chalk)}
.langpick summary svg{width:1.05rem;height:1.05rem;flex:none;color:var(--lime)}
.langpick summary::after{content:"+";margin-inline-start:.15rem;color:var(--lime)}
.langpick details[open] summary::after{content:"\2212"}
.langpick ul{list-style:none;margin:.85rem 0 0;padding:0;display:grid;gap:.55rem 1.25rem;
  grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr))}
.langpick li{margin:0}
.langpick a{color:var(--grey);text-decoration:none}
.langpick a:hover{color:var(--chalk)}
.langpick a[aria-current="true"]{color:var(--lime);font-weight:600}

/* ---------- right to left ----------
   Arabic and Hebrew. Only the rules that follow the text direction are flipped. */
[dir="rtl"] .skip{left:auto;right:-9999px;border-radius:0 0 0 .5rem}
[dir="rtl"] .skip:focus{left:auto;right:0}
[dir="rtl"] header nav{margin-left:0;margin-right:auto}
[dir="rtl"] footer nav{margin-left:0;margin-right:auto}
[dir="rtl"] ul{padding-left:0;padding-right:1.15rem}
[dir="rtl"] th,[dir="rtl"] td{text-align:right}

/* ---------- non-Latin typography ----------
   The display sizes are tracked tight for Latin capitals; CJK and Thai glyphs are
   dense enough at that size that negative tracking closes them into each other. */
:is([lang="ja"],[lang="ko"],[lang="zh-Hans"],[lang="zh-Hant"],[lang="th"])
  :is(h1,h2,h3){letter-spacing:normal}
:is([lang="ja"],[lang="ko"],[lang="zh-Hans"],[lang="zh-Hant"],[lang="th"])
  :is(.eyebrow,th){letter-spacing:.06em}
[lang="th"] body,[lang="th"] p,[lang="th"] li{line-height:1.95}
/* A CJK heading breaks wherever it runs out of room; auto-phrase moves the break
   to a phrase boundary, and browsers without it fall back to the default. */
:is([lang="ja"],[lang="zh-Hans"],[lang="zh-Hant"]) :is(h1,h2,h3){
  line-break:strict;word-break:auto-phrase}
