/* =========================================
   Hero Section
   ========================================= */

.companies-hero {
	position: relative;
	background: var(--color-background);
	height: calc(1080px * var(--scale-factor));
	overflow: hidden;
}

.companies-hero__vector {
	position: absolute;
	top: 0;
	left: calc(-300px * var(--scale-factor));
	z-index: 1;
	width: calc(1500px * var(--scale-factor));
}

.companies-hero__vector img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.companies-hero__photo {
	position: absolute;
	top: 0;
	left: calc(200px * var(--scale-factor));
	width: calc(1200px * var(--scale-factor));
	z-index: 0;
}

.companies-hero__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.companies-hero__title-block {
	position: absolute;
	bottom: calc(300px * var(--scale-factor));
	left: calc(150px * var(--scale-factor));
	color: var(--color-white);
	z-index: 2;
}

.companies-hero__title-block h1 {
	margin: 0;
	font-size: var(--font-size-h1);
	letter-spacing: 0.08em;
}

.companies-hero__line {
	position: absolute;
	top: calc(814px * var(--scale-factor));
	left: 0;
	width: 100vw;
	z-index: 2;
}

.companies-hero__line svg {
	width: 100%;
	height: auto;
	display: block;
}

/* =========================================
   Companies List Section
   ========================================= */

.companies-section {
	position: relative;
	background: var(--color-background);
	padding: calc(100px * var(--scale-factor)) calc(130px * var(--scale-factor)) calc(300px * var(--scale-factor));
}

.company-item {
	display: flex;
	gap: calc(40px * var(--scale-factor));
	margin-bottom: calc(160px * var(--scale-factor));
}

.company-item:last-child {
	margin-bottom: 0;
}

.company-item__name {
	position: relative;
	flex: none;
	width: calc(480px * var(--scale-factor));
}

.company-item__vector {
	position: absolute;
	top: calc(-69px * var(--scale-factor));
	left: calc(-100px * var(--scale-factor));
	width: calc(280px * var(--scale-factor));
	z-index: 0;
}

.company-item__vector img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.company-item__name h2 {
	position: relative;
	margin: 0;
	font-size: var(--font-size-h4);
	line-height: 1.5;
	color: var(--color-text);
	z-index: 1;
}

.company-item__table {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.company-item__row {
	display: flex;
	align-items: center;
	padding: calc(20px * var(--scale-factor)) calc(30px * var(--scale-factor));
	border-bottom: calc(1px * var(--scale-factor)) solid #888888;
	min-height: calc(64px * var(--scale-factor));
}

.company-item__row--button {
	align-items: flex-start;
}

.company-item__label {
	flex: none;
	width: calc(206px * var(--scale-factor));
	font-family: var(--font-family-bold);
	font-weight: var(--font-weight-bold);
	font-size: var(--font-size-lg);
	line-height: 1.5;
	color: var(--color-text);
}

.company-item__value {
	flex: 1;
	font-size: var(--font-size-lg);
	line-height: 1.5;
	color: var(--color-text);
}

.company-item__button {
	border: calc(4px * var(--scale-factor)) solid var(--color-white);
	background: linear-gradient(90deg, #7de4f4 0%, #9063f9 100%);
	color: var(--color-white);
}

.company-item__button:hover {
	transform: translateY(calc(-4px * var(--scale-factor)));
	box-shadow: 0 calc(8px * var(--scale-factor)) calc(24px * var(--scale-factor)) rgba(144, 99, 249, 0.3);
}

.company-item__button img {
	width: calc(42px * var(--scale-factor));
	height: calc(42px * var(--scale-factor));
	object-fit: contain;
}