* {
  margin: 0;
  padding: 0;
  transition: var(--transition-normal);
  font-family: var(--font-primary);
  font-size: 100%;
  letter-spacing: var(--letter-spacing-normal);
  line-height: var(--line-height-normal);
  box-sizing: border-box;
}

body {
  background-color: var(--white);
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  color: var(--text-primary);
}

/* Hierarquia de títulos */
h1 {
  font-family: var(--font-display);
  font-size: var(--font-size-6xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-tight);
  color: var(--text-primary);
}

h2 {
  font-family: var(--font-display);
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-tight);
  letter-spacing: var(--letter-spacing-tight);
  color: var(--text-primary);
}

h3 {
  font-family: var(--font-secondary);
  font-size: var(--font-size-2xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-normal);
  color: var(--text-primary);
}

h4 {
  font-family: var(--font-secondary);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-normal);
  color: var(--text-primary);
}

h5 {
  font-family: var(--font-primary);
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-normal);
  color: var(--text-primary);
}

h6 {
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  line-height: var(--line-height-normal);
  color: var(--text-primary);
}

/* Parágrafos */
p {
  font-family: var(--font-primary);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-relaxed);
  color: var(--text-secondary);
}

/* Textos pequenos */
small {
  font-family: var(--font-primary);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-normal);
  line-height: var(--line-height-normal);
  color: var(--text-secondary);
}

/* Links */
a {
  font-family: var(--font-primary);
  font-weight: var(--font-weight-medium);
  text-decoration: none !important;
  color: var(--btn-primary);
  transition: var(--transition-normal);
  position: relative;
}

a:hover {
  color: var(--btn-primary-hover);
  text-decoration: none !important;
}

a:focus {
  text-decoration: none !important;
  outline: none;
}

a::after {
  display: none;
}

a:hover::after {
  display: none;
}

/* Botões */
button {
  font-family: var(--font-secondary);
  font-weight: var(--font-weight-semibold);
  letter-spacing: var(--letter-spacing-wide);
}