.hero {
  height: 100vh;
  width: 100%;
  background: #143109;
  background: radial-gradient(
    circle,
    rgba(20, 49, 9, 1) 0%,
    rgba(20, 64, 15, 1) 100%
  );
  overflow: hidden;
}

.hero-portrait {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 300px;
}

.hero-portrait img {
  position: absolute;
  height: 75vh;
  width: auto;
  z-index: 9999;
  top: 20rem;
}

.hero-header {
  position: relative;
  top: 0rem;
  left: 5rem;
  font-size: clamp(3rem, 3.5vw + 1rem, 7rem);
  color: #fff;
  font-weight: 200;
  font-family: ranchers;
  text-shadow: 4px 4px rgba(0, 0, 0, 1);
}

.hero-text {
  position: absolute;
  color: #fff;
  top: 60rem;
  right: 2rem;
  font-size: 35px;
}

.floating-bg {
  position: absolute;
  inset: 0;
  z-index: 0;          
  pointer-events: none;
  height: 0;
}

.float-layer {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.float-item {
  position: absolute;
  width: 80px;
  height: 80px;
  -o-object-fit: contain;
     object-fit: contain;       
  will-change: transform;
  transform: translate3d(0,0,0);
  -webkit-filter: drop-shadow(0 0 2px rgba(0,0,0,0.15));
          filter: drop-shadow(0 0 2px rgba(0,0,0,0.15));
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.float-item.is-tiny  { width: 50px; height: 50px; }
.float-item.is-big   { width: 110px; height: 110px; }

@media (prefers-reduced-motion: reduce) {
  .float-item {
    transition: none !important;
    -webkit-animation: none !important;
            animation: none !important;
  }
}
