body {
  font-family: var(--font-family);
  color: var(--color-text);
  background: var(--color-bg);
}

.site-main {
  position: relative;
  z-index: 10;
  background: transparent;
}

.section {
  min-height: var(--section-height);
  padding: calc(var(--header-height) + var(--space-md)) var(--space-sm) var(--space-lg);
  display: flex;
  align-items: center;
  justify-content: center;
}

.section__content {
  width: 100%;
  max-width: var(--max-width);
}

.section h1,
.section h2 {
  color: var(--color-primary-light);
  margin-bottom: var(--space-md);
}

.section h1 {
  font-size: clamp(1.85rem, 5vw, 3rem);
  line-height: 1.15;
}

.section h2 {
  font-size: clamp(1.4rem, 3.5vw, 2rem);
}

.section p {
  color: var(--color-text-muted);
  margin-bottom: var(--space-sm);
}

.section--hero {
  text-align: center;
}

.section--hero .section__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero__logo {
  --hero-logo-size: clamp(3.25rem, 16vw, 4.25rem);
  flex: 0 0 auto;
  width: var(--hero-logo-size);
  height: var(--hero-logo-size);
  max-width: var(--hero-logo-size);
  object-fit: contain;
  object-position: center;
  margin-inline: auto;
  margin-bottom: var(--space-sm);
}

.hero__subtitle {
  font-size: clamp(1.05rem, 2.5vw, 1.35rem);
  color: var(--color-text) !important;
}

.content-panel__body {
  max-height: min(52vh, 28rem);
  overflow-y: auto;
  padding-right: 0.25rem;
  scrollbar-width: thin;
  scrollbar-color: var(--color-primary) transparent;
}

@media (max-width: 47.99rem) {
  .site-main {
    z-index: auto;
  }

  .section {
    align-items: flex-end;
    justify-content: flex-end;
    padding-bottom: max(var(--space-lg), 10vh);
  }

  .section--hero {
    align-items: flex-end;
  }

  .section--hero .section__content {
    align-items: center;
    text-align: center;
  }
}

@media (min-width: 48rem) {
  .site-main {
    margin-left: var(--building-width);
  }

  .section {
    padding-inline: var(--space-lg);
    justify-content: flex-start;
  }

  .section__content {
    margin-left: clamp(0rem, 4vw, 3rem);
  }

  .section--hero .section__content {
    margin-top: 8vh;
    align-items: center;
    text-align: center;
  }
}

@media (min-width: 64rem) {
  .section__content {
    max-width: 42rem;
  }
}
