Почему Firefox не наследует font-weight для h1?

Firefox не наследует свойство font-weight для элемента h1 по умолчанию по одной причине: он применяет стиль по умолчанию к элементу h1, включая заданный font-weight.

При создании стандартных стилей для элемента h1 браузеры устанавливают свойства по умолчанию, которые могут отличаться в зависимости от браузера и установленной темы. В Firefox стандартный стиль h1 определяет неявное значение font-weight: bold;. Это означает, что в Firefox элемент h1 уже имеет жирное начертание, и при наследовании свойств стиля шрифта, font-weight неявно присваивается равным значению bold.

Наследование стилей в CSS работает так, что дочерние элементы наследуют стили своих родителей, если для них не заданы какие-либо конкретные значения. Однако, если для дочернего элемента явно задано какое-либо значение, оно будет первоочередно применяться, полностью замещая наследованное значение. И в данном случае, Firefox задает явное значение font-weight: bold; для элемента h1, поэтому наследование font-weight не происходит для этого элемента.

Если вы хотите наследовать font-weight для элемента h1 в Firefox или других браузерах, вы можете явно задать это свойство в родительском элементе. Например, вы можете задать font-weight: inherit; в стиле родительского элемента, чтобы дочерний элемент h1 наследовал этот же вес шрифта.

.parent {
  font-weight: inherit;
}

...

<div class="parent">
  <h1>Заголовок</h1>
</div>

Таким образом, Firefox будет наследовать значение font-weight от родительского элемента и применять его к элементу h1.