/* Privacy + Terms pages. Same tokens and type as index.html. */
@font-face { font-family: 'Satoshi'; src: url(/assets/fonts/satoshi-400.woff2) format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url(/assets/fonts/satoshi-500.woff2) format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url(/assets/fonts/satoshi-700.woff2) format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url(/assets/fonts/satoshi-900.woff2) format('woff2'); font-weight: 900; font-display: swap; }
@font-face { font-family: 'Satoshi'; src: url(/assets/fonts/satoshi-900i.woff2) format('woff2'); font-weight: 900; font-style: italic; font-display: swap; }

:root {
  --forest: #0F2D23; --lime: #D6FF4D; --cream: #FAF7F2; --ink: #0F2D23;
  --text: #1A1A1A; --muted: #4F5551; --chip: #F0EEEA; --line: #E4DFD6;
  --f: 'Satoshi', 'Helvetica Neue', Arial, sans-serif;
  --g: clamp(16px, 4vw, 40px);
}
* { box-sizing: border-box; margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; }
body { font-family: var(--f); color: var(--text); background: var(--cream); -webkit-font-smoothing: antialiased; line-height: 1.6; }
a { color: var(--ink); }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; border-radius: 6px; }

.top { border-bottom: 1px solid var(--line); }
.top-in, .doc, .footer-in { max-width: 820px; margin: 0 auto; padding-inline: var(--g); }
.top-in { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-block: 20px; }
.logo { font-weight: 900; font-style: italic; font-size: 28px; letter-spacing: -0.06em; color: var(--ink); line-height: 1; display: inline-flex; align-items: flex-start; text-decoration: none; }
.logo sup { font-size: 11px; font-style: normal; letter-spacing: 0; margin: 2px 0 0 3px; }
.top nav { display: flex; gap: 20px; font-weight: 700; font-size: 15px; }
.top nav a { text-decoration: none; }
.top nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }

.doc { padding-block: clamp(40px, 7vw, 80px) clamp(56px, 8vw, 96px); }
.doc h1 { font-weight: 900; letter-spacing: -0.045em; line-height: .95; color: var(--ink); font-size: clamp(44px, 8vw, 80px); text-wrap: balance; }
.updated { margin-top: 14px; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.intro { margin-top: 28px; font-size: clamp(18px, 1.6vw, 20px); font-weight: 500; color: var(--muted); max-width: 62ch; }
.intro b { color: var(--ink); }
.summary { margin-top: 32px; background: var(--forest); color: var(--cream); border-radius: 20px; padding: 22px 24px; }
.doc .summary h2 { color: var(--lime); font-size: 15px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 10px; }
.summary ul { list-style: none; display: grid; gap: 8px; }
.summary li { padding-left: 22px; position: relative; font-weight: 500; }
.summary li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); }
.summary a { color: var(--lime); }

.doc section { margin-top: 44px; }
.doc h2 { font-size: clamp(24px, 3vw, 30px); font-weight: 900; letter-spacing: -0.03em; line-height: 1.1; color: var(--ink); margin-bottom: 12px; text-wrap: balance; }
.doc h3 { font-size: 18px; font-weight: 700; color: var(--ink); margin: 20px 0 6px; }
.doc p, .doc li { max-width: 68ch; }
.doc p + p { margin-top: 12px; }
.doc ul { margin: 10px 0 0 20px; display: grid; gap: 6px; }
.doc li::marker { color: var(--muted); }
.table-wrap { overflow-x: auto; margin-top: 14px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
table { border-collapse: collapse; width: 100%; min-width: 520px; font-size: 15px; }
th, td { text-align: left; vertical-align: top; padding: 12px 14px; border-bottom: 1px solid var(--line); }
th { font-weight: 700; color: var(--ink); background: var(--chip); }
tr:last-child td { border-bottom: 0; }

.footer { background: var(--ink); color: var(--cream); padding: 28px 0 32px; }
.footer-in { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; font-size: 14px; font-weight: 500; }
.footer a { color: var(--cream); opacity: .85; text-decoration: none; }
.footer a:hover { color: var(--lime); opacity: 1; }
.footer .logo { color: var(--lime); opacity: 1; font-size: 24px; }
.footer-links { display: flex; gap: 22px; flex-wrap: wrap; }
