/* Shared page rhythm, loaded after component themes. Keep control spacing local. */
:root {
  --nc-space-section: clamp(40px, 5vw, 64px);
  --nc-space-content: clamp(24px, 3vw, 40px);
  --nc-space-heading: clamp(24px, 3vw, 32px);
}

.nc-site #main .page-home > .section,
.nc-site #main :is(
  header.page-header,
  .nc-archive-directory-header,
  .nc-projects-header,
  .nc-project-header,
  .nc-video-hero-inner,
  .nce-hero-inner
) {
  padding-block: var(--nc-space-section);
}

.nc-site #main :is(
  .news-page-body,
  .blog-page-body,
  .social-page-body,
  .contact-body,
  .about-body,
  .article-body,
  .nc-archive-directory-content,
  .nc-news-category,
  .nc-projects-body,
  .nc-project-body,
  .nc-video-directory,
  .nce-directory,
  #acym_wrapper
) {
  padding-block: var(--nc-space-content) var(--nc-space-section);
}

.nc-site #main > :is(
  #guru-component,
  .jd-item-page,
  .search:has(> .jd_top_navi),
  #kunena,
  #adagency_container,
  .osm-container,
  .com-users-login,
  .com-users-registration,
  .com-users-reset,
  .com-users-remind,
  .com-users-profile,
  .com-content-category-blog,
  .com-content-category,
  .com-content-categories,
  .com-content-featured,
  .com-finder,
  .com-search
) {
  margin-block: var(--nc-space-content) var(--nc-space-section);
}

.nc-site #main > .jsst-main-up-wrapper {
  margin-bottom: var(--nc-space-section);
}

.nc-site #main :is(.about-beliefs, .mission-section, .platform-section, .forward-section) {
  margin-top: var(--nc-space-section);
  padding-top: var(--nc-space-section);
}

.nc-site #main :is(
  .about-pillars,
  .about-quote,
  .stakes-section,
  .sources,
  .ledger-bar,
  .ledger-quote,
  .moment-banner,
  .page-newsletter,
  .social-cta,
  .nc-news-subcategory-section,
  .nc-project-updates,
  .nc-article-comments,
  .article-footer
) {
  margin-top: var(--nc-space-content);
}

.nc-site #main :is(.section-head, .section-head-wide, .nce-directory-top) {
  margin-bottom: var(--nc-space-heading);
}

.nc-site #main .platform-columns {
  margin-top: var(--nc-space-heading);
}

.nc-site #main .filter-row {
  margin-top: var(--nc-space-content);
}

.nc-site #main :is(.article-content, .com-content-category-blog__item) .page-header {
  padding-block: 0;
}

.nc-site #main .careers-application #osm-signup-page,
.nc-site.careers-application #main #osm-signup-page {
  margin-block: var(--nc-space-content) var(--nc-space-section);
}

.nc-site .footer-main {
  padding-block: var(--nc-space-section);
}
