.home-hero {
  & .home-hero__image {
    position: absolute;
    filter: blur(8px);
    display: none;
    & img {
      object-fit: cover;
      width: 100%;
      aspect-ratio: 16 / 9;
    }
    @media (min-width: 1200px) {
      display: block;
    }
    &.home-hero__image--1 {
      width: 25rem;
      top: -2rem;
      left: 50%;
      transform: translateX(-50%);
    }
    &.home-hero__image--2 {
      width: 20rem;
      bottom: 4.375rem;
      left: -4.375rem;
    }
    &.home-hero__image--3 {
      width: 15rem;
      bottom: 5.3125rem;
      left: 38.125rem;
    }
  }
  
  & .swiper {
    z-index: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: -7.5rem;
    width: 17.5rem;
    opacity: 50%;
    @media (min-width: 768px) {
      width: 25rem;
    }
    @media (min-width: 1024px) {
      right: -2rem;
    }
    @media (min-width: 1200px) {
      width: 32.5rem;
      right: 6.25rem;
      opacity: 100%;
    }
    & .swiper-wrapper {
      transition-timing-function: linear;
    }
    & .swiper-slide {
      width: 100%;
      height: auto;
      & img {
        object-fit: cover;
        width: 100%;
        aspect-ratio: 16 / 9;
      }
    }
  }
  
  & .home-news {
    width: 100%;
    padding: 1.5rem 1.25rem 1.25rem;
    background-color: hsl(from var(--snow) h s l / 40%);
    box-shadow: var(--elevation-2);
    backdrop-filter: blur(4px);
    position: relative;
    &::before {
      content: "News";
      position: absolute;
      top: -1.5rem;
      left: -0.75rem;
      line-height: 1;
      font-family: var(--font-display);
      color: var(--blue);
      font-size: 2.5rem;
    }
    @media (min-width: 768px) {
      position: absolute;
      width: 20rem;
      bottom: 0;
      left: 0;
    }
    @media (min-width: 1200px) {
      width: 25rem;
    }
  }
}

.swiper:not(.swiper-initialized) {
  width: 100%;
  & .swiper-wrapper {
    display: flex;
    overflow: auto;
  }
  & .swiper-slide {
    min-width: 35%;
  }
}

.bg-lines-2 {
  position: absolute;
  border-width: 0px;
  border-style: solid;
  border-color: var(--snow);
  opacity: 20%;
  filter: blur(1px);
  &.bg-lines-2--horizontal {
    top: 15rem;
    left: 0;
    height: 6.25rem;
    width: 100%;
    border-top-width: 1px;
    border-bottom-width: 1px;
  }
  &.bg-lines-2--vertical {
    top: 0;
    left: 7.5rem;
    height: 100%;
    width: 5rem;
    border-left-width: 1px;
    border-right-width: 1px;
  }
  &.bg-lines-2--diagonal {
    top: -1rem;
    right: 0;
    height: 6.25rem;
    width: 125%;
    border-top-width: 1px;
    border-bottom-width: 1px;
    transform-origin: top right;
    transform: rotate(-15deg);
  }
}

.home-strengths-image {
  position: absolute;
  filter: blur(8px);
  &::after {
    pointer-events: none;
    content: "";
    position: absolute;
    inset: 0;
    background-color: hsl(0deg 0% 0% / 50%);
  }
  & img {
    object-fit: cover;
    width: 100%;
    aspect-ratio: 16 / 9;
  }
  
  &.home-strengths-image--1 {
    width: 17.5rem;
    top: -0.625rem;
    right: 28.75rem;
  }
  &.home-strengths-image--2 {
    width: 15rem;
    top: 5.625rem;
    left: 3.75rem;
  }
  &.home-strengths-image--3 {
    width: 15rem;
    top: 17rem;
    right: 1.875rem;
  }
  &.home-strengths-image--4 {
    width: 22.5rem;
    bottom: 3.5625rem;
    left: 22.5rem;
  }
}

.home-services-image {
  object-fit: cover;
  width: 100%;
  height: 40rem;
  mask-image: linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.00) 10.1%, #FFF 40%, #FFF 100%);
  -webkit-mask-image: linear-gradient(0deg, rgba(255, 255, 255, 0.00) 0%, rgba(255, 255, 255, 0.00) 10.1%, #FFF 40%, #FFF 100%);
}

.home-services-slider {
  width: 100%;
  overflow: visible;
  --swiper-pagination-color: var(--blue);
  & .swiper-wrapper {
    counter-reset: num-counter; 
  }
  & .swiper-slide {
    position: relative;
    counter-increment: num-counter;
    &::after {
      content: counter(num-counter, decimal-leading-zero) ".";
      line-height: 1;
      font-family: var(--font-display);
      font-size: 5rem;
      position: absolute;
      top: -2rem;
      left: -1.25rem;
      @media (min-width: 768px) {
        font-size: 6rem;
      }
      @media (min-width: 1200px) {
        font-size: 7.5rem;
      }
    }
  }
  & .swiper-pagination {
    position: relative;
    max-width: 67.5rem;
    margin: 2.5rem auto 0;
  }
}
.home-service-card {
  display: block;
  position: relative;
  aspect-ratio: 520 / 686;
  padding: 3rem 1rem 1.5rem 1.5rem;
  box-shadow: var(--elevation-1);
  @media (min-width: 768px) {
    padding: 4rem 1.5rem 1.5rem 2rem;
  }
  @media (min-width: 1200px) {
    padding: 6.25rem 2rem 2rem 3rem;
  }
  
  & .home-service-card__bg-image {
    position: absolute;
    inset: 0;
    & img {
      object-fit: cover;
      width: 100%;
      height: 100%;
    }
    &::after {
      pointer-events: none;
      content: "";
      position: absolute;
      inset: 0;
      background-color: hsl(0deg 0% 0% / 50%);
    }
  }
  
  & .home-service-card--lines {
    position: absolute;
    border-color: hsl(from var(--snow) h s l / 40%);
    filter: blur(1px);
    &.home-service-card--lines--horizontal {
      border-top-width: 1px;
      border-bottom-width: 1px;
      inset: 0 2.5rem 0 auto;
      width: 3.75rem;
    }
    &.home-service-card--lines--vertical {
      border-right-width: 1px;
      border-left-width: 1px;
      inset: 8.75rem 0 auto;
      height: 3rem;
    }
  }
}

.career-card-title {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
}

.home-blog {
  & .webgene-blog {
    display: grid;
    gap: 2.5rem;
    @media (min-width: 1200px) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
}
















