/*
 * インサイトページ（Figma PC 15:3794 / SP 15:7716）。
 * 見出し帯の下に「最新の情報」＋投稿タイプ別4ブロックが並ぶ。
 * カードの見た目は components/article-cards.css の共通定義に従い、
 * ここではブロックの間隔と「最新の情報」固有のレイアウトだけを持つ。
 */

/* 各ブロックが下120px（SP80px）を持つため、本体側の下余白は足さない。 */

/* ブロック間の区切り罫線は本文幅（1440px）。最後のブロックの下には出さない。 */
.insights-block {
	padding-block: 120px;
}

.insights-block + .insights-block {
	border-top: 1px solid rgb(255 255 255 / 45%);
}

.insights-block__body {
	margin-top: 60px;
}

/* ---------- 最新の情報 ---------- */

.insights-featured {
	display: grid;
	grid-template-columns: minmax(0, 640px) minmax(0, 760px);
	gap: 40px;
}

.insights-feature__image,
.insights-row__image {
	display: block;
	width: 100%;
	background: #d9d9d9;
	object-fit: cover;
}

.insights-feature .card-media {
	aspect-ratio: 8 / 5;
}

/* 横断フィードで投稿タイプを示すラベル。 */
.insights-type {
	margin: 24px 0 0;
	color: var(--color-accent);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.04em;
}

.insights-feature__title {
	display: -webkit-box;
	overflow: hidden;
	margin: 8px 0 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.04em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.insights-feature__lead {
	display: -webkit-box;
	overflow: hidden;
	margin: 20px 0 0;
	font-size: 14px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.insights-feature .card-tags {
	margin-top: 4px;
}

.insights-rows {
	margin: 0;
	padding: 0;
	list-style: none;
}

.insights-row:not(:last-child) {
	padding-bottom: 24px;
	border-bottom: 1px solid rgb(255 255 255 / 45%);
}

.insights-row + .insights-row {
	padding-top: 24px;
}

.insights-row a {
	display: grid;
	grid-template-columns: 276px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.insights-row .card-media {
	aspect-ratio: 8 / 5;
}

.insights-row .insights-type {
	margin-top: 0;
}

.insights-row__title {
	display: -webkit-box;
	overflow: hidden;
	margin: 8px 0 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.8;
	letter-spacing: 0.04em;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.insights-row .card-tags {
	margin-top: 4px;
}

/* ---------- 投稿タイプ別ブロック ---------- */

.insights-block .article-card h3 {
	font-weight: 700;
}

/* 日付＋カテゴリー行を持つカード（ナレッジ・マーケットデータ）。 */
.insights-block .article-card--insight .card-meta {
	margin-top: 24px;
}

.insights-block .article-card--insight h3 {
	margin-top: 12px;
}

@media (max-width: 1160px) {
	.insights-featured {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 899px) {
	.insights-block {
		padding-block: 80px;
	}

	.insights-block__body {
		margin-top: 60px;
	}

	.insights-featured {
		gap: 60px;
	}

	.insights-feature .card-media {
		aspect-ratio: 8 / 5;
	}

	.insights-type {
		margin-top: 20px;
		font-size: 12px;
		letter-spacing: 0.04em;
	}

	.insights-feature__title {
		font-size: 14px;
		line-height: 1.8;
	}

	.insights-feature__lead {
		margin-top: 12px;
		font-size: 12px;
	}

	.insights-feature .card-tags {
		margin-top: 4px;
	}

	.insights-row a {
		grid-template-columns: 120px minmax(0, 1fr);
		gap: 12px;
	}

	.insights-row .card-media {
		aspect-ratio: 8 / 5;
	}

	.insights-row__title {
		margin-top: 4px;
		font-size: 14px;
	}

	.insights-row .card-tags {
		margin-top: 4px;
	}
}
