/* ══════════════════════════════════════
   BLOG INDEX — Light cards
══════════════════════════════════════ */
.de-blog-hero {
	padding: 80px 0 48px;
	background:
		radial-gradient(ellipse 70% 55% at 50% -8%, rgba(26,122,117,0.04) 0%, transparent 60%),
		var(--surface2);
	border-bottom: 1px solid var(--border);
}
.de-blog-hero--archive { padding-top: 72px; }
.de-blog-hero__title {
	font-family: var(--font-d);
	font-size: clamp(40px, 5vw, 66px);
	font-weight: 300; line-height: 1.04;
	letter-spacing: -.025em; color: var(--t1); margin: 0 0 18px;
}
.de-blog-hero__text {
	max-width: 680px;
	font-size: 17px; line-height: 1.82; color: var(--t2);
}

.de-blog-index { padding: 64px 0 108px; }
.de-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
}

.de-blog-card {
	background: var(--surface);
	border: 1px solid var(--border);
	border-radius: var(--r-lg);
	overflow: hidden;
	display: flex; flex-direction: column;
	box-shadow: 0 4px 20px rgba(0,0,0,0.04);
	transition: transform .3s var(--ease), border-color .3s, box-shadow .3s;
}
.de-blog-card:hover {
	transform: translateY(-5px);
	border-color: var(--gold-bdr);
	box-shadow: 0 16px 40px rgba(0,0,0,0.08);
}
.de-blog-card__media {
	display: block; aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, var(--surface2), var(--surface3));
	overflow: hidden;
}
.de-blog-card__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .5s var(--ease);
}
.de-blog-card:hover .de-blog-card__media img { transform: scale(1.04); }
.de-blog-card__placeholder {
	display: grid; place-items: center; width: 100%; height: 100%;
	font-family: var(--font-d); font-size: 28px;
	font-style: italic; color: var(--t3);
}
.de-blog-card__body {
	padding: 24px 24px 28px;
	display: flex; flex-direction: column; gap: 14px; flex: 1 1 auto;
}
.de-blog-card__meta {
	display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
	font-size: 11px; font-weight: 700; letter-spacing: .1em;
	text-transform: uppercase; color: var(--t3);
}
.de-blog-card__dot {
	width: 3px; height: 3px; border-radius: 50%; background: var(--gold);
}
.de-blog-card__title {
	font-family: var(--font-d);
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 300; line-height: 1.18;
	letter-spacing: -.02em; margin: 0;
}
.de-blog-card__title a:hover { color: var(--gold); }
.de-blog-card__excerpt,
.de-blog-card__excerpt p {
	font-size: 15px; line-height: 1.78; color: var(--t2); margin: 0;
}
.de-blog-card__btn { margin-top: auto; align-self: flex-start; }

.de-blog-empty {
	background: var(--surface); border: 1px solid var(--border);
	border-radius: var(--r-lg); padding: 48px;
}
.de-blog-empty h2 {
	font-family: var(--font-d); font-weight: 300; font-size: 34px; margin-bottom: 14px;
}
.de-blog-empty p { color: var(--t2); }

ul.page-numbers {
	margin-top: 48px; display: flex; justify-content: center;
	gap: 8px; flex-wrap: wrap; list-style: none; padding: 0;
}
.page-numbers a, .page-numbers span {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 40px; height: 40px; padding: 0 14px;
	border-radius: 2px;
	background: var(--surface); border: 1px solid var(--border);
	color: var(--t2); font-size: 13px; font-weight: 600;
	transition: background .2s, border-color .2s, color .2s;
}
.page-numbers .current, .page-numbers a:hover {
	background: var(--gold-dim);
	border-color: var(--gold-bdr);
	color: var(--gold);
}

@media (max-width: 980px) { .de-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.de-blog-hero { padding-top: 60px; }
	.de-blog-grid { grid-template-columns: 1fr; }
}
