.ibs-banner {
	position: relative;
	width: 100%;
}

.ibs-banner .banner-background {
	width: 100%;
	height: 749px;
	background-size: cover;
	background-position: center;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0 120px 80px 120px;
	color: #FFFFFF;
}

.ibs-banner .banner-content {
	max-width: 1840px;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
	margin: 0 auto;
}

.ibs-banner .main-text {
	width: 1059px;
	font-family: 'Noto Sans', sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 34px;
	line-height: 52px;
	color: #FFFFFF;
	margin: 0;
}

.ibs-banner .cta-button {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 16px 40px 16px 0;
	gap: 32px;
	width: 835.33px;
	height: 84px;
	background: linear-gradient(90deg, #2F6298 0%, #438DB0 100%);
	text-decoration: none;
	transition: opacity 0.3s;
	box-sizing: border-box;
}

.ibs-banner .cta-button:hover {
	opacity: 0.9;
}

.ibs-banner .divider {
	width: 1.33px;
	height: 52px;
	background: linear-gradient(90deg, #2F6298 0%, #438DB0 100%);
	flex-shrink: 0;
}

.ibs-banner .cta-text {
	font-family: 'Noto Sans', sans-serif;
	font-style: normal;
	font-weight: 500;
	font-size: 34px;
	line-height: 52px;
	color: #FFFFFF;
	white-space: nowrap;
}

/* Адаптив для планшетов и небольших десктопов */
@media (max-width: 1440px) {
	.ibs-banner .banner-background {
		height: 600px;
		padding: 0 80px 60px 80px;
	}

	.ibs-banner .banner-content {
		max-width: 1280px;
	}

	.ibs-banner .main-text {
		width: 800px;
		font-size: 28px;
		line-height: 42px;
	}

	.ibs-banner .cta-button {
		width: 700px;
		height: 70px;
		padding: 12px 32px 12px 0;
		gap: 24px;
	}

	.ibs-banner .cta-text {
		font-size: 28px;
		line-height: 42px;
	}

	.ibs-banner .divider {
		height: 42px;
	}
}

/* Адаптив для мобильных устройств (согласно макету из Figma) */
@media (max-width: 768px) {
	.ibs-banner .banner-background {
		height: auto;
		min-height: auto;
		padding: 32px 16px;
		justify-content: center;
	}

	.ibs-banner .banner-content {
		gap: 24px;
		align-items: left;
	}

	.ibs-banner .main-text {
		width: 100%;
		font-family: 'Noto Sans', sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 16px;
		line-height: 22px;
		order: 1;
	}

	.ibs-banner .cta-button {
		padding: 8px 16px;
		gap: 24px;
		width: 100%;
		max-width: 400px;
		height: 64px;
		order: 2;
	}

	.ibs-banner .divider {
		display: none; /* Скрываем разделитель на мобильных */
	}

	.ibs-banner .cta-text {
		width: 100%;
		max-width: 245px;
		font-family: 'Inter', sans-serif;
		font-style: normal;
		font-weight: 400;
		font-size: 16px;
		line-height: 24px;
		white-space: normal;
	}
}

/* Адаптив для очень маленьких экранов */
@media (max-width: 360px) {
	.ibs-banner .banner-background {
		padding: 32px 16px;
	}

	.ibs-banner .main-text,
	.ibs-banner .cta-button {
		max-width: 100%;
	}
}