/* =========================================================================
   FSC Luxury Cinematic v0.9.4 — Methodology typography tune
   Dedicated Methodology canvas. No dependency on default page.php width.
   Focus: unified sans typography, calmer scale, tighter readability.
   Scope: .fsc-methodology-page only.
   ========================================================================= */

.fsc-methodology-page {
	--fsc-method-bg: #05070a;
	--fsc-method-surface: #070a0e;
	--fsc-method-text: #f3eee6;
	--fsc-method-muted: rgba(243, 238, 230, 0.68);
	--fsc-method-soft: rgba(243, 238, 230, 0.52);
	--fsc-method-faint: rgba(243, 238, 230, 0.42);
	--fsc-method-line: rgba(244, 234, 216, 0.12);
	--fsc-method-line-strong: rgba(244, 234, 216, 0.18);
	--fsc-method-accent: #b99b66;
	--fsc-method-font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Sans", "Noto Sans JP", sans-serif;
	background: var(--fsc-method-bg);
	color: var(--fsc-method-text);
	min-height: 100vh;
	border-top: 1px solid rgba(255, 255, 255, 0.07);
	font-family: var(--fsc-method-font);
	font-size: 16px;
	font-kerning: normal;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.fsc-methodology-page *,
.fsc-methodology-page *::before,
.fsc-methodology-page *::after {
	box-sizing: border-box;
}

.fsc-methodology-page h1,
.fsc-methodology-page h2,
.fsc-methodology-page h3,
.fsc-methodology-page p,
.fsc-methodology-page span,
.fsc-methodology-page strong,
.fsc-methodology-page a {
	margin: 0;
	font-family: var(--fsc-method-font);
}

.fsc-methodology-page h1,
.fsc-methodology-page h2,
.fsc-methodology-page h3 {
	text-wrap: balance;
}

.fsc-methodology-page__shell {
	width: min(100%, 1328px);
	margin-inline: auto;
	padding-inline: clamp(20px, 4vw, 48px);
	padding-block: clamp(56px, 8vw, 104px) clamp(70px, 9vw, 118px);
}

.fsc-method-eyebrow,
.fsc-method-section__kicker,
.fsc-method-summary__label,
.fsc-method-hero__date,
.fsc-method-closing__line {
	font-family: var(--fsc-method-font);
	font-size: 0.68rem;
	font-weight: 720;
	line-height: 1.35;
	letter-spacing: 0.17em;
	text-transform: uppercase;
	color: var(--fsc-method-accent);
}

.fsc-method-hero {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(390px, 0.74fr);
	gap: clamp(42px, 7vw, 96px);
	align-items: end;
	padding-bottom: clamp(64px, 8vw, 104px);
	border-bottom: 1px solid var(--fsc-method-line);
}

.fsc-method-hero__copy {
	max-width: 780px;
	min-width: 0;
}

.fsc-method-hero__title {
	max-width: 780px;
	margin-top: clamp(14px, 2vw, 22px);
	font-size: clamp(3rem, 5.35vw, 5.05rem);
	font-weight: 740;
	line-height: 0.98;
	letter-spacing: -0.047em;
	word-spacing: 0.015em;
	color: var(--fsc-method-text);
}

.fsc-method-hero__lead {
	max-width: 690px;
	margin-top: clamp(22px, 2.8vw, 32px);
	font-size: clamp(1rem, 1.05vw, 1.14rem);
	font-weight: 430;
	line-height: 1.68;
	letter-spacing: -0.004em;
	color: var(--fsc-method-muted);
}

.fsc-method-hero__date {
	margin-top: 22px;
	font-size: 0.72rem;
	letter-spacing: 0.055em;
	text-transform: none;
	color: var(--fsc-method-faint);
}

.fsc-method-summary {
	display: grid;
	grid-template-columns: 1fr;
	border-top: 1px solid var(--fsc-method-line-strong);
}

.fsc-method-summary__card {
	display: grid;
	grid-template-columns: minmax(120px, 0.33fr) minmax(0, 1fr);
	gap: clamp(18px, 2vw, 30px);
	padding: clamp(22px, 2.7vw, 32px) 0;
	border-bottom: 1px solid var(--fsc-method-line-strong);
}

.fsc-method-summary__label {
	padding-top: 0.14rem;
	font-size: 0.66rem;
	letter-spacing: 0.16em;
	color: rgba(185, 155, 102, 0.88);
}

.fsc-method-summary__title {
	font-size: clamp(1rem, 1.08vw, 1.12rem);
	font-weight: 680;
	line-height: 1.28;
	letter-spacing: -0.014em;
	color: var(--fsc-method-text);
}

.fsc-method-summary__body {
	grid-column: 2;
	margin-top: 0.42rem;
	font-size: clamp(0.94rem, 0.98vw, 1.02rem);
	font-weight: 420;
	line-height: 1.66;
	letter-spacing: -0.003em;
	color: var(--fsc-method-muted);
}

.fsc-method-section {
	display: grid;
	grid-template-columns: minmax(300px, 400px) minmax(0, 1fr);
	gap: clamp(48px, 7vw, 104px);
	padding-block: clamp(68px, 9vw, 112px);
	border-bottom: 1px solid var(--fsc-method-line);
}

.fsc-method-section__intro {
	min-width: 0;
}

.fsc-method-section__title {
	max-width: 11.5ch;
	margin-top: 14px;
	font-size: clamp(2.35rem, 3.8vw, 3.75rem);
	font-weight: 740;
	line-height: 1.0;
	letter-spacing: -0.043em;
	word-spacing: 0.012em;
	color: var(--fsc-method-text);
}

.fsc-method-section__text {
	max-width: 410px;
	margin-top: clamp(20px, 2.7vw, 30px);
	font-size: clamp(0.98rem, 1.02vw, 1.08rem);
	font-weight: 420;
	line-height: 1.7;
	letter-spacing: -0.004em;
	color: var(--fsc-method-muted);
}

.fsc-method-row-list,
.fsc-method-tag-matrix {
	min-width: 0;
	border-top: 1px solid var(--fsc-method-line-strong);
}

.fsc-method-row {
	display: grid;
	grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 56px);
	padding: clamp(22px, 2.8vw, 32px) 0;
	border-bottom: 1px solid var(--fsc-method-line-strong);
}

.fsc-method-row__title,
.fsc-method-tag-row__tag {
	font-size: clamp(0.98rem, 1vw, 1.06rem);
	font-weight: 680;
	line-height: 1.32;
	letter-spacing: -0.012em;
	color: var(--fsc-method-text);
}

.fsc-method-row__body,
.fsc-method-tag-row__body {
	font-size: clamp(0.96rem, 1vw, 1.04rem);
	font-weight: 420;
	line-height: 1.7;
	letter-spacing: -0.004em;
	color: var(--fsc-method-muted);
}

.fsc-method-verdict-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	min-width: 0;
	background: var(--fsc-method-line-strong);
	border: 1px solid var(--fsc-method-line-strong);
}

.fsc-method-verdict-card {
	min-height: 188px;
	padding: clamp(22px, 2.5vw, 30px);
	background: var(--fsc-method-surface);
}

.fsc-method-verdict-card__title {
	font-size: clamp(1.18rem, 1.35vw, 1.34rem);
	font-weight: 740;
	line-height: 1.18;
	letter-spacing: -0.025em;
	color: var(--fsc-method-text);
}

.fsc-method-verdict-card__body {
	margin-top: 14px;
	font-size: clamp(0.92rem, 0.96vw, 0.98rem);
	font-weight: 420;
	line-height: 1.64;
	letter-spacing: -0.004em;
	color: var(--fsc-method-soft);
}

.fsc-method-tag-row {
	display: grid;
	grid-template-columns: minmax(165px, 0.25fr) minmax(0, 1fr);
	gap: clamp(22px, 4vw, 56px);
	align-items: baseline;
	padding: clamp(18px, 2.25vw, 25px) 0;
	border-bottom: 1px solid var(--fsc-method-line-strong);
}

.fsc-method-tag-row__tag {
	font-size: 0.78rem;
	font-weight: 740;
	letter-spacing: 0.095em;
	text-transform: uppercase;
	color: var(--fsc-method-accent);
}

.fsc-method-closing {
	max-width: 1060px;
	padding-top: clamp(68px, 9vw, 112px);
}

.fsc-method-closing__text {
	font-size: clamp(2.15rem, 4.15vw, 4.15rem);
	font-weight: 740;
	line-height: 1.05;
	letter-spacing: -0.041em;
	word-spacing: 0.018em;
	color: var(--fsc-method-text);
	text-wrap: balance;
}

.fsc-method-closing__line {
	margin-top: clamp(24px, 3.3vw, 38px);
	font-size: 0.76rem;
	letter-spacing: 0.15em;
}

@media (max-width: 1180px) {
	.fsc-method-hero {
		grid-template-columns: 1fr;
		align-items: start;
	}

	.fsc-method-summary {
		max-width: 820px;
	}

	.fsc-method-verdict-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.fsc-methodology-page__shell {
		padding-block: clamp(48px, 12vw, 82px) clamp(64px, 14vw, 96px);
	}

	.fsc-method-section {
		grid-template-columns: 1fr;
		gap: clamp(30px, 8vw, 52px);
		padding-block: clamp(58px, 12vw, 92px);
	}

	.fsc-method-section__title,
	.fsc-method-section__text {
		max-width: 760px;
	}
}

@media (max-width: 680px) {
	.fsc-method-hero {
		padding-bottom: 54px;
	}

	.fsc-method-hero__title {
		font-size: clamp(2.85rem, 13.4vw, 4.25rem);
		line-height: 0.99;
		letter-spacing: -0.043em;
	}

	.fsc-method-summary__card,
	.fsc-method-row,
	.fsc-method-tag-row {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.fsc-method-summary__body {
		grid-column: auto;
		margin-top: 0;
	}

	.fsc-method-verdict-grid {
		grid-template-columns: 1fr;
	}

	.fsc-method-verdict-card {
		min-height: 0;
	}

	.fsc-method-closing__text {
		font-size: clamp(2.1rem, 10.5vw, 3.4rem);
		letter-spacing: -0.038em;
	}
}

@media (max-width: 420px) {
	.fsc-methodology-page__shell {
		padding-inline: 18px;
	}

	.fsc-method-hero__title,
	.fsc-method-section__title,
	.fsc-method-closing__text {
		letter-spacing: -0.038em;
	}
}
