.p-subject-section {
	margin-top: var(--section-gap-sm);
	margin-bottom: var(--section-gap-md);
}

.p-subject-section__menu {
	margin-top: var(--section-gap-sm);
}

.p-subject-section__subjects {
	display: grid;
	row-gap: var(--section-gap-sm);
	margin-top: var(--section-gap-sm);
}

.p-menu {
	--column-count: 4;
	--column-gap: 1.65rem;
	--row-gap: 1.65rem;
}

@media (min-width: 1025px) {
	.p-menu {
		padding-inline: 3rem;
	}
}

@media (min-width: 526px) and (max-width: 1024px) {
	.p-menu {
		--column-count: 2;
	}
}

@media (max-width: 525px) {
	.p-menu {
		--column-count: 2;
		--column-gap: 1.25rem;
		--row-gap: 1.25rem;
		font-size: var(--font-size-xs);
	}

	.p-menu__inner {
		column-gap: 0.75em;
		padding: 0.75rem;
		padding-left: 1em;
	}

	.p-menu__icon {
		font-size: 2.35em;
	}
}

.p-subject__header {
	--header-width: 20rem;
	font-size: var(--font-size-xxl);
	font-size: var(--font-size-xxxl);
/*	color: var(--color-text-primary);*/
}

@media (max-width: 525px) {
	.p-subject__header {
		--header-width: auto;
	}
}

.p-subject__icon {
	display: grid;
	grid-template-columns: 1fr var(--header-width) 1fr;
	column-gap: 2rem;
	align-items: flex-end;
	width: 100%;
	margin-bottom: 0.1em;
	font-size: 2.75em;
	text-align: center;
}

.p-subject__icon::before,
.p-subject__icon::after {
	display: block;
	height: var(--border-width);
	content: "";
	background-color: currentcolor;
}

@media (max-width: 525px) {

	.p-subject__icon::before,
	.p-subject__icon::after {
		margin-bottom: 0.15em;
	}
}

.p-subject__name {
	max-width: var(--header-width);
	max-width: none;
	margin-inline: auto;
	font-family: var(--font-heading);
	line-height: 1.4;
	text-align: center;
}

.p-subject__labels {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75em;
	justify-content: center;
	margin-top: 2rem;
	line-height: 1;
}

.p-subject__labels__item {
	padding: 0.75em 1.75em;
	color: var(--color-text-contrast);
	background-color: var(--color-primary);
	border-radius: var(--infinity);
}

.p-subject__main {
	margin-top: 5rem;
}

.p-subject__overview {
	--prefix-color: var(--color-primary);
	margin-bottom: 1.5em;
	font-family: var(--font-serif);
	font-size: var(--font-size-xl);
	letter-spacing: 0.05em;
}

.p-subject__notes {
	margin-top: 2rem;
}

.p-subject__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 3rem 6rem;
	margin-top: 3rem;
}

@media (max-width: 1024px) {
	.p-subject__buttons {
		justify-content: center;
	}
}

.p-subject__column-list {
	margin-top: var(--section-gap-xs);
}

.p-column {
	--padding: 6rem;
	padding: var(--padding);
	border-radius: calc(var(--c-image-radius-md) + var(--padding));
}

@media (max-width: 525px) {
	.p-column {
		--padding: 2.5rem;
		padding-bottom: 4rem;
	}
}

.p-column[data-column-type=filled] {
	background-color: rgb(var(--color-bg-secondary-rgb)/60%);
}

.p-column[data-column-type=outline] {
	border: 0.15rem solid var(--color-text-primary);
}

.p-column__inner {
	--row-gap: 2.5rem;
}

@media (max-width: 525px) {
	.p-column__main {
		margin-top: 1.5rem;
	}
}

.p-collab {
	margin-block: var(--section-gap-md);
}

.p-collab__intro {
	width: fit-content;
	margin-inline: auto;
	margin-top: 6rem;
}

.p-collab__list {
	margin-top: 5rem;
}

@media (max-width: 1024px) {
	.p-collab__list {
		--column-count: 2;
		--column-gap: 2rem;
		--row-gap: 2rem;
	}
}

@media (max-width: 525px) {
	.p-collab__list {
		--column-count: 1;
		--row-gap: 1.5rem;
	}
}

.p-collab__banner {
	display: block;
}

.p-collab__banner:link {
	transition: opacity 0.2s;
}

.p-collab__banner:link:hover {
	opacity: 0.7;
}

.p-collab__banner > img {
	width: 100%;
}

.sc-service {
	padding: 0;
}

.sc-service .sc__content ul:nth-child(2) {
	margin-top: var(--section-gap-sm);
}
