
.block-firm-intro {
	background-color: var(--primaryColor);
	color: #fff;
}

.block-firm-intro.alt-bg {
	background-color: var(--bgColor);
}

.block-firm-intro.alt-bg .section-title {
	color: var(--primaryColor);
	font-size: 48px;
	line-height: 58px;
}

.block-firm-intro.alt-bg .content p {
	color: var(--primaryColor);
}

.block-firm-intro.alt-bg .content ul {
	color: var(--primaryColor);
}

.block-firm-intro.alt-bg .content li {
	color: var(--primaryColor);
}

.block-firm-intro .inner {
	display: flex;
	flex-flow: column-reverse;
}

.block-firm-intro .image {
	position: relative;
}

.block-firm-intro .image picture img {
	display: block;
	width: 100%;
	height: auto;
}

.block-firm-intro .info {
	padding: 50px 20px;
}

.block-firm-intro .section-title {
	color: #fff;
}

.block-firm-intro .content p {
	margin-top: 0;
	margin-bottom: 20px;
}

.block-firm-intro .content ul {
	margin-bottom: 0;
}

.block-firm-intro .content li {
	margin-bottom: 20px;
}

.block-firm-intro .logos {
	display: flex;
	justify-content: center;
	flex-flow: row wrap;
	gap: 10px;
	margin-top: 20px;
}

.block-firm-intro .logos img {
	height: 50px;
	display: block;
}

.block-firm-intro .logos svg {
	height: 70px;
	max-width: 150px;
}

.block-firm-intro .logos path, .block-firm-intro .logos polygon {
	fill: #fff;
}

.block-firm-intro .cta {
	margin-top: 30px;
	display: flex;
	justify-content: center;
}

@media (min-width: 768px) {
	.block-firm-intro .inner {
		flex-flow: row nowrap;
		justify-content: space-between;
	}
	
	.block-firm-intro .image {
		position: relative;
		flex: 0 0 43%;
	}
	
	.block-firm-intro .image picture {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
	
	.block-firm-intro .image picture img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}
	
	.block-firm-intro .info {
		flex: 0 0 57%;
		padding: 50px;
	}
	
	.block-firm-intro .info .wrapper {
		max-width: 700px;
	}
	
	.block-firm-intro .logos {
		justify-content: flex-start;
	}
	
	.block-firm-intro .logos img {
		padding-left: 0;
	}
	
	.block-firm-intro .cta {
		justify-content: flex-start;
	}
}

@media (min-width: 1100px) {
	.block-firm-intro .info {
		padding: 110px 50px;
	}
}

@media (min-width: 1280px) {
	.block-firm-intro .info {
		padding: 110px 100px;
	}
}
