/* Shared styles for the legal pages and the 404 page. Same tokens as the home page. */
:root {
  --bg: #F1F3F4;
  --panel: #FFFFFF;
  --ink: #14202A;
  --muted: #4F5E6C;
  --line: #D4DADF;
  --hot: #E5561C;
  --night: #0D1620;
  --night-ink: #EEF2F5;
  --night-muted: #A9B6C2;
  --display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
  --body: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { --bg: #0F1821; --panel: #16222D; --ink: #E7EDF2; --muted: #9AA9B6; --line: #26343F; --hot: #F2672C; color-scheme: dark; }
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--body); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration-color: var(--hot); text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--hot); outline-offset: 3px; border-radius: 4px; }
.wrap { max-width: 1240px; margin: 0 auto; padding-left: max(20px, env(safe-area-inset-left, 0px)); padding-right: max(20px, env(safe-area-inset-right, 0px)); }

.top { background: var(--night); color: var(--night-ink); }
.top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 18px; }
.top img { height: 30px; width: auto; display: block; }
.top a.back { color: var(--night-ink); text-decoration: none; font-weight: 600; font-size: 0.95rem; padding: 0.6em 1.1em; border-radius: 999px; background: var(--hot); }

.doc-head { background: var(--night); color: var(--night-ink); padding-block: 48px 64px; }
.doc-head h1 { font-family: var(--display); font-weight: 800; font-size: clamp(2.6rem, 6vw, 4.4rem); line-height: 0.95; text-transform: uppercase; margin: 0 0 14px; }
.doc-head p { color: var(--night-muted); margin: 0; max-width: 46em; }

.doc { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); padding-block: 56px 96px; }
.toc { position: sticky; top: 24px; align-self: start; font-size: 0.93rem; }
.toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.toc a { color: var(--muted); text-decoration: none; }
.toc a:hover { color: var(--ink); }
.prose { max-width: 46em; min-width: 0; }
.prose h2 { font-family: var(--display); font-weight: 700; font-size: 1.9rem; line-height: 1.05; text-transform: uppercase; margin: 48px 0 12px; scroll-margin-top: 24px; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { font-size: 1.1rem; margin: 24px 0 6px; }
.prose p, .prose ul { margin: 0 0 14px; }
.prose ul { padding-left: 1.2em; }
.prose li { margin-bottom: 6px; }
.callout { background: var(--panel); border-left: 4px solid var(--hot); border-radius: 10px; padding: 16px 20px; margin: 0 0 18px; }
address { font-style: normal; }

.foot { background: var(--night); color: var(--night-muted); font-size: 0.9rem; }
.foot .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; padding-block: 28px; }
.foot a { color: var(--night-ink); }
.foot nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }

@media (max-width: 860px) {
  .doc { grid-template-columns: 1fr; }
  .toc { position: static; }
}
