/**
 * ページ共通レイアウト（フッター・汎用セクション・画像フレーム）
 */

.section {
	padding: var(--section-padding);
}
.section--tight {
	padding: var(--section-padding-tight);
}
.section--fog {
	background: var(--color-fog);
}
.section-kicker {
	font-size: 12px;
	letter-spacing: 0.1em;
	color: var(--color-muted);
	margin-bottom: 12px;
}
.section-title-en {
	font-family: var(--font-main);
	font-weight: 300;
	font-size: var(--fs-section-en);
	letter-spacing: -0.01em;
	color: var(--color-ink);
	line-height: 1;
}

/* 画像フレーム：ロード完了までシマー、Ken Burnsで緩やかに拡大 */
.image-frame {
	position: relative;
	overflow: hidden;
	background: var(--color-fog);
}
.image-frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.02);
	transition: transform 6s cubic-bezier(0.16, 1, 0.3, 1);
}
.image-frame.is-visible img {
	transform: scale(1.08);
}
.image-frame--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-muted);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-align: center;
	padding: 24px;
}

/* ===== フッター ===== */
.site-footer {
	background: var(--color-white);
	padding: clamp(48px, 6vw, 64px) clamp(24px, 5vw, 80px) clamp(120px, 8vw, 64px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 32px;
	border-top: 1px solid var(--color-border);
}
.site-footer__brand img {
	height: 44px;
	width: auto;
	margin-bottom: 16px;
}
.site-footer__meta {
	font-size: 12px;
	color: var(--color-muted);
	line-height: 1.9;
}
.site-footer__pages {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(20px, 3vw, 48px);
}
.site-footer__pages a {
	font-size: 12px;
	color: var(--color-muted);
}

/* ===== 汎用ユーティリティ ===== */
.text-muted { color: var(--color-muted); }
.mt-lg { margin-top: var(--space-lg); }
