:root {
  --font-brand: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif;

  --blue-primary: #0157ff;
  --blue-900:     #00143d;
  --blue-800:     #013497;
  --blue-700:     #0049c0;
  --blue-600:     #0157ff;
  --blue-300:     #aac7fe;
  --blue-200:     #d5e3fd;
  --blue-100:     #eaf1ff;
  --blue-50:      #f6faff;

  --hero-from:    #153567;
  --hero-via:     #061d4b;
  --hero-to:      #00143d;

  --text-primary:   #151515;
  --text-secondary: #515260;
  --text-muted:     #898f9e;
  --border:         #e2e5ed;
  --border-light:   #f2f3f7;
  --bg-page:        #ffffff;
  --bg-subtle:      #f2f3f7;
  --bg-blue-tint:   #f6faff;

  --success: #36a36b;
  --error:   #e56b5f;
  --warning: #f59e0b;

  --container-max: 1104px;
  --nav-height:    72px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; height: 100%; }
body {
  font-family: var(--font-brand);
  background: var(--bg-page);
  color: var(--text-primary);
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
}
main { flex: 1; }

.container { max-width: var(--container-max); margin-left: auto; margin-right: auto; padding-left: 1.5rem; padding-right: 1.5rem; }
@media (min-width: 1024px) { .container { padding-left: 2rem; padding-right: 2rem; } }

.tabular-nums { font-variant-numeric: tabular-nums; }
.scrollbar-none { scrollbar-width: none; }
.scrollbar-none::-webkit-scrollbar { display: none; }

.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

details > summary { list-style: none; }
details > summary::-webkit-details-marker { display: none; }

/* ── Article prose styles ───────────────────────── */
.prose p { font-size: 1.125rem; line-height: 1.7; color: var(--text-secondary); margin-bottom: 1.5rem; }

/* ── Legal pages nested list styling ───────────── */
.legal-body p { line-height: 1.7; }
.legal-body ul { padding-left: 1rem; margin: 0.5rem 0; }
.legal-body ul li { list-style: disc; line-height: 1.7; margin-bottom: 0.5rem; }
.legal-body > * + * { margin-top: 0.75rem; }

/* Phosphor icon font sizing helper */
.ph { font-size: 1em; line-height: 1; }
