/* Driven VC — Base element styles & helpers
 * Lightweight defaults so specimen cards and kits inherit the brand.
 * Component-specific styling lives with each component. */

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-normal);
  color: var(--text-body);
  background: var(--surface-page);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  color: var(--text-strong);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-tight);
  margin: 0;
  text-wrap: balance;
}

p { margin: 0; text-wrap: pretty; }

a { color: inherit; text-decoration: none; }

/* ---- Eyebrow / overline (SAVE THE DATE, OUR COMMUNITY …) ---- */
.dv-eyebrow {
  font-family: var(--font-display);
  font-weight: var(--fw-bold);
  font-size: var(--fs-overline);
  letter-spacing: var(--ls-overline);
  text-transform: uppercase;
  color: var(--text-accent);
}

/* ---- The teal "bookmark" accent (rounded tab pointing right) ----
 * A signature Driven mark used to flag section heads. */
.dv-bookmark {
  display: inline-block;
  width: 48px;
  height: 22px;
  background: var(--teal);
  border-radius: var(--radius-pill) var(--radius-xs) var(--radius-xs) var(--radius-pill);
}

/* ---- Focus visibility ---- */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: var(--border-width-2) solid var(--focus-ring);
  outline-offset: 2px;
}

::selection { background: var(--teal-300); color: var(--ink); }
