.legal-main { max-width: 1120px; }
.legal-layout > * { min-width: 0; max-width: 100%; }
.legal-page #contents { min-width: 0; max-width: 100%; }
.legal-page #contents{scrollbar-color:var(--line) transparent}
.legal-page #contents::-webkit-scrollbar{height:4px;width:4px}
.legal-page #contents::-webkit-scrollbar-thumb{background:var(--line);border-radius:100px}
.legal-intro { padding: 55px 0 45px; max-width: 800px; }
.back-link { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; color: var(--muted); margin-bottom: 40px; }
.back-link .icon { width: 16px; height: 16px; }
.back-link:hover { color: var(--accent); }
.legal-intro .eyebrow { margin-bottom: 18px; }
.legal-intro h1 { font-size: clamp(35px,4.3vw,56px); line-height: 1.13; max-width: 780px; font-weight: 650; }
.legal-lede { color: var(--muted); font-size: 15px; max-width: 650px; margin-top: 22px; line-height: 1.85; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 23px; font-size: 10px; color: var(--subtle); }
.legal-meta span { background: var(--surface); border: 1px solid var(--line); border-radius: 100px; padding: 5px 11px; }
.legal-layout { display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 55px; align-items: start; }
.legal-sidebar { position: sticky; top: 124px; padding-top: 7px; }
.sidebar-label { font-size: 9px; font-weight: 600; letter-spacing: .12em; color: var(--subtle); margin-bottom: 14px; }
#contents { display: grid; gap: 2px; max-height: min(52vh,500px); overflow-y: auto; scrollbar-width: thin; padding-right: 8px; }
#contents a { color: var(--muted); font-size: 11px; line-height: 1.6; border-radius: 8px; padding: 7px 9px; transition: background .2s,color .2s; }
#contents a:hover,#contents a[aria-current="location"] { color: var(--accent); background: var(--soft); }
.legal-help { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 22px; font-size: 11px; line-height: 1.8; }
.legal-help>.icon { width: 21px; height: 21px; color: var(--accent); margin-bottom: 13px; }
.legal-help strong { font-size: 12px; font-weight: 500; }
.legal-help p { margin-top: 5px; color: var(--subtle); }
.legal-help a { display: inline-block; color: var(--accent); overflow-wrap: anywhere; margin-top: 6px; font-size: 10px; }
.legal-document { padding: 12px 38px; background: var(--surface); border: 1px solid var(--line); border-radius: 25px; box-shadow: var(--shadow); min-width: 0; }
.legal-document section { padding-block: 28px; scroll-margin-top: 125px; }
.legal-document section+section { border-top: 1px solid var(--line); }
.legal-section-heading { display: flex; align-items: baseline; gap: 14px; margin-bottom: 14px; }
.legal-section-heading span { font-size: 9px; color: var(--accent); font-variant-numeric: tabular-nums; }
.legal-document h2 { font-size: 18px; letter-spacing: -.025em; line-height: 1.5; font-weight: 600; }
.legal-document section p { font-size: 13px; line-height: 1.95; color: var(--muted); overflow-wrap: anywhere; white-space: pre-line; }
.legal-document section p+p { margin-top: 13px; }
.legal-document a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.document-status { color: var(--muted); font-size: 13px; padding: 35px 0; }
.legal-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin: 40px 0 25px 290px; border-top: 1px solid var(--line); padding-top: 28px; }
.legal-bottom>span { font-size: 11px; color: var(--subtle); }
.legal-bottom .button { font-size: 11px; min-height: 44px; padding: 10px 18px; white-space: normal; text-align: center; }
.language-picker { display: inline-flex; gap: 1px; padding: 3px; border: 1px solid var(--line); border-radius: 100px; font-size: 10px; }
.language-picker a { padding: 5px 9px; border-radius: 100px; color: var(--subtle); line-height: 1.5; }
.language-picker a[aria-current="page"] { background: var(--soft); color: var(--accent); }
.legal-page .header nav { margin-right: 18px; }
.legal-page noscript { display: block; padding: 24px; font-size: 13px; }
@media(max-width:1000px) {
  .legal-layout { grid-template-columns: 190px minmax(0,1fr); gap: 30px; }
  .legal-document { padding-inline: 28px; }
  .legal-bottom { margin-left: 220px; }
}
@media(max-width:700px) {
  .legal-intro { padding: 32px 0 28px; }
  .back-link { margin-bottom: 28px; font-size: 10px; }
  .legal-intro h1 { font-size: 34px; }
  .legal-lede { font-size: 13px; margin-top: 18px; }
  .legal-meta { font-size: 9px; gap: 7px; margin-top: 18px; }
  .legal-layout { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .legal-sidebar { position: static; padding: 0; }
  .sidebar-label { font-size: 8px; margin-bottom: 10px; }
  #contents { display: flex; gap: 6px; max-height: none; overflow-x: auto; padding: 0 0 9px; }
  #contents a { white-space: nowrap; font-size: 10px; border: 1px solid var(--line); background: var(--surface); padding: 7px 11px; border-radius: 100px; }
  .legal-help { display: none; }
  .legal-document { padding: 0 23px; border-radius: 21px; }
  .legal-document section { padding-block: 24px; scroll-margin-top: 104px; }
  .legal-section-heading { gap: 10px; margin-bottom: 12px; }
  .legal-document h2 { font-size: 16px; line-height: 1.5; }
  .legal-document section p { font-size: 12px; line-height: 1.95; }
  .legal-bottom { margin: 28px 0 10px; gap: 18px; align-items: flex-start; }
  .legal-bottom>span { font-size: 10px; }
  .legal-bottom .button { font-size: 10px; padding: 9px 14px; min-height: 40px; }
  .language-picker { font-size: 9px; }
  .language-picker a { padding: 4px 7px; }
  .legal-page .header-actions { gap: 5px; }
}
@media(max-width:375px) {
  .legal-intro h1 { font-size: 30px; }
  .legal-document { padding-inline: 18px; }
  .legal-page .header { gap: 8px; }
}

/* Only this navigation strip scrolls horizontally; the reading column stays
   inside the viewport, including tablets and long translated headings. */
@media(max-width:900px) {
  .legal-page{width:100%;max-width:100%;min-width:0;overflow-x:clip}
  .legal-page .legal-main{width:calc(100% - 32px);max-width:1120px;min-width:0;margin-inline:auto}
  .legal-layout{display:block;width:100%;min-width:0}
  .legal-sidebar{position:static;box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin-bottom:22px;padding:0}
  .legal-page #contents{box-sizing:border-box;display:flex;flex-wrap:nowrap;gap:7px;width:100%;min-width:0;max-width:100%;max-height:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;contain:inline-size;padding:0 0 10px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  #contents a{flex:0 0 auto;white-space:nowrap;border:1px solid var(--line);border-radius:100px;background:var(--surface);padding:8px 12px;font-size:11px}
  .legal-help{display:none}
  .legal-document{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:0 20px}
  .legal-section-heading{min-width:0;align-items:flex-start}
  .legal-section-heading>span{flex:none;padding-top:5px}
  .legal-document h2{min-width:0;overflow-wrap:anywhere}
  .legal-intro h1{overflow-wrap:anywhere}
  .legal-document section p{font-size:13px;line-height:1.85}
  .legal-bottom{margin-left:0;flex-wrap:wrap}
  .legal-page .header nav{display:none}
}

