.company-page {
	background-color: var(--surface-light);
	color: var(--color-off-black);
}

.company-page__body {
	padding-top: calc(var(--section-gap) / 2);
}

.company-page__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(var(--spacing-32), 6vw, calc(var(--spacing-34) * 2));
	align-items: start;
}

.company-page__aside,
.company-page__content {
	min-width: 0;
}

.company-page__aside {
	border-block: var(--frame-border);
}

.company-page__nav {
	display: grid;
	gap: var(--spacing-20);
	padding-block: var(--spacing-20);
}

.company-page__nav-title {
	color: var(--color-off-black);
	font-size: var(--font-size-md);
	font-weight: var(--font-weight-semibold);
}

.company-page__nav-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--spacing-6);
}

.company-page__nav-list a {
	--company-toc-link-color: var(--color-gray);
	display: grid;
	grid-template-columns: calc(var(--spacing-14) * 2) minmax(0, 1fr);
	gap: var(--spacing-10);
	align-items: center;
	min-height: calc(var(--spacing-24) + var(--spacing-20));
	padding-block: var(--spacing-5);
	color: var(--company-toc-link-color);
	font-size: var(--font-size-sm);
	line-height: var(--line-height-heading);
	transition: color var(--transition-base);
}

.company-page__nav-list a > span {
	font-variant-numeric: tabular-nums;
	opacity: 0.78;
}

.company-page__nav-list strong {
	font-weight: var(--font-weight-regular);
}

.company-page__nav-list a.is-active {
	--company-toc-link-color: var(--color-blue-dark);
}

.company-page__nav-list a.is-active strong {
	font-weight: var(--font-weight-medium);
}

.company-page__nav-list a:hover,
.company-page__nav-list a:focus-visible {
	color: var(--color-blue);
}

.company-page__content > .section:first-child {
	padding-top: 0;
}

.company-hero__about[id],
.company-page__content [id] {
	scroll-margin-top: calc(var(--cosmic-header-visible-offset, var(--cosmic-header-offset, 100px)) + var(--spacing-32));
}

@media (min-width: 641px) {
	.company-page__nav-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--spacing-10) var(--spacing-24);
	}
}

@media (min-width: 1201px) {
	.company-page__layout {
		grid-template-columns: minmax(240px, 2fr) minmax(0, 10fr);
		gap: clamp(var(--spacing-32), 4vw, calc(var(--spacing-34) * 2));
	}

	.company-page__aside {
		position: sticky;
		top: calc(var(--cosmic-header-visible-offset, var(--cosmic-header-offset, 100px)) + var(--spacing-20));
		max-height: calc(100vh - var(--cosmic-header-visible-offset, var(--cosmic-header-offset, 100px)) - var(--spacing-20) - var(--spacing-20));
		max-height: calc(100svh - var(--cosmic-header-visible-offset, var(--cosmic-header-offset, 100px)) - var(--spacing-20) - var(--spacing-20));
		align-self: start;
		overflow-y: auto;
		overscroll-behavior: contain;
		border-block: 0;
		padding-right: var(--spacing-10);
	}

	.company-page__nav {
		padding-block: 0;
	}

	.company-page__nav-title {
		font-size: var(--font-size-sm);
	}

	.company-page__nav-list {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--spacing-14);
	}

	.company-page__nav-list a {
		min-height: 0;
		padding-block: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.company-page__nav-list a {
		transition: none;
	}
}
