.section-journal {
	background: #fbfcfe;
}

.journal-grid,
.content-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.journal-card,
.content-card {
	display: flex;
	min-height: 0;
	flex-direction: column;
	align-items: flex-start;
	overflow: hidden;
	border: 1px solid var(--line);
	border-radius: 17px;
	background: var(--white);
	transition: transform 160ms ease, box-shadow 160ms ease;
}

.journal-card:hover,
.content-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 34px rgb(26 49 75 / 8%);
}

.journal-photo-frame,
.content-card-image-frame {
	display: block;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 16 / 9;
	background: #eaf0f5;
}

.journal-photo-frame img,
.content-card-image-frame img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 280ms ease;
}

.journal-card:hover .journal-photo-frame img,
.content-card:hover .content-card-image-frame img {
	transform: scale(1.035);
}

.journal-card-body,
.content-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: flex-start;
	padding: 23px;
}

.journal-category,
.content-category {
	margin-bottom: 12px;
	color: var(--blue);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.journal-card h3,
.content-card h2 {
	margin-bottom: 10px;
	font-size: 1.125rem;
	font-weight: 720;
	letter-spacing: -0.025em;
	line-height: 1.35;
}

.journal-card h3 a:hover,
.content-card h2 a:hover {
	color: var(--blue);
}

.journal-card-body > p:not(.journal-category),
.content-card-body > p:not(.content-category) {
	margin-bottom: 18px;
	color: var(--ink-soft);
	font-size: 0.875rem;
	line-height: 1.65;
}

.journal-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: var(--blue);
	font-size: 0.75rem;
	font-weight: 750;
}

.journal-link:hover {
	color: var(--blue-dark);
}

.journal-all {
	display: flex;
	justify-content: center;
	margin-top: 25px;
}

.content-shell {
	padding: 42px 0 88px;
	background: #fbfcfe;
}

.content-container {
	width: min(1160px, calc(100% - 48px));
	margin-inline: auto;
}

.content-narrow {
	width: min(820px, calc(100% - 48px));
	margin-inline: auto;
}

.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 29px;
	color: #718092;
	font-size: 0.75rem;
}

.breadcrumbs a {
	color: var(--blue);
}

.breadcrumbs a:hover {
	text-decoration: underline;
}

.article-header {
	margin-bottom: 27px;
}

.article-header .eyebrow {
	justify-content: flex-start;
	margin-bottom: 13px;
}

.article-header h1,
.content-index-header h1 {
	max-width: 780px;
	margin-bottom: 17px;
	font-size: clamp(2.25rem, 5.2vw, 3.625rem);
	font-weight: 760;
	letter-spacing: -0.06em;
	line-height: 1.06;
}

.article-deck {
	max-width: 740px;
	margin-bottom: 18px;
	color: var(--ink-soft);
	font-size: 1.125rem;
	line-height: 1.65;
}

.article-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	color: #778492;
	font-size: 0.75rem;
}

.article-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	padding: 15px 0;
	margin: 19px 0 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}

.reading-time {
	color: #66788a;
	font-size: 0.75rem;
	font-weight: 650;
}

.article-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
}

.article-share-label {
	margin-right: 3px;
	color: #66788a;
	font-size: 0.75rem;
	font-weight: 650;
}

.share-link,
.share-copy {
	display: inline-flex;
	min-height: 32px;
	align-items: center;
	justify-content: center;
	padding: 6px 10px;
	border: 1px solid #dfe5ec;
	border-radius: 999px;
	background: var(--white);
	color: #435469;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.2;
	transition: color 150ms ease, background-color 150ms ease, border-color 150ms ease, transform 150ms ease;
}

.share-link:hover,
.share-copy:hover {
	border-color: #b7cde2;
	background: #f5f9fd;
	color: var(--blue);
}

.share-copy {
	cursor: pointer;
}

.copy-status {
	color: #17653e;
	font-size: 0.75rem;
}

.article-hero-figure {
	overflow: hidden;
	margin: 25px 0 30px;
	border: 1px solid var(--line);
	border-radius: 17px;
	background: #edf2f6;
	box-shadow: 0 12px 30px rgb(26 49 75 / 8%);
}

.article-hero-figure img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: contain;
}

.article-hero-figure figcaption {
	padding: 9px 13px;
	background: var(--white);
	color: #778492;
	font-size: 0.75rem;
	line-height: 1.5;
}

.article-notice {
	padding: 14px 16px;
	margin: 25px 0 30px;
	border-left: 3px solid var(--blue);
	border-radius: 0 10px 10px 0;
	background: var(--blue-pale);
	color: #40566d;
	font-size: 0.875rem;
	line-height: 1.65;
}

.article-body {
	color: #344354;
	font-size: 1rem;
	line-height: 1.82;
}

.article-body h2 {
	margin: 38px 0 13px;
	font-size: 1.6875rem;
	font-weight: 730;
	letter-spacing: -0.04em;
}

.article-body h3 {
	margin: 26px 0 9px;
	font-size: 1.1875rem;
	font-weight: 720;
	letter-spacing: -0.025em;
}

.article-body p {
	margin-bottom: 16px;
}

.article-body ul,
.article-body ol {
	padding-left: 23px;
	margin: 0 0 18px;
}

.article-body li {
	padding-left: 3px;
	margin-bottom: 8px;
}

.article-body a {
	color: var(--blue);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.article-body a:hover {
	color: var(--blue-dark);
}

.article-body a {
	transition: color 150ms ease;
}

.breadcrumbs a {
	transition: color 150ms ease;
}

.breadcrumbs a:hover {
	color: var(--blue-dark);
}

.article-callout {
	padding: 18px 20px;
	margin: 24px 0;
	border: 1px solid #e4e9ef;
	border-radius: 13px;
	background: var(--white);
}

.article-callout p:last-child {
	margin-bottom: 0;
}

.article-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 22px;
	margin-top: 32px;
	border-radius: 16px;
	background: #edf4fb;
}

.article-cta p {
	margin: 0;
	color: #40566d;
	font-size: 0.875rem;
}

.content-index-header {
	margin-bottom: 36px;
}

.content-index-header .eyebrow {
	justify-content: flex-start;
}

.content-index-header > p:last-child {
	max-width: 730px;
	color: var(--ink-soft);
	font-size: 1rem;
	line-height: 1.7;
}

.content-card-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.content-card {
	min-height: 235px;
}

.content-card-body {
	padding: 23px;
}

.content-card h2 {
	font-size: 1.3125rem;
}

.content-card > p:not(.content-category) {
	font-size: 0.875rem;
}

.content-disclaimer {
	max-width: 800px;
	padding: 16px 18px;
	margin-top: 26px;
	border: 1px solid var(--line);
	border-radius: 12px;
	background: var(--white);
	color: var(--ink-soft);
	font-size: 0.75rem;
	line-height: 1.7;
}

.content-disclaimer strong {
	color: var(--ink);
}

html.has-scroll-reveal [data-reveal] {
	transition:
		opacity 560ms cubic-bezier(.2, .65, .3, 1),
		translate 560ms cubic-bezier(.2, .65, .3, 1);
	transition-delay: var(--reveal-delay, 0ms);
}

html.has-scroll-reveal [data-reveal]:not(.is-visible) {
	opacity: 0;
	translate: 0 18px;
}

html.has-scroll-reveal [data-reveal].is-visible {
	opacity: 1;
	translate: 0 0;
}

.feature-grid > [data-reveal]:nth-child(2),
.journal-grid > [data-reveal]:nth-child(2),
.content-card-grid > [data-reveal]:nth-child(2) {
	--reveal-delay: 80ms;
}

.feature-grid > [data-reveal]:nth-child(3),
.journal-grid > [data-reveal]:nth-child(3),
.content-card-grid > [data-reveal]:nth-child(3) {
	--reveal-delay: 160ms;
}

@media (prefers-reduced-motion: reduce) {
	html.has-scroll-reveal [data-reveal] {
		opacity: 1 !important;
		translate: none !important;
		transition: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.journal-card,
	.content-card,
	.journal-photo-frame img,
	.content-card-image-frame img,
	.share-link,
	.share-copy,
	.article-body a,
	.breadcrumbs a {
		transition: none !important;
	}

	.journal-card:hover,
	.content-card:hover,
	.journal-card:hover .journal-photo-frame img,
	.content-card:hover .content-card-image-frame img {
		transform: none;
	}
}

@media (max-width: 860px) {
	.journal-grid,
	.content-card-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.journal-card {
		min-height: 0;
	}
}

@media (max-width: 600px) {
	.content-shell {
		padding-top: 30px;
	}

	.content-container,
	.content-narrow {
		width: calc(100% - 32px);
	}

	.article-header h1,
	.content-index-header h1 {
		font-size: clamp(2.125rem, 10vw, 2.75rem);
	}

	.article-deck {
		font-size: 1rem;
	}

	.article-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.article-body {
		font-size: 1rem;
	}

	.article-body h2 {
		font-size: 1.5rem;
	}

	.article-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.content-card {
		min-height: auto;
	}

	.journal-card-body,
	.content-card-body {
		padding: 21px;
	}
}
