/* ============================================================
 * Gold Kaitori Media - Media (blog) styles
 * ============================================================ */

:root {
	--gkm-text: #222;
	--gkm-muted: #6b7280;
	--gkm-bg: #fff;
	--gkm-bg-alt: #f7f7f8;
	--gkm-border: #e5e7eb;
	--gkm-primary: #c8a142;     /* gold */
	--gkm-primary-dk: #8c6f1c;
	--gkm-primary-lt: #f5d57e;  /* light gold */
	--gkm-navy: #1a3a6e;        /* brand navy */
	--gkm-navy-dk: #102448;
	--gkm-navy-lt: #2a5092;
	--gkm-accent: #d23a3a;      /* CTA red */
	--gkm-radius: 8px;
	--gkm-shadow: 0 2px 12px rgba(0,0,0,.06);
	--gkm-shadow-lg: 0 8px 32px rgba(26,58,110,.15);
	--gkm-container: 1100px;
	--gkm-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
	--gkm-font-serif: "Yu Mincho", "游明朝", YuMincho, "Hiragino Mincho Pro", serif;
}

*,*::before,*::after { box-sizing: border-box; }
body {
	margin: 0;
	font-family: var(--gkm-font);
	color: var(--gkm-text);
	background: var(--gkm-bg);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	font-size: 16px;
}
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--gkm-primary-dk); text-decoration: none; }
a:hover { text-decoration: underline; }

.container { max-width: var(--gkm-container); margin: 0 auto; padding: 0 20px; }
.container--with-sidebar { display: grid; grid-template-columns: 1fr 320px; gap: 40px; padding-top: 32px; padding-bottom: 64px; }
@media (max-width: 900px) { .container--with-sidebar { grid-template-columns: 1fr; gap: 32px; } }

.screen-reader-text { position: absolute; left: -9999px; }

/* ===== Header ===== */
.site-header {
	background: #fff;
	border-bottom: 1px solid var(--gkm-border);
	box-shadow: 0 2px 8px rgba(0,0,0,.04);
	position: sticky;
	top: 0;
	z-index: 100;
}
.site-header__inner {
	max-width: var(--gkm-container);
	margin: 0 auto;
	padding: 14px 20px;
	display: flex;
	align-items: center;
	gap: 24px;
}
.site-branding { flex: 0 0 auto; }
.site-branding__link { display: block; line-height: 0; }
.site-branding__link:hover { text-decoration: none; opacity: .85; }
.site-branding__logo { height: 50px; width: auto; }
.site-branding__logo--mobile { display: none; }
.site-branding__logo--desktop { display: block; }
.site-title { margin: 0; font-size: 20px; font-weight: 700; }
.site-title a { color: inherit; }
.site-description { margin: 0; font-size: 12px; color: var(--gkm-muted); }
.main-navigation { flex: 1 1 auto; }
.main-navigation ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 24px; justify-content: flex-end; }
.main-navigation a {
	color: var(--gkm-text);
	font-size: 14px;
	font-weight: 600;
	padding: 6px 0;
	border-bottom: 2px solid transparent;
	transition: border-color .2s, color .2s;
}
.main-navigation a:hover {
	text-decoration: none;
	color: var(--gkm-navy);
	border-bottom-color: var(--gkm-primary);
}
.header-cta__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, var(--gkm-accent) 0%, #b32a2a 100%);
	color: #fff;
	padding: 10px 20px;
	border-radius: var(--gkm-radius);
	font-weight: 700;
	font-size: 14px;
	box-shadow: 0 2px 8px rgba(210,58,58,.3);
	transition: transform .2s, box-shadow .2s;
}
.header-cta__btn:hover {
	text-decoration: none;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(210,58,58,.4);
}
.header-cta__btn-icon { font-size: 10px; }
.menu-toggle { display: none; background: none; border: none; padding: 8px; cursor: pointer; }
.menu-toggle__bar { display: block; width: 22px; height: 2px; background: #333; margin: 4px 0; }

@media (max-width: 900px) {
	.site-branding__logo { height: 44px; }
}
@media (max-width: 768px) {
	.menu-toggle { display: block; order: 3; }
	.site-branding__logo--desktop { display: none; }
	.site-branding__logo--mobile { display: block; height: 44px; }
	.main-navigation { display: none; position: absolute; left: 0; right: 0; top: 72px; background: #fff; padding: 16px 20px; border-bottom: 1px solid var(--gkm-border); }
	.main-navigation.is-open { display: block; }
	.main-navigation ul { flex-direction: column; gap: 12px; justify-content: flex-start; }
	.site-header__inner { position: relative; gap: 12px; }
	.header-cta__btn { padding: 8px 14px; font-size: 13px; }
}

/* ===== Breadcrumb ===== */
.gkm-breadcrumb { max-width: var(--gkm-container); margin: 0 auto; padding: 12px 20px; font-size: 12px; color: var(--gkm-muted); }
.gkm-breadcrumb ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.gkm-breadcrumb li + li::before { content: "›"; margin-right: 6px; color: #aaa; }
.gkm-breadcrumb a { color: var(--gkm-muted); }

/* ===== Hero (media top) ===== */
.hero--media { background: linear-gradient(135deg, #2a2a2a 0%, #444 100%); color: #fff; padding: 60px 20px; text-align: center; }
.hero__title { font-size: 32px; margin: 0 0 8px; }
.hero__lead { margin: 0; opacity: .9; }

/* ===== Post list ===== */
.page-header { margin-bottom: 24px; }
.page-title { font-size: 24px; margin: 0; border-left: 4px solid var(--gkm-primary); padding-left: 12px; }

.post-list { display: grid; gap: 24px; grid-template-columns: 1fr 1fr; }
@media (max-width: 700px) { .post-list { grid-template-columns: 1fr; } }
.post-card { background: #fff; border: 1px solid var(--gkm-border); border-radius: var(--gkm-radius); overflow: hidden; transition: box-shadow .2s; }
.post-card:hover { box-shadow: var(--gkm-shadow); }
.post-card__link { display: block; color: inherit; }
.post-card__link:hover { text-decoration: none; }
.post-card__thumb { aspect-ratio: 16/10; background: var(--gkm-bg-alt); overflow: hidden; }
.post-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { padding: 16px; }
.post-card__cat { display: inline-block; font-size: 11px; padding: 2px 8px; background: var(--gkm-primary); color: #fff; border-radius: 999px; margin-bottom: 8px; }
.post-card__title { font-size: 17px; margin: 0 0 8px; line-height: 1.5; }
.post-card__excerpt { font-size: 13px; color: var(--gkm-muted); margin: 0 0 8px; }
.post-card__date { font-size: 12px; color: var(--gkm-muted); }

/* ===== Single Post ===== */
.single-post { background: #fff; }
.single-post__cat { display: inline-block; font-size: 12px; padding: 2px 10px; background: var(--gkm-primary); color: #fff; border-radius: 999px; margin-bottom: 12px; }
.single-post__title { font-size: 28px; line-height: 1.4; margin: 0 0 12px; }
.single-post__meta { font-size: 13px; color: var(--gkm-muted); margin-bottom: 24px; }
.single-post__updated { margin-left: 12px; }
.single-post__thumb { margin-bottom: 28px; border-radius: var(--gkm-radius); overflow: hidden; }
.single-post__content { font-size: 16px; line-height: 1.9; }
.single-post__content h2 { font-size: 22px; margin: 40px 0 16px; padding: 8px 0 8px 14px; border-left: 4px solid var(--gkm-primary); background: var(--gkm-bg-alt); }
.single-post__content h3 { font-size: 18px; margin: 28px 0 12px; padding-bottom: 6px; border-bottom: 1px dashed var(--gkm-border); }
.single-post__content p { margin: 0 0 1.4em; }
.single-post__content img { border-radius: var(--gkm-radius); margin: 16px 0; }
.single-post__content blockquote { background: var(--gkm-bg-alt); border-left: 4px solid var(--gkm-primary); padding: 14px 18px; margin: 16px 0; border-radius: 4px; }
.single-post__tags { margin: 24px 0; }
.tag { display: inline-block; background: var(--gkm-bg-alt); color: var(--gkm-muted); padding: 4px 10px; border-radius: 999px; font-size: 12px; margin-right: 6px; }
.single-post__cta { margin-top: 40px; padding: 24px; background: var(--gkm-bg-alt); border-radius: var(--gkm-radius); text-align: center; }

/* ===== Sidebar ===== */
.widget-area { display: flex; flex-direction: column; gap: 24px; }
.widget { background: #fff; border: 1px solid var(--gkm-border); border-radius: var(--gkm-radius); padding: 18px; }
.widget-title { font-size: 16px; margin: 0 0 12px; padding-bottom: 8px; border-bottom: 2px solid var(--gkm-primary); }
.widget-cta { background: linear-gradient(135deg, #fff8e3 0%, #fff 100%); border-color: var(--gkm-primary); }

/* ===== CTA buttons ===== */
.cta-btn {
	display: inline-block; background: var(--gkm-accent); color: #fff;
	padding: 12px 24px; border-radius: var(--gkm-radius); font-weight: 700;
	transition: opacity .2s;
}
.cta-btn:hover { text-decoration: none; opacity: .9; }
.cta-btn--block { display: block; text-align: center; width: 100%; }

/* ===== Pagination ===== */
.pagination, .nav-links { display: flex; justify-content: center; gap: 6px; margin-top: 32px; flex-wrap: wrap; }
.pagination .page-numbers, .nav-links a { display: inline-block; padding: 8px 12px; border: 1px solid var(--gkm-border); border-radius: 4px; color: var(--gkm-text); font-size: 14px; }
.pagination .current { background: var(--gkm-primary); color: #fff; border-color: var(--gkm-primary); }

/* ===== Footer ===== */
.site-footer { background: #1c1c1c; color: #ccc; padding: 40px 20px 24px; margin-top: 60px; }
.site-footer__inner { max-width: var(--gkm-container); margin: 0 auto; }
.footer-navigation ul { list-style: none; margin: 0 0 16px; padding: 0; display: flex; gap: 20px; flex-wrap: wrap; }
.footer-navigation a { color: #ccc; font-size: 13px; }
.site-footer__copy { font-size: 12px; color: #999; margin: 0; }

/* ===== Search form ===== */
.search-form { display: flex; gap: 6px; }
.search-field { flex: 1; padding: 10px 12px; border: 1px solid var(--gkm-border); border-radius: 6px; font-size: 14px; }
.search-submit { padding: 10px 16px; background: var(--gkm-primary); color: #fff; border: 0; border-radius: 6px; cursor: pointer; }

/* ============================================================
 * v2.8.0 : Media TOP / Single 大刷新（和風×金箔×LP連動）
 * ============================================================ */

:root {
	--gkm-gold: #c8a142;
	--gkm-gold-dk: #8c6f1c;
	--gkm-gold-bright: #f5d57e;
	--gkm-ink: #1c1812;
	--gkm-cream: #f9f3e0;
	--gkm-vermilion: #c8181a;
	--gkm-vermilion-dk: #9a1416;
	--gkm-cta-green: #2c8a3e;
	--gkm-cta-green-dk: #1f6a2e;
}

/* 全体ベース：和紙テクスチャ */
body.is-media,
body:not(.is-lp) {
	background-color: #f4ecd6;
	background-image:
		linear-gradient(rgba(245, 234, 200, .60), rgba(245, 234, 200, .70)),
		url('../images/textures/bg-paper.jpg');
	background-size: 600px;
	background-attachment: fixed;
}

.media-container,
.single-2col {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

/* ============================================================
 * メディアヘッダー（既存共通）
 * ============================================================ */
.site-header {
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(200, 161, 66, .25);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
	position: sticky;
	top: 0;
	z-index: 50;
}

/* ============================================================
 * 1. メディアヒーロー（最新記事1本・大型）
 * ============================================================ */
.media-hero {
	position: relative;
	overflow: hidden;
	min-height: 480px;
	margin-bottom: 32px;
	background: var(--gkm-ink);
}
.media-hero__link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.media-hero__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.media-hero__bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(28, 24, 18, .35) 0%,
		rgba(28, 24, 18, .55) 60%,
		rgba(28, 24, 18, .85) 100%
	);
}
.media-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.media-hero__overlay {
	position: relative;
	min-height: 480px;
	display: flex;
	align-items: flex-end;
	padding: 48px 24px;
	z-index: 1;
}
.media-hero__inner {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
	color: #fff;
}
.media-hero__cat {
	display: inline-block;
	background: var(--gkm-vermilion);
	color: #fff;
	padding: 4px 12px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 12px;
	letter-spacing: 0.05em;
}
.media-hero__site {
	font-size: 13px;
	opacity: 0.85;
	margin: 0 0 12px;
	letter-spacing: 0.05em;
}
.media-hero__title {
	font-size: 34px;
	font-weight: 800;
	line-height: 1.4;
	margin: 0 0 14px;
	font-family: "Yu Mincho", "游明朝", "Hiragino Mincho ProN", serif;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .5);
}
.media-hero__lead {
	font-size: 16px;
	line-height: 1.7;
	margin: 0 0 20px;
	opacity: 0.95;
	max-width: 700px;
}
.media-hero__more {
	display: inline-block;
	padding: 10px 20px;
	background: rgba(255, 255, 255, .15);
	border: 1px solid rgba(255, 255, 255, .4);
	border-radius: 4px;
	font-weight: 600;
	font-size: 14px;
	transition: background .15s;
}
.media-hero__link:hover .media-hero__more {
	background: rgba(255, 255, 255, .25);
}
@media (max-width: 768px) {
	.media-hero { min-height: 360px; }
	.media-hero__overlay { min-height: 360px; padding: 32px 16px; }
	.media-hero__title { font-size: 22px; }
	.media-hero__lead { font-size: 13px; }
}

/* ============================================================
 * 2. 今日の金相場帯
 * ============================================================ */
.rate-bar {
	background: linear-gradient(135deg, var(--gkm-ink) 0%, #2a2218 100%);
	color: #fff;
	border-top: 2px solid var(--gkm-gold);
	border-bottom: 2px solid var(--gkm-gold);
	margin-bottom: 32px;
}
.rate-bar__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 14px 16px;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	justify-content: center;
}
.rate-bar__label {
	font-size: 14px;
	color: var(--gkm-gold-bright);
	font-weight: 600;
}
.rate-bar__price {
	font-size: 26px;
	color: var(--gkm-gold-bright);
	font-weight: 800;
	letter-spacing: 0.02em;
}
.rate-bar__price small { font-size: 14px; opacity: 0.85; margin-left: 2px; }
.rate-bar__updated { font-size: 11px; opacity: 0.7; }
.rate-bar__cta {
	margin-left: auto;
	background: var(--gkm-cta-green);
	color: #fff;
	padding: 10px 20px;
	border-radius: 6px;
	font-weight: 700;
	font-size: 14px;
	box-shadow: 0 2px 0 var(--gkm-cta-green-dk);
	transition: transform .15s;
}
.rate-bar__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 3px 0 var(--gkm-cta-green-dk);
}
@media (max-width: 768px) {
	.rate-bar__inner { gap: 8px; }
	.rate-bar__price { font-size: 20px; }
	.rate-bar__cta { margin-left: 0; padding: 8px 14px; font-size: 12px; width: 100%; text-align: center; }
}

/* ============================================================
 * 3. セクション共通
 * ============================================================ */
.media-section {
	margin-bottom: 48px;
}
.media-section__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--gkm-gold);
	gap: 16px;
}
.media-section__head--cat {
	border-bottom-style: dashed;
	border-bottom-color: rgba(200, 161, 66, .5);
}
.media-section__title {
	font-size: 22px;
	margin: 0;
	font-weight: 800;
	font-family: "Yu Mincho", "游明朝", serif;
	color: var(--gkm-ink);
	display: flex;
	align-items: center;
	gap: 8px;
}
.cat-icon { font-size: 24px; }
.media-section__lead {
	margin: 0;
	font-size: 13px;
	color: #666;
}
.media-section__more {
	font-size: 13px;
	color: var(--gkm-gold-dk);
	font-weight: 600;
	white-space: nowrap;
}
.media-section__more:hover { text-decoration: underline; }

/* ============================================================
 * 4. ピックアップ記事グリッド
 * ============================================================ */
.media-pickup__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 768px) {
	.media-pickup__grid { grid-template-columns: 1fr; }
}

.pickup-card {
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(140, 111, 28, .08);
	border: 1px solid rgba(200, 161, 66, .15);
	transition: transform .2s, box-shadow .2s;
}
.pickup-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(140, 111, 28, .15);
}
.pickup-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.pickup-card__thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	background: var(--gkm-cream);
	overflow: hidden;
}
.pickup-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.pickup-card__thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 32px;
	opacity: 0.3;
}
.pickup-card__pickup-badge {
	position: absolute;
	top: 8px;
	left: 8px;
	background: var(--gkm-vermilion);
	color: #fff;
	padding: 3px 10px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.pickup-card__body { padding: 14px 16px 16px; }
.pickup-card__cat {
	display: inline-block;
	font-size: 11px;
	color: var(--gkm-gold-dk);
	font-weight: 700;
	margin-bottom: 6px;
}
.pickup-card__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 8px;
	color: var(--gkm-ink);
}
.pickup-card__date {
	font-size: 11px;
	color: #888;
}

/* ============================================================
 * 5. LP誘導CTA帯（金箔）
 * ============================================================ */
.media-cta-bar {
	margin: 40px 0;
}
.media-cta-bar__image {
	display: block;
	border-radius: 12px;
	overflow: hidden;
	box-shadow:
		0 0 0 2px var(--gkm-gold),
		0 0 0 6px rgba(255, 255, 255, .8),
		0 12px 32px rgba(140, 111, 28, .25);
	transition: transform .15s;
}
.media-cta-bar__image:hover { transform: translateY(-2px); }
.media-cta-bar__image img { width: 100%; height: auto; display: block; }

.media-cta-bar__text {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	background:
		radial-gradient(ellipse at center, rgba(245, 213, 126, .25), transparent 70%),
		linear-gradient(135deg, var(--gkm-ink) 0%, #2a2218 100%);
	color: #fff;
	padding: 28px 32px;
	border-radius: 12px;
	border: 2px solid var(--gkm-gold);
	box-shadow: 0 8px 24px rgba(140, 111, 28, .25);
	transition: transform .15s;
}
.media-cta-bar__text:hover { transform: translateY(-2px); }

.media-cta-bar__head {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 1 1 auto;
}
.media-cta-bar__badge {
	background: var(--gkm-vermilion);
	color: #fff;
	padding: 6px 14px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}
.media-cta-bar__title {
	font-size: 20px;
	line-height: 1.4;
	color: var(--gkm-gold-bright);
	font-family: "Yu Mincho", "游明朝", serif;
}
.media-cta-bar__btn {
	background: var(--gkm-cta-green);
	color: #fff;
	padding: 16px 28px;
	border-radius: 8px;
	font-weight: 800;
	font-size: 16px;
	white-space: nowrap;
	box-shadow: 0 3px 0 var(--gkm-cta-green-dk);
}
@media (max-width: 768px) {
	.media-cta-bar__text { flex-direction: column; padding: 20px; }
	.media-cta-bar__head { flex-direction: column; text-align: center; }
	.media-cta-bar__title { font-size: 16px; }
	.media-cta-bar__btn { width: 100%; text-align: center; }
}

/* ============================================================
 * 6. カテゴリ別新着グリッド
 * ============================================================ */
.media-cat-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
@media (max-width: 900px) {
	.media-cat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.media-cat-grid { grid-template-columns: 1fr; }
}

.cat-card {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .05);
	border: 1px solid rgba(200, 161, 66, .15);
	transition: transform .2s, box-shadow .2s;
}
.cat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(140, 111, 28, .15);
}
.cat-card__link {
	display: block;
	color: inherit;
	text-decoration: none;
}
.cat-card__thumb {
	aspect-ratio: 4 / 3;
	background: var(--gkm-cream);
	overflow: hidden;
}
.cat-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cat-card__thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 36px;
	opacity: 0.3;
}
.cat-card__body { padding: 12px 14px; }
.cat-card__title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 6px;
	color: var(--gkm-ink);
}
.cat-card__date {
	font-size: 11px;
	color: #888;
}

/* ============================================================
 * 7. 新着記事一覧（リスト型）
 * ============================================================ */
.media-2col {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 32px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}
@media (max-width: 900px) {
	.media-2col { grid-template-columns: 1fr; }
}

.post-list-v2 {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.post-card-v2 {
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
	border: 1px solid rgba(200, 161, 66, .15);
	transition: transform .15s, box-shadow .15s;
}
.post-card-v2:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(140, 111, 28, .12);
}
.post-card-v2__link {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: 16px;
	color: inherit;
	text-decoration: none;
	padding: 14px;
}
@media (max-width: 600px) {
	.post-card-v2__link { grid-template-columns: 100px 1fr; gap: 12px; padding: 10px; }
}
.post-card-v2__thumb {
	aspect-ratio: 4 / 3;
	background: var(--gkm-cream);
	border-radius: 6px;
	overflow: hidden;
}
.post-card-v2__thumb img { width: 100%; height: 100%; object-fit: cover; }
.post-card-v2__thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 30px;
	opacity: 0.3;
}
.post-card-v2__cat {
	display: inline-block;
	font-size: 11px;
	color: var(--gkm-gold-dk);
	font-weight: 700;
	margin-bottom: 4px;
}
.post-card-v2__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	margin: 0 0 6px;
	color: var(--gkm-ink);
}
.post-card-v2__excerpt {
	font-size: 13px;
	color: #555;
	line-height: 1.6;
	margin: 0 0 8px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.post-card-v2__date { font-size: 11px; color: #888; }
@media (max-width: 600px) {
	.post-card-v2__title { font-size: 14px; }
	.post-card-v2__excerpt { display: none; }
}

/* ============================================================
 * 8. サイドバー
 * ============================================================ */
.media-2col__side {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.sidebar-cta {
	background:
		radial-gradient(ellipse at center, rgba(245, 213, 126, .2), transparent 70%),
		linear-gradient(135deg, var(--gkm-ink) 0%, #2a2218 100%);
	color: #fff;
	border-radius: 10px;
	padding: 20px;
	text-align: center;
	border: 2px solid var(--gkm-gold);
	box-shadow: 0 6px 18px rgba(140, 111, 28, .25);
}
.sidebar-cta__pre {
	display: inline-block;
	background: var(--gkm-vermilion);
	color: #fff;
	padding: 4px 10px;
	border-radius: 3px;
	font-size: 11px;
	font-weight: 700;
	margin-bottom: 10px;
}
.sidebar-cta__title {
	font-size: 18px;
	color: var(--gkm-gold-bright);
	font-family: "Yu Mincho", "游明朝", serif;
	margin: 0 0 14px;
	line-height: 1.5;
}
.sidebar-cta__rate {
	background: rgba(255, 255, 255, .08);
	border: 1px dashed rgba(245, 213, 126, .5);
	border-radius: 6px;
	padding: 10px;
	margin-bottom: 14px;
}
.sidebar-cta__rate small { display: block; font-size: 11px; opacity: 0.85; margin-bottom: 2px; }
.sidebar-cta__rate strong {
	font-size: 24px;
	color: var(--gkm-gold-bright);
	font-weight: 800;
}
.sidebar-cta__rate strong small { display: inline; font-size: 12px; margin-left: 2px; opacity: 0.85; }
.sidebar-cta__btn {
	display: block;
	background: var(--gkm-cta-green);
	color: #fff;
	padding: 12px 16px;
	border-radius: 6px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 0 3px 0 var(--gkm-cta-green-dk);
	margin-bottom: 8px;
	transition: transform .15s;
}
.sidebar-cta__btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 0 var(--gkm-cta-green-dk);
}
.sidebar-cta__note { display: block; font-size: 11px; opacity: 0.85; }

/* サイドバー：人気記事 */
.sidebar-popular,
.sidebar-cats {
	background: #fff;
	border-radius: 10px;
	padding: 20px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .04);
	border: 1px solid rgba(200, 161, 66, .15);
}
.sidebar-section-title {
	font-size: 16px;
	font-weight: 800;
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--gkm-gold);
	font-family: "Yu Mincho", "游明朝", serif;
}
.sidebar-popular__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.sidebar-popular__item a {
	display: block;
	color: inherit;
	text-decoration: none;
}
.sidebar-popular__body {
	display: grid;
	grid-template-columns: 64px 1fr;
	gap: 10px;
	align-items: start;
}
.sidebar-popular__rank {
	position: absolute;
	width: 24px;
	height: 24px;
	background: var(--gkm-gold);
	color: #fff;
	border-radius: 50%;
	font-weight: 800;
	font-size: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 4px 0 0 4px;
	z-index: 2;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .2);
}
.sidebar-popular__rank.rank-1 { background: linear-gradient(135deg, #f5d57e, var(--gkm-gold-dk)); }
.sidebar-popular__rank.rank-2 { background: linear-gradient(135deg, #c0c0c0, #888); }
.sidebar-popular__rank.rank-3 { background: linear-gradient(135deg, #c69c6d, #8b6435); }
.sidebar-popular__item { position: relative; padding-bottom: 10px; border-bottom: 1px dashed rgba(200, 161, 66, .25); }
.sidebar-popular__item:last-child { border-bottom: 0; padding-bottom: 0; }
.sidebar-popular__thumb {
	width: 64px;
	height: 48px;
	border-radius: 4px;
	overflow: hidden;
	background: var(--gkm-cream);
}
.sidebar-popular__thumb img { width: 100%; height: 100%; object-fit: cover; }
.sidebar-popular__title {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	margin: 0;
	color: var(--gkm-ink);
}

/* サイドバー：カテゴリ */
.sidebar-cats__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.sidebar-cats__list li {
	border-bottom: 1px dashed rgba(200, 161, 66, .25);
}
.sidebar-cats__list li:last-child { border-bottom: 0; }
.sidebar-cats__list a {
	display: flex;
	justify-content: space-between;
	padding: 10px 4px;
	color: var(--gkm-ink);
	text-decoration: none;
	font-size: 14px;
	transition: color .15s, padding-left .15s;
}
.sidebar-cats__list a:hover {
	color: var(--gkm-gold-dk);
	padding-left: 8px;
}
.cat-count { font-size: 11px; color: #888; }

/* ============================================================
 * 9. 単体記事（single）
 * ============================================================ */
.breadcrumb {
	background: rgba(255, 255, 255, .7);
	border-bottom: 1px solid rgba(200, 161, 66, .2);
	padding: 10px 0;
	margin-bottom: 20px;
}
.breadcrumb__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
	font-size: 12px;
	color: #666;
}
.breadcrumb a { color: var(--gkm-gold-dk); }
.breadcrumb__sep { margin: 0 6px; color: #aaa; }
.breadcrumb__current { color: #444; font-weight: 600; }

.single-article {
	background: rgba(255, 255, 255, .98);
	border-radius: 12px;
	padding: 32px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .05);
	margin-bottom: 32px;
}
@media (max-width: 600px) {
	.single-article { padding: 20px 16px; }
}

.single-article__head { margin-bottom: 28px; }
.single-article__cat {
	display: inline-block;
	background: var(--gkm-vermilion);
	color: #fff;
	padding: 4px 12px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 14px;
	text-decoration: none;
}
.single-article__title {
	font-size: 30px;
	font-weight: 800;
	line-height: 1.5;
	margin: 0 0 14px;
	font-family: "Yu Mincho", "游明朝", serif;
}
@media (max-width: 600px) { .single-article__title { font-size: 22px; } }

.single-article__meta {
	font-size: 12px;
	color: #888;
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.single-article__thumb {
	margin: 20px 0 28px;
	border-radius: 8px;
	overflow: hidden;
}

/* 記事冒頭のミニCTA */
.article-mini-cta {
	display: flex;
	align-items: center;
	gap: 16px;
	background: linear-gradient(135deg, #fffaeb 0%, #fff5d1 100%);
	border: 1px dashed var(--gkm-gold);
	border-radius: 8px;
	padding: 14px 18px;
	margin: 24px 0;
}
.article-mini-cta__icon { font-size: 28px; }
.article-mini-cta__body strong {
	display: block;
	font-size: 15px;
	color: var(--gkm-ink);
	margin-bottom: 2px;
}
.article-mini-cta__body small {
	font-size: 12px;
	color: #555;
}
.article-mini-cta__body a {
	color: var(--gkm-cta-green-dk);
	font-weight: 700;
	text-decoration: underline;
}

/* 記事本文 */
.single-article__content {
	font-size: 16px;
	line-height: 1.9;
	color: #2a2620;
}
.single-article__content h2 {
	font-size: 22px;
	font-weight: 800;
	margin: 32px 0 16px;
	padding: 12px 16px;
	background: linear-gradient(90deg, rgba(200, 161, 66, .15), transparent);
	border-left: 5px solid var(--gkm-gold);
	font-family: "Yu Mincho", "游明朝", serif;
}
.single-article__content h3 {
	font-size: 18px;
	font-weight: 700;
	margin: 24px 0 12px;
	padding-bottom: 6px;
	border-bottom: 2px dashed rgba(200, 161, 66, .4);
}
.single-article__content p { margin: 0 0 16px; }
.single-article__content a {
	color: var(--gkm-gold-dk);
	text-decoration: underline;
}
.single-article__content img {
	border-radius: 6px;
	margin: 16px 0;
}
.single-article__content blockquote {
	background: var(--gkm-cream);
	border-left: 4px solid var(--gkm-gold);
	padding: 14px 18px;
	margin: 20px 0;
	font-style: italic;
	color: #555;
	border-radius: 4px;
}
.single-article__content ul,
.single-article__content ol { margin: 0 0 16px; padding-left: 24px; }
.single-article__content table {
	width: 100%;
	border-collapse: collapse;
	margin: 16px 0;
	font-size: 14px;
}
.single-article__content th,
.single-article__content td {
	padding: 10px 14px;
	border: 1px solid rgba(200, 161, 66, .3);
}
.single-article__content th {
	background: var(--gkm-cream);
	font-weight: 700;
}

/* 記事末CTA（大型） */
.article-end-cta {
	margin: 40px 0 32px;
	border-radius: 12px;
	overflow: hidden;
	background:
		radial-gradient(ellipse at center, rgba(245, 213, 126, .25), transparent 70%),
		linear-gradient(135deg, var(--gkm-ink) 0%, #2a2218 100%);
	border: 2px solid var(--gkm-gold);
	box-shadow: 0 8px 24px rgba(140, 111, 28, .25);
}
.article-end-cta__inner {
	padding: 32px 24px;
	text-align: center;
	color: #fff;
}
.article-end-cta__pre {
	color: var(--gkm-vermilion);
	font-weight: 700;
	font-size: 14px;
	margin: 0 0 12px;
}
.article-end-cta__title {
	color: var(--gkm-gold-bright);
	font-size: 22px;
	line-height: 1.5;
	margin: 0 0 20px;
	font-family: "Yu Mincho", "游明朝", serif;
}
@media (max-width: 600px) { .article-end-cta__title { font-size: 18px; } }
.article-end-cta__btn {
	display: inline-block;
	background: var(--gkm-cta-green);
	color: #fff;
	padding: 16px 36px;
	border-radius: 8px;
	font-weight: 800;
	font-size: 18px;
	box-shadow: 0 4px 0 var(--gkm-cta-green-dk);
	letter-spacing: 0.05em;
	transition: transform .15s;
	text-decoration: none;
}
.article-end-cta__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 0 var(--gkm-cta-green-dk);
}
.article-end-cta__note { font-size: 11px; opacity: 0.85; margin: 12px 0 0; }

/* タグ */
.single-article__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 24px 0;
}
.single-article__tag {
	display: inline-block;
	padding: 4px 10px;
	background: var(--gkm-cream);
	border: 1px solid rgba(200, 161, 66, .3);
	border-radius: 3px;
	font-size: 12px;
	color: var(--gkm-gold-dk);
	text-decoration: none;
}
.single-article__tag:hover {
	background: var(--gkm-gold);
	color: #fff;
}

/* 著者ボックス */
.author-box {
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 16px;
	background: var(--gkm-cream);
	border-radius: 8px;
	padding: 16px;
	margin: 28px 0;
	border-left: 4px solid var(--gkm-gold);
}
.author-box__avatar img { border-radius: 50%; }
.author-box__name { font-size: 14px; }
.author-box__desc { font-size: 12px; color: #555; margin: 4px 0 0; line-height: 1.6; }

/* 前後記事ナビ */
.post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 32px 0 0;
	padding-top: 20px;
	border-top: 1px dashed rgba(200, 161, 66, .4);
}
.post-nav a {
	display: block;
	padding: 14px;
	background: #fff;
	border: 1px solid rgba(200, 161, 66, .3);
	border-radius: 6px;
	color: inherit;
	text-decoration: none;
	transition: border-color .15s, transform .15s;
}
.post-nav a:hover {
	border-color: var(--gkm-gold);
	transform: translateY(-1px);
}
.post-nav__next a { text-align: right; }
.post-nav__label {
	display: block;
	font-size: 11px;
	color: var(--gkm-gold-dk);
	font-weight: 700;
	margin-bottom: 4px;
}
.post-nav__title {
	display: block;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
}

/* 関連記事 */
.related-posts {
	background: rgba(255, 255, 255, .98);
	border-radius: 12px;
	padding: 28px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, .05);
	margin-bottom: 32px;
}
@media (max-width: 600px) { .related-posts { padding: 20px 16px; } }
.related-posts__title {
	font-size: 20px;
	font-weight: 800;
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--gkm-gold);
	font-family: "Yu Mincho", "游明朝", serif;
}
.related-posts__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}
@media (max-width: 800px) {
	.related-posts__grid { grid-template-columns: repeat(2, 1fr); }
}
.related-card {
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid rgba(200, 161, 66, .2);
	background: #fff;
	transition: transform .15s;
}
.related-card:hover { transform: translateY(-2px); }
.related-card__link { display: block; color: inherit; text-decoration: none; }
.related-card__thumb {
	aspect-ratio: 4 / 3;
	background: var(--gkm-cream);
	overflow: hidden;
}
.related-card__thumb img { width: 100%; height: 100%; object-fit: cover; }
.related-card__thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 28px;
	opacity: 0.3;
}
.related-card__body { padding: 10px 12px; }
.related-card__cat {
	display: inline-block;
	font-size: 10px;
	color: var(--gkm-gold-dk);
	font-weight: 700;
	margin-bottom: 4px;
}
.related-card__title {
	font-size: 12px;
	font-weight: 600;
	line-height: 1.5;
	margin: 0;
	color: var(--gkm-ink);
}

/* ============================================================
 * TOP Page v3 - Brand Hero & Featured Hero
 * ============================================================ */

/* ===== Brand Hero（ロゴ＋キャッチ＋金相場） ===== */
/* v3.2.5: 背景をリッチな深紺＋金粒子グラデに刷新、ロゴを拡大 */
.brand-hero {
	position: relative;
	background:
		radial-gradient(ellipse at 50% 0%, rgba(245, 213, 126, 0.22) 0%, transparent 55%),
		radial-gradient(ellipse at 0% 100%, rgba(184, 138, 39, 0.18) 0%, transparent 50%),
		radial-gradient(ellipse at 100% 100%, rgba(60, 90, 150, 0.30) 0%, transparent 50%),
		linear-gradient(160deg, #0d1f3f 0%, #0a1730 40%, #050d1d 100%);
	color: #fff;
	padding: 88px 20px 96px;
	overflow: hidden;
	text-align: center;
}

/* 金粒子の小さなドット＋極細の斜めライン（控えめなテクスチャ） */
.brand-hero__pattern {
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(245, 213, 126, 0.55) 0%, transparent 0.15%),
		radial-gradient(circle at 82% 18%, rgba(245, 213, 126, 0.45) 0%, transparent 0.12%),
		radial-gradient(circle at 65% 75%, rgba(245, 213, 126, 0.50) 0%, transparent 0.12%),
		radial-gradient(circle at 30% 85%, rgba(245, 213, 126, 0.40) 0%, transparent 0.10%),
		radial-gradient(circle at 92% 60%, rgba(245, 213, 126, 0.35) 0%, transparent 0.10%),
		radial-gradient(circle at 8% 50%, rgba(245, 213, 126, 0.30) 0%, transparent 0.10%),
		repeating-linear-gradient(
			135deg,
			transparent 0,
			transparent 90px,
			rgba(245, 213, 126, 0.025) 90px,
			rgba(245, 213, 126, 0.025) 91px
		);
	pointer-events: none;
}

/* 上下のソフトエッジ（次セクションへのつなぎを綺麗に） */
.brand-hero::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 80px;
	background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.25) 100%);
	pointer-events: none;
}

.brand-hero__inner {
	position: relative;
	z-index: 1;
	max-width: 900px;
	margin: 0 auto;
}

/* ロゴラッパー：金縁の上品なカードに */
.brand-hero__logo-wrap {
	display: inline-block;
	background: linear-gradient(180deg, #ffffff 0%, #fbfaf5 100%);
	padding: 24px 48px;
	border-radius: 16px;
	box-shadow:
		0 24px 60px rgba(0, 0, 0, 0.45),
		0 0 0 1px rgba(245, 213, 126, 0.6),
		0 0 0 4px rgba(245, 213, 126, 0.15),
		inset 0 0 0 2px rgba(255, 255, 255, 0.8);
	margin-bottom: 36px;
	position: relative;
}

/* ロゴカードの角に金の四隅装飾 */
.brand-hero__logo-wrap::before,
.brand-hero__logo-wrap::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	border-color: #d4af6c;
	border-style: solid;
	pointer-events: none;
}
.brand-hero__logo-wrap::before {
	top: 6px; left: 6px;
	border-width: 2px 0 0 2px;
	border-radius: 4px 0 0 0;
}
.brand-hero__logo-wrap::after {
	bottom: 6px; right: 6px;
	border-width: 0 2px 2px 0;
	border-radius: 0 0 4px 0;
}

.brand-hero__logo {
	max-width: 100%;
	height: auto;
	display: block;
	width: 580px; /* v3.2.5: 460→580 でロゴをはっきり大きく */
}
.brand-hero__title {
	font-family: var(--gkm-font-serif);
	font-size: 36px;
	font-weight: 800;
	line-height: 1.4;
	margin: 0 0 16px;
	letter-spacing: .02em;
	text-shadow: 0 2px 12px rgba(0,0,0,.3);
}
.brand-hero__title .gold-text {
	background: linear-gradient(135deg, #f5d57e 0%, #c8a142 50%, #f5d57e 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-weight: 900;
}
.brand-hero__lead {
	font-size: 16px;
	line-height: 1.85;
	margin: 0 0 36px;
	opacity: .92;
}
.brand-hero__lead strong { color: #f5d57e; font-weight: 700; }

.brand-hero__rate {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 28px;
}
.brand-hero__rate-card {
	background: rgba(255,255,255,.08);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(245,213,126,.4);
	border-radius: 12px;
	padding: 14px 24px;
	text-align: left;
	min-width: 220px;
}
.brand-hero__rate-label {
	display: block;
	font-size: 12px;
	color: #f5d57e;
	font-weight: 600;
	margin-bottom: 4px;
	letter-spacing: .05em;
}
.brand-hero__rate-price {
	display: flex;
	align-items: baseline;
	gap: 4px;
}
.brand-hero__rate-price strong {
	font-size: 32px;
	font-weight: 800;
	color: #fff;
	letter-spacing: .02em;
}
.brand-hero__rate-unit {
	font-size: 14px;
	color: #f5d57e;
	font-weight: 600;
}
.brand-hero__rate-unit small { font-size: 12px; }
.brand-hero__rate-updated {
	display: block;
	font-size: 11px;
	color: rgba(255,255,255,.65);
	margin-top: 2px;
}

.brand-hero__cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #f5d57e 0%, #c8a142 50%, #8c6f1c 100%);
	color: #1c1812;
	padding: 16px 32px;
	border-radius: 12px;
	font-weight: 800;
	box-shadow: 0 6px 20px rgba(200,161,66,.45), inset 0 1px 0 rgba(255,255,255,.4);
	transition: transform .2s, box-shadow .2s;
	min-width: 220px;
}
.brand-hero__cta:hover {
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 10px 28px rgba(200,161,66,.55), inset 0 1px 0 rgba(255,255,255,.4);
	color: #1c1812;
}
.brand-hero__cta-main { font-size: 16px; letter-spacing: .02em; }
.brand-hero__cta-sub { font-size: 11px; margin-top: 4px; opacity: .85; font-weight: 600; }

.brand-hero__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	gap: 24px;
	flex-wrap: wrap;
	font-size: 13px;
	color: rgba(255,255,255,.85);
}
.brand-hero__features li {
	display: flex;
	align-items: center;
	gap: 6px;
}
.brand-hero__features span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	background: linear-gradient(135deg, #f5d57e 0%, #c8a142 100%);
	color: #1c1812;
	border-radius: 50%;
	font-size: 10px;
	font-weight: 900;
}

@media (max-width: 768px) {
	.brand-hero { padding: 56px 16px 64px; }
	.brand-hero__logo-wrap { padding: 24px 28px; margin-bottom: 28px; }
	.brand-hero__logo-wrap::before,
	.brand-hero__logo-wrap::after { width: 12px; height: 12px; }
	.brand-hero__logo { width: 380px; max-width: 88vw; } /* v3.2.5: 280→380 SPでも大きく */
	.brand-hero__title { font-size: 24px; line-height: 1.45; }
	.brand-hero__lead { font-size: 14px; margin-bottom: 28px; }
	.brand-hero__rate { flex-direction: column; gap: 12px; }
	.brand-hero__rate-card,
	.brand-hero__cta { width: 100%; min-width: 0; }
	.brand-hero__features { gap: 14px; font-size: 12px; }
}

/* ===== Featured Hero（注目記事） ===== */
.featured-hero {
	background: linear-gradient(180deg, #f7f7f8 0%, #fff 100%);
	padding: 56px 20px 24px;
}
.featured-hero__inner {
	max-width: var(--gkm-container);
	margin: 0 auto;
}
.featured-hero__link {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 0;
	background: #fff;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: var(--gkm-shadow-lg);
	color: inherit;
	transition: transform .3s, box-shadow .3s;
	border: 1px solid rgba(200,161,66,.2);
}
.featured-hero__link:hover {
	text-decoration: none;
	transform: translateY(-4px);
	box-shadow: 0 16px 48px rgba(26,58,110,.2);
}
.featured-hero__thumb {
	position: relative;
	aspect-ratio: 16/10;
	background: var(--gkm-bg-alt);
	overflow: hidden;
}
.featured-hero__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.featured-hero__thumb-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 64px;
	background: linear-gradient(135deg, #1a3a6e 0%, #2a5092 100%);
	color: rgba(245,213,126,.7);
}
.featured-hero__badge {
	position: absolute;
	top: 16px;
	left: 16px;
	background: linear-gradient(135deg, #c8a142 0%, #8c6f1c 100%);
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .1em;
	padding: 6px 14px;
	border-radius: 999px;
	box-shadow: 0 2px 8px rgba(140,111,28,.4);
}
.featured-hero__body {
	padding: 36px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.featured-hero__cat {
	display: inline-block;
	background: var(--gkm-navy);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	padding: 4px 12px;
	border-radius: 999px;
	margin-bottom: 14px;
	letter-spacing: .05em;
	width: fit-content;
}
.featured-hero__title {
	font-family: var(--gkm-font-serif);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.45;
	margin: 0 0 14px;
	color: var(--gkm-navy-dk);
}
.featured-hero__excerpt {
	color: var(--gkm-muted);
	font-size: 14px;
	line-height: 1.85;
	margin: 0 0 20px;
}
.featured-hero__more {
	font-size: 14px;
	font-weight: 700;
	color: var(--gkm-primary-dk);
}

@media (max-width: 768px) {
	.featured-hero { padding: 32px 16px 16px; }
	.featured-hero__link { grid-template-columns: 1fr; }
	.featured-hero__body { padding: 24px 20px; }
	.featured-hero__title { font-size: 20px; }
}

/* ===== Section refinements ===== */
.media-home--v3 .media-container { padding-top: 56px; padding-bottom: 64px; }
.media-home--v3 .media-section { margin-bottom: 64px; }
.media-home--v3 .media-section__title {
	font-family: var(--gkm-font-serif);
	font-size: 24px;
	font-weight: 800;
	color: var(--gkm-navy-dk);
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	border-left: 5px solid var(--gkm-primary);
	padding-left: 14px;
	letter-spacing: .02em;
}
.media-home--v3 .media-section__title-icon,
.media-home--v3 .cat-icon { font-size: 22px; }
.media-home--v3 .media-section__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
	gap: 16px;
	flex-wrap: wrap;
}
.media-home--v3 .media-section__head-text { flex: 1 1 auto; }
.media-home--v3 .media-section__lead {
	font-size: 13px;
	color: var(--gkm-muted);
	margin: 6px 0 0 19px;
}
.media-home--v3 .media-section__more {
	font-size: 13px;
	font-weight: 700;
	color: var(--gkm-navy);
	background: rgba(26,58,110,.06);
	padding: 6px 14px;
	border-radius: 999px;
	transition: background .2s, color .2s;
}
.media-home--v3 .media-section__more:hover {
	text-decoration: none;
	background: var(--gkm-navy);
	color: #fff;
}

/* ===== Pickup card refinements ===== */
.media-home--v3 .pickup-card {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,.06);
	transition: transform .25s, box-shadow .25s;
	border: 1px solid var(--gkm-border);
}
.media-home--v3 .pickup-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 32px rgba(26,58,110,.15);
}
.media-home--v3 .pickup-card__pickup-badge {
	background: linear-gradient(135deg, #c8a142 0%, #8c6f1c 100%);
	box-shadow: 0 2px 6px rgba(140,111,28,.3);
}
.media-home--v3 .pickup-card__cat {
	background: var(--gkm-navy);
	color: #fff;
}
.media-home--v3 .pickup-card__title { color: var(--gkm-navy-dk); }

/* ===== Cat card refinements ===== */
.media-home--v3 .cat-card {
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid var(--gkm-border);
	transition: transform .2s, box-shadow .2s;
}
.media-home--v3 .cat-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(26,58,110,.12);
}
.media-home--v3 .cat-card__title { color: var(--gkm-navy-dk); }

/* ===== CTA Bar refinements ===== */
.media-home--v3 .media-cta-bar__text {
	background: linear-gradient(135deg, #1a3a6e 0%, #102448 100%);
	border: 2px solid var(--gkm-primary);
	box-shadow: 0 8px 28px rgba(26,58,110,.25);
}
.media-home--v3 .media-cta-bar__badge {
	background: linear-gradient(135deg, #c8a142 0%, #8c6f1c 100%);
	color: #fff;
}
.media-home--v3 .media-cta-bar__title { color: #fff; }
.media-home--v3 .media-cta-bar__btn {
	background: linear-gradient(135deg, #f5d57e 0%, #c8a142 100%);
	color: #1c1812;
	font-weight: 800;
}

/* ===== Pagination refinements ===== */
.media-home--v3 .pagination,
.media-home--v3 .nav-links {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 32px;
	flex-wrap: wrap;
}
.media-home--v3 .page-numbers {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 6px;
	background: #fff;
	border: 1px solid var(--gkm-border);
	color: var(--gkm-text);
	font-weight: 600;
	font-size: 14px;
	transition: all .2s;
}
.media-home--v3 .page-numbers:hover {
	text-decoration: none;
	background: var(--gkm-navy);
	color: #fff;
	border-color: var(--gkm-navy);
}
.media-home--v3 .page-numbers.current {
	background: var(--gkm-navy);
	color: #fff;
	border-color: var(--gkm-navy);
}
