.elementor-18 .elementor-element.elementor-element-6f48b82{width:100%;max-width:100%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}/* Start custom CSS for shortcode, class: .elementor-element-23b0a3f */.services-cards {
  width: 100%;
}

.services-cards__inner {
  max-width: 1920px;
  margin: 0 auto;
  padding-top: clamp(60px, 5.1vw, 98px);
  padding-right: clamp(24px, 5.83vw, 112px);
  padding-bottom: clamp(72px, 6.61vw, 127px);
  padding-left: clamp(24px, 5.52vw, 106px);
}

.services-cards__title {
  margin: 0 0 clamp(36px, 3.125vw, 60px);
  font-size: clamp(34px, 3.33vw, 64px);
  font-weight: 400;
  line-height: 0.91;
  color: #1B2232;
}

.services-cards__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 406px));
  gap: clamp(16px, 1.1vw, 21px);
  justify-content: center;
}

.services-card {
  --card-h: clamp(500px, 32.5vw, 624px);
  --image-h: calc(var(--card-h) * 0.783653);
  --card-x: 26px;
  --card-top: 29px;
  --card-bottom: 40px;

  position: relative;
  display: block;
  overflow: hidden;
  height: var(--card-h);
  color: #ffffff;
  text-decoration: none;
}

.services-card__content {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: var(--card-top) var(--card-x) var(--card-bottom);
  display: flex;
  flex-direction: column;
  background: url("/wp-content/uploads/2026/05/9fc718f972a3d477071a1b7eacc84728ce5b6200-scaled.png") center / cover no-repeat;
}

.services-card__image-wrap {
  position: absolute;
  top: 0;
  left: -2px;
  right: -2px;
  width: calc(100% + 4px);
  height: var(--image-h);
  z-index: 3;
  overflow: hidden;
  transform: translateY(0);
  transition: transform 900ms cubic-bezier(.25, 1.18, .45, 1);
  will-change: transform;
}

.services-card__image {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover !important;
  object-position: center center;
  transform: scale(1);
  transition:
    transform 900ms cubic-bezier(.25, 1.18, .45, 1),
    object-position 900ms cubic-bezier(.25, 1.18, .45, 1);
  will-change: transform, object-position;
}

.services-card__moving-title {
  position: absolute;
  left: var(--card-x);
  right: var(--card-x);
  top: calc(var(--image-h) + 29px);
  z-index: 4;
  color: #ffffff;
  font-size: clamp(30px, 1.875vw, 36px);
  font-weight: 400;
  line-height: 0.98;
  transition: top 900ms cubic-bezier(.25, 1.18, .45, 1);
  will-change: top;
}

.services-card__title-spacer {
  display: block;
  visibility: hidden;
  margin: 0 0 20px;
  color: #ffffff;
  font-size: clamp(30px, 1.875vw, 36px);
  font-weight: 400;
  line-height: 0.98;
}

.services-card__text {
  color: #ffffff;
  font-size: clamp(14px, 0.833vw, 16px);
  font-weight: 400;
  line-height: 0.91;
  opacity: 0;
  transition: opacity 320ms ease 160ms;
}

.services-card__text p:last-child {
  margin-bottom: 0;
}

.services-card__button {
  margin: auto auto 0;
  padding: 12px 30px;
  border: 2px solid var(--red);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: clamp(14px, 0.833vw, 16px);
  font-weight: 400;
  line-height: 0.91;
  opacity: 0;
  transition:
    opacity 320ms ease 160ms,
    background 300ms ease-out,
    border-color 300ms ease-out;
}

.services-card:hover .services-card__image-wrap {
  transform: translateY(-100%);
  transition: transform 760ms cubic-bezier(.22, 1, .36, 1);
}

.services-card:hover .services-card__image {
  transform: scale(1.12);
  transition:
    transform 760ms cubic-bezier(.22, 1, .36, 1),
    object-position 760ms cubic-bezier(.22, 1, .36, 1);
}

.services-card:hover .services-card__moving-title {
  top: var(--card-top);
  transition: top 760ms cubic-bezier(.22, 1, .36, 1);
}

.services-cards__grid .services-card:nth-of-type(4n + 1):hover .services-card__image,
.services-cards__grid .services-card:nth-of-type(4n + 2):hover .services-card__image {
  object-position: 38% center;
}

.services-cards__grid .services-card:nth-of-type(4n + 3):hover .services-card__image,
.services-cards__grid .services-card:nth-of-type(4n + 4):hover .services-card__image {
  object-position: 62% center;
}

.services-card:hover .services-card__text,
.services-card:hover .services-card__button {
  opacity: 1;
}

.services-card__button:hover {
  background: var(--red);
  border-color: var(--red);
}

@media (max-width: 1200px) {
  .services-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 406px));
  }
}

@media (max-width: 640px) {
  .services-cards__inner {
    padding: 56px 20px;
  }

  .services-cards__grid {
    grid-template-columns: 1fr;
  }

  .services-card {
    --card-h: 560px;
  }

  .services-card__moving-title,
  .services-card__title-spacer {
    font-size: 34px;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-3696073 */.contact-form-section {
  width: 100%;
  color: #ffffff;
  background:
    url("/wp-content/uploads/2026/05/19fcca9e6480e693434815083fa8aa5b51fb62bc-scaled.png")
    center / cover no-repeat;
}

.contact-form-section__inner {
  max-width: 1920px;
  min-height: clamp(320px, 21.1vw, 405px);
  margin: 0 auto;

  padding-top: clamp(48px, 3.07vw, 59px);
  padding-right: clamp(24px, 7.08vw, 136px);
  padding-bottom: clamp(48px, 4.16vw, 80px);
  padding-left: clamp(24px, 7.08vw, 136px);

  display: grid;
  grid-template-columns: minmax(280px, 528px) minmax(0, 1141px);
  gap: clamp(40px, 3.33vw, 64px);

  align-items: start;
}

.contact-form-section__title {
  margin: 0 0 23px;

  color: #ffffff;

  font-size: clamp(38px, 3.33vw, 64px);
  font-weight: 400;
  line-height: 0.91;
}

.contact-form-section__text {
  max-width: 390px;

  color: #ffffff;

  font-size: clamp(14px, 0.833vw, 16px);
  font-weight: 400;
  line-height: 0.91;
}

.contact-form-section__text p {
  margin: 0;
}

.contact-form {
  width: 100%;
}

.contact-form__row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 30px;

  margin-bottom: 30px;
}

.contact-form__field {
    font-family: "Satoshi variable";
  width: 100%;
  height: 49px;

  border: 2px solid rgba(255, 255, 255, 0.9);
  background: transparent;

  padding: 15px 18px;

  color: #ffffff;

  font-size: 14px;
  font-weight: 400;
  line-height: 0.91;

  outline: none;
  border-radius: 0;
}

.contact-form__field::placeholder {
  color: rgba(255, 255, 255, 0.95);

  font-size: 14px;
  font-weight: 400;
  line-height: 0.91;
}

.contact-form__textarea {
  height: clamp(110px, 6.25vw, 120px);

  resize: vertical;
  display: block;

  margin-bottom: 30px;
}

.contact-form__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}

.contact-form__response {
  color: #ffffff;
  font-size: 14px;
  line-height: 1.2;
}

.contact-form__button {
  margin-left: auto;

  padding: 12px 30px;

  border: 2px solid #ffffff;
  border-radius: 999px;

  background: transparent;
  color: #ffffff;

  font-size: clamp(14px, 0.833vw, 16px);
  font-weight: 400;
  line-height: 0.91;

  cursor: pointer;

  transition:
    background 300ms ease-out,
    color 300ms ease-out,
    border-color 300ms ease-out,
    opacity 300ms ease-out;
}

.contact-form__button:hover {
  background: #ffffff;
  color: var(--red);
  border-color: #ffffff;
}

.contact-form__button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 1024px) {
  .contact-form-section__inner {
    grid-template-columns: 1fr;
  }

  .contact-form-section__text {
    max-width: 560px;
  }
}

@media (max-width: 767px) {
  .contact-form-section__inner {
    padding: 56px 20px;
  }
  
  .contact-form-section__text p{
      font-size: 16px;
  }
  
  .contact-form__bottom{
      align-items: flex-end !important;
      gap: 0px;
  }

  .contact-form__row {
    grid-template-columns: 1fr;
  }

  .contact-form__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .contact-form__button {
    margin-left: 0;
  }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-8e88b34 */.news-section {
  width: 100%;
  overflow: hidden;
  background: #EFEFEF;
}

.news-section__inner {
  max-width: 1920px;
  margin: 0 auto;
  padding-top: clamp(60px, 5.1vw, 98px);
  padding-bottom: clamp(72px, 6.61vw, 127px);
  padding-left: clamp(24px, 5.31vw, 102px);
}

.news-section__title {
  margin: 0 0 clamp(36px, 3.125vw, 60px);
  font-size: clamp(34px, 3.33vw, 64px);
  font-weight: 400;
  line-height: 0.91;
  color: #1B2232;
}

.news-slider {
  position: relative;
}

.news-slider__viewport {
  overflow: visible;
  cursor: grab;
}

.news-slider__viewport.is-dragging {
  cursor: grabbing;
}

.news-slider__track {
  display: flex;
  gap: 30px;
  transition: transform 520ms cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}

.news-slider__viewport.is-dragging .news-slider__track {
  transition: none;
}

.news-card {
  --card-h: clamp(500px, 32.5vw, 624px);
  --image-h: calc(var(--card-h) * 0.735577);
  --card-x: 26px;
  --card-top: 29px;
  --card-bottom: 30px;
  --blind-lift: 78px;

  position: relative;
  flex: 0 0 406px;
  height: var(--card-h);
  overflow: hidden;
  display: block;
  background: #ffffff;
  color: #1B2232;
  text-decoration: none;
  user-select: none;
}

.news-card__blind {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: block;
  transform: translateY(0);
  transition: transform 760ms cubic-bezier(.22, 1, .36, 1);
  will-change: transform;
}

.news-card__image-wrap {
  position: absolute;
  top: 0;
  left: -2px;
  right: -2px;
  width: calc(100% + 4px);
  height: var(--image-h);
  overflow: hidden;
}

.news-card__image {
  width: 100% !important;
  height: 100% !important;
  display: block;
  object-fit: cover !important;
  object-position: center center;
  transform: scale(1);
  transition:
    transform 760ms cubic-bezier(.22, 1, .36, 1),
    object-position 760ms cubic-bezier(.22, 1, .36, 1);
  will-change: transform, object-position;
  pointer-events: none;
}

.news-card__title {
  position: absolute;
  left: var(--card-x);
  right: var(--card-x);
  top: calc(var(--image-h) + var(--card-top));
  display: -webkit-box;
  padding-bottom: 0.12em;
  color: #1B2232;
  font-size: clamp(30px, 1.875vw, 36px);
  font-weight: 400;
  line-height: 1.08;
  overflow: hidden;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.news-card__content {
  position: absolute;
  inset: 0;
  z-index: 1;
  padding: var(--card-top) var(--card-x) var(--card-bottom);
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

.news-card__button {
  margin: auto auto 0;
  padding: 12px 30px;
  border: 2px solid var(--red);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--red);
  background: transparent;
  font-size: clamp(14px, 0.833vw, 16px);
  font-weight: 400;
  line-height: 0.91;
  opacity: 0;
  transition:
    opacity 140ms ease,
    background 300ms ease-out,
    color 300ms ease-out,
    border-color 300ms ease-out;
}

.news-card:hover .news-card__blind {
  transform: translateY(calc(-1 * var(--blind-lift)));
}

.news-card:hover .news-card__image {
  transform: scale(1.08);
  object-position: 62% center;
}

.news-card:hover .news-card__button {
  opacity: 1;
  transition:
    opacity 260ms ease 120ms,
    background 300ms ease-out,
    color 300ms ease-out,
    border-color 300ms ease-out;
}

.news-card__button:hover {
  background: var(--red);
  color: #ffffff;
  border-color: var(--red);
}

.news-slider__arrow {
  position: absolute;
  top: calc(624px * 0.42);
  z-index: 10;
  width: 54px;
  height: 54px;
  border: 0;
  border-radius: 0;
  background-color: transparent;
  background-image: url("/wp-content/uploads/2026/05/Vector-5.svg");
  background-position: center;
  background-size: 18px auto;
  background-repeat: no-repeat;
  filter: brightness(0) saturate(100%);
  cursor: pointer;
  box-shadow: none;
  backdrop-filter: none;
  transition:
    opacity 300ms ease,
    transform 300ms ease;
}

.news-slider__arrow--prev {
  left: -27px;
  transform: rotate(180deg);
}

.news-slider__arrow--next {
  right: 30px;
}

.news-slider__arrow.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.news-slider__dots {
  margin-top: clamp(34px, 2.5vw, 48px);
  display: flex;
  justify-content: center;
  gap: 14px;
  padding-right: clamp(24px, 5.83vw, 112px);
}

.news-slider__dot {
  width: 14px;
  height: 14px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #d0d0d0;
  cursor: pointer;
  transition:
    background 300ms ease,
    transform 300ms ease;
}

.news-slider__dot.is-active {
  background: var(--red);
}

.news-slider.no-controls .news-slider__track {
  transform: none !important;
}

@media (max-width: 1200px) {
  .news-card {
    flex-basis: calc((100vw - 72px) / 2);
  }

  .news-slider__arrow--next {
    right: 18px;
  }
}

@media (max-width: 760px) {
	.news-section {
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.news-section__inner {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 48px 0 56px 24px;
		overflow: hidden;
	}

	.news-section__title {
		margin: 0 0 30px;
		padding-right: 24px;
		color: #1b2232;
		font-size: clamp(30px, 8.5vw, 38px);
		font-weight: 400;
		line-height: 1;
	}

	.news-slider {
		--mobile-news-card-h: clamp(220px, 63vw, 300px);
		position: relative;
		width: 100%;
		max-width: 100%;
		overflow: hidden;
	}

	.news-slider__viewport {
		width: 100%;
		max-width: 100%;
		overflow: visible;
		cursor: grab;
		touch-action: pan-y;
		-webkit-user-select: none;
		user-select: none;
	}

	.news-slider__viewport.is-dragging {
		cursor: grabbing;
	}

	.news-slider__track {
		display: flex;
		align-items: flex-start;
		gap: 10px;
		width: max-content;
		max-width: none;
		margin: 0;
		padding: 0 24px 0 0;
		transition: transform 520ms cubic-bezier(.22, 1, .36, 1);
		will-change: transform;
	}

	.news-slider__viewport.is-dragging .news-slider__track {
		transition: none;
	}

	.news-card {
		--card-h: var(--mobile-news-card-h);
		--image-h: calc(var(--card-h) * 0.76);
		--card-x: 10px;
		--card-top: 9px;
		--card-bottom: 10px;
		--blind-lift: 0px;

		position: relative;
		display: block;
		flex: 0 0 clamp(145px, 42vw, 190px);
		width: clamp(145px, 42vw, 190px);
		min-width: clamp(145px, 42vw, 190px);
		max-width: clamp(145px, 42vw, 190px);
		height: var(--card-h);
		margin: 0;
		padding: 0;
		overflow: hidden;
		background: #fff;
		color: #1b2232;
		text-decoration: none;
		user-select: none;
		-webkit-user-drag: none;
	}

	.news-card__blind {
		position: absolute;
		inset: 0;
		z-index: 3;
		display: block;
		width: 100%;
		height: 100%;
		transform: none !important;
		transition: none !important;
	}

	.news-card__image-wrap {
		position: absolute;
		top: 0;
		left: -1px;
		right: -1px;
		display: block;
		width: calc(100% + 2px);
		height: var(--image-h);
		margin: 0;
		padding: 0;
		overflow: hidden;
		font-size: 0;
		line-height: 0;
	}

	.news-card__image {
		display: block;
		width: 100% !important;
		max-width: none !important;
		height: 100% !important;
		margin: 0;
		padding: 0;
		border: 0;
		object-fit: cover !important;
		object-position: center center !important;
		pointer-events: none;
		transform: none !important;
		transition: none !important;
		-webkit-user-drag: none;
	}

	.news-card__title {
		position: absolute;
		top: calc(var(--image-h) + var(--card-top));
		left: var(--card-x);
		right: var(--card-x);
		display: -webkit-box;
		margin: 0;
		padding: 0 0 0.12em;
		overflow: hidden;
		color: #1b2232;
		font-size: clamp(12px, 3.4vw, 15px);
		font-weight: 400;
		line-height: 1.08;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
	}

	.news-card__content {
		display: none !important;
	}

	.news-card:hover .news-card__blind,
	.news-card:focus .news-card__blind,
	.news-card:active .news-card__blind {
		transform: none !important;
	}

	.news-card:hover .news-card__image,
	.news-card:focus .news-card__image,
	.news-card:active .news-card__image {
		transform: none !important;
		object-position: center center !important;
	}

	.news-slider__viewport.is-dragging .news-card {
		cursor: grabbing;
	}

	.news-slider__arrow {
		position: absolute;
		top: calc(var(--mobile-news-card-h) * 0.38);
		z-index: 20;
		width: 32px;
		height: 48px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background-color: transparent;
		background-image: url("/wp-content/uploads/2026/05/Vector-5.svg");
		background-position: center;
		background-size: 12px auto;
		background-repeat: no-repeat;
		filter: brightness(0) saturate(100%);
		cursor: pointer;
		box-shadow: none;
		backdrop-filter: none;
		transition:
			opacity 300ms ease,
			transform 300ms ease;
		-webkit-tap-highlight-color: transparent;
	}

	.news-slider__arrow--prev {
		left: -2px;
		transform: rotate(180deg);
	}

	.news-slider__arrow--next {
		right: 4px;
	}

	.news-slider__arrow.is-hidden {
		opacity: 0;
		pointer-events: none;
	}

	.news-slider__dots {
		display: flex;
		justify-content: center;
		gap: 10px;
		margin-top: 24px;
		padding-right: 24px;
	}

	.news-slider__dot {
		width: 10px;
		height: 10px;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: #d0d0d0;
		cursor: pointer;
		transition:
			background 300ms ease,
			transform 300ms ease;
	}

	.news-slider__dot.is-active {
		background: var(--red);
	}

	.news-slider.no-controls .news-slider__track {
		transform: none !important;
	}

	.news-slider.no-controls .news-slider__dots,
	.news-slider.no-controls .news-slider__arrow {
		display: none;
	}
}/* End custom CSS */