.hero-shadow-image-wrap{
  z-index: 0;
  height: 1100px;
  position: absolute;
  inset: 0% 0% auto auto;
}
.hero-shadow-image{
  height: 100%;
}
.about-hero-section{
  background-image: linear-gradient(180deg, var(--color--secondary-3), var(--color--transparent));
  margin-top: -140px;
  padding-top: 250px;
  padding-bottom: 140px;
  position: relative;
}
.about-hero-wrapper{
  z-index: 99;
  position: relative;
}
.about-hero-image-wrapper{
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 90px;
  display: flex;
}
.about-hero-image-wrap{
  width: 550px;
  height: 540px;
  margin-bottom: 60px;
  position: relative;
}
.about-hero-image{
  border-radius: var(--border-radius--lg);
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.about-hero-counter{
  border-radius: var(--border-radius--lg);
  color: var(--color--white);
  text-align: center;
  background-image: url("https://cdn.prod.website-files.com/67139a9b2017922576df580e/67163711896fdc5a95c58c9f_bg-01.avif");
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 160px;
  height: 160px;
  padding: 20px;
  display: flex;
  position: absolute;
  inset: auto -70px 30px auto;
  transform: rotate(-8.56deg);
}
.about-counter-title{
  z-index: 1;
  font-family: var(--_typography---font-family--heading);
  color: var(--color--white);
  font-size: var(--_typography---h5--h5);
  line-height: var(--_typography---h6--body--line-height-3);
  font-weight: var(--_typography---h6--font-weight);
  margin-bottom: 10px;
  position: relative;
}
.about-me-profession{
  font-family: var(--_typography---font-family--body);
  color: var(--color--primary-2);
  font-size: var(--_typography---h6--h6);
  line-height: var(--_typography---h6--body--line-height-1);
  font-weight: var(--_typography---h6--body--font-weight);
}
.about-me-small-title{
  font-family: var(--_typography---font-family--heading);
  color: var(--_color---heading);
  font-size: var(--_typography---h6--h6);
  line-height: var(--_typography---h6--body--line-height-3);
  font-weight: var(--_typography---h5--font-weight);
  margin-bottom: 30px;
}
.about-me-lead-text{
  font-family: var(--_typography---font-family--body);
  color: var(--_color---body-color);
  font-size: var(--_typography---h6--h6);
  line-height: var(--_typography---h6--body--line-height-2);
  font-weight: var(--_typography---h6--body--font-weight);
  margin-bottom: 0;
}
.about-description-wrap{
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  margin-bottom: 40px;
  display: flex;
}
.about-social-wrap{
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}
.social-link{
  transition: transform .3s ease-in-out;
}
.social-link:hover{
  transform: translate(0, 5px);
}
.social-icon{
  width: 30px;
  height: 30px;
}
.social-icon-wrap{
  grid-column-gap: 15px;
  grid-row-gap: 15px;
  display: flex;
}
@media screen and (max-width: 991px){
.about-hero-section{
    padding-top: 160px;
    padding-bottom: 70px;
  }
.about-hero-image-wrapper{
    margin-bottom: 60px;
  }
.about-hero-image-wrap{
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px){
.about-hero-section{
    padding-top: 160px;
    padding-bottom: 50px;
  }
.about-hero-image-wrapper{
    margin-bottom: 50px;
  }
.about-hero-image-wrap{
    width: 100%;
    height: 100%;
    margin-bottom: 20px;
  }
.about-hero-counter{
    display: none;
  }
.about-me-small-title, .about-me-lead-text{
    font-size: var(--_typography---h6--h6);
  }
}
@media screen and (max-width: 479px){
.about-me-small-title{
    font-size: var(--_typography---h6--h6);
  }
}

/* The portrait is 1000x1500 in a near-square 550x540 frame, so object-fit:
   cover crops roughly 285px vertically. Centred (the default 50%) that is
   split evenly top and bottom, which cut off his forehead. Biasing the crop
   upward keeps the top of the head in frame. */
.about-hero-image{
  object-position: 50% 25%;
}
