/*!*************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/sass/components/_home.sass ***!
  \*************************************************************************************************************************/
.h-banner {
  width: 100%;
  height: 95vh;
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.h-banner__container {
  width: 100%;
  max-width: 80rem;
  height: 100%;
  margin: auto;
  padding: 2rem 1rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: left;
}
.h-banner__title {
  color: var(--color3);
  font-family: var(--ff1);
  font-style: normal;
  font-weight: 700;
}
@media all and (orientation: landscape) {
  .h-banner__title {
    font-size: var(--fs-large);
    line-height: calc(var(--fs-large) * 1.2);
    letter-spacing: calc(var(--fs-large) * 0);
  }
}
@media all and (orientation: portrait) {
  .h-banner__title {
    font-size: var(--fsm-large);
    line-height: calc(var(--fsm-large) * 1.2);
    letter-spacing: calc(var(--fsm-large) * 0);
  }
}
.h-banner__title {
  margin: 0;
}
.h-banner__subtitle {
  color: var(--color2);
  font-family: var(--ff1);
  font-style: normal;
  font-weight: 700;
}
@media all and (orientation: landscape) {
  .h-banner__subtitle {
    font-size: var(--fs-large);
    line-height: calc(var(--fs-large) * 1.2);
    letter-spacing: calc(var(--fs-large) * 0);
  }
}
@media all and (orientation: portrait) {
  .h-banner__subtitle {
    font-size: var(--fsm-large);
    line-height: calc(var(--fsm-large) * 1.2);
    letter-spacing: calc(var(--fsm-large) * 0);
  }
}
.h-banner__subtitle {
  margin: 1rem 0 0 0;
  max-width: 420px;
}

.services {
  background-color: var(--color3);
}
.services__container {
  width: 100%;
  max-width: 80rem;
  margin: auto;
  box-sizing: border-box;
}
.services__title {
  color: var(--color4);
  font-family: var(--ff1);
  font-style: normal;
  font-weight: 700;
}
@media all and (orientation: landscape) {
  .services__title {
    font-size: var(--fs-xl);
    line-height: calc(var(--fs-xl) * 1.2);
    letter-spacing: calc(var(--fs-xl) * 0);
  }
}
@media all and (orientation: portrait) {
  .services__title {
    font-size: var(--fsm-xl);
    line-height: calc(var(--fsm-xl) * 1.2);
    letter-spacing: calc(var(--fsm-xl) * 0);
  }
}
.services__title {
  text-align: center;
}

.service {
  background-color: transparent;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  border-radius: 1rem;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  align-items: end;
  justify-content: center;
  aspect-ratio: 3/4;
  overflow: hidden;
}
.service__content {
  width: 100%;
  background-color: rgba(20, 21, 42, 0.85);
  padding: 1rem;
  box-sizing: border-box;
}
.service__name {
  color: var(--color2);
  font-family: var(--ff1);
  font-style: normal;
  font-weight: 700;
}
@media all and (orientation: landscape) {
  .service__name {
    font-size: var(--fs-mid);
    line-height: calc(var(--fs-mid) * 1.2);
    letter-spacing: calc(var(--fs-mid) * 0);
  }
}
@media all and (orientation: portrait) {
  .service__name {
    font-size: var(--fsm-mid);
    line-height: calc(var(--fsm-mid) * 1.2);
    letter-spacing: calc(var(--fsm-mid) * 0);
  }
}
.service__name {
  margin: 0;
  text-align: center;
}

.eint {
  background-color: var(--color5);
}
.eint__container {
  width: 100%;
  max-width: 80rem;
  margin: auto;
  padding: 6rem 1rem;
  box-sizing: border-box;
}
.eint__img {
  display: block;
  border-radius: 1rem;
}
.eint__img:not(:first-child) {
  margin-top: 2rem;
}
.eint__img--last {
  margin-top: 5rem;
}
.eint__title {
  color: var(--color4);
  font-family: var(--ff1);
  font-style: normal;
  font-weight: 700;
}
@media all and (orientation: landscape) {
  .eint__title {
    font-size: var(--fs-large);
    line-height: calc(var(--fs-large) * 1.2);
    letter-spacing: calc(var(--fs-large) * 0);
  }
}
@media all and (orientation: portrait) {
  .eint__title {
    font-size: var(--fsm-large);
    line-height: calc(var(--fsm-large) * 1.2);
    letter-spacing: calc(var(--fsm-large) * 0);
  }
}
.eint__text {
  color: var(--color2);
  font-family: var(--ff2);
  font-style: normal;
  font-weight: 300;
}
@media all and (orientation: landscape) {
  .eint__text {
    font-size: var(--fs-regular);
    line-height: calc(var(--fs-regular) * 1.6);
    letter-spacing: calc(var(--fs-regular) * 0);
  }
}
@media all and (orientation: portrait) {
  .eint__text {
    font-size: var(--fsm-regular);
    line-height: calc(var(--fsm-regular) * 1.6);
    letter-spacing: calc(var(--fsm-regular) * 0);
  }
}
.eint__text {
  margin: 1rem 0;
}

.contact {
  background-color: var(--color3);
}
.contact__container {
  width: 100%;
  max-width: 80rem;
  margin: auto;
  padding: 6rem 1rem;
  box-sizing: border-box;
}
.contact__title {
  color: var(--color2);
  font-family: var(--ff1);
  font-style: normal;
  font-weight: 700;
}
@media all and (orientation: landscape) {
  .contact__title {
    font-size: var(--fs-large);
    line-height: calc(var(--fs-large) * 1.2);
    letter-spacing: calc(var(--fs-large) * 0);
  }
}
@media all and (orientation: portrait) {
  .contact__title {
    font-size: var(--fsm-large);
    line-height: calc(var(--fsm-large) * 1.2);
    letter-spacing: calc(var(--fsm-large) * 0);
  }
}
.contact__title {
  margin: 0;
  width: 100%;
}
.contact__title:not(:first-child) {
  margin-top: 3rem;
}
.contact__text {
  color: var(--color2);
  font-family: var(--ff2);
  font-style: normal;
  font-weight: 300;
}
@media all and (orientation: landscape) {
  .contact__text {
    font-size: var(--fs-regular);
    line-height: calc(var(--fs-regular) * 1.6);
    letter-spacing: calc(var(--fs-regular) * 0);
  }
}
@media all and (orientation: portrait) {
  .contact__text {
    font-size: var(--fsm-regular);
    line-height: calc(var(--fsm-regular) * 1.6);
    letter-spacing: calc(var(--fsm-regular) * 0);
  }
}
.contact__text {
  margin: 2rem 0 0.5rem 0;
  width: 100%;
  max-width: 300px;
}
.contact__link {
  color: var(--color2);
  display: block;
  font-family: var(--ff2);
  font-style: normal;
  font-weight: 300;
}
@media all and (orientation: landscape) {
  .contact__link {
    font-size: var(--fs-regular);
    line-height: calc(var(--fs-regular) * 1.2);
    letter-spacing: calc(var(--fs-regular) * 0);
  }
}
@media all and (orientation: portrait) {
  .contact__link {
    font-size: var(--fsm-regular);
    line-height: calc(var(--fsm-regular) * 1.2);
    letter-spacing: calc(var(--fsm-regular) * 0);
  }
}
.contact__link {
  text-decoration: none;
  margin: 0;
}
.contact__map {
  height: auto;
  border-radius: 1rem;
}

@media all and (orientation: landscape) {
  .services__container {
    padding: 4rem 1rem;
  }
  .services__grid {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 2rem;
    flex-shrink: 0;
    flex-grow: 0;
    flex-basis: 33%;
  }
  .services__title {
    margin: 0 0 6rem 0;
  }
  .service {
    width: 33%;
  }
  .eint__title {
    margin: 0 0 2.5rem 0;
  }
  .eint__text {
    width: 80%;
  }
  .eint__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .eint__img--wide {
    width: 100%;
  }
  .eint__img--half {
    width: 48%;
    aspect-ratio: 1/1;
  }
  .eint__column {
    width: 48%;
  }
  .eint__column--left {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .contact__container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
  }
  .contact__map {
    width: 70%;
    aspect-ratio: 16/9;
  }
  .contact__content {
    width: 30%;
  }
}
@media all and (orientation: portrait) {
  .service {
    margin: 3rem auto;
  }
  .services__container {
    padding: 2rem 1rem;
  }
  .services__title {
    margin: 0 0 3rem 0;
  }
  .eint__img {
    width: 100%;
  }
  .eint__title {
    margin: 3rem 0 2.5rem 0;
  }
  .contact__map {
    width: 100%;
    aspect-ratio: 1/1;
    margin-top: 2rem;
  }
}
