/* Enten Systems — base.css
   Element-level resets and semantic defaults so writers can use plain
   HTML and get the brand. Reads from tokens.css; load tokens.css first.

   Loaded by every page after tokens.css and before component CSS. */

html, body {
  background: var(--surface-0);
  color: var(--ink-700);
  font: var(--font-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, .h1 {
  font: var(--font-display-xl);
  letter-spacing: var(--tracking-display);
  color: var(--ink-900);
  margin: 0;
  text-wrap: balance;
}
h2, .h2 {
  font: var(--font-display-m);
  letter-spacing: var(--tracking-display);
  color: var(--ink-900);
  margin: 0;
  text-wrap: balance;
}
h3, .h3 {
  font: var(--font-h3);
  letter-spacing: var(--tracking-h3);
  color: var(--ink-900);
  margin: 0;
}
h4, .h4 {
  font: var(--font-h4);
  color: var(--ink-900);
  margin: 0;
}

p, .p { font: var(--font-body); color: var(--ink-700); margin: 0; text-wrap: pretty; }
.lead { font: var(--font-body-l); color: var(--ink-700); }
.caption, small { font: var(--font-body-s); color: var(--ink-500); }
.overline {
  font: var(--font-overline);
  letter-spacing: var(--tracking-overline);
  color: var(--brand-green-deep);
  text-transform: uppercase;
}
.mono, code, kbd { font: var(--font-mono-s); color: var(--ink-700); }

a {
  color: var(--brand-green);
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease-out);
}
a:hover { color: var(--brand-green-deep); text-decoration: underline; }

/* Anchors styled as buttons opt out of the inline-link hover —
   without these rules, button text turns green-on-green on hover. */
a.ent-btn:hover { color: inherit; text-decoration: none; }
a.ent-btn--primary,
a.ent-btn--primary:hover,
a.ent-btn--primary:visited { color: #fff; text-decoration: none; }
a.ent-btn--ghost-inv,
a.ent-btn--ghost-inv:hover,
a.ent-btn--ghost-inv:visited { color: #fff; text-decoration: none; }
a.ent-btn--ghost,
a.ent-btn--ghost:hover,
a.ent-btn--ghost:visited { color: var(--ink-900); text-decoration: none; }

::selection { background: var(--brand-green-soft); color: var(--ink-900); }
