/* Единый вертикальный ритм сайта.
   Одно правило вместо разнобоя (128/96/64/48/30px):
   – 160px между секциями (80px снизу у предыдущей + 80px сверху у следующей);
   – 64px между заголовком секции и ее контентом.
   Файл подключается последним, поэтому перекрывает отступы секционных стилей. */

:root {
  --rhythm-gap: 160px;   /* пустота между секциями */
  --rhythm-pad: 80px;    /* половина ритма – вертикальный padding секции */
  --rhythm-head: 64px;   /* заголовок → контент */
  --rhythm-top: 96px;    /* отступ от шапки до первой секции страницы */
}

/* ––– Секции: 160px между соседними ––– */

/* Главная */
body .home-project-transition > .company-about { padding-block: var(--rhythm-gap) var(--rhythm-pad); }
body #experience.experience-section { padding-block: var(--rhythm-pad); }
body .home-projects-panel #projects.section { padding-block: var(--rhythm-pad); }
body #team.section { padding-block: var(--rhythm-pad); }
body #awards.awards-teaser { margin-block: var(--rhythm-pad); }
body #request.request-section { padding-block: var(--rhythm-pad); }

/* Каталог проектов и страницы объектов */
body main > section.section { padding-block: var(--rhythm-pad); }
body main > section.project-catalog { padding-block: var(--rhythm-top) var(--rhythm-pad); }
body main > .project-about { padding-block: var(--rhythm-pad); }
body main > section.section:first-child { padding-top: var(--rhythm-top); }

/* Страница основателя: hero, затем блоки биографии */
body main > section.founder-page__intro { padding-block: var(--rhythm-gap) 0; }
body main > section.founder-page__bio { padding-block: var(--rhythm-head) var(--rhythm-gap); }

/* Контакты: h1 «Контакты» – заголовок страницы, контакты под ним – его контент,
   сноска об операторе данных – часть того же блока */
body .contacts-intro { padding-block: var(--rhythm-top) 0; }
body .contacts-connect { padding-block: var(--rhythm-head) 0; }
body .contacts-page > #personal-data { margin-block: 24px var(--rhythm-pad); }
body .contacts-addresses { padding-block: var(--rhythm-pad); }
body .contacts-requisites { padding-block: var(--rhythm-pad); }

/* ––– Заголовок → контент: 64px ––– */

body .head,
body .request-section .head,
body .object-gallery-section__head { margin-bottom: var(--rhythm-head); }
body .company-about h2 { margin-bottom: var(--rhythm-head); }
body #experience.experience-section h2 { margin-bottom: var(--rhythm-head); }
/* пустой блок-заглушка перед метриками не должен добавлять свой отступ */
body #experience.experience-section .experience-featured { margin-bottom: 0; }
body .request-section__contacts { margin-top: var(--rhythm-head); }
body .contacts-addresses > h2 { margin-bottom: var(--rhythm-head); }
body .project-about__topline { margin-bottom: var(--rhythm-head); }

/* Висячие отступы последних элементов ломают ритм: гасим их. */
body main > section > :last-child,
body main > section > .wrap:last-child > :last-child,
body main > section > .company-about__inner > :last-child,
body main > section > .experience-section__inner > :last-child { margin-bottom: 0; }
