/* Legal content shares the site's paper, typefaces and restrained hierarchy. */
@font-face{font-family:fc-legal-sans;src:url('../fonts/puhuiti-legal-400.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:fc-legal-sans;src:url('../fonts/puhuiti-legal-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:fc-legal-serif;src:url('../fonts/noto-serif-sc-legal-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap;unicode-range:U+3000-9FFF,U+FF00-FFEF}
.page.legal-page{--sans:fc-legal-sans,"IBM Plex Sans","PingFang SC","Microsoft YaHei",sans-serif;--serif:fc-legal-serif,fc-serif,"Songti SC",SimSun,serif;padding-bottom:0;font-family:var(--sans)}
.page.legal-page .policy-header{padding:72px 0 56px;border-bottom:1px solid var(--rule)}
.page.legal-page .policy-header h1{font:500 56px/1.26 var(--serif);letter-spacing:-.01em;margin:0}
.legal-page .policy-meta{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:32px}
.legal-page .policy-brand{display:flex;align-items:baseline;gap:12px;font:400 18px/26px var(--sans);color:var(--ink)}
.legal-page .policy-brand>span[lang]{font-size:14px;font-weight:400;letter-spacing:.06em;color:#6f6f6f}
.legal-page .policy-dates{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px 48px;margin:0}
.legal-page .policy-dates dt{font:400 14px/22px var(--sans);color:#6f6f6f;margin-bottom:4px}
.legal-page .policy-dates dd{margin:0;font:400 16px/26px var(--sans);color:#525252;font-variant-numeric:tabular-nums}
.legal-page .policy-layout{display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,2fr);gap:calc(8vw + 32px);align-items:start;padding-block:64px 100px}
.legal-page .policy-toc{position:sticky;top:112px;font:400 16px/26px var(--sans);color:#6f6f6f;padding-right:16px}
.legal-page .policy-toc>p{font-weight:500;color:var(--ink);margin-bottom:24px}
.legal-page .policy-toc ol{list-style:none;margin:0;padding:0}
.legal-page .policy-toc li+li{margin-top:16px}
.legal-page .policy-toc a{display:block;text-decoration:none}
.legal-page .policy-toc a:is(:hover,:focus-visible){color:var(--ink)}
.legal-page .policy-prose{max-width:800px;min-width:0;font:400 20px/32px var(--sans);color:#525252;overflow-wrap:break-word}
.legal-page .policy-prose p{text-wrap:wrap}
.legal-page .policy-prose p+p{margin-top:24px}
.legal-page .policy-section{margin-top:64px;scroll-margin-top:112px}
.legal-page .policy-section h2{font:500 30px/42px var(--serif);color:var(--ink);margin-bottom:24px;text-wrap:wrap}
.legal-page .policy-section h3{font:500 22px/32px var(--sans);color:var(--ink);margin:40px 0 16px;text-wrap:wrap}
.legal-page .policy-section h4{font:500 20px/32px var(--sans);color:var(--ink);margin:28px 0 12px;text-wrap:wrap}
.legal-page .policy-section h2+h3{margin-top:0}
.legal-page .policy-prose :is(ul,ol){margin-block:20px 32px;padding-left:1.4em}
.legal-page .policy-prose ul{list-style:disc}
.legal-page .policy-prose li+li{margin-top:12px}
.legal-page .policy-prose li>span:first-child{font-weight:400;color:inherit}
.legal-page .policy-prose a{color:var(--purple);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.legal-page .policy-prose table{border-collapse:collapse;width:100%;margin-block:24px;font:400 16px/27px var(--sans);text-align:left}
.legal-page .policy-prose :is(th,td){padding:14px 16px;vertical-align:top;border-bottom:1px solid var(--rule)}
.legal-page .policy-prose th{font-weight:500;color:var(--ink);background:#eeebf3;border-top:1px solid var(--rule)}
.legal-page .policy-prose td:first-child{width:28%;color:var(--ink)}
.legal-page .policy-contact{margin:0 0 24px}
.legal-page .policy-contact>div{display:grid;grid-template-columns:144px minmax(0,1fr);gap:24px;padding-block:12px}
.legal-page .policy-contact dt{color:var(--ink);font-weight:400}
.legal-page .policy-contact dd{margin:0}
.legal-page .policy-prose>.policy-section:first-child{margin-top:0}
.legal-page:is([data-page=independence],[data-page=disclosure]) .policy-prose td:first-child{width:auto}
.legal-page[data-page=independence] .policy-prose th:first-child{width:16%}
.legal-page[data-page=independence] .policy-prose th:nth-child(2){width:52%}
.legal-page[data-page=disclosure] .policy-prose th:first-child{width:18%}
.legal-page[data-page=disclosure] .policy-prose th:nth-child(2){width:34%}
.legal-page[data-page=disclosure] .policy-prose th:nth-child(3){width:22%}
/* Give the longer English notification rules enough reading width. */
html[lang=en] .legal-page[data-page=disclosure] .policy-prose th:nth-child(2){width:26%}
html[lang=en] .legal-page[data-page=disclosure] .policy-prose th:nth-child(3){width:30%}

.page.governance-page .governance-policies{padding-top:24px;padding-bottom:80px}
.governance-page .governance-policies:focus{outline:none}
@media (min-width:1056px){
  .governance-page .about-action{grid-template-columns:minmax(320px,1fr) minmax(0,1.5fr) 24px}
  html[lang=zh-CN] .governance-page .about-action h2{white-space:nowrap}
}
.legal-page .policy-prose strong{font-weight:500}

/* Legal reading needs its own rail; the desktop sidebar cannot consume a phone. */
@media (max-width:1399px) {
  .page.legal-page .policy-header { padding-left:248px; }
  .legal-page .policy-layout { grid-template-columns:200px minmax(0,1fr); gap:48px; }
  .legal-page .policy-prose a { overflow-wrap:anywhere; }
  .legal-page .policy-prose div:has(>table) { max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
  .legal-page .policy-prose :is(th,td) { overflow-wrap:break-word; }
}
@media (max-width:1055px) {
  .page.legal-page .policy-header { padding-left:0; padding-block:56px 40px; }
  .legal-page .policy-layout { grid-template-columns:minmax(0,1fr); gap:40px; }
  .legal-page .policy-toc { position:static; padding-bottom:0; }
  .legal-page .policy-toc ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; border-left:0; padding:0; }
  .legal-page .policy-toc li+li { margin-top:0; }
  .legal-page .policy-toc a { min-height:44px; padding-block:10px; border-bottom:1px solid var(--rule); }
  .legal-page .policy-prose { max-width:880px; }
}
@media (max-width:767px) {
  .page.legal-page .policy-header { padding-block:40px 32px; }
  .page.legal-page .policy-header h1 { font-size:40px; line-height:1.3; }
  .legal-page .policy-layout { gap:32px; }
  .legal-page .policy-toc ol { grid-template-columns:minmax(0,1fr); }
  .legal-page .policy-prose { font-size:18px; line-height:30px; }
  .legal-page .policy-section { margin-top:40px; scroll-margin-top:96px; }
  .legal-page .policy-section h2 { font-size:26px; line-height:36px; margin-bottom:20px; }
  .legal-page .policy-section h3 { font-size:22px; line-height:32px; margin-top:28px; }
  .legal-page .policy-prose :is(th,td) { padding:12px; }
  .legal-page .policy-contact>div { grid-template-columns:minmax(0,1fr); gap:4px; }
}
@media (max-width:671px) {
  .legal-page .policy-prose table { min-width:560px; }
}
