/* A copy of public/privacy/page.css for the accessibility statement (REG-WEB-003 item 2; the B-6.1 legal template). */
*{box-sizing:border-box;margin:0;padding:0}
:root{--signal:#199CF4;--deep:#1280CC;--coral:#F8705C;--navy:#151F52;--cool:#F7F8FC;--slate:#A0A8C0;--body:#3D4468;--card:#505880;--hair:#E4E7F2;--white:#fff;--wash:rgba(25,156,244,0.06)}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:'Source Sans 3',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;color:var(--body);background:var(--cool);line-height:1.72;-webkit-font-smoothing:antialiased;font-size:17px}
a{color:var(--signal);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
h1,h2,h3,h4,.wordmark{font-family:'DM Sans',-apple-system,sans-serif;color:var(--navy)}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,0.88);backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--hair)}
.nav{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 24px}
.wordmark{font-weight:700;letter-spacing:0.14em;font-size:15px;color:var(--navy);display:inline-flex;align-items:center;gap:9px}
.wordmark .dot{width:7px;height:7px;border-radius:50%;background:var(--signal);display:inline-block}
.nav-links{display:flex;gap:22px;font-size:14px;font-family:'DM Sans',sans-serif;font-weight:500}
.nav-links a{color:#3A3A5A}
.nav-links a.active{color:var(--signal)}
.wrap{max-width:780px;margin:0 auto;padding:56px 24px 96px}
.eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.22em;text-transform:uppercase;color:var(--signal);font-weight:600;margin-bottom:14px}
h1{font-size:40px;line-height:1.12;font-weight:700;letter-spacing:-0.02em;margin-bottom:18px}
.meta{font-family:'JetBrains Mono',monospace;font-size:12.5px;color:var(--slate);letter-spacing:0.02em;margin-bottom:34px;line-height:1.9}
.meta span{color:var(--card)}
.summary{background:var(--wash);border:1px solid var(--hair);border-left:3px solid var(--signal);border-radius:12px;padding:22px 24px;margin-bottom:16px}
.summary h2{font-size:14px;letter-spacing:0.04em;margin-bottom:13px;color:var(--navy);text-transform:uppercase;font-family:'JetBrains Mono',monospace;font-weight:600}
.summary ul{list-style:none;display:grid;gap:10px}
.summary li{position:relative;padding-left:22px;font-size:15.5px;color:var(--card)}
.summary li::before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--signal)}
.toc{border:1px solid var(--hair);border-radius:12px;padding:22px 24px;margin:28px 0 44px;background:var(--white)}
.toc h2{font-size:12px;text-transform:uppercase;letter-spacing:0.16em;color:var(--slate);font-family:'JetBrains Mono',monospace;margin-bottom:15px;font-weight:600}
.toc ol{list-style:none;counter-reset:toc;columns:2;column-gap:36px}
.toc li{counter-increment:toc;margin-bottom:9px;font-size:14.5px;break-inside:avoid}
.toc li::before{content:counter(toc,decimal-leading-zero);font-family:'JetBrains Mono',monospace;color:var(--slate);font-size:11.5px;margin-right:10px}
section{margin-top:46px}
.sec-title{font-size:25px;font-weight:600;letter-spacing:-0.01em;margin-bottom:16px;line-height:1.22}
.sec-title .n{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;letter-spacing:0.03em;margin-right:12px}
h3{font-weight:600;color:var(--navy);font-size:17px;margin:24px 0 8px}
.table-wrap{overflow-x:auto}
.skip{position:fixed;left:16px;top:12px;z-index:100;padding:12px 16px;background:var(--white);color:var(--navy);font:600 14px/1 'DM Sans',-apple-system,sans-serif;border-radius:8px;box-shadow:0 8px 24px rgba(21,31,82,0.18);transform:translateY(-200%)}
.skip:focus-visible{transform:translateY(0)}
p{margin-bottom:15px}
ul.body,ol.body{margin:0 0 15px 0;padding-left:22px}
ul.body li,ol.body li{margin-bottom:9px}
strong{color:var(--navy);font-weight:600}
.callout{background:rgba(248,112,92,0.05);border:1px solid rgba(248,112,92,0.24);border-radius:10px;padding:16px 18px;margin:18px 0;font-size:15.5px;color:var(--card)}
table.data{width:100%;border-collapse:collapse;margin:8px 0 18px;font-size:15px}
table.data th,table.data td{text-align:left;vertical-align:top;padding:11px 14px;border-bottom:1px solid var(--hair)}
table.data th{font-family:'DM Sans',sans-serif;color:var(--navy);font-weight:600;font-size:13px;letter-spacing:0.02em;background:var(--wash)}
table.data td{color:var(--card)}
.site-footer{background:var(--navy);color:rgba(255,255,255,0.6)}
.foot{max-width:1080px;margin:0 auto;padding:48px 24px}
.foot .wordmark{color:#fff;margin-bottom:20px}
.foot-links{display:flex;gap:24px;margin-bottom:22px;font-size:14px;font-family:'DM Sans',sans-serif;flex-wrap:wrap}
.foot-links a{color:rgba(255,255,255,0.72)}
.foot-links a:hover{color:#fff}
.foot p{font-size:13.5px;line-height:1.62;max-width:660px;color:rgba(255,255,255,0.55);margin-bottom:12px}
.foot .copy{font-size:12.5px;color:rgba(255,255,255,0.42);letter-spacing:0.03em;font-family:'JetBrains Mono',monospace}
@media(max-width:640px){h1{font-size:30px}.wrap{padding:40px 20px 72px}.toc ol{columns:1}.sec-title{font-size:21px}body{font-size:16px}}
:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Text contrast (v9). The first axe scan of these pages found Signal Blue and slate text below WCAG AA (2.79:1 and
   2.23:1 on the page, 3.85:1 for the copyright line on navy). Text now takes the site's own tokens from /tokens.css:
   --link for links, eyebrows and section numbers, --muted for metadata, --dark-panel-muted on the navy footer. Links
   inside the text are underlined, so they stand apart from body copy in both themes (axe link-in-text-block). */
a,.nav-links a.active,.eyebrow,.sec-title .n{color:var(--link)}
.wrap a{text-decoration:underline;text-underline-offset:3px}
.meta,.toc h2,.toc li::before{color:var(--muted)}
.foot .copy{color:var(--dark-panel-muted)}

/* Dark theme (v9 Track C). The bootstrap in <head> sets html[data-theme]; /tokens.css, the token block the rest of
   the site uses (generated by scripts/v8/emit-tokens.mjs), supplies the values; the rules above serve both themes.
   --navy is heading ink here, so the footer, which also used it as a fill, takes the dark Navy panel instead. */
html[data-theme="dark"]{--cool:var(--canvas);--white:var(--surface);--navy:var(--ink);--body:var(--ink-2);--card:var(--muted);--hair:var(--line);--wash:var(--wash-blue)}
html[data-theme="dark"] .site-header{background:var(--top-bg)}
html[data-theme="dark"] .nav-links a{color:var(--ink-2)}
html[data-theme="dark"] .nav-links a.active{color:var(--link)}
html[data-theme="dark"] .site-footer{background:var(--dark-panel)}

/* Parts (Release B). The v2 policies group their sections in parts: a part heading in the body and a part label in
   the contents, with one count across the contents (the numbers run on from part to part, as in the drafts).
   Existing tokens only; the same muted ink as the contents heading. */
.toc{counter-reset:toc}
.toc ol{counter-reset:none}
.toc-part{font-family:'JetBrains Mono',monospace;font-size:11.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:6px 0 10px}
.part{margin-top:64px;font-family:'JetBrains Mono',monospace;font-size:12.5px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);font-weight:600}

/* Phones (N-9, founder decision 2026-10-14, option B). The nav no longer fits one line at 375 px and below, so its
   links wrap under the wordmark, and the header scrolls away with the page instead of staying pinned: nothing is ever
   hidden under it, and no reading space is lost. Desktop is unchanged. */
@media(max-width:640px){
  .site-header{position:static}
  .nav{flex-wrap:wrap;row-gap:6px}
  .nav-links{flex-wrap:wrap;width:100%;column-gap:18px;row-gap:2px}
  html{scroll-padding-top:16px}
}
