Как добавить плавную прокрутку для переходов по оглавлению? Самый простой способ — добавить в ваш CSS одно правило: html { scroll-behavior: smooth; } — тогда все внутренние якорные переходы будут происходить плавно. Если нужна более тонкая настройка (например, прокрутка с учётом фиксированной шапки), используйте JavaScript с методом scrollIntoView({ behavior: 'smooth' }).
Нюанс: у метода scrollIntoView есть особенность — элемент прижимается к краю окна, поэтому для отступа под шапку добавьте в CSS scroll-margin-top: 80px (значение подгоните под высоту вашей шапки). Быстрый чек-лист внедрения: проверьте, что у всех заголовков есть уникальные id, вставьте CSS-правило, протестируйте в Safari и мобильных браузерах. Если нужно быстро внедрить готовое решение без разбора кода — закажите настройку плавной прокрутки, мы подключим её аккуратно и проверим во всех браузерах.