:root { color: #151615; background: #fafaf8; font-family: Inter, -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; }
a { color: inherit; text-underline-offset: .2em; }
a:focus-visible, summary:focus-visible, .table-scroll:focus-visible { outline: 2px solid #49755e; outline-offset: 4px; }

.mast, main { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.mast { display: flex; align-items: center; justify-content: space-between; min-height: 72px; gap: 16px; }
.wordmark { text-decoration: none; font: 650 25px/1 Montserrat, sans-serif; letter-spacing: -.06em; }
.back { font-size: .86rem; text-decoration: none; }
.back:hover, footer a:hover { text-decoration: underline; }
main { padding-block: clamp(48px, 8vw, 100px) 86px; }
.label { color: #536054; font: 500 .72rem/1.4 'Roboto Mono', monospace; letter-spacing: .14em; }
h1 { font-size: clamp(2rem, 4.7vw, 4.25rem); letter-spacing: -.045em; line-height: 1.18; margin: 14px 0; }
.effective { color: #575d56; font-size: .9rem; margin: 0 0 40px; }
.layout { display: grid; grid-template-columns: minmax(185px, 245px) minmax(0,1fr); gap: clamp(32px, 6vw, 90px); border-top: 1px solid #c8ccc4; padding-top: 36px; }
aside { min-width: 0; }
.desktop { position: sticky; top: 24px; max-height: calc(100vh - 48px); overflow-y: auto; }
nav ol { list-style: none; padding: 0; margin: 14px 0 0; }
aside nav a { display: block; font-size: .87rem; padding: .36em 0; line-height: 1.5; color: #495247; text-decoration: none; }
aside nav a:hover { color: #111; text-decoration: underline; }
.mobile { display: none; }
.copy { max-width: 790px; min-width: 0; font-size: 1rem; line-height: 1.9; overflow-wrap: anywhere; }
.copy p { margin: 0 0 1.2em; white-space: pre-line; }
.copy h2 { font-size: clamp(1.28rem, 2.3vw, 1.75rem); line-height: 1.5; margin: 2em 0 .8em; padding-top: 1em; border-top: 1px solid #d9dbd5; scroll-margin-top: 20px; }
.table-scroll { overflow: auto; margin: 1.25em 0; border: 1px solid #d9dbd5; border-radius: 8px; background: #fff; }
table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: .9rem; line-height: 1.65; }
th, td { padding: 12px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid #ddd; white-space: pre-line; }
th { background: #e9ece6; }
tbody tr:last-child td { border-bottom: 0; }

@media(max-width: 780px) {
  .mast, main { width: calc(100% - 40px); }
  .mast { min-height: 60px; }
  .layout { display: block; padding-top: 18px; }
  .desktop { display: none; }
  .mobile { display: block; border-bottom: 1px solid #dadcd6; margin-bottom: 24px; padding-bottom: 16px; }
  summary { cursor: pointer; font-weight: 650; }
  .effective { margin-bottom: 24px; }
}
@media print { header, footer, aside { display: none; } .layout { display: block; } main { width: 100%; padding: 0; } .table-scroll { overflow: visible; } table { min-width: 0; } }

body {background:#fafaf8;color:#151615}
main {padding-top:110px}
.copy h2 {scroll-margin-top:85px}
.desktop {top:84px;max-height:calc(100vh - 100px)}
.legal-mobile-menu {display:none}
@media(max-width:800px){
.site-header > nav {display:none}
.legal-mobile-menu {display:block;color:white}
.legal-mobile-menu summary {cursor:pointer;font-size:14px}
.legal-mobile-menu[open] nav {display:flex;position:absolute;top:100%;inset-inline:0;padding:16px 5vw;background:#111;color:white;flex-direction:column;gap:12px}
}
