/* GENERATED FILE — DO NOT EDIT.
 * Produced from client.json `brand` by packages/cli/lib/tokens.mjs.
 * Edits here are lost on the next regenerate. Change client.json instead.
 */

:root {
  /* colours */
  --color-primary: #096719;
  --color-background: #ffffff;
  --color-text: #000000;
  --color-success: #1a7f4b;
  --color-warning: #a86400;
  --color-error: #b3261e;
  --color-secondary: #10bb2d;
  --color-accent: #10bb2d;
  --color-surface: #f5f5f5;
  --color-text-muted: #616161;
  --color-border: #d6d6d6;
  --color-primary-hover: #064611;
  --color-primary-active: #042a0a;
  --color-primary-subtle: #ddeadf;
  --color-secondary-hover: #13dc35;
  --color-secondary-active: #21ec44;
  --color-secondary-subtle: #def5e2;
  --color-accent-hover: #13dc35;
  --color-accent-active: #21ec44;
  --color-accent-subtle: #def5e2;
  --color-on-primary: #ffffff;
  --color-on-secondary: #111111;
  --color-on-accent: #111111;

  /* typography */
  --font-heading: system-ui, sans-serif;
  --font-body: system-ui, sans-serif;
  --font-weight-heading: 700;
  --font-weight-body: 400;
  --text-xs: 10.24px;
  --text-sm: 12.8px;
  --text-base: 16px;
  --text-lg: 20px;
  --text-xl: 25px;
  --text-2xl: 31.25px;
  --text-3xl: 39.06px;
  --text-4xl: 48.83px;

  /* spacing */
  --space-3xs: 4px;
  --space-2xs: 8px;
  --space-xs: 12px;
  --space-sm: 16px;
  --space-md: 24px;
  --space-lg: 32px;
  --space-xl: 48px;
  --space-2xl: 64px;
  --space-3xl: 96px;

  /* layout */
  --container-width: 1200px;
  --radius: 8px;

  /* buttons */
  --button-padding: var(--space-xs) var(--space-md);
  --button-font-size: var(--text-base);
  --button-radius: 6px;
  --button-text-transform: none;
  --button-letter-spacing: normal;
  --button-shadow: none;
  --button-bg: var(--color-primary);
  --button-fg: var(--color-on-primary);
  --button-border: 1px solid transparent;
  --button-bg-hover: var(--color-primary-hover);
  --button-fg-hover: var(--color-on-primary);

  /* links */
  --link-color: var(--color-primary);
  --link-color-hover: var(--color-primary-hover);
  --link-decoration: none;
  --link-decoration-hover: none;
}

/* base element styling driven entirely by the tokens above */
body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-base);
  font-weight: var(--font-weight-body);
  line-height: 1.6;
  color: var(--color-text);
  background: var(--color-background);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  font-weight: var(--font-weight-heading);
  line-height: 1.2;
  margin: 0 0 var(--space-sm);
}
h1 { font-size: var(--text-4xl); }
h2 { font-size: var(--text-3xl); }
h3 { font-size: var(--text-2xl); }
h4 { font-size: var(--text-xl); }

a {
  color: var(--link-color);
  text-decoration: var(--link-decoration);
}
a:hover {
  color: var(--link-color-hover);
  text-decoration: var(--link-decoration-hover);
}

.button {
  display: inline-block;
  padding: var(--button-padding);
  font-family: var(--font-body);
  font-size: var(--button-font-size);
  font-weight: 600;
  text-transform: var(--button-text-transform);
  letter-spacing: var(--button-letter-spacing);
  text-decoration: none;
  color: var(--button-fg);
  background: var(--button-bg);
  border: var(--button-border);
  border-radius: var(--button-radius);
  box-shadow: var(--button-shadow);
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease;
}
.button:hover {
  color: var(--button-fg-hover);
  background: var(--button-bg-hover);
}
.button:focus-visible {
  outline: 3px solid var(--color-primary);
  outline-offset: 2px;
}

.container {
  width: 100%;
  max-width: var(--container-width);
  margin-inline: auto;
  padding-inline: var(--space-md);
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
