.container {
  width: 100%;
  max-width: var(--spacing-container-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--spacing-margin-mobile);
  padding-right: var(--spacing-margin-mobile);
}

@media (min-width: 768px) {
  .container {
    padding-left: var(--spacing-margin-desktop);
    padding-right: var(--spacing-margin-desktop);
  }
}

.section {
  padding-top: 60px;
  padding-bottom: 60px;
}

@media (min-width: 768px) {
  .section {
    padding-top: var(--spacing-section-gap);
    padding-bottom: var(--spacing-section-gap);
  }
}

/* Common Layout Utilities if needed, though we will focus on semantic blocks */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.fade-up-element {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-up-element.is-visible {
  opacity: 1;
  transform: translateY(0);
}
