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

body {
  font-family: var(--geng-font-family);
  color: var(--geng-color-text);
  background-color: var(--geng-color-body-background);
  line-height: 1.5;
  margin: 0;
}

/* Link defaults — diverges from GOV.UK's underline-by-default convention.
   Personal-finance app context favors no-underline-by-default for visual density. */
a {
  color: var(--geng-color-brand);
  text-decoration: none;
}

a:visited {
  color: var(--geng-color-brand);
}

a:hover {
  text-decoration: underline;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid var(--govuk-color-focus);
  outline-offset: 0;
  box-shadow:
    inset 0 0 0 1px var(--govuk-color-focus),
    0 -2px var(--govuk-color-focus),
    0 4px var(--geng-color-grey-900);
}