/* ==========================================================================
   Research Lab — insights.css
   INSIGHTS listings (index / category / tag) and articles
   ========================================================================== */

/* Category navigation: editorial text tabs on a thin rule ------------------ */

.insights-nav {
	border-bottom: 1px solid var(--color-border-strong);
}

.insights-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0 clamp(20px, 3vw, 40px);
	list-style: none;
}

.insights-nav__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 14px 0;
	font-size: var(--fs-small);
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--color-muted);
	text-decoration: none;
	transition: color 0.2s var(--ease);
}

.insights-nav__list li:first-child .insights-nav__link {
	font-family: var(--font-en);
	letter-spacing: 0.14em;
}

.insights-nav__link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: var(--color-primary);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s var(--ease);
}

.insights-nav__link:hover {
	color: var(--color-primary);
}

.insights-nav__link[aria-current="page"] {
	color: var(--color-primary);
}

.insights-nav__link[aria-current="page"]::after,
.insights-nav__link:hover::after {
	transform: scaleX(1);
}

.page-header--insights {
	border-bottom: 0;
	padding-bottom: clamp(40px, 5vw, 72px);
}

/* Featured article ------------------------------------------------------- */

.insights-archive {
	padding-top: clamp(48px, 6vw, 80px);
}

.insights-featured {
	margin-bottom: clamp(56px, 7vw, 96px);
}

.insights-featured__label,
.insights-latest__label {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
	font-family: var(--font-en);
	font-size: var(--fs-xsmall);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-strong);
}

.insights-featured__label::after,
.insights-latest__label::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--color-border-strong);
}

.insights-featured .post-card--featured {
	display: grid;
	grid-template-columns: minmax(0, 52fr) minmax(0, 48fr);
	align-items: center;
	gap: clamp(28px, 4vw, 64px);
}

.insights-featured .post-card--featured .post-card__media {
	margin-bottom: 0;
}

/* Featured image keeps its own ratio (1280x670 fills exactly; wider
   banners are shown whole instead of being letterboxed or cropped). */
.insights-featured .post-card--featured.has-image .post-card__media {
	aspect-ratio: auto;
}

.insights-featured .post-card--featured.has-image .post-card__image {
	height: auto;
}

.insights-featured .post-card--featured .post-card__title {
	font-size: clamp(1.5rem, 1.25rem + 1vw, 2rem);
}

/* Article --------------------------------------------------------------- */

.article-header {
	padding-top: clamp(24px, 3vw, 40px);
	padding-bottom: clamp(36px, 4.5vw, 56px);
}

.article-header__cat {
	margin-top: clamp(40px, 5vw, 64px);
	font-size: var(--fs-small);
	font-weight: 700;
	letter-spacing: 0.04em;
}

.article-header__cat a {
	color: var(--color-accent-strong);
	text-decoration: none;
}

.article-header__cat a:hover {
	text-decoration: underline;
}

.article-header__cat--neutral {
	font-family: var(--font-en);
	letter-spacing: 0.16em;
	color: var(--color-text);
}

.article-header__title {
	margin-top: 14px;
	font-size: clamp(1.75rem, 1.4rem + 1.5vw, 2.625rem);
	line-height: 1.5;
	word-break: auto-phrase;
}

.article-header__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 20px;
	margin-top: 24px;
	padding-top: 16px;
	border-top: 1px solid var(--color-border);
	font-size: var(--fs-xsmall);
	color: var(--color-muted);
}

.article-header__date,
.article-header__updated time {
	font-family: var(--font-en);
	letter-spacing: 0.06em;
}

.article-header__author {
	margin-left: auto;
}

.article-thumbnail {
	margin: 0 0 clamp(48px, 6vw, 72px);
}

/* Narrower than the header (≈940px), centred, natural ratio (no crop). */
.article-thumbnail__inner {
	max-width: calc(940px + var(--gutter) * 2);
}

.article-thumbnail__image {
	display: block;
	width: 100%;
	height: auto;
	margin-inline: auto;
	outline: 1px solid rgba(16, 42, 67, 0.06);
	outline-offset: -1px;
}

.article-thumbnail__caption {
	margin-top: 10px;
	font-size: var(--fs-xsmall);
	color: var(--color-muted);
}

/* INSIGHTS article body: 17–18px / line-height ≈1.9, max ≈780px */
.entry-content--article {
	font-size: clamp(1.0625rem, 1rem + 0.25vw, 1.125rem);
	line-height: 1.9;
}

.entry-content--article p {
	letter-spacing: 0.03em;
}

.article > .container--narrow {
	padding-bottom: clamp(64px, 8vw, 104px);
}

.article-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px 16px;
	margin-top: clamp(48px, 6vw, 72px);
	padding-top: 20px;
	border-top: 1px solid var(--color-border);
}

.article-footer__label {
	font-size: var(--fs-xsmall);
	font-weight: 700;
	color: var(--color-muted);
}

.article-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	list-style: none;
}

.article-tags a {
	display: inline-block;
	padding: 6px 0;
	font-size: var(--fs-xsmall);
	color: var(--color-text);
	text-decoration: none;
}

.article-tags a:hover {
	color: var(--color-accent-strong);
	text-decoration: underline;
}

/* Related --------------------------------------------------------------- */

.related-insights .section-head {
	margin-bottom: clamp(32px, 4vw, 48px);
}

.related-insights .post-grid > * {
	border-top-color: var(--color-border-strong);
}

/* Article-end / listing CTA (quiet) ------------------------------------- */

.insight-cta {
	padding-block: clamp(64px, 8vw, 112px);
	background: #fff;
}

.related-insights + .insight-cta,
.insights-archive + .insight-cta {
	border-top: 1px solid var(--color-border);
}

.insight-cta__inner {
	display: grid;
	gap: 16px;
	max-width: 820px;
	padding-top: 28px;
	border-top: 2px solid var(--color-primary);
}

.insight-cta__label {
	font-family: var(--font-en);
	font-size: var(--fs-xsmall);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-strong);
}

.insight-cta__title {
	font-size: clamp(1.375rem, 1.2rem + 0.9vw, 1.875rem);
	line-height: 1.5;
	word-break: auto-phrase;
}

.insight-cta__text {
	line-height: 2;
}

.insight-cta__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 32px;
	margin-top: 12px;
}

/* Responsive ------------------------------------------------------------- */

@media (max-width: 1024px) {
	.insights-featured .post-card--featured {
		grid-template-columns: minmax(0, 1fr);
		align-items: start;
		gap: 24px;
	}
}

@media (max-width: 767px) {
	.insights-nav__list {
		gap: 0 20px;
	}

	.insights-nav__link {
		min-height: 44px;
		padding: 10px 0;
	}

	.article-header__author {
		width: 100%;
		margin-left: 0;
	}

	.insight-cta__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.insight-cta__actions .button {
		justify-content: space-between;
		gap: 8px;
		padding-inline: 16px;
		font-size: 0.875rem;
		letter-spacing: 0;
	}

	.insight-cta__actions .text-link {
		align-self: flex-start;
	}
}
