/* Prevent radial Lottie overflow from creating a horizontal scrollbar.
   clip (not hidden) avoids creating a new BFC that would break sticky positioning. */
body {
  overflow-x: clip;
}

.container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--gutter-md);
}

@media (min-width: 1024px) {
  .container {
    padding-inline: var(--gutter-lg);
  }
}

.section {
  padding-block: var(--space-16);
}

.section--tight {
  padding-block: var(--space-8);
}

.section--loose {
  padding-block: var(--space-20);
}
.is-mobile-menu-open {
  overflow: hidden;
}
:root { --header-height: 72px; }

main.site-main {
  padding-top: 0; /* keep clean */
}

.site-header + main.site-main {
  scroll-margin-top: var(--header-height);
}
.is-mobile-menu-open { overflow: hidden; }
:root { --header-height: 72px; }

.site-header.is-scrolled ~ * {
  scroll-margin-top: 60px;
}

* {
  scroll-margin-top: var(--header-height);
}
.section { padding: 72px 0; }
.section--tight { padding: 28px 0; }

@media (max-width: 768px) {
  .section { padding: 48px 0; }
}
/* Full-bleed utility: stretches to viewport edges even inside padded layouts */
.full-bleed {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

/* mc- container system  -  uses tokens from variables.css */
.container,
.mc-container {
  width: min(100% - (var(--mc-gutter) * 2), var(--mc-container));
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 0;
  max-width: none;
}

.container--wide,
.mc-container--wide {
  width: min(100% - (var(--mc-gutter) * 2), var(--mc-container-wide));
  margin-inline: auto;
  box-sizing: border-box;
  padding-inline: 0;
  max-width: none;
}
