.app-content > main.home-page {
  background-color: var(--background-color);
  border: none;
  border-radius: 0;
  margin: 0;
  padding: 0;
  box-shadow: none;
}

.home-page .home-intro {
  padding: var(--page-section-gap) var(--page-inset) var(--space-xl);
  box-sizing: border-box;
}

.home-name {
  margin: 0 0 var(--space-md);
  font-size: var(--text-base);
  font-weight: 600;
  letter-spacing: var(--letter-spacing-heading);
  line-height: 1.3;
  text-transform: lowercase;
  color: var(--muted-text-color);
}

.home-lede {
  margin: 0;
  max-width: none;
  font-size: var(--text-h2);
  font-weight: var(--font-weight-heading);
  line-height: var(--line-height-heading);
  letter-spacing: var(--letter-spacing-heading);
  color: var(--text-color);
}

.home-hero {
  margin: 0 0 var(--space-xl);
  padding: 0 var(--page-inset);
  min-width: 0;
  box-sizing: border-box;
}

.home-hero .project-card--hero {
  width: 100%;
}

.home-hero .project-card__media {
  aspect-ratio: auto;
  height: 18rem;
  border-bottom: none;
}

.home-featured {
  padding: 0 var(--page-inset) var(--space-xl);
  box-sizing: border-box;
}

.home-featured-footer {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space-lg);
}

.home-featured-more {
  flex-shrink: 0;
  font-size: var(--text-sm);
}

.portfolio-grid--featured {
  grid-template-columns: 1fr;
  max-width: none;
  padding: 0;
}

html.home-entrance .home-rise {
  opacity: 0;
  transform: translate3d(0, var(--rise, 4rem), 0);
}

html.home-entrance.home-entrance-play .home-rise {
  animation: home-rise 1.15s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation-delay: var(--rise-delay, 0s);
}

@keyframes home-rise {
  from {
    opacity: 0;
    transform: translate3d(0, var(--rise, 4rem), 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html.home-entrance .home-rise,
  html.home-entrance.home-entrance-play .home-rise {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .home-hero .project-card__meta,
  .home-hero .project-favorite-btn {
    transition: none;
  }
}

.app-content > main.home-page > .custom-footer {
  --footer-content-x: calc(var(--page-inset) + 0.5rem);
  margin: var(--footer-top-gap, var(--space-2xl)) 0 0;
  width: 100%;
  max-width: none;
  border-radius: 0;
  background-color: transparent;
}

@media (min-width: 48rem) {
  .home-hero .project-card__media {
    height: 26rem;
  }

  .portfolio-grid--featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  .portfolio-grid--featured {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
