.nh-publishers {
	padding: var(--nh-publishers-padding-top, 120px) 0 var(--nh-publishers-padding-bottom, 120px);
	background: var(--nh-publishers-background, #EFE3E1);
}

.nh-publishers.is-visible {
	padding-left: 24px;
	padding-right: 24px;
}

.nh-publishers__inner {
	max-width: 1092px;
	margin: 0 auto;
	padding: 0;
	color: #000;
}

.nh-publishers__header {
	text-align: center;
	max-width: 900px;
	margin: 0 auto 64px;
}

.nh-publishers__title {
	margin: 0;
	color: #000;
	font-family: var(--nh-serif);
	font-size: var(--nh-publishers-title-size, 42px);
	line-height: 1.1;
	letter-spacing: -2px;
}

.nh-publishers__title em {
	font-style: italic;
}

.nh-publishers__subtitle {
	margin: 28px 0 0;
	color: #000;
	font-family: var(--nh-serif);
	font-size: var(--nh-publishers-subtitle-size, 22px);
	line-height: 1.1;
	letter-spacing: -0.5px;
}

.nh-publishers__cards {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
	gap: 14px;
	align-items: stretch;
}

.nh-pub-card-wrap {
	display: flex;
}

.nh-pub-card-wrap > .nh-pub-card {
	flex: 1;
}

.nh-pub-card {
	background: var(--nh-publishers-card-background, var(--nh-card-bg));
	color: #000;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: var(--nh-radius);
	padding: 46px 35px;
	min-height: 262px;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: border-color .25s ease;
	will-change: transform;
	cursor: pointer;
}

.nh-pub-card:hover,
.nh-pub-card:focus-visible {
	color: #000;
	text-decoration: none;
	border-color: var(--nh-card-stroke, transparent);
	outline: none;
}

.nh-pub-card__eyebrow,
.nh-pub-card__title,
.nh-pub-card__body {
	color: #000;
	text-decoration: none;
}

.nh-pub-card__eyebrow {
	margin: 0 0 95px;
	font-family: var(--nh-serif);
	font-size: var(--nh-pub-card-eyebrow-size, 26px);
	line-height: 1.1;
	letter-spacing: -1px;
}

.nh-pub-card__title {
	margin: 0;
	font-family: var(--nh-serif);
	font-size: var(--nh-pub-card-title-size, 20px);
	line-height: 1.1;
	letter-spacing: -0.5px;
	font-weight: 400;
}

.nh-pub-card__body {
	margin: 24px 0 34px;
	font-family: var(--nh-sans);
	font-weight: 300;
	font-size: var(--nh-pub-card-body-size, 18px);
	line-height: 1.1;
	letter-spacing: -0.3px;
	max-width: 302px;
}

.nh-pub-card__cta {
	margin-top: auto;
	height: auto;
	min-height: 35px;
	background: var(--nh-publishers-cta-background, #000);
	color: var(--nh-publishers-cta-color, #fff);
	border-radius: var(--nh-radius);
	display: inline-flex;
	align-items: center;
	padding: 6px 9px;
	overflow: visible;
	align-self: flex-start;
	transition: padding 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.nh-pub-card__cta-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}

.nh-pub-card__cta-label {
	font-family: var(--nh-serif);
	font-style: italic;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: -0.4px;
	white-space: nowrap;
	max-width: 0;
	margin-right: 0;
	opacity: 0;
	overflow: hidden;
	transition:
		max-width 1000ms cubic-bezier(0.22, 1, 0.36, 1),
		margin-right 1000ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 550ms ease;
}

.nh-pub-card:hover .nh-pub-card__cta,
.nh-pub-card:focus-visible .nh-pub-card__cta {
	padding-left: 16px;
	padding-right: 16px;
}

.nh-pub-card:hover .nh-pub-card__cta-label,
.nh-pub-card:focus-visible .nh-pub-card__cta-label {
	max-width: 160px;
	margin-right: 10px;
	opacity: 1;
	transition:
		max-width 1000ms cubic-bezier(0.22, 1, 0.36, 1),
		margin-right 1000ms cubic-bezier(0.22, 1, 0.36, 1),
		opacity 600ms ease 250ms;
}

.newhome.nh-anim .nh-publishers__subtitle,
.newhome.nh-anim .nh-pub-card-wrap {
	opacity: 0;
	transition: opacity 500ms ease-out;
}

.newhome.nh-anim .nh-publishers.is-visible .nh-publishers__subtitle,
.newhome.nh-anim .nh-publishers.is-visible .nh-pub-card-wrap {
	opacity: 1;
	transition-delay: 300ms;
}

@media (prefers-reduced-motion: reduce) {
	.newhome.nh-anim .nh-publishers__subtitle,
	.newhome.nh-anim .nh-pub-card-wrap {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

@media (max-width: 900px) {
	.nh-publishers__title {
		font-size: var(--nh-publishers-title-size, 32px);
	}

	.nh-publishers__cards {
		grid-template-columns: 1fr;
	}

	.nh-pub-card__cta,
	.nh-pub-card:hover .nh-pub-card__cta,
	.nh-pub-card:focus-visible .nh-pub-card__cta {
		padding-left: 16px;
		padding-right: 16px;
		transition: none;
	}

	.nh-pub-card__cta-label,
	.nh-pub-card:hover .nh-pub-card__cta-label,
	.nh-pub-card:focus-visible .nh-pub-card__cta-label {
		max-width: 160px;
		margin-right: 10px;
		opacity: 1;
		overflow: visible;
		transition: none;
	}
}

@media (max-width: 600px) {
	.nh-publishers {
		padding: var(--nh-publishers-padding-top-mobile, 56px) 0 var(--nh-publishers-padding-bottom-mobile, 56px);
	}

	.nh-publishers__header {
		margin-bottom: 32px;
	}

	.nh-publishers__title {
		font-size: var(--nh-publishers-title-size, 22px);
	}

	.nh-publishers__subtitle {
		font-size: var(--nh-publishers-subtitle-size, 16px);
		margin-top: 16px;
	}

	.nh-publishers__cards {
		gap: 12px;
	}

	.nh-pub-card {
		padding: 28px 24px;
		min-height: 0;
	}

	.nh-pub-card__eyebrow {
		font-size: var(--nh-pub-card-eyebrow-size, 18px);
		margin-bottom: 57px;
	}

	.nh-pub-card__title {
		font-size: var(--nh-pub-card-title-size, 14px);
		margin-top: 32px;
	}

	.nh-pub-card__br {
		display: none;
	}

	.nh-pub-card__body {
		font-size: var(--nh-pub-card-body-size, 14px);
		margin-top: 16px;
	}

	.nh-pub-card__cta {
		margin-top: 24px;
		height: auto;
		min-height: 28px;
		padding-top: 5px;
		padding-bottom: 5px;
	}

	.nh-pub-card__cta-icon {
		width: 14px;
		height: 14px;
	}

	.nh-pub-card__cta-icon svg {
		width: 14px;
		height: 14px;
	}

	.nh-pub-card__cta-label {
		font-size: 13px;
	}

	.nh-pub-card__cta,
	.nh-pub-card:hover .nh-pub-card__cta,
	.nh-pub-card:focus-visible .nh-pub-card__cta {
		padding-left: 12px;
		padding-right: 12px;
	}

	.nh-pub-card__cta-label,
	.nh-pub-card:hover .nh-pub-card__cta-label,
	.nh-pub-card:focus-visible .nh-pub-card__cta-label {
		margin-right: 8px;
	}
}
