.document-header .site-name { display:inline-flex; }
.document-header nav { gap:26px; }
.document-main { width:calc(100% - 2*var(--gutter)); max-width:var(--shell); margin-inline:auto; padding:32px 0 48px; }
.document-intro { max-width:900px; padding-bottom:34px; border-bottom:2px solid var(--ink); }
.document-intro h1 { font-size:clamp(30px,2.65vw,40px); line-height:1.45; letter-spacing:-.02em; text-wrap:balance; }
.document-intro .title-phrase { display:inline-block; white-space:nowrap; }
.document-intro>p { max-width:44em; margin-top:20px; color:var(--muted); }
.document-status { padding:18px 22px; background:var(--surface); margin-top:25px; max-width:760px; }
.document-status strong { display:block; }
.document-status p { margin-top:6px; font-size:14px; line-height:1.9; }
.document-meta { font-size:14px; }
.document-layout { display:grid; grid-template-columns:180px minmax(0,1fr); gap:48px; margin-top:32px; }
.document-toc { align-self:start; position:sticky; top:108px; }
.document-toc h2 { font-size:16px; margin-bottom:13px; }
.document-toc ol { list-style:none; padding:0; margin:0; }
.document-toc a { display:flex; align-items:center; min-height:44px; padding:8px 0; font-size:14px; line-height:1.65; text-decoration:underline; text-decoration-color:var(--line); }
.document-toc a:hover { text-decoration-color:var(--ink); }
.document-toc:focus-visible { outline:3px solid var(--focus); outline-offset:5px; }
.document-header .document-toc-return { display:none; }
.document-content { min-width:0; max-width:48rem; }
.document-content section+section { margin-top:28px; padding-top:28px; border-top:1px solid var(--line); }
.document-content h2 { font-size:26px; line-height:1.5; letter-spacing:-.02em; margin-bottom:18px; }
.document-content h3 { font-size:16px; line-height:1.6; margin:25px 0 12px; }
.document-content p+p { margin-top:16px; }
.document-content ul { margin:15px 0 0; padding-left:1.3em; }
.document-content li+li { margin-top:10px; }
.document-content a { text-decoration:underline; display:inline-flex; align-items:center; min-height:44px; padding-block:4px; }
.document-content a:hover { text-decoration-thickness:2px; }
.document-content .related-links { list-style:none; padding:0; margin:20px 0 0; }
.document-content .related-links li+li { margin-top:0; }
.fact-list { margin:0; }
.document-content .fact-list+p { margin-top:16px; }
.fact-list>div { padding:18px 0; border-bottom:1px solid var(--line); }
.fact-list>div:first-child { padding-top:0; }
.fact-list dt { font-weight:700; margin-bottom:7px; }
.fact-list dd { margin:0; color:var(--muted); }
.fact-list dd strong { color:var(--ink); }
.document-note { margin-top:20px; padding:18px 22px; background:var(--surface); }
.document-note p { font-size:16px; }
.document-footer { border-top:1px solid var(--line); width:calc(100% - 2*var(--gutter)); max-width:var(--shell); margin-inline:auto; padding:20px 0 24px; }
.document-footer nav,.policy-links { display:flex; flex-wrap:wrap; gap:2px 26px; }
.document-footer a,.policy-links a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; text-decoration:underline; }
.document-footer small { color:var(--muted); display:block; margin-top:12px; }
.policy-links { padding:0 var(--gutter) 26px; }
.product-more { display:inline-flex; min-height:48px; align-items:center; margin-top:20px; font-size:16px; font-weight:700; text-decoration:underline; }
@media(max-width:900px) {
  .document-layout { grid-template-columns:170px minmax(0,1fr); gap:32px; }
}
@media(max-width:760px) {
  .document-main { padding-top:24px; padding-bottom:45px; }
  .document-layout { display:block; margin-top:28px; }
  .document-toc { position:static; padding-bottom:25px; margin-bottom:30px; border-bottom:1px solid var(--line); }
  .document-toc ol { display:grid; grid-template-columns:1fr 1fr; gap:2px 22px; }
  .document-content h2 { font-size:26px; }
  .document-content section+section { margin-top:24px; padding-top:24px; }
  .document-intro h1 { font-size:30px; }
  .document-status { padding:17px 18px; }
  .document-header .document-toc-return { display:inline-flex; text-decoration:underline; }
  .document-header-site { flex-wrap:wrap; row-gap:0; }
  .document-header-site nav { flex:1 1 240px; justify-content:space-between; gap:8px; }
}
@media(max-width:470px) {
  html:has(.document-header-site) { scroll-padding-top:121px; }
  .document-header { gap:16px; }
  .document-header.document-header-site { row-gap:0; }
  .document-header-site nav { flex-basis:100%; }
  .document-header .site-name { font-size:14px; }
  .document-header nav { width:auto; gap:12px; }
  .document-header nav a { font-size:13px; }
  .document-toc ol { grid-template-columns:1fr; }
  .document-toc a { padding-block:8px; }
  .document-intro h1 { font-size:28px; }
  .document-status p { font-size:14px; }
}
@media(max-width:360px) {
  .document-header { gap:8px; }
  .document-header .site-name img { width:64px; }
  .document-header nav { gap:8px; }
  .document-header nav a { font-size:12px; }
}
@media print {
  .document-toc,.document-toc-return,.document-header nav,.document-footer nav { display:none; }
  .document-layout { display:block; }
  .document-main { padding:20px; }
  .document-content { max-width:none; }
  .document-content section { break-inside:avoid; }
}
