/* Legal-page body only. Shared chrome and other page styles remain unchanged. */
.p-legal { background:var(--b-paper); color:var(--b-ink); }
.p-legal .legal-hero { padding:42px 0 38px; border-bottom:1px solid var(--b-line); }
.secondary-pages .p-legal .legal-hero h1 { color:var(--b-ink); font-size:46px; line-height:1.18; letter-spacing:-.035em; margin:14px 0 18px; }
.secondary-pages .p-legal .legal-hero .v4-eyebrow { color:var(--b-blue); margin:0; }
.secondary-pages .p-legal .legal-intro { color:var(--b-copy); max-width:760px; font-size:17px; line-height:1.8; margin:0; }
.secondary-pages .p-legal .legal-meta { color:var(--b-copy); display:flex; flex-wrap:wrap; gap:6px 24px; font-size:14px; margin:22px 0 0; }
.legal-meta strong { font-weight:600; color:var(--b-ink); }
.legal-grid { display:grid; grid-template-columns:minmax(220px,260px) minmax(0,760px); gap:clamp(36px,4.5vw,64px); align-items:start; padding-block:44px 64px; }
.legal-directory { position:sticky; top:110px; max-height:calc(100dvh - 132px); overflow-y:auto; padding:0 12px 12px 0; scrollbar-width:thin; }
.legal-directory summary { display:none; }
.secondary-pages .p-legal .legal-directory-label { color:#43556b; font-size:13px; font-weight:600; margin:0 0 15px; }
.legal-directory ol { margin:0; padding:0; list-style:none; }
.legal-directory li + li { margin-top:2px; }
.p-legal a { color:#294b76; text-decoration:underline; text-underline-offset:4px; }
.legal-directory a { display:block; padding:7px 0; font-size:14px; line-height:1.5; text-decoration:none; overflow-wrap:anywhere; }
.legal-directory a:hover { text-decoration:underline; }
.legal-prose { min-width:0; font-size:17px; line-height:1.8; }
.secondary-pages .p-legal .legal-prose p { color:#43556b; font-size:17px; margin:0 0 16px; overflow-wrap:anywhere; }
.legal-notice { border-left:2px solid #718ba9; padding:0 0 0 18px; margin-bottom:32px; }
.secondary-pages .p-legal .legal-notice p { font-size:15px; line-height:1.75; margin:0; }
.legal-prose section { scroll-margin-top:110px; padding-top:30px; border-top:1px solid #c6d1dd; margin-top:30px; }
.legal-prose section:first-of-type { border:0; margin-top:0; padding-top:0; }
.secondary-pages .p-legal .legal-prose h2 { font-size:28px; font-weight:500; letter-spacing:-.025em; line-height:1.4; margin:0 0 17px; overflow-wrap:anywhere; }
.legal-number { color:#52677f; }
.secondary-pages .p-legal .legal-review-marker { font-size:15px; font-weight:600; color:#294b76; padding-left:14px; border-left:2px solid #718ba9; }
.legal-related { display:flex; flex-wrap:wrap; gap:16px 30px; border-top:1px solid #c6d1dd; padding-top:26px; margin-top:36px; font-size:16px; }
.p-legal :is(a,summary,h2):focus-visible { outline:3px solid #315f9e; outline-offset:4px; border-radius:1px; }
html[lang="zh-CN"] .p-legal .legal-prose { line-height:1.95; }
html[lang="zh-CN"] .secondary-pages .p-legal :is(h1,h2) { letter-spacing:0; }
@media(max-width:900px) {
  .legal-grid { grid-template-columns:minmax(0,760px); gap:28px; padding-block:30px 48px; justify-content:center; }
  .legal-directory { position:static; max-height:none; overflow:visible; padding:0; border-block:1px solid #b9c8d7; }
  .legal-directory summary { display:list-item; padding:15px 4px; cursor:pointer; color:#294b76; font-size:16px; font-weight:600; }
  .legal-directory nav { padding:0 4px 16px; }
  .legal-directory-label { display:none; }
  .legal-directory a { font-size:15px; padding-block:11px; }
}
@media(max-width:600px) {
  .p-legal .legal-hero { padding:32px 0; }
  .secondary-pages .p-legal .legal-hero h1 { font-size:36px; margin-block:12px 16px; }
  .secondary-pages .p-legal .legal-intro { font-size:16px; }
  .secondary-pages .p-legal .legal-prose p { font-size:16px; }
  .secondary-pages .p-legal .legal-prose h2 { font-size:25px; line-height:1.4; }
  .legal-prose section { margin-top:26px; padding-top:26px; }
  .secondary-pages .p-legal .legal-notice p,.secondary-pages .p-legal .legal-review-marker { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .p-legal * { scroll-behavior:auto; } }
@media print {
  .secondary-pages:has(.p-legal) { background:#fff; color:#000; }
  .secondary-pages:has(.p-legal) :is(.v4-header,.v4-footer,.v4-skip),.p-legal .legal-directory { display:none; }
  .p-legal,.p-legal .legal-hero { background:#fff; }
  .p-legal .v4-container { width:100%; }
  .legal-grid { display:block; padding:20px 0; }
  .secondary-pages .p-legal :is(.legal-hero h1,.legal-intro,.legal-meta,.legal-meta strong,.v4-eyebrow,.legal-prose p) { color:#000; }
  .legal-prose h2 { break-after:avoid; }
  .legal-prose p { orphans:3; widows:3; }
}
