/* Zero Grip · the legal and support pages (privacy, terms, support). Colours and type from design/tokens.json;
   dark only, like the app. The home page carries its own styles. */
:root {
  --bg: #0B0B0C;
  --surface: #151517;
  --raised: #1E1E21;
  --divider: #2A2A2E;
  --text1: #F5F5F5;
  --text2: #9A9A9E;
  --red: #E10600;
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --body: "Inter", -apple-system, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text1);
  font: 400 16px/1.6 var(--body);
}

.wrap { max-width: 760px; margin: 0 auto; padding: 0 16px 48px; }

.top {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  padding: 20px 0; border-bottom: 1px solid var(--divider);
}
.wordmark {
  font: 800 24px/1 var(--display); text-transform: uppercase; letter-spacing: 0.01em;
  color: var(--text1); text-decoration: none;
}
.wordmark .zero { color: var(--red); }
.top nav { display: flex; gap: 20px; }
.top nav a {
  font: 600 15px/1 var(--display); text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--text2); text-decoration: none;
}
.top nav a:hover, .top nav a[aria-current="page"] { color: var(--text1); }

.hero { padding: 40px 0 8px; }
h1 { font: 800 44px/1.05 var(--display); text-transform: uppercase; margin: 0 0 12px; }
.lead { color: var(--text2); font-size: 17px; margin: 0; }
h2 {
  font: 700 22px/1.25 var(--display); text-transform: uppercase; letter-spacing: 0.01em;
  margin: 36px 0 8px; padding-top: 20px; border-top: 1px solid var(--divider);
}
h3 { font: 700 17px/1.3 var(--display); text-transform: uppercase; margin: 24px 0 4px; }
p, li { color: var(--text1); }
ul { padding-left: 20px; }
li { margin: 4px 0; }
strong { font-weight: 600; }
a { color: var(--text1); text-decoration-color: var(--red); text-underline-offset: 3px; }
a:hover { color: var(--red); }

table { width: 100%; border-collapse: collapse; margin: 12px 0; font-size: 14px; background: var(--surface); border-radius: 8px; overflow: hidden; }
th, td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--divider); }
th { font: 600 13px/1.3 var(--display); text-transform: uppercase; letter-spacing: 0.06em; color: var(--text2); }
tr:last-child td { border-bottom: 0; }
@media (max-width: 560px) {
  table { display: block; overflow-x: auto; }
  h1 { font-size: 36px; }
}

.card { background: var(--surface); border-radius: 8px; padding: 16px 18px; margin: 12px 0; }
.card h3 { margin-top: 0; }
.button {
  display: inline-block; background: var(--red); color: var(--text1); text-decoration: none;
  font: 700 16px/1 var(--display); text-transform: uppercase; letter-spacing: 0.05em;
  padding: 14px 22px; clip-path: polygon(0 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
.button:hover { color: var(--text1); filter: brightness(1.1); }

footer {
  display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 48px; padding-top: 20px;
  border-top: 1px solid var(--divider); color: var(--text2); font-size: 14px;
}
footer a { color: var(--text2); }
