/* Phase 4: editorial category covers, search and 404. */

.category .site-content,
.author .site-content,
.search .site-content,
.error404 .site-content,
.category .content-area,
.author .content-area,
.search .content-area,
.error404 .content-area,
.category .site-main,
.author .site-main,
.search .site-main,
.error404 .site-main {
	width: 100%;
	max-width: none;
	margin: 0;
}

.category .site-content,
.author .site-content,
.search .site-content,
.error404 .site-content {
	padding: 0;
}

.cf-index-stage {
	max-width: 1340px !important;
	margin-inline: auto !important;
	background: var(--cf-paper);
}

.cf-index {
	min-width: 0;
	color: #171719;
	background: var(--cf-paper);
}

.cf-index-shell {
	width: min(100%, 1212px);
	margin-inline: auto;
	padding-inline: 32px;
}

.cf-index-hero {
	position: relative;
	overflow: hidden;
	color: var(--cf-white);
	background:
		radial-gradient(circle at 82% 5%, rgba(239, 23, 45, .13), transparent 32%),
		var(--cf-black);
}

.cf-index-hero::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: linear-gradient(90deg, var(--cf-red), rgba(239, 23, 45, .16) 35%, transparent 78%);
}

.cf-index-hero .cf-index-shell {
	padding-top: clamp(58px, 7vw, 96px);
	padding-bottom: clamp(54px, 6vw, 82px);
}

.cf-index-label,
.cf-index-eyebrow {
	margin: 0 0 14px;
	color: var(--cf-red);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.cf-index-label {
	display: flex;
	align-items: center;
	gap: 11px;
}

.cf-index-label::before {
	content: "";
	width: 30px;
	height: 2px;
	background: var(--cf-red);
}

.cf-index-hero h1 {
	max-width: 900px;
	margin: 0;
	color: #fff;
	font-size: clamp(48px, 7.2vw, 94px);
	font-weight: 800;
	line-height: .94;
	letter-spacing: -.055em;
	overflow-wrap: anywhere;
}

.cf-index-description {
	max-width: 720px;
	margin-top: 22px;
	color: #c9c6c0;
	font-size: clamp(17px, 1.6vw, 21px);
	line-height: 1.55;
}

.cf-index-description > :last-child { margin-bottom: 0; }

.cf-index-paper {
	min-height: 440px;
	padding-block: clamp(42px, 5vw, 72px) clamp(64px, 7vw, 96px);
	background: var(--cf-paper);
}

.cf-index-lead {
	display: grid;
	grid-template-columns: minmax(0, 1.26fr) minmax(320px, .74fr);
	min-height: 360px;
	margin: 0;
	border-top: 2px solid var(--cf-red);
	background: #e6e0d5;
}

.cf-index-lead__media {
	display: block;
	min-height: 360px;
	overflow: hidden;
	background: #151518;
}

.cf-index-lead__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 360px;
	object-fit: cover;
	transition: transform .35s ease;
}

.cf-index-lead:hover .cf-index-lead__media img { transform: scale(1.015); }

.cf-index-lead__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(30px, 4vw, 52px);
}

.cf-index-lead__content h2 {
	margin: 0;
	font-size: clamp(30px, 3.3vw, 47px);
	font-weight: 800;
	line-height: 1.01;
	letter-spacing: -.045em;
	overflow-wrap: anywhere;
}

.cf-index-lead__content h2 a,
.cf-index-lead__content h2 a:visited {
	color: #101012;
	text-decoration: none;
}

.cf-index-lead__content h2 a:hover,
.cf-index-lead__content h2 a:focus-visible { color: var(--cf-red); }

.cf-index-lead__excerpt {
	margin: 18px 0 0;
	color: #4d4a46;
	font-size: 16px;
	line-height: 1.55;
}

.cf-index-lead--no-image {
	grid-template-columns: 1fr;
	max-width: 860px;
}

.cf-index-archive-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 54px 0 20px;
}

.cf-index-archive-head::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #cfc7b9;
}

.cf-index-archive-head p {
	margin: 0;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
}

.cf-index-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px 24px;
}

.cf-index-card {
	min-width: 0;
	margin: 0;
}

.cf-index-card__link,
.cf-index-card__link:visited {
	display: block;
	color: #171719;
	text-decoration: none;
}

.cf-index-card__media {
	position: relative;
	overflow: hidden;
	margin: 0 0 18px;
	aspect-ratio: 16 / 9;
	background: #171719;
}

.cf-index-card__media::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 0;
	left: 0;
	width: 54px;
	height: 2px;
	background: var(--cf-red);
}

.cf-index-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease, filter .25s ease;
}

.cf-index-card__link:hover .cf-index-card__media img { transform: scale(1.018); }

.cf-index-card__content { min-width: 0; }

.cf-index-eyebrow {
	display: block;
	margin-bottom: 10px;
}

.cf-index-card h2 {
	margin: 0;
	font-size: clamp(21px, 2vw, 28px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.035em;
	overflow-wrap: anywhere;
}

.cf-index-card__link:hover h2,
.cf-index-card__link:focus-visible h2 { color: #d4141f; }

.cf-index-card .cf-index-eyebrow,
.cf-index-empty .cf-index-eyebrow,
.cf-search-list .cf-index-eyebrow,
.cf-not-found__paper .cf-index-eyebrow { color: #d4141f; }

.cf-index-card__link:focus-visible,
.cf-index-lead a:focus-visible,
.cf-editorial-links a:focus-visible,
.cf-index-button:focus-visible,
.cf-index .search-form input:focus-visible,
.cf-index .search-form button:focus-visible {
	outline: 2px solid var(--cf-red);
	outline-offset: 3px;
}

.cf-index-card__excerpt {
	margin: 11px 0 0;
	color: #5d5953;
	font-size: 14px;
	line-height: 1.55;
}

.cf-index-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 17px 0 0;
	color: #77716a;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .02em;
}

.cf-index-grid--single {
	display: block;
}

.cf-index-grid--single .cf-index-card {
	width: 100%;
	max-width: 800px;
}

.cf-index-grid--single .cf-index-card__link {
	display: grid;
	grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
	gap: 26px;
	align-items: center;
}

.cf-index-grid--single .cf-index-card__media { margin: 0; }

.cf-index-empty {
	max-width: 860px;
	padding: clamp(34px, 5vw, 58px);
	border-top: 2px solid var(--cf-red);
	background: #e6e0d5;
}

.cf-index-empty h2 {
	max-width: 720px;
	margin: 0;
	font-size: clamp(30px, 4vw, 52px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.045em;
}

.cf-index-empty > p:not(.cf-index-eyebrow) {
	max-width: 650px;
	margin: 18px 0 0;
	color: #56514c;
	font-size: 16px;
	line-height: 1.55;
}

.cf-editorial-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.cf-editorial-links--empty { margin-top: 30px; }

.cf-editorial-links--empty ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 26px;
}

.cf-editorial-links a,
.cf-editorial-links a:visited {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 13px 0;
	border-bottom: 1px solid #c8c0b4;
	color: #171719;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
}

.cf-editorial-links a:hover,
.cf-editorial-links a:focus-visible { color: #d4141f; }

.cf-index .pagination {
	margin-top: 52px;
	padding-top: 20px;
	border-top: 1px solid #cfc7b9;
}

.cf-index .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.cf-index .page-numbers,
.cf-index .page-numbers:visited {
	display: inline-grid;
	min-width: 42px;
	min-height: 42px;
	place-items: center;
	padding: 8px 12px;
	border: 1px solid #bfb7aa;
	color: #171719;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
}

.cf-index .page-numbers.current,
.cf-index .page-numbers:hover,
.cf-index .page-numbers:focus-visible {
	border-color: #d4141f;
	color: #fff;
	background: #d4141f;
}

.cf-search-hero h1 {
	max-width: 1050px;
	font-size: clamp(42px, 6vw, 76px);
	line-height: 1.02;
}

.cf-search-count {
	margin: 20px 0 0;
	color: #aaa7a1;
	font-size: 13px;
	font-weight: 650;
}

.cf-search-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(250px, 28%);
	gap: 52px;
}

.cf-search-layout--empty {
	grid-template-columns: 1fr;
}

.cf-search-list {
	display: grid;
	gap: 0;
}

.cf-search-list .cf-index-card {
	padding-block: 24px;
	border-bottom: 1px solid #cec6b9;
}

.cf-search-list .cf-index-card:first-child { padding-top: 0; }

.cf-search-list .cf-index-card__link {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.cf-search-list .cf-index-card__media { margin: 0; }
.cf-search-list .cf-index-card h2 { font-size: clamp(22px, 2.3vw, 31px); }

.cf-search-tools {
	align-self: start;
	padding: 26px;
	border-top: 2px solid var(--cf-red);
	background: #e3ddd2;
}

.cf-search-tools__section + .cf-search-tools__section {
	margin-top: 30px;
	padding-top: 26px;
	border-top: 1px solid #c7bfb2;
}

.cf-index .search-form {
	display: flex;
	width: 100%;
	margin: 0;
}

.cf-index .search-form label { flex: 1; }

.cf-index .search-form input {
	width: 100%;
	min-height: 48px;
	padding: 10px 13px;
	border: 1px solid #aaa296;
	border-radius: 0;
	color: #171719;
	background: #faf8f3;
	font: inherit;
}

.cf-index .search-form button {
	display: grid;
	width: 50px;
	min-height: 48px;
	place-items: center;
	border: 0;
	border-radius: 0;
	color: #fff;
	background: #d4141f;
}

.cf-index .search-form button:hover,
.cf-index .search-form button:focus-visible { background: #c90f23; }

.cf-search-empty .search-form {
	max-width: 620px;
	margin-top: 26px;
}

.cf-search-empty + * { margin-top: 0; }

.cf-not-found__stage {
	min-height: calc(100vh - 96px);
	padding-block: clamp(56px, 8vw, 110px);
	color: var(--cf-white);
	background:
		radial-gradient(circle at 80% 10%, rgba(239, 23, 45, .11), transparent 33%),
		var(--cf-black);
}

.cf-not-found__paper {
	max-width: 880px;
	padding: clamp(34px, 6vw, 68px);
	color: #171719;
	background: var(--cf-paper);
	box-shadow: 14px 14px 0 rgba(239, 23, 45, .1);
}

.cf-not-found__paper h1 {
	max-width: 720px;
	margin: 0;
	font-size: clamp(42px, 6vw, 76px);
	font-weight: 800;
	line-height: .98;
	letter-spacing: -.055em;
}

.cf-not-found__paper > p:not(.cf-index-eyebrow) {
	max-width: 650px;
	margin: 22px 0 0;
	color: #55514d;
	font-size: 17px;
	line-height: 1.55;
}

.cf-not-found__paper .search-form {
	max-width: 620px;
	margin-top: 30px;
}

.cf-not-found__actions { margin-top: 24px; }

.cf-index-button,
.cf-index-button:visited {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 17px;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .08em;
	text-decoration: none;
	text-transform: uppercase;
	background: #171719;
}

.cf-index-button:hover,
.cf-index-button:focus-visible { background: #d4141f; }

@media (max-width: 940px) {
	.cf-index-lead { grid-template-columns: minmax(0, 1.1fr) minmax(290px, .9fr); }
	.cf-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cf-search-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 32px; }
	.cf-search-list .cf-index-card__link { grid-template-columns: 180px minmax(0, 1fr); }
	.cf-search-list .cf-index-card__excerpt { display: none; }
}

@media (max-width: 760px) {
	.cf-index-shell { padding-inline: 20px; }
	.cf-index-hero .cf-index-shell { padding-top: 46px; padding-bottom: 48px; }
	.cf-index-hero h1 { font-size: clamp(42px, 14vw, 68px); }
	.cf-index-description { font-size: 16px; }
	.cf-index-paper { padding-block: 32px 64px; }
	.cf-index-lead { grid-template-columns: 1fr; min-height: 0; }
	.cf-index-lead__media,
	.cf-index-lead__media img { min-height: 0; aspect-ratio: 16 / 9; }
	.cf-index-lead__content { padding: 26px 22px 28px; }
	.cf-index-lead__content h2 { font-size: clamp(29px, 8.5vw, 42px); }
	.cf-index-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
	.cf-index-card__excerpt { display: none; }
	.cf-index-card h2 { font-size: clamp(18px, 5.3vw, 24px); }
	.cf-index-meta { font-size: 10px; }
	.cf-index-grid--single .cf-index-card { max-width: none; }
	.cf-index-grid--single .cf-index-card__link { grid-template-columns: minmax(130px, .75fr) minmax(0, 1.25fr); gap: 16px; }
	.cf-search-layout { grid-template-columns: 1fr; gap: 32px; }
	.cf-search-tools { order: -1; padding: 20px; }
	.cf-search-tools__section + .cf-search-tools__section { display: none; }
	.cf-search-list .cf-index-card__link { grid-template-columns: 34% minmax(0, 1fr); gap: 15px; }
	.cf-search-list .cf-index-card h2 { font-size: clamp(19px, 6vw, 26px); }
	.cf-search-list .cf-index-meta { margin-top: 10px; }
}

@media (max-width: 430px) {
	.cf-index-shell { padding-inline: 14px; }
	.cf-index-hero .cf-index-shell { padding-top: 38px; padding-bottom: 40px; }
	.cf-index-hero h1 { font-size: clamp(38px, 15vw, 58px); }
	.cf-index-description { margin-top: 17px; font-size: 15px; }
	.cf-index-lead__content { padding: 22px 18px 24px; }
	.cf-index-lead__content h2 { font-size: clamp(27px, 9vw, 36px); }
	.cf-index-lead__excerpt { font-size: 14px; }
	.cf-index-archive-head { margin-top: 38px; }
	.cf-index-grid { gap: 24px 10px; }
	.cf-index-card__media { margin-bottom: 12px; }
	.cf-index-card h2 { font-size: clamp(16px, 5.6vw, 21px); }
	.cf-index-meta { gap: 4px; }
	.cf-index-grid--single .cf-index-card__link { display: block; }
	.cf-index-grid--single .cf-index-card__media { margin-bottom: 13px; }
	.cf-index-empty { padding: 28px 20px; }
	.cf-index-empty h2 { font-size: 31px; }
	.cf-editorial-links--empty ul { grid-template-columns: 1fr; }
	.cf-search-hero h1 { font-size: clamp(34px, 11vw, 48px); }
	.cf-search-list .cf-index-card { padding-block: 18px; }
	.cf-search-list .cf-index-card__link { grid-template-columns: 36% minmax(0, 1fr); gap: 12px; }
	.cf-search-list .cf-index-card h2 { font-size: clamp(17px, 5.6vw, 22px); }
	.cf-search-list .cf-index-eyebrow { margin-bottom: 7px; font-size: 9px; }
	.cf-search-list .cf-index-meta { display: none; }
	.cf-not-found__paper { padding: 30px 20px; box-shadow: 7px 7px 0 rgba(239, 23, 45, .12); }
	.cf-not-found__paper h1 { font-size: 39px; }
}

@media (max-width: 360px) {
	.cf-index-grid { grid-template-columns: 1fr; }
	.cf-index-card h2 { font-size: 21px; }
}

@media (prefers-reduced-motion: reduce) {
	.cf-index-lead__media img,
	.cf-index-card__media img { transition: none; }
}

