/* Shared styling for privacy.html and terms.html. Same palette as index.html,
   light only, matching the 2026-07-29 decision in index.html. */
:root {
  color-scheme: light;
  --ink: #0d1b2a; --body: #33475b; --muted: #6b7d92;
  --line: #dfe6ee; --line-2: #eef2f7;
  --bg: #ffffff; --bg-2: #f6f9fc; --bg-3: #eef4fa;
  --accent: #b4530a; --accent-bg: #fff6ec; --accent-line: #f3d5b3;
  --cta: #12395f;
}
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--bg); color: var(--body);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased;
}
a { color: var(--cta); }
strong { color: var(--ink); font-weight: 640; }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 24px; }

header { border-bottom: 1px solid var(--line-2); background: var(--bg); }
.bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 15px 0; max-width: 1120px; margin: 0 auto; padding-left: 24px; padding-right: 24px; }
.mark { display: flex; align-items: center; gap: 9px; font-weight: 680; color: var(--ink); letter-spacing: -.02em; font-size: 1.06rem; text-decoration: none; }
.bar nav { display: flex; gap: 22px; font-size: .95rem; }
.bar nav a { color: var(--body); text-decoration: none; }
.bar nav a:hover { color: var(--ink); }

main { padding: 54px 0 72px; }
h1 { color: var(--ink); font-size: clamp(1.9rem, 4.4vw, 2.6rem); letter-spacing: -.028em; line-height: 1.16; margin: 0 0 .3em; }
h2 { color: var(--ink); font-size: 1.28rem; letter-spacing: -.018em; margin: 2.1em 0 .55em; }
h3 { color: var(--ink); font-size: 1.04rem; margin: 1.6em 0 .4em; }
p, li { margin: 0 0 1em; }
ul { padding-left: 22px; }
li { margin-bottom: .5em; }
.updated { color: var(--muted); font-size: .92rem; margin-bottom: 2.2em; }
.lede { font-size: 1.12rem; }

table { width: 100%; border-collapse: collapse; font-size: .95rem; margin: 1.2em 0 1.6em; }
th, td { text-align: left; padding: 11px 13px; border-bottom: 1px solid var(--line); vertical-align: top; }
th { color: var(--ink); font-weight: 640; font-size: .87rem; }
.scroll-x { overflow-x: auto; }

.callout {
  background: var(--accent-bg); border: 1px solid var(--accent-line);
  border-radius: 10px; padding: 16px 18px; margin: 1.6em 0;
}
.callout p:last-child { margin-bottom: 0; }

footer { border-top: 1px solid var(--line); padding: 34px 0 56px; font-size: .9rem; color: var(--muted); }
footer a { color: var(--body); }
footer nav { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 12px; }
.legal-note { font-size: .845rem; margin-top: 12px; }
