/* ================================================================
 * Company page
 * ================================================================ */

.company-root,
.company-root * {
	box-sizing: border-box;
}

.company-root {
	color: var(--mt-ink);
	font-family: var(--mt-font-sans);
	line-height: 1.8;
}

.company-root p,
.company-root dl,
.company-root dd {
	margin-top: 0;
}

body.company-page #container {
	padding-bottom: 0;
}

body.company-page .free-trial-cta--before-site-footer {
	margin-top: 0;
}

.company-hero {
	padding: 38px 0 46px;
	background: var(--mt-canvas);
}

.company-hero__title,
#container .company-hero__title {
	margin: 0;
	color: var(--mt-navy-950);
	font-size: clamp(30px, 4vw, 44px);
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: 0;
}

.company-hero__lead {
	max-width: 800px;
	margin: 16px 0 0;
	color: var(--mt-muted);
	font-size: 16px;
	line-height: 1.8;
}

.company-content {
	padding: 56px 0 72px;
	background: var(--mt-paper);
}

.company-section-head {
	margin-bottom: 22px;
}

.company-section-title,
#container .company-section-title,
.company-message h2,
#container .company-message h2 {
	margin: 0;
	padding: 0;
	background: none;
	color: var(--mt-navy-950);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
}

.company-profile {
	margin-bottom: 0;
	border-top: 1px solid var(--mt-line);
}

.company-profile__row {
	display: grid;
	grid-template-columns: minmax(160px, 200px) minmax(0, 1fr);
	border-bottom: 1px solid var(--mt-line);
}

.company-profile dt,
.company-profile dd {
	padding: 18px 20px;
	font-size: 16px;
	line-height: 1.8;
}

.company-profile dt {
	color: var(--mt-navy-950);
	font-weight: 700;
	background: var(--mt-canvas);
}

.company-profile dd {
	margin-bottom: 0;
	color: var(--mt-muted);
}

.company-message {
	padding: 56px 0 72px;
	background: var(--mt-canvas);
}

.company-message .course-eyebrow {
	margin-bottom: 6px;
}

.company-message .company-wrap > p:last-child {
	max-width: 880px;
	margin: 14px 0 0;
	color: var(--mt-muted);
	font-size: 16px;
	line-height: 1.8;
}

@media (min-width: 640px) {
	.company-hero {
		padding: 48px 0 56px;
	}
}

@media (max-width: 768px) {
	.company-hero {
		padding: 30px 0 38px;
	}

	.company-content {
		padding: 40px 0 44px;
	}

	.company-section-title,
	#container .company-section-title,
	.company-message h2,
	#container .company-message h2 {
		font-size: 21px;
	}

	.company-profile__row {
		grid-template-columns: 1fr;
	}

	.company-profile dt {
		padding: 12px 16px;
	}

	.company-profile dd {
		padding: 14px 16px 17px;
	}

	.company-message {
		padding: 40px 0 52px;
	}
}
