/* Shared footer and legal documents. Scoped to preserve the landing page. */
.site-footer, .legal-page {
  --legal-paper: #fafafa;
  --legal-ink: #01040f;
  --legal-soft: #565b63;
  --legal-line: #e7e7e5;
  --legal-accent: #dfdb18;
  --legal-serif: 'Instrument Serif', Georgia, serif;
  --legal-sans: 'Inter', system-ui, sans-serif;
  --legal-mono: 'IBM Plex Mono', monospace;
}
.site-footer {
  position: relative;
  z-index: 1;
  padding: 4.5rem max(1.4rem, 4vw) 1.6rem;
  background: var(--legal-ink);
  color: #fafafa;
  font: 400 .88rem/1.65 var(--legal-sans);
}
.site-footer *, .legal-page * { box-sizing: border-box; }
.site-footer__grid, .site-footer__bottom { max-width: 1160px; margin: 0 auto; }
.site-footer__grid { display: grid; grid-template-columns: 1.7fr 1fr 1fr; gap: 3rem; }
.site-footer nav { position: static; width: auto; z-index: auto; display: block; padding: 0; background: none; backdrop-filter: none; -webkit-backdrop-filter: none; border: 0; transition: none; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer a:hover { text-decoration: underline; text-underline-offset: 5px; }
.site-footer a:focus-visible { outline: 2px solid var(--legal-accent); outline-offset: 5px; }
.site-footer__brand { display: inline-flex; align-items: center; gap: .6rem; font-size: 1.4rem; font-weight: 650; }
.site-footer__brand img { width: 28px; height: 28px; object-fit: contain; border-radius: 5px; padding: 3px; background: #fafafa; }
.site-footer__thesis { margin: 1rem 0 .7rem; color: var(--legal-accent); font: 400 2.5rem/1.1 var(--legal-serif); }
.site-footer__location { margin: 0; color: #a6a9b2; font-size: .8rem; }
.site-footer__heading { margin: .4rem 0 1rem; color: #a6a9b2; font: 400 .7rem/1.5 var(--legal-mono); letter-spacing: .12em; text-transform: uppercase; }
.site-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.site-footer__links a { display: inline-block; padding: .15rem 0; overflow-wrap: anywhere; }
.site-footer__bottom { margin-top: 3.5rem; padding-top: 1.4rem; border-top: 1px solid #2b2d35; display: flex; justify-content: space-between; gap: 1rem 3rem; color: #a6a9b2; font-size: .72rem; }
.site-footer__bottom p { margin: 0; }
.site-footer__disclosure { max-width: 39rem; }
body.legal-page { margin: 0; background: var(--legal-paper); color: var(--legal-ink); font: 400 1rem/1.75 var(--legal-sans); -webkit-font-smoothing: antialiased; }
.legal-page a { color: inherit; text-underline-offset: 4px; }
.legal-page a:hover { text-decoration-thickness: 2px; }
.legal-page :focus-visible { outline: 2px solid #797600; outline-offset: 5px; }
.legal-skip { position: absolute; left: 1rem; top: -8rem; padding: .7rem 1rem; background: var(--legal-accent); z-index: 20; }
.legal-skip:focus { top: 1rem; }
.legal-header { border-bottom: 1px solid var(--legal-line); }
.legal-header__inner { max-width: 1160px; margin: auto; padding: 1.25rem 0; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.legal-brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; font-weight: 650; font-size: 1.15rem; }
.legal-brand img { width: 27px; height: 27px; }
.legal-back { font-size: .8rem; }
.legal-layout { max-width: 1160px; margin: 0 auto; padding: 4rem 0 6rem; display: grid; grid-template-columns: 200px minmax(0, 760px); gap: 5rem; }
.legal-sidebar { align-self: start; position: sticky; top: 2rem; }
.legal-eyebrow { margin: 0 0 1rem; font: 400 .7rem/1.6 var(--legal-mono); letter-spacing: .13em; text-transform: uppercase; color: var(--legal-soft); }
.legal-menu { padding: 0; margin: 0; list-style: none; display: grid; gap: .25rem; }
.legal-menu a { display: block; text-decoration: none; padding: .65rem .8rem; border-radius: 6px; color: var(--legal-soft); font-size: .85rem; }
.legal-menu a:hover { background: #f0f0eb; color: var(--legal-ink); }
.legal-menu a[aria-current="page"] { background: var(--legal-accent); color: var(--legal-ink); }
.legal-sidebar__help { margin-top: 2rem; border-top: 1px solid var(--legal-line); padding-top: 1rem; font-size: .77rem; color: var(--legal-soft); overflow-wrap: anywhere; }
.legal-title { margin: .4rem 0 1.2rem; font: 400 clamp(2.9rem, 5.5vw, 4.8rem)/1.04 var(--legal-serif); letter-spacing: -.035em; }
.legal-intro { margin: 0; color: var(--legal-soft); font-size: 1.08rem; line-height: 1.7; max-width: 43rem; }
.legal-meta { margin: 1.4rem 0 2rem; font: 400 .7rem/1.6 var(--legal-mono); color: var(--legal-soft); }
.legal-summary { margin: 0 0 2rem; padding: 1.3rem 1.5rem; border: 1px solid var(--legal-line); border-left: 3px solid var(--legal-accent); background: white; border-radius: 0 8px 8px 0; }
.legal-summary p { margin: .4rem 0 0; font-size: .9rem; color: var(--legal-soft); }
.legal-summary strong { font-size: .85rem; }
.legal-draft { padding: 1rem 1.2rem; margin: 0 0 2rem; background: #fff7e8; border: 1px solid #e9d6b4; border-radius: 8px; font-size: .83rem; color: #644810; }
.legal-draft p { margin: .3rem 0 0; }
.legal-toc { padding: 1.3rem 0 1.6rem; border-top: 1px solid var(--legal-line); border-bottom: 1px solid var(--legal-line); }
.legal-toc h2 { margin: 0 0 .65rem; font: 400 .7rem/1.5 var(--legal-mono); text-transform: uppercase; letter-spacing: .1em; color: var(--legal-soft); }
.legal-toc ol { margin: 0; padding-left: 1.2rem; columns: 2; column-gap: 2rem; font-size: .82rem; }
.legal-toc li { padding: .15rem 0; break-inside: avoid; }
.legal-toc a { text-decoration: none; }
.legal-toc a:hover { text-decoration: underline; }
.legal-section { padding-top: 2.2rem; scroll-margin-top: 2rem; }
.legal-section h2 { margin: 0 0 .8rem; font-size: 1.12rem; font-weight: 600; line-height: 1.4; letter-spacing: -.02em; }
.legal-section h3 { font-size: .93rem; margin: 1.4rem 0 .5rem; }
.legal-section p, .legal-section li { font-size: .92rem; color: #41464e; }
.legal-section p { margin: .7rem 0; }
.legal-section ul, .legal-section ol { padding-left: 1.25rem; margin: .75rem 0; }
.legal-section li { padding-left: .15rem; margin-bottom: .5rem; }
.legal-section strong { color: var(--legal-ink); font-weight: 600; }
.legal-pending { padding: .7rem 1rem; border-left: 2px solid #b58926; background: #fff7e8; color: #644810 !important; }
.legal-table-wrap { width: 100%; overflow-x: auto; margin: 1rem 0; }
.legal-table { border-collapse: collapse; width: 100%; font-size: .82rem; text-align: left; }
.legal-table th, .legal-table td { padding: .9rem; border: 1px solid var(--legal-line); vertical-align: top; }
.legal-table th { background: #f1f1eb; font-weight: 600; }
.legal-table td { color: #41464e; }
.legal-contact-link { display: inline-block; margin: .4rem 0; font-size: clamp(1.15rem, 3vw, 1.65rem); overflow-wrap: anywhere; }
.legal-end { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--legal-line); margin-top: 3rem; padding-top: 1.2rem; font-size: .8rem; color: var(--legal-soft); }
@media (max-width: 1240px) {
  .legal-header__inner, .legal-layout { margin-left: 4vw; margin-right: 4vw; }
  .legal-layout { gap: 3rem; }
}
@media (max-width: 760px) {
  .site-footer { padding-top: 3rem; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .site-footer__identity { grid-column: 1 / -1; }
  .site-footer__bottom { flex-direction: column; margin-top: 2.5rem; }
  .legal-layout { grid-template-columns: minmax(0, 1fr); padding-top: 1.5rem; gap: 2.5rem; }
  .legal-sidebar { position: static; }
  .legal-sidebar .legal-eyebrow, .legal-sidebar__help { display: none; }
  .legal-menu { display: flex; flex-wrap: wrap; gap: .3rem; }
  .legal-menu a { font-size: .75rem; padding: .45rem .65rem; }
  .legal-title { font-size: 3.3rem; }
  .legal-toc ol { columns: 1; }
  .legal-header__inner, .legal-layout { margin-left: 1.25rem; margin-right: 1.25rem; }
}
@media print {
  .legal-header, .legal-sidebar, .site-footer, .legal-toc, .legal-end { display: none; }
  .legal-layout { display: block; margin: 0; padding: 0; }
  .legal-title { font-size: 28pt; }
  .legal-section h2 { break-after: avoid; }
  .legal-page { background: white; }
}
